5 years agoUpdate files for OpenSSL-1.0.1g import.
Peter Avalos [Tue, 8 Apr 2014 01:26:13 +0000 (18:26 -0700)]
Update files for OpenSSL-1.0.1g import.

5 years agoMerge branch 'vendor/OPENSSL'
Peter Avalos [Tue, 8 Apr 2014 01:21:14 +0000 (18:21 -0700)]
Merge branch 'vendor/OPENSSL'

5 years agoImport OpenSSL-1.0.1g.
Peter Avalos [Tue, 8 Apr 2014 00:59:53 +0000 (17:59 -0700)]
Import OpenSSL-1.0.1g.

o Fix for CVE-2014-0160
o Add TLS padding extension workaround for broken servers.
o Fix for CVE-2014-0076
o Don't include gmt_unix_time in TLS server and client random values
o Fix for TLS record tampering bug CVE-2013-4353
o Fix for TLS version checking bug CVE-2013-6449
o Fix for DTLS retransmission bug CVE-2013-6450

5 years agonetwork/pf - Avoid a possible bad pointer access.
Antonio Huete Jimenez [Mon, 7 Apr 2014 22:26:53 +0000 (00:26 +0200)]
network/pf - Avoid a possible bad pointer access.

- Make sure new pfi_kif structures are zeroed on allocation.
- A panic was hit when pfi_instance_add() tried to access a bad ifp
  pointer (i.e. when using non-existing iface names in pf.conf)

5 years agonetwork/gif - Correctly clear route cache on destroy.
Antonio Huete Jimenez [Mon, 7 Apr 2014 07:37:56 +0000 (09:37 +0200)]
network/gif - Correctly clear route cache on destroy.

RTFREE() requires that the route is freed in the CPU it belongs to.
Migrating to the target CPU *before* calling it and returning to the
original CPU afterwards seems to do the trick.

Ok: @sephe

5 years agohammer - Fix missing reltoken
Matthew Dillon [Sun, 6 Apr 2014 22:59:08 +0000 (15:59 -0700)]
hammer - Fix missing reltoken

* Fix a missing token release on hmp->fs_token.

Reported-by: joris
5 years agobwn.4: Comment out another bwi(4) reference.
Sascha Wildner [Sun, 6 Apr 2014 12:52:27 +0000 (14:52 +0200)]
bwn.4: Comment out another bwi(4) reference.

5 years agokernel/drm: Add a missing include
Markus Pfeiffer [Sun, 6 Apr 2014 10:09:49 +0000 (11:09 +0100)]
kernel/drm: Add a missing include

Include sys/devfs.h in drm_vm.h and correct the use of

Reported-By: Sascha Wildner <saw@online.de>
5 years agokernel/run: Add missing unlock.
Sascha Wildner [Sat, 5 Apr 2014 22:58:00 +0000 (00:58 +0200)]
kernel/run: Add missing unlock.

5 years agobmake - Always pass the jobs pipe descriptor
Matthew Dillon [Sat, 5 Apr 2014 19:48:59 +0000 (12:48 -0700)]
bmake - Always pass the jobs pipe descriptor

* bmake currently requires a .MAKE target dependency to induce the passing
  of the jobs pipe descriptor to sub-jobs (aka sub-makes).  This requirement
  was lost due to a bug in bmake where it's F_SETFD fcntl was being run on
  the wrong descriptor.  This was recently fixed in bmake and exposed this
  new problem.

* bmake might be run with the MAKEFLAGS environment intact but not be passed
  the jobs descriptor.  While bmake creates a new fresh jobs descriptor in
  this case, it would remain an issue if some other parent program happened
  to use a pipe descriptor with the same fd number.

* bmake or intermediate build programs might not be run with a .MAKE target
  dependency, causing sub-bmakes to run an excessive number of concurrent

* The question is whether we can really safely require this new behavior
  or whether we should revert to the prior behavior.

  FreeBSD modified the default to be the prior behavior of always passing
  the jobs pipe descriptor and added a new .MAKE* directive to override it,
  but I don't see how this helps matters when the default really needs to be
  the always-pass behavior anyway.

  The only other solution is to use a filesystem-visible pipe (filesystem fifo
  in /tmp), which the old make used.  But this often results in a lot of cruft
  building up in /tmp from ^C's and/or system crashes.  This solution is the
  most compatible with expectations, frankly.

* For now revert to the prior behavior of always passing the jobs pipe
  descriptor.  This does a better job of guarenteeing that the descriptor
  number remains intact through multiple fork/execs.

5 years agorun.4: D1 is an mdoc macro, so we have to escape it :)
Sascha Wildner [Sat, 5 Apr 2014 18:22:32 +0000 (20:22 +0200)]
run.4: D1 is an mdoc macro, so we have to escape it :)

5 years agobwn: fixing performance problems and an RX buffer overflow problem
Imre Vadasz [Thu, 3 Apr 2014 12:16:48 +0000 (14:16 +0200)]
bwn: fixing performance problems and an RX buffer overflow problem

* Commenting a bwn_shm_write_2 call that destroys performance especially
  when sending.  This call is also commented in Linux's b43 driver.

* Handling Overflows of the RX buffer in bwn by just dropping all entries.
  With 256 slots in the RX buffer this overflow will almost never happen in

5 years agobwn: Porting from FreeBSD
Imre Vadasz [Thu, 27 Mar 2014 20:24:28 +0000 (21:24 +0100)]
bwn: Porting from FreeBSD

* Adding bwn and siba_bwn to sys/conf/files and to the X86_64_GENERIC kernel


* Increasing some alignments from 4K to 8K and some from 1 byte to 4 bytes.

* Changing slot counts for RX and TX from 64 to 256, which is the same size
  as used by b43 in Linux.

* Allow overriding the BWN_TXRING_SLOTS and BWN_RXRING_SLOTS values in the
  kernel configuration.

* Some style fixes. Removing unneeded NULL checks.

* Replace a DELAY(50000) with tsleep.

* Can't use kmalloc to allocate memory for dma like in FreeBSD and Linux.

* A few typo and grammar fixes in the bwn.4 manpage.

5 years agobwn: Import from FreeBSD
Imre Vadasz [Thu, 27 Mar 2014 20:12:23 +0000 (21:12 +0100)]
bwn: Import from FreeBSD

* bwn depends on siba_bwn, importing that code as well

* Including the bwn.4 manpage, but not siba.4

* In FreeBSD the siba driver lives in a separate directory. Since we only
  need the siba_bwn part we just put it below sys/dev/netif/bwn.

5 years agokernel/drm: use devfs_*_cdevpriv functions
Markus Pfeiffer [Thu, 3 Apr 2014 23:47:32 +0000 (00:47 +0100)]
kernel/drm: use devfs_*_cdevpriv functions

drm relied on a custom hack to implement those functions, this hack
has now been removed, and the devfs based functions are used.

5 years agoinpcb/in6pcb: Split port token
Sepherosa Ziehau [Tue, 25 Mar 2014 12:50:53 +0000 (20:50 +0800)]
inpcb/in6pcb: Split port token

The original single local port space is devided into ncpus2 local port
space groups.  We denote local port space group as PG(N), N=[0, ncpus2).

Property of PG(N):
- PG(N) only contains local ports matching following condition:
  (host_order(port) & ncpus2_mask) == N
- PG(N) is protected by its own token.

On explicit local port bind(2) path and accept(2) path, PG(N) is selected
by using the local port already available (accept(2)) or supplied
    N = host_order(port) & ncpus2_mask

On implicit local port selection path (bind(2) and connect(2)), PG(N) is
selected and used in the following way:
    N = mycpuid;
    N1 = N;
    if (find free port in PG(N)) {
    } else {
        N = (N + 1) & ncpus2_mask;
        if (N != N1)
            goto again;

PG(N) is now recorded in inpcb struct, so when inpcb is destroyed, we
know which port space group it should use.

On i7-3770 w/ Intel 82599ES, using tools/kq_connect_client:
Port token contention rate on each hyperthread is reduced from 120K/s to
40K/s.  Admittedly the contention rate is still high but it is much
better than before.

Now the major source of port token contention is the contention between
implicit local port select path and inpcb destroy path.  There may be a
way to choose local port which could hash the inpcb to the current CPU;
this needs more investigation.

5 years ago<sys/cdefs.h>: Make CTASSERT() kernel only (again).
Sascha Wildner [Sat, 5 Apr 2014 07:43:33 +0000 (09:43 +0200)]
<sys/cdefs.h>: Make CTASSERT() kernel only (again).

When I moved it from <sys/systm.h> to <sys/cdefs.h> to have it near
_Static_assert's definition, I overlooked that <sys/systm.h> is a
kernel-only header.

Since there are ports which define their own CTASSERT (such as openjdk),
make ours kernel-only again.

Reported-by: marino
5 years agokernel/802_11: Fix a panic in RUN -> AUTH -> RUN FSM transition.
Sascha Wildner [Fri, 4 Apr 2014 21:40:59 +0000 (23:40 +0200)]
kernel/802_11: Fix a panic in RUN -> AUTH -> RUN FSM transition.

When ratectl_node_init() is called and ni_rctls is already allocated,
use that pointer.

This is FreeBSD's r207323.

Pointed-out-by: Imre Vadasz <imre@vdsz.com>
Tested-by: Markus Pfeiffer <markus.pfeiffer@morphism.de>
5 years agokernel/802_11: Release the WLAN serializer around if_detach().
Sascha Wildner [Fri, 4 Apr 2014 18:20:10 +0000 (20:20 +0200)]
kernel/802_11: Release the WLAN serializer around if_detach().

This should fix all crashes we are seeing upon kldunload of WLAN

In-discussion-with-and-tested-by: ivadasz, jh32, sephe
5 years agokernel/ath: Grab the WLAN serializer around ieee80211_ifdetach().
Sascha Wildner [Fri, 4 Apr 2014 18:16:01 +0000 (20:16 +0200)]
kernel/ath: Grab the WLAN serializer around ieee80211_ifdetach().

Reported-by: Imre Vadasz <imre@vdsz.com>
5 years agoFix buildkernel (missing include).
Sascha Wildner [Fri, 4 Apr 2014 13:35:20 +0000 (15:35 +0200)]
Fix buildkernel (missing include).

Reported-by: luxh
5 years agokernel/802_11: More ratectl fixes (fixes an ath(4) panic).
Sascha Wildner [Fri, 4 Apr 2014 08:07:53 +0000 (10:07 +0200)]
kernel/802_11: More ratectl fixes (fixes an ath(4) panic).

Set the default rate control algorithm to NONE instead of AMRR and
add some missing ieee80211_ratectl_node_init()s which I had overlooked

Reported-by: Johannes Hofmann <johannes.hofmann@gmx.de>
Tested-by: Imre Vadasz <imre@vdsz.com>
5 years agokernel - bring acpi_thinkpad in sync with FreeBSD r246128
Markus Pfeiffer [Thu, 3 Apr 2014 22:06:19 +0000 (23:06 +0100)]
kernel - bring acpi_thinkpad in sync with FreeBSD r246128

Submitted-By: Sascha Wildner <saw@online.de>
5 years agoAdd ident string to acpi_thinkpad module
Markus Pfeiffer [Thu, 3 Apr 2014 21:36:40 +0000 (22:36 +0100)]
Add ident string to acpi_thinkpad module

5 years agols(1): Restore the traditional behavior of -f implying -a.
Sascha Wildner [Thu, 3 Apr 2014 07:21:04 +0000 (09:21 +0200)]
ls(1): Restore the traditional behavior of -f implying -a.

OpenBSD's commit msg:

restore the traditional behavior of -f implying -a; apparently Keith Bostic
forgot to restore it when the -f flag was put back on 2nd of September 1989,
after being removed on 16th of August as a consequence of issues getting it
working over NFS, so deviation from traditional UNIX behavior in all BSDs
looks like an historical accident; as a side effect, this change accommodates
behavior of this option to IEEE Std 1003.1-2008 (``POSIX.1'').

joint work with jmc@ (who found the inaccuracy in our implementation),
schwarze@ (who provided a detailed tracking of historical facts) and millert@

ok millert@, schwarze@

The same patch has been pushed to NetBSD and FreeBSD too.

Submitted-by: Igor Sobrado
Taken-from:   OpenBSD

5 years agoMove ieee80211_ratectl_node_init() from drivers into ieee80211.
Sascha Wildner [Thu, 3 Apr 2014 07:10:23 +0000 (09:10 +0200)]
Move ieee80211_ratectl_node_init() from drivers into ieee80211.

This fixes the amrr_node_deinit() panics we were getting after my
recent ratectl commit broke it (it was trying to kfree a NULL

It should also fix hostap mode for run(4) e.g.

This commit is essentially FreeBSD's r217511.

Pointed-out-by: Imre Vadasz <imre@vdsz.com>
Taken-from:     FreeBSD

5 years agoRevert "wlan - Allow NULL field in amrr_node_deinit()"
Sascha Wildner [Thu, 3 Apr 2014 07:00:42 +0000 (09:00 +0200)]
Revert "wlan - Allow NULL field in amrr_node_deinit()"

This reverts commit d68ce29fbc7cb83d080f0abb8790151cd6fec598.

5 years agowlan - Allow NULL field in amrr_node_deinit()
Matthew Dillon [Thu, 3 Apr 2014 02:09:55 +0000 (19:09 -0700)]
wlan - Allow NULL field in amrr_node_deinit()

* Allow a NULL field in amrr_node_deinit(), prevent kfree() from being
  called with NULL, which DragonFly explicitly does not allow.

5 years agoloader - Add slowprint() debugging helper
Matthew Dillon [Wed, 2 Apr 2014 21:41:00 +0000 (14:41 -0700)]
loader - Add slowprint() debugging helper

* Add a slowprint() function and command to enable it
  to help trace out problems.

* Used for recent debugging but calls are not intended to be permanently
  resident in the code.  Leave the infrastructure in place for future

5 years agolibstand - Fix excessive memory use by hammer2 module
Matthew Dillon [Wed, 2 Apr 2014 21:38:54 +0000 (14:38 -0700)]
libstand - Fix excessive memory use by hammer2 module

* Don't try to dynamically allocate 64KB for each open file.  Just use
  the same static media buffer that normal operations use.

  This fixes some severe heap fragmentation and out-of-memory issues
  when a lot (20+) modules are specified in /boot/loader.conf that
  can cause the boot loader to fail.

* Add getheap() to retrieve heap stats.

5 years agokernel - Fix mid-kernel-boot lockups due to module order
Matthew Dillon [Wed, 2 Apr 2014 19:24:57 +0000 (12:24 -0700)]
kernel - Fix mid-kernel-boot lockups due to module order

* Sometimes the kernel would just lock up for no apparent reason.  Changing
  the preloaded module set (even randomly) could effect the behavior.

* The problem turned out to be an issue with kernel modules needing to
  temporarily migrate to another cpu (such as when installing a SWI or
  other interrupt handler).  If the idle thread on cpu 0 had not yet
  bootstrapped, lwkt_switch_return() would not be called properly and
  the LWKT cpu migration code would never schedule on the target cpu.

* Fix the problem by handling the idle thread bootstrap case for cpu 0
  properly in pc64.

5 years agoboot - boot loader fixes
Matthew Dillon [Wed, 2 Apr 2014 19:22:50 +0000 (12:22 -0700)]
boot - boot loader fixes

* Clarify some issues in comments.

* Don't trust the bios memory boundary, start 1K below it.

* Always bounce, not just for floppies.  This should help with situations
  when loading kernels and modules beyond the 16MB mark.

* Add some debugging memory commands

5 years agocrunch: We use .Mt for mail addresses.
Sascha Wildner [Wed, 2 Apr 2014 17:56:03 +0000 (19:56 +0200)]
crunch: We use .Mt for mail addresses.

5 years agoRevert "installer: Export /boot device name in loader.conf"
François Tigeot [Wed, 2 Apr 2014 08:04:47 +0000 (10:04 +0200)]
Revert "installer: Export /boot device name in loader.conf"

This reverts commit 8a01d9f7000ef8c274b595edf681b3ff0b17591e.

It turns out putting the boot device name in a sysctl variable for its
use by a rescue system is not such a good idea.

5 years agocrunch - Remove FBSDID
Matthew Dillon [Tue, 1 Apr 2014 23:56:43 +0000 (16:56 -0700)]
crunch - Remove FBSDID

* buildworld bootstrap doesn't seem to be using the world's
  sys/cdefs.h, and the installed sys/cdefs.h might not have
  the FBSDID hack.

* Remove the FBSDID stuff from crunch to fix buildworld.  Wish I had
  never invented FBSDID.

5 years agomkinitrd(8): Use cpdup to copy files
François Tigeot [Mon, 31 Mar 2014 20:36:03 +0000 (22:36 +0200)]
mkinitrd(8): Use cpdup to copy files

Preserving hard links

5 years agokernel/acpi: Fix a x86_64 warning in the ACPI_DEBUG_MEMMAP code.
Sascha Wildner [Mon, 31 Mar 2014 17:16:31 +0000 (19:16 +0200)]
kernel/acpi: Fix a x86_64 warning in the ACPI_DEBUG_MEMMAP code.

5 years agokernel/acpi: Restore ACPI_DEBUG_{CACHE,LOCKS,MEMMAP} functionality.
Sascha Wildner [Mon, 31 Mar 2014 17:02:29 +0000 (19:02 +0200)]
kernel/acpi: Restore ACPI_DEBUG_{CACHE,LOCKS,MEMMAP} functionality.

Unfortunately we can't do this in acdragonfly.h alone since ACPICA
types such as ACPI_SIZE and so on are unavailable in acdragonfly.h.
This is because acpi.h includes acenv.h (and therefore acdragonfly.h)
before actypes.h.

5 years agoUpdate crunched binaries tools from FreeBSD
François Tigeot [Sun, 30 Mar 2014 19:55:54 +0000 (21:55 +0200)]
Update crunched binaries tools from FreeBSD

* Fix amd64/x86_64 confusion

* Remove a.out support

5 years agoRevert "Remove crunchgen(8)."
François Tigeot [Sun, 30 Mar 2014 19:46:42 +0000 (21:46 +0200)]
Revert "Remove crunchgen(8)."

This reverts commit 97c14704c37c914dbd89b22465a421ffde7fe89d.


5 years agohammer2 - multi-target mount part 4/many (stabilization)
Matthew Dillon [Mon, 31 Mar 2014 01:43:51 +0000 (18:43 -0700)]
hammer2 - multi-target mount part 4/many (stabilization)

* Fix spmp mirror_tid synchronization bug in the flush code.  TIDs were
  not being allocated properly for the super-root portion of the flush.

* Add in-memory chain dump ioctl.

* Fix another missing modsync.

5 years agohammer2 - Add debug ioctl
Matthew Dillon [Mon, 31 Mar 2014 01:42:25 +0000 (18:42 -0700)]
hammer2 - Add debug ioctl

* Add a a debugging command to dump the in-memory chain topology.

5 years agoUnbreak buildworld after recent hammer2 changes.
Sascha Wildner [Sun, 30 Mar 2014 21:36:05 +0000 (23:36 +0200)]
Unbreak buildworld after recent hammer2 changes.

504565062f34ec55037ac0cf308fe3562f091460 renamed HAMMER2_MAX_KEY to
HAMMER2_KEY_MAX but libstand wasn't adjusted.

Reported-by: David Shao
Dragonfly-bug: <https://bugs.dragonflybsd.org/issues/2658>

5 years agohammer2 - multi-target mount part 3/many (stabilization)
Matthew Dillon [Sun, 30 Mar 2014 18:07:36 +0000 (11:07 -0700)]
hammer2 - multi-target mount part 3/many (stabilization)

* Fix cluster memory leaks, fix a malloc_type leak.

* Resync cached PFS (pmp) data in the root inode for the PFS on flush.
  (inode allocator).

* Track total DIO memory.

* For now assert on logical mirror mismatches.

* Minor start on infrastructure for mirror synchronization.

* Refactor hammer2_cluster_copy() flags.

5 years ago<sys/cdefs.h>: Simplify the CTASSERT definition better.
Sascha Wildner [Sun, 30 Mar 2014 10:27:07 +0000 (12:27 +0200)]
<sys/cdefs.h>: Simplify the CTASSERT definition better.

5 years agohammer2 - multi-target mount part 2/many
Matthew Dillon [Sun, 30 Mar 2014 00:09:08 +0000 (17:09 -0700)]
hammer2 - multi-target mount part 2/many

* Split media and in-memory tracking of TIDs.  In-memory tracking is
  effectively global, while on-media TIDs are now split into an independent
  domain for each PFS plus one for the super-root and freemap topology.

  Introduces hammer2_xid_t and reformulates some of the TID and XID

* Refactor the flush code to no longer depend on media modify_tid/mirror_tid
  values during a flush.  In-memory XIDs are used for all flush recursions.

* Refactor the transaction mechanisms in order to allow XIDs to cover multiple
  TID domains.  For the moment, the transaction management structure is
  global but the code is designed to allow us to have multiple management
  domains in a future commit.

* Associate a PMP structure with each storage topology's super-root and
  freemap (still a bit rough).

* Each PFS now accounts for its own inode numbers and transaction ids,
  independent of other PFSs.  This also means that both inode numbers
  and transaction ids are PFS-specific, so multiple storage medias which
  are part of the same PFS will use the PFS-centric tracking rather than
  per-media tracking.

* Cleanup a few memory leaks and remove some debugging from the chain code.

* Refactor mount and unmount code to handle the new PFS abstraction.

* Refactor the volume data lock/unlock/modify mechanics somewhat.

5 years ago<sys/cdefs.h>: Use _Static_assert for CTASSERT.
Sascha Wildner [Sat, 29 Mar 2014 09:07:03 +0000 (10:07 +0100)]
<sys/cdefs.h>: Use _Static_assert for CTASSERT.

Move CTASSERT from <sys/systm.h> to <sys/cdefs.h> and use _Static_assert
for its definition (which gives us a better error message in case it is

But if there is no support for _Static_assert or static_assert in the
compiler, use the previous typedef method.

5 years agokernel/hptmv: Don't mess up the struct by copying too much.
Sascha Wildner [Sat, 29 Mar 2014 08:06:44 +0000 (09:06 +0100)]
kernel/hptmv: Don't mess up the struct by copying too much.

VendorId is only 8 chars.

5 years agokernel/cpu_topology: Fix a casting issue in the topology tree printing.
Sascha Wildner [Fri, 28 Mar 2014 22:18:02 +0000 (23:18 +0100)]
kernel/cpu_topology: Fix a casting issue in the topology tree printing.

compute_unit_id is uint8_t so it's actually 0xff we want to check for.
Before this commit, the "... != -1" checks were always true.

5 years agokernel/acpi_fujitsu: Doh, fix a copy/paste error I did in my last upgrade.
Sascha Wildner [Fri, 28 Mar 2014 21:09:55 +0000 (22:09 +0100)]
kernel/acpi_fujitsu: Doh, fix a copy/paste error I did in my last upgrade.

5 years ago<sys/hash.h>: Fix wrong header guard.
Sascha Wildner [Fri, 28 Mar 2014 20:54:07 +0000 (21:54 +0100)]
<sys/hash.h>: Fix wrong header guard.

5 years agokernel/acpi: Improve the errors which AcpiOsTableOverride() returns.
Sascha Wildner [Thu, 27 Mar 2014 13:49:25 +0000 (14:49 +0100)]
kernel/acpi: Improve the errors which AcpiOsTableOverride() returns.

While here, use ACPI_COMPARE_NAME() and ACPI_SIG_DSDT.

5 years agoFix the usbd rc script a bit better.
Sascha Wildner [Wed, 26 Mar 2014 09:42:11 +0000 (10:42 +0100)]
Fix the usbd rc script a bit better.

Most importantly, take care about the case where usb isn't in the
kernel config.

Reported-by: lhmwzy on users@
5 years agoSync zoneinfo database with tzdata2014b from ftp://ftp.iana.org/tz/releases
Sascha Wildner [Tue, 25 Mar 2014 09:35:13 +0000 (10:35 +0100)]
Sync zoneinfo database with tzdata2014b from ftp://ftp.iana.org/tz/releases

* africa: Morocco's 2014 DST start will be as predicted. (Thanks to
    Sebastien Willemijns.)

* australasia: Add comments about Johnston Island time in the 1960s.
    (Thanks to Lyle McElhaney.)

* antarctica: New entry for Troll station, Antarctica. (Thanks to
    Paul-Inge Flakstad and Bengt-Inge Larsson.) This is currently an
    approximation; a better version will require zic and localtime
    fixes. Also the NZAQ rules - which are never used - have been

* europe: Crimea switches to Moscow time on 2014-03-30 at 02:00 local
    time. (Thanks to Alexander Krivenyshev.)
    Move its zone.tab entry from UA to RU.

5 years agokernel/i386: Remove CPU_ENABLE_TCC traces.
Sascha Wildner [Tue, 25 Mar 2014 03:32:16 +0000 (04:32 +0100)]
kernel/i386: Remove CPU_ENABLE_TCC traces.

5 years agoinpcb: Use a special version of in_pcbinsporthash() on TCP accept path
Sepherosa Ziehau [Mon, 24 Mar 2014 13:22:27 +0000 (21:22 +0800)]
inpcb: Use a special version of in_pcbinsporthash() on TCP accept path

It holds the port token for in_pcbinsporthash().  Assert that the port
token is held in in_pcbinsport() now.

5 years agoFix kernel build.
Sascha Wildner [Mon, 24 Mar 2014 08:59:54 +0000 (09:59 +0100)]
Fix kernel build.

5 years agonetstat - Replace a couple malloc calls.
Antonio Huete Jimenez [Thu, 20 Mar 2014 15:26:26 +0000 (08:26 -0700)]
netstat - Replace a couple malloc calls.

- Use calloc to ensure memory is zeroed.

5 years agoinpcb: Group port related fields into inpcbportinfo
Sepherosa Ziehau [Sun, 23 Mar 2014 13:30:27 +0000 (21:30 +0800)]
inpcb: Group port related fields into inpcbportinfo

Prepare for port token splitting.

5 years agolibc: Remove a useless assignment.
Sascha Wildner [Sun, 23 Mar 2014 11:53:57 +0000 (12:53 +0100)]
libc: Remove a useless assignment.

5 years agoext2fs - Attempt to fix a panic on VOP_CLOSE
Antonio Huete Jimenez [Sun, 23 Mar 2014 01:30:01 +0000 (02:30 +0100)]
ext2fs - Attempt to fix a panic on VOP_CLOSE

Follows-up commit 12cdc371fb859682eda7d1c26c5059920a7cf118

5 years agousb4bsd: Sync the run(4) driver with FreeBSD.
Sascha Wildner [Sat, 22 Mar 2014 20:37:55 +0000 (21:37 +0100)]
usb4bsd: Sync the run(4) driver with FreeBSD.

This adds support for a number of new chipsets/adapters (see the
manual page for a list).

Thanks to Markus Pfeiffer for testing with a RT5370 based adapter.

Taken-from: FreeBSD

5 years agokernel/802_11: Fix panic when the desired ratectl algorithm is unavailable.
Sascha Wildner [Sat, 22 Mar 2014 17:44:28 +0000 (18:44 +0100)]
kernel/802_11: Fix panic when the desired ratectl algorithm is unavailable.

Set the default to NONE. When a driver calls ieee80211_ratectl_init(), try
to use AMRR etc. if NONE is selected. Drivers may still select other
algorithms using ieee80211_ratectl_set() prior to calling _init().

Due to our broken ieee80211_load_module(), we do not currently autoload
the desired ratectl algorithm like FreeBSD does. Instead, a message about
manually loading the module will be printed (see ieee80211_dragonfly.c).

Reported-by: profmakx
Taken-from:  FreeBSD

5 years agoin6_pcbbind: Rearrange local port bind/select code path.
Sepherosa Ziehau [Sat, 22 Mar 2014 10:45:21 +0000 (18:45 +0800)]
in6_pcbbind: Rearrange local port bind/select code path.

Mainly group local port binding logic together.  This paves way for the
upcoming port token splitting.

Tested-by: ftigeot@
5 years agomount_hammer2 - Check ERANGE for mount integration result
Matthew Dillon [Sat, 22 Mar 2014 01:01:44 +0000 (18:01 -0700)]
mount_hammer2 - Check ERANGE for mount integration result

* For now  the H2 vfs code returns ERANGE when mounting multiple
  elements of a cluster, report it as an integration instead of
  as an error.

5 years agonewfs_hammer2 - add -R uuid and -I uuid
Matthew Dillon [Sat, 22 Mar 2014 00:18:33 +0000 (17:18 -0700)]
newfs_hammer2 - add -R uuid and -I uuid

* Allow the super-root (-R) cluster id and the labeled PFS's cluster id
  to be specified.

* Populate the cluster id in the inode data.

5 years agohammer2 - skeleton multi target mount detection
Matthew Dillon [Sat, 22 Mar 2014 00:15:22 +0000 (17:15 -0700)]
hammer2 - skeleton multi target mount detection

* Detect H2 filesystems with the same cluster id and add to an existing
  mount's cluster instead of mounting separately.

* Very preliminary, not operational.  Transactions, flush, and volume
  management need to be rewritten.

5 years agohammer2 - cluster API, preliminary implementation of multi-chain updates
Matthew Dillon [Thu, 20 Mar 2014 00:28:42 +0000 (17:28 -0700)]
hammer2 - cluster API, preliminary implementation of multi-chain updates

* Separate out read-only from read-write access to cluster data.

* Implement hammer2_cluster_modsync() and call in appropriate places.

* Clean up some media inode fields not currently in-use.

5 years agokernel/msdosfs: Merge deName and deExtension in the direntry struct.
Sascha Wildner [Fri, 21 Mar 2014 20:39:12 +0000 (21:39 +0100)]
kernel/msdosfs: Merge deName and deExtension in the direntry struct.

* winChkSum() in msdosfs_conv.c was assuming that deExtension was
  following deName in memory, which is meh.

* While here, add some include guards and put some reserved bytes
  explicitly in the structs.

This is basically r203827 from FreeBSD.

5 years agoFix MLINKS for the last sbuf(9) update.
Sascha Wildner [Thu, 20 Mar 2014 22:47:56 +0000 (23:47 +0100)]
Fix MLINKS for the last sbuf(9) update.

5 years agokernel: check that p_ucred is not NULL before calling p_trespass
Joris Giovannangeli [Thu, 20 Mar 2014 17:23:59 +0000 (18:23 +0100)]
kernel: check that p_ucred is not NULL before calling p_trespass

5 years agocrashinfo(8): Add -w and -R to the ps command.
Sascha Wildner [Thu, 20 Mar 2014 10:55:14 +0000 (11:55 +0100)]
crashinfo(8): Add -w and -R to the ps command.

5 years agompt(4): Sync with FreeBSD.
Sascha Wildner [Thu, 20 Mar 2014 09:17:14 +0000 (10:17 +0100)]
mpt(4): Sync with FreeBSD.

Nothing big, as far as I can tell. Some fixes and removal of old
compatibility code.

While here, use callout_init_mp() and callout_stop_sync().

5 years agoAdd some missing MLINKS for lock.9 and pidfile.3.
Sascha Wildner [Wed, 19 Mar 2014 22:11:54 +0000 (23:11 +0100)]
Add some missing MLINKS for lock.9 and pidfile.3.

5 years agotbridge.9: Adjust typedefs a bit.
Sascha Wildner [Wed, 19 Mar 2014 20:50:20 +0000 (21:50 +0100)]
tbridge.9: Adjust typedefs a bit.

5 years agoaac(4): Sync with FreeBSD.
Sascha Wildner [Wed, 19 Mar 2014 18:58:36 +0000 (19:58 +0100)]
aac(4): Sync with FreeBSD.

Some bug fixes, static/const, etc.

Also, add MSI support and use callout_init_mp().

5 years agousb4bsd/run: Fix compilation without INVARIANTS.
Sascha Wildner [Wed, 19 Mar 2014 17:37:01 +0000 (18:37 +0100)]
usb4bsd/run: Fix compilation without INVARIANTS.

Since wlan_serializer is now held consistently, we can unconditionally
wlan_serialize_exit/enter around firmware_get().

This commit is identical to 11d169ef87e7b77e152510810bec814b36ac584d
for iwn(4).

5 years agoin6_pcblookup_local: Make in6_addr const
Sepherosa Ziehau [Wed, 19 Mar 2014 12:36:12 +0000 (20:36 +0800)]
in6_pcblookup_local: Make in6_addr const

5 years agoin_pcbbind: Rearrange local port bind/select code path.
Sepherosa Ziehau [Wed, 19 Mar 2014 11:52:08 +0000 (19:52 +0800)]
in_pcbbind: Rearrange local port bind/select code path.

- Group local port binding logic together.
- Group local port auto-selecting logic together and factor out

This paves way for the upcoming port token splitting.

5 years agoFix license in some USB related manual pages (taken from FreeBSD).
Sascha Wildner [Wed, 19 Mar 2014 09:17:32 +0000 (10:17 +0100)]
Fix license in some USB related manual pages (taken from FreeBSD).

5 years agohammer2 - Cluster API stabilization
Matthew Dillon [Wed, 19 Mar 2014 05:17:08 +0000 (22:17 -0700)]
hammer2 - Cluster API stabilization

* Fix issues that come up with mount/umount/cpdup tests related to the
  new cluster API.  Ref-counting, locks, and many other (expected) items.

* Fleshing out cluster->focus was a bit more involved than I had hoped.

* Generally speaking, cluster refs and locks work the same way that chain
  refs and locks do.

5 years agoTry to start usbd(8) only if it actually exists.
Sascha Wildner [Tue, 18 Mar 2014 18:21:31 +0000 (19:21 +0100)]
Try to start usbd(8) only if it actually exists.

It is specific to the old USB stack so we can remove the rc script
once we don't offer it anymore. For now, just check if it is there
before starting.

5 years agohammer2 - Start adding internal cluster API
Matthew Dillon [Tue, 18 Mar 2014 16:35:21 +0000 (09:35 -0700)]
hammer2 - Start adding internal cluster API

Initial addition of the cluster API.  H2 will be non-operational until this
is stabilized.  Adding the cluster API will require a few stages.  This first
stage is to add the API and make it work under degenerate (single-target)

The hammer2_cluster structure collects and manages an array of up to
8 chains representing mirrors / cluster nodes / copies of the same point
in the topology.

* Add hammer2_cluster.c, and hammer2_cluster_t

* Replace nearly all high-level (vnops, vfsops) chain calls with
  cluster calls.

5 years agousb4bsd: FWIW, port usb_template and hook it into the build.
Sascha Wildner [Tue, 18 Mar 2014 08:37:31 +0000 (09:37 +0100)]
usb4bsd: FWIW, port usb_template and hook it into the build.

5 years agoAdd umoscom(4) and usfs(4) manual pages (from FreeBSD).
Sascha Wildner [Tue, 18 Mar 2014 07:54:36 +0000 (08:54 +0100)]
Add umoscom(4) and usfs(4) manual pages (from FreeBSD).

5 years agotcplay: Fix a function name in tcplay.3 and .Dd in tcplay.8.
Sascha Wildner [Tue, 18 Mar 2014 07:30:31 +0000 (08:30 +0100)]
tcplay: Fix a function name in tcplay.3 and .Dd in tcplay.8.

5 years agoRemove old tcplay(3) MLINKS via 'make upgrade'.
Sascha Wildner [Mon, 17 Mar 2014 18:32:37 +0000 (19:32 +0100)]
Remove old tcplay(3) MLINKS via 'make upgrade'.

5 years agotest/debug - Tweak vnodeinfo a bit
Antonio Huete Jimenez [Mon, 17 Mar 2014 14:33:21 +0000 (07:33 -0700)]
test/debug - Tweak vnodeinfo a bit

- Remove trailing white spaces.
- Fix usage.
- Add '-p' option to show filesystem specific inode data. Currently
  only dirfs is supported.
- Additional filesystems can be added easily to the dumplist struct.

5 years agolibusb20.3: uint61_t -> uint16_t
Sascha Wildner [Sun, 16 Mar 2014 20:39:25 +0000 (21:39 +0100)]
libusb20.3: uint61_t -> uint16_t

5 years agousbhid.3: u_int -> unsigned int
Sascha Wildner [Sun, 16 Mar 2014 20:39:01 +0000 (21:39 +0100)]
usbhid.3: u_int -> unsigned int

5 years agodevd: Regenerate usb.conf.
Sascha Wildner [Sun, 16 Mar 2014 20:01:13 +0000 (21:01 +0100)]
devd: Regenerate usb.conf.

5 years agousb.4: Add ufm reference.
Sascha Wildner [Sun, 16 Mar 2014 17:57:13 +0000 (18:57 +0100)]
usb.4: Add ufm reference.

5 years agokernel/twa: Sync a bit with FreeBSD.
Sascha Wildner [Sun, 16 Mar 2014 17:43:38 +0000 (18:43 +0100)]
kernel/twa: Sync a bit with FreeBSD.

Mainly s/callout_init/callout_init_mp/ and using pci_enable_busmaster()

5 years agousb4bsd: Port ufm.
Sascha Wildner [Sun, 16 Mar 2014 17:49:38 +0000 (18:49 +0100)]
usb4bsd: Port ufm.

5 years agotcplay - fix compile error on i386
Alex Hornung [Sun, 16 Mar 2014 16:55:59 +0000 (16:55 +0000)]
tcplay - fix compile error on i386

5 years agocryptdisks safe_mem - use weak symbols
Alex Hornung [Sun, 16 Mar 2014 13:45:21 +0000 (13:45 +0000)]
cryptdisks safe_mem - use weak symbols

 * Use weak symbols so that the ones in libtcplay.a can override the
   symbols in the local safe_mem.

 * I'm not sure why this ever worked before, but it definitely doesn't
   work anymore.

5 years agocryptdisks - update to new tcplay API
Alex Hornung [Sun, 16 Mar 2014 13:45:09 +0000 (13:45 +0000)]
cryptdisks - update to new tcplay API

5 years agoupdate tcplay to 2.0
Alex Hornung [Sun, 16 Mar 2014 07:37:01 +0000 (07:37 +0000)]
update tcplay to 2.0

5 years agoin6_pcbbind: Move stack variable declaration near its usage
Sepherosa Ziehau [Sun, 16 Mar 2014 13:18:02 +0000 (21:18 +0800)]
in6_pcbbind: Move stack variable declaration near its usage

5 years agoin_pcbbind: Move stack variable declaration near its usage
Sepherosa Ziehau [Sun, 16 Mar 2014 13:09:11 +0000 (21:09 +0800)]
in_pcbbind: Move stack variable declaration near its usage