Peter Avalos [Sat, 31 Dec 2011 20:44:00 +0000 (12:44 -0800)]
Merge branch 'vendor/FILE'
Peter Avalos [Sat, 31 Dec 2011 20:32:20 +0000 (12:32 -0800)]
Import file-5.10.
Changes are documented in ChangeLog.
Sascha Wildner [Sat, 31 Dec 2011 11:36:16 +0000 (12:36 +0100)]
Reduce differences between our VKERNEL and VKERNEL64 configurations.
* Removes KTR from VKERNEL.
* Removes VM_PAGE_DEBUG from VKERNEL64.
* Some whitespace adjustments.
Sascha Wildner [Sat, 31 Dec 2011 11:17:55 +0000 (12:17 +0100)]
VKERNEL64: Adjust for the ktr changes (to fix build).
Venkatesh Srinivas [Sat, 31 Dec 2011 10:21:05 +0000 (05:21 -0500)]
libdl -- Stub libdl.
DragonFly BSD (and FreeBSD) have the dlopen/dlfcn/... routines located in
libc. However many applications and their configure scripts look for these
routines in libdl. This adds a stub libdl with no subroutines, so that the
configure scripts pass. The dl* routines are automatically available via
libc.
Venkatesh Srinivas [Sat, 31 Dec 2011 05:27:01 +0000 (00:27 -0500)]
kernel -- nfsserver: Allow for some reordering of RPCs before decaying seqcount.
Before decaying sequential heuristic, allow a limited amount of RPC reordering.
After that, decay by half for each out-of-order RPC rather than immediately
dropping to 1.
From FreeBSD r228185.
Venkatesh Srinivas [Sat, 31 Dec 2011 05:21:51 +0000 (00:21 -0500)]
kernel -- KTR: Fix vkernel32 build.
KTR_INFO needed to be updated for the typesafe KTR patchset.
Sascha Wildner [Sat, 31 Dec 2011 03:38:52 +0000 (04:38 +0100)]
kernel: Fix two NULL dereference issues.
Sascha Wildner [Sat, 31 Dec 2011 03:37:30 +0000 (04:37 +0100)]
kernel/acpi: Add a missing file to the 'files' files (fixes LINT* build).
Sepherosa Ziehau [Sat, 31 Dec 2011 03:29:32 +0000 (11:29 +0800)]
vkernel/intr: Pin vkernel "hardware interrupts" to CPU0
Due to the nondeterminsm of CPU to which SIGIO will be delivered,
we can't depend on "hardware interrupts" of vkernel always happen
on the registered CPU. We now pin the vkernel "hardware interrupts"
to CPU0, so the interrupt scheduling code could always know the
correct ithread to be scheduled.
Reported-by: tuxillo vsrinivas
Aggelos Economopoulos [Fri, 30 Dec 2011 13:44:21 +0000 (05:44 -0800)]
Adjust ktrdump(8) for the ktr(4) changes
- On i386, we need to extend logged integers to be at least
int-sized like vprintf expects.
- On x86_64, we unpack the logged arguments into a va_list according
to the x86_64 ABI rules and then pass it to kvprintf.
Aggelos Economopoulos [Fri, 30 Dec 2011 13:38:34 +0000 (05:38 -0800)]
Modify ktr(4) to be typesafe
- Use a struct copy to place the logged values directly into the
destination buffer without forcing a memcpy.
- This also fixes event logging on x86_64, as we no longer rely
on the i386 calling convention for functions with a variable
number of arguments.
- Verify that the arguments match the specified format.
- Update callsites.
Note that this requires userspace changes! ktrdump(8) needs to be
adjusted even on i386 (%c and %hd are no longer promoted as per the
C rules). We need very special handling on x86_64 too.
Aggelos Economopoulos [Fri, 30 Dec 2011 17:00:44 +0000 (09:00 -0800)]
Introduce sys/cpputil.h for our cpp metaprogramming needs
Sascha Wildner [Fri, 30 Dec 2011 16:39:11 +0000 (17:39 +0100)]
kernel/drm: Move a NULL check to the proper place.
Sascha Wildner [Fri, 30 Dec 2011 16:13:32 +0000 (17:13 +0100)]
kernel/altq: Move a dereference below the NULL check.
Sepherosa Ziehau [Thu, 29 Dec 2011 11:01:27 +0000 (19:01 +0800)]
acpi/cpu: Missing one 'O' in the macro name
Sepherosa Ziehau [Thu, 29 Dec 2011 10:36:41 +0000 (18:36 +0800)]
acpi/cpu: Report that Turbo Boost is enabled on Intel CPUs
If Turbo Boost is enabled, the current CPU frequencies reported by
hw.acpi.cpu are not correct, sigh.
Sepherosa Ziehau [Thu, 29 Dec 2011 09:26:44 +0000 (17:26 +0800)]
acpi/pstate: Print coordination
Sepherosa Ziehau [Thu, 29 Dec 2011 08:33:11 +0000 (16:33 +0800)]
acpi/pstate: Fix the long standing P-State detection problem on Intel CPUs
- Rename the ACPI_CAP to ACPI_PDC according to Intel's document.
While I'm here, update the document revision.
- Remove unapplied comment about _OSC and _PDC's revision; Intel's
document states clearly that it should be 1
- Fix the 'Count' argument for _OSC evaluation; the intergers in
'Capabilities buffer' argument is 2
- Fix the buffer length of _OSC's 'Capabilities buffer'; we only
pass 2 intergers.
- Perfer _OSC evaluation, fall back to _PDC evaluation only if _OSC
evaluation fails.
- Add MD cpu features, so MD code could deliver proper settings.
For AMD CPUs, the old configuration just works (AMD actually has
no documents about _PDC and _OSC).
For Intel CPUs w/ EST, it looks like P-State's _PCT will appear
only when bit0 (P-State MSR), bit5 (P-State software coordination)
and bit11 (P-State hardware coordination) are turned on.
Sepherosa Ziehau [Thu, 29 Dec 2011 05:56:31 +0000 (13:56 +0800)]
x86_64: Add MSI support for ICU MachIntrABI
Sepherosa Ziehau [Thu, 29 Dec 2011 03:04:19 +0000 (11:04 +0800)]
intr: Remove no longer correct ithread_cpuid; use rman_get_cpuid instead
Peter Avalos [Wed, 28 Dec 2011 22:40:49 +0000 (14:40 -0800)]
libmagic: Update Makefile.
-Use SHAREDIR from bsd.own.mk instead of hardcoding it.
-Get rid of -I nonsense that was required when we used to patch the
vendor's .h, but we need to turn off warnings when building mkmagic.nx.
Inspired-by: http://bugs.dragonflybsd.org/issues/2206
Sepherosa Ziehau [Wed, 28 Dec 2011 14:44:08 +0000 (22:44 +0800)]
bce: Add workaround for the lost of MSI on 5706/5708
While I'm here use ramn_get_cpuid to extract interrupt's target CPU
Obtained-from: bnx2
Sepherosa Ziehau [Wed, 28 Dec 2011 13:53:41 +0000 (21:53 +0800)]
em: rman_get_cpuid should be used to get the interrupt's target CPU
Sepherosa Ziehau [Wed, 28 Dec 2011 05:09:13 +0000 (13:09 +0800)]
em: Use MSI, if device supports it
Sepherosa Ziehau [Wed, 28 Dec 2011 04:07:22 +0000 (12:07 +0800)]
bce: Split out frontend for interrupt handler
For non-oneshot MSI, we don't need to make sure that status block has
been updated and we don't need extra register read to flush the ACK_CMD;
MSI has already made sure about those.
For oneshot MSI, we don't even need to ACK the interrupt
Obtaied-from: bnx2
Sepherosa Ziehau [Wed, 28 Dec 2011 02:49:50 +0000 (10:49 +0800)]
pci: Factor out pci_alloc_1intr()
This function will properly setup rid and flags for "legacy" interrupt.
If MSI is enabled, then this function will try allocate 1 MSI message
and setup rid and flags properly for MSI based interrupt resource.
Sepherosa Ziehau [Tue, 27 Dec 2011 10:15:26 +0000 (18:15 +0800)]
ether_ioctl: Command type is u_long not int
Venkatesh Srinivas [Wed, 28 Dec 2011 01:38:12 +0000 (17:38 -0800)]
taskqueue -- Register swi_taskq_mp as an MP-safe SWI.
The swi_taskqueue for mpsafe tasks was still getting the mplock. Remove it.
There are no real users of this queue in kernel though.
Matthew Dillon [Tue, 27 Dec 2011 22:18:34 +0000 (14:18 -0800)]
test - Do not report bogus object pointer in vmpageinfo
* If m.object is NULL do not report the previously loaded object's
data in the output.
Matthew Dillon [Tue, 27 Dec 2011 22:15:50 +0000 (14:15 -0800)]
kernel - Fix swap space leak
* swp_pager_meta_free_callback() had a bug where the last swap block
in the swblock{} structure was not being freed from the swap bitmap.
* Also fix two rare race conditions. swp_pager_freeswapspace() can
block, causing the VM object token to be temporarily unlocked. Deal
with the race by not decrementing the swb_count field until after
swp_pager_freeswapspace() is called.
Reported-by: sephe
Sepherosa Ziehau [Tue, 27 Dec 2011 08:19:17 +0000 (16:19 +0800)]
i386: Pass cpuid to pcib_alloc_msi and pcib_map_msi
This also unbreaks kernel building on i386
Sepherosa Ziehau [Tue, 27 Dec 2011 06:38:13 +0000 (14:38 +0800)]
bce: Use MSI, if device supports it
Sepherosa Ziehau [Tue, 27 Dec 2011 06:37:24 +0000 (14:37 +0800)]
emx: emx_detach will correctly handle IRQ resource allocation failure
Sepherosa Ziehau [Tue, 27 Dec 2011 05:43:09 +0000 (13:43 +0800)]
emx: Use MSI, if device supports it
Sepherosa Ziehau [Tue, 27 Dec 2011 05:42:44 +0000 (13:42 +0800)]
ahci: Use MSI if device support it.
Sepherosa Ziehau [Tue, 27 Dec 2011 05:41:31 +0000 (13:41 +0800)]
msi: Put old MSI code under OLD_MSI
Sepherosa Ziehau [Tue, 27 Dec 2011 05:09:38 +0000 (13:09 +0800)]
x86_64: Don't allocate MSI if LAPIC is not enabled
Sepherosa Ziehau [Tue, 27 Dec 2011 03:23:03 +0000 (11:23 +0800)]
msi/pci: Adjust pci_alloc_msi method interface
- The requested number of MSI messages is no longer adjusted in
pci_alloc_msi_method(), instead, caller should adjust it.
- rids of the MSI SYS_RES_IRQ are explicitly returned to caller,
instead of letting caller fill them based on the implied rules.
- MSI messages' target CPU auto-selection.
- Intead of reallocation using reduced number of MSI messages,
we try to allocate the requested amount of MSI messages on
different CPUs, if the desired CPU does not have enough vectors.
- The requested amount of MSI messages must be sane.
Sepherosa Ziehau [Mon, 26 Dec 2011 13:26:34 +0000 (21:26 +0800)]
x86_64/msi: Add hw.ioapic.msi_start tunable
This is mainly used to test MSI allocation over the whole valid
hardware interrupt space.
Sepherosa Ziehau [Sun, 25 Dec 2011 14:13:13 +0000 (22:13 +0800)]
x86_64: Add MSI support for IOAPIC MachIntrABI
Sepherosa Ziehau [Sun, 25 Dec 2011 14:02:23 +0000 (22:02 +0800)]
pci: Remove extra bus_generic_teardown_intr
This is the left over of
79af06ab6b5a6581a07d0a6bc0735f6aa82a7947
Sepherosa Ziehau [Sun, 25 Dec 2011 11:46:03 +0000 (19:46 +0800)]
msi: Add setup/map function
- msi_setup, setup the IDT entry properly
- msi_map, return the MSI address and MSI data according to the
'intr' and 'cpuid'
The various MSI macros forming MSI address/data are taken from FreeBSD
Sepherosa Ziehau [Sun, 25 Dec 2011 11:24:27 +0000 (19:24 +0800)]
msi: Generate vectors 0~15
Sepherosa Ziehau [Sun, 25 Dec 2011 10:38:25 +0000 (18:38 +0800)]
msi/pci: Pass cpuid to pcib_map_msi method
Sepherosa Ziehau [Sat, 24 Dec 2011 16:27:40 +0000 (00:27 +0800)]
x86_64: Add setidt(), which setup an IDT entry on the specified cpu
Sepherosa Ziehau [Sat, 24 Dec 2011 14:11:10 +0000 (22:11 +0800)]
msi/pci: Pass cpuid to pcib_release_msi method
Sepherosa Ziehau [Sat, 24 Dec 2011 12:12:07 +0000 (20:12 +0800)]
pci: We must not enable pci_do_msix currently
Sepherosa Ziehau [Sat, 24 Dec 2011 12:09:18 +0000 (20:09 +0800)]
msi/pci: Pass cpuid to pci_alloc_msi and pcib_alloc_msi methods
Sepherosa Ziehau [Sat, 24 Dec 2011 12:08:24 +0000 (20:08 +0800)]
netif: MSI actually never worked, so comment out the pci_alloc_msi
Sepherosa Ziehau [Fri, 23 Dec 2011 15:02:45 +0000 (23:02 +0800)]
msi: Enable all PCI related code
Sepherosa Ziehau [Fri, 23 Dec 2011 14:41:17 +0000 (22:41 +0800)]
msi: Add interrupt vectors
This is larged based on apic/apic_vector.s
Sascha Wildner [Tue, 27 Dec 2011 02:47:45 +0000 (03:47 +0100)]
UPDATING: Note that mkdir(1) and install(1) need updating before building.
Sascha Wildner [Tue, 27 Dec 2011 02:33:26 +0000 (03:33 +0100)]
installer: Don't say the installer is experimental.
Noticed-by: vsrinivas
Matthew Dillon [Mon, 26 Dec 2011 20:01:49 +0000 (12:01 -0800)]
kernel - Add vm.swapcache.maxscan
* Add vm.swapcache.maxscan as a separate counter from vm.swapcache.maxlaunder.
* Defaults to 4x maxlaunder.
* Should hopefully fix another cpu hogging issue that was noticed on
avalon when most VM pages wind up being cached in the swapcache
but still get cycled in the PQ_INACTIVE VM page queue due to apache
activity.
Venkatesh Srinivas [Mon, 26 Dec 2011 08:12:14 +0000 (00:12 -0800)]
kernel -- Per-mount syncer thread infrastructure.
Introduce infrastructure to create per-mount periodic filesystem syncer threads.
For a filesystem flagged MNTK_THR_SYNC, create a thread to periodically
synchronize dirty vnodes and the entire filesystem via VOP_FSYNC and
VFS_SYNC. This thread subsumes that responsibility from the global syncer.
The thread will be created at mount time and torn down at unmount.
For filesystems not flagged, the global syncer thread (syncer0) is still used.
The global syncer thread is also used for the bioops_sync(NULL) call, to
invoke every filesystem's bioops_sync path. This is primarily a concern for
UFS/softdep. The global syncer is also the only syncer thread to respond to
speedup_syncer / rushjob requests; this is again a consideration for softdep.
Future work will consider the relative phase of the syncer thread clocks,
so that they may wake together; this may result in more work done per
wakeup.
Currently no filesystems are flagged MNTK_THR_SYNC, so there should be no
functional change associated with this commit.
Matthew Dillon [Sun, 25 Dec 2011 22:32:29 +0000 (14:32 -0800)]
kernel - Fix missing chain wait
* Fix a missing chain wait prior to adding a ref to the VM object in the
sysv shm code.
Reported-by: lentferj
Matthew Dillon [Sun, 25 Dec 2011 22:32:19 +0000 (14:32 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Sascha Wildner [Sun, 25 Dec 2011 21:42:11 +0000 (22:42 +0100)]
<math.h>: Add prototypes for llrintl() and nearbyintl().
Sascha Wildner [Sun, 25 Dec 2011 21:41:15 +0000 (22:41 +0100)]
<math.h>: Add FP_ILOGB0 and FP_ILOGBNAN.
Matthew Dillon [Sun, 25 Dec 2011 22:06:29 +0000 (14:06 -0800)]
kernel - Correct sysctl variable type for kern.stackgap_random
* Correct the sysctl variable type for kern.stackgap_random from an
unsigned int to a signed int.
Matthew Dillon [Sun, 25 Dec 2011 22:02:24 +0000 (14:02 -0800)]
gcc-4.4: Add workaround for probable AMD cpu bug
* Add a workaround to add a nop to the end of gcc-4.4's fill_sons_in_loop()
function just prior to its return (to its multi-register pop and ret
sequence).
This works around what appears to be a aMD cpu bug in contemporary
AMD cpus.
Matthew Dillon [Sun, 25 Dec 2011 21:47:39 +0000 (13:47 -0800)]
kernel - Add workaround support for a probable AMD cpu bug related to cc1
* Add supporting inlines and a #define. See the followup commit to
the gcc-4.4 code in the DFly codebase.
* This bit of code is used to add a single NOP instruction just prior to
the pop/ret sequence in cc1's fill_sons_in_loop() which works around
what we believe to be a very difficult to reproduce AMD cpu bug. The
bug appears to be present on contemporary AMD cpus and was replicated
on a Phenom(tm) II X4 820 Processor (Origin = "AuthenticAMD" Id = 0x100f42
Stepping = 2) and on an opteron 12-core cpu AMD Opteron(tm) Processor 6168
(Origin = "AuthenticAMD" Id = 0x100f91 Stepping = 1).
* The bug is extremely sensitive to %rip and %rsp values as well as
stack memory use patterns and appears to cause either the %rip or the
%rsp to become corrupt during the multi-register-pop/ret sequence at
the end of fill_sons_in_loop() in the GCC 4.4.7 codebase. This
procedure is called as part of a deep tree recursion which exercises both
the AMD RAS (Return Address Stack) hardware circuitry and probably also
the write combining circuitry.
* I have so far only been able to reproduce the bug on DragonFly but have
to the best of my ability eliminated the OS as a possible source of the
problem over the last few months. I am currently attempting to reproduce
the bug running FreeBSD on the same hardware but it's virtually impossible
to replicate the exact environment without adding DragonFly binary emulation
to FreeBSD (which I just might have to do to truly verify that the bug is
not a DragonFly OS bug).
* Bug reproducability: DragonFly utilizes a 0-1023 (~16 byte aligned)
random stack gap. Under normal buildworld -j 25 or similar conditions
it can take anywhere up to 2 days to cause a failure. Using a fixed
stack gap of 904 (sysctl kern.stackgap_random=-904) on a particular cc1
line during the compilation of gcc-4.4 using gcc-4.4, compiling gcc/mcf.c,
with a carefully constructed environment and command path (to replicate
a precise starting stack %rsp of for main() of 0x7fffffffe818), I was
able to replicate the bug in around a 60-second time frame with
approximately one out of every 16 compiles hitting the the bug and failing.
* Changing the stackgap and/or modifying the code in any way (e.g. causing a
shift in the %rpc values) changes the characteristics of the bug, sometimes
causing it to stop appearing entirely.
It was found that an adjustment of the stackgap in 32768 byte increments
starting at the gap known to fail also reproduces the bug with the same
consistency as the original stackgap value.
* Only the fill_sons_in_loop() function in cc1 in a few particular cases
appears to be able to trigger the bug, across all the compiles we've
done over a year.
Peter Avalos [Sun, 25 Dec 2011 18:02:37 +0000 (10:02 -0800)]
sh: Add tests for lines that look like heredoc delimiters but are not.
Obtained-from: FreeBSD 221887
Peter Avalos [Sun, 25 Dec 2011 18:01:22 +0000 (10:01 -0800)]
sh: Add tests for some somewhat obscure aspects of function definitions.
Obtained-from: FreeBSD 222512
Peter Avalos [Sun, 25 Dec 2011 17:59:17 +0000 (09:59 -0800)]
sh: Add some testcases for pasting $*/$@ directly to a literal.
Obtained-from: FreeBSD 228873
Peter Avalos [Sun, 25 Dec 2011 17:58:14 +0000 (09:58 -0800)]
sh: Add test for positional parameters with more than one digit.
Obtained-from: FreeBSD 222158
Peter Avalos [Sun, 25 Dec 2011 17:56:19 +0000 (09:56 -0800)]
sh: Add testcase for $? in here-document.
Obtained-from: FreeBSD 222715
Peter Avalos [Sun, 25 Dec 2011 17:54:50 +0000 (09:54 -0800)]
sh: Add simple tests for set -x and PS4.
Obtained-from: FreeBSD 222882
Peter Avalos [Sun, 25 Dec 2011 17:53:24 +0000 (09:53 -0800)]
sh: Add tests for -n flag.
Obtained-from: FreeBSD 222661
Peter Avalos [Sun, 25 Dec 2011 17:50:07 +0000 (09:50 -0800)]
sh: Add forgotton test for set.
Obtained-from: FreeBSD 222813
Peter Avalos [Sun, 25 Dec 2011 17:45:20 +0000 (09:45 -0800)]
sh: Add test for
332546d32a797c819b3a1804e66be73417674ff1.
Obtained-from: FreeBSD 222174
Peter Avalos [Sun, 25 Dec 2011 17:43:46 +0000 (09:43 -0800)]
sh: Test that . /dev/null returns exit status 0 and does not preserve $?.
Preserving $? may cause problems particularly if set -e is in effect.
It may be useful to preserve the old value of $? in the dot script but this
must not be implemented in such a way that it would break this test.
Obtained-from: FreeBSD 219390
Peter Avalos [Sun, 25 Dec 2011 17:42:34 +0000 (09:42 -0800)]
sh: Add simple CDPATH test.
Obtained-from: FreeBSD 222379
Peter Avalos [Sun, 25 Dec 2011 17:41:23 +0000 (09:41 -0800)]
sh: Add test for LC_COLLATE-based character ranges in case.
Obtained-from: FreeBSD 223011
Peter Avalos [Sun, 25 Dec 2011 17:38:33 +0000 (09:38 -0800)]
sh: Add tests for some corner cases of 'case' exit status.
Obtained-from: FreeBSD 228007
Peter Avalos [Sun, 25 Dec 2011 17:35:56 +0000 (09:35 -0800)]
sh: Add test for exit status of for loop without items.
POSIX says the exit status of a for loop without any items shall be 0.
There are no exceptions if the exit status of the previous command was
not 0 or if the item list contains a command substitution with non-zero
exit status.
Obtained-from: FreeBSD 226892
Peter Avalos [Sun, 25 Dec 2011 17:34:40 +0000 (09:34 -0800)]
sh: Add a test for a fairly obscure case with aliases.
Obtained-from: FreeBSD 224104
Peter Avalos [Sun, 25 Dec 2011 17:33:08 +0000 (09:33 -0800)]
sh: Test that '!' is literal if quoted and first char of bracket expr
Obtained-from: FreeBSD 223546
Peter Avalos [Sun, 25 Dec 2011 17:30:32 +0000 (09:30 -0800)]
sh: Add test for
df6b9adb7f429266f4faf79629df957f76d736f3.
Obtained-from: FreeBSD 223283
Peter Avalos [Sun, 25 Dec 2011 17:22:49 +0000 (09:22 -0800)]
sh: Remove impossible evalskip check in 'for'.
Obtained-from: FreeBSD 228015
Peter Avalos [Sun, 25 Dec 2011 17:20:37 +0000 (09:20 -0800)]
sh: Reduce one level of evaltree() recursion when executing 'case'.
Free expanded case text before executing commands.
Remove impossible evalskip checks (expanding an argument cannot set
evalskip anymore since $(break) and the like are properly executed
in a subshell environment).
Obtained-from: FreeBSD 228013
Peter Avalos [Sun, 25 Dec 2011 17:16:48 +0000 (09:16 -0800)]
sh: Allow unsetting OPTIND.
Obtained-from: FreeBSD 227773
Peter Avalos [Sun, 25 Dec 2011 17:13:22 +0000 (09:13 -0800)]
sh: Remove undefined behaviour due to overflow in +/-/* in arithmetic.
Obtained-from: FreeBSD 227369
Peter Avalos [Sun, 25 Dec 2011 17:11:49 +0000 (09:11 -0800)]
sh(1): Improve documentation of field splitting.
Obtained-from: FreeBSD 227122
Peter Avalos [Sat, 24 Dec 2011 21:17:59 +0000 (13:17 -0800)]
Merge branch 'master' of /home/www-data/gitweb/dragonfly
Peter Avalos [Sat, 24 Dec 2011 21:14:25 +0000 (13:14 -0800)]
pam_unix: Respect passwordtime from login.conf if set.
Rewrap a lot of really short lines in pam_unix.8.
Note that pam_unix(8) does not respect PAM_CHANGE_EXPIRED_AUTHTOK.
Obtained-from: FreeBSD
Peter Avalos [Sat, 24 Dec 2011 21:00:13 +0000 (13:00 -0800)]
pam_ssh: Don't allow a bogus passphrase for unencrypted keys.
key_load_private() ignores the passphrase argument if the private key
is unencrypted. This defeats the nullok check, because it means a
non-null passphrase will successfully unlock the key.
To address this, try at first to load the key without a passphrase.
If this succeeds and the user provided a non-empty passphrase *or*
nullok is false, reject the key.
While I'm here: Load the ECDSA key if there is one.
Obtained-from: FreeBSD 227757, 219426, & 226101
Peter Avalos [Sat, 24 Dec 2011 20:53:42 +0000 (12:53 -0800)]
Include lib/Makefile.inc in pam_modules' Makefile.inc.
Otherwise, none of the modules will pick up what's in lib/Makefile.inc.
Peter Avalos [Sat, 24 Dec 2011 20:24:52 +0000 (12:24 -0800)]
GC pam_krb5 and pam_ksu.
These haven't been built since 2009, and pam_krb5 is available in
pkgsrc if someone needs it.
Peter Avalos [Sat, 24 Dec 2011 20:15:58 +0000 (12:15 -0800)]
pam_group: Add ruser and luser options.
The former corresponds to the current behavior, where the module checks
that the supplicant is a member of the required group. The latter
checks the target user instead. If neither option was specified,
pam_group(8) assumes "ruser" and issues a warning.
Obtained-from: FreeBSD 219563 & 219564
Peter Avalos [Sat, 24 Dec 2011 20:03:05 +0000 (12:03 -0800)]
style(9) fix.
Venkatesh Srinivas [Sat, 24 Dec 2011 19:27:12 +0000 (11:27 -0800)]
NFS server: Record bwrite() error in nfsrv_commit.
Venkatesh Srinivas [Sat, 24 Dec 2011 18:26:17 +0000 (10:26 -0800)]
NFS server: Zero not-fully-initialized UIO structure.
From: OpenBSD nfs_serv.c 1.90
Venkatesh Srinivas [Sat, 24 Dec 2011 18:16:53 +0000 (10:16 -0800)]
NFS server: Import various fixes from FreeBSD.
* Rev 228520: Honor NFSv3 commit call when count = 0. (delphij)
* Rev 228185: Enhance sequential access heuristic used for readahead
and reuse it for writes as well.
* Use a prime number for sequential detection table
* Factor our sequential detection code
* Ramp up sequential heurstic quickly based on IO size.
This patch differs from the FreeBSD version in that we rapidly
decay the sequential heuristic as in the original code and don't
attempt to deal with reordered RPCs.
* Rev 159871: Size the NFS server dupreq cache on the basis of nmbclusters.
This patch differs from the FreeBSD version in that we don't
alter the desired cache size based on nmbcluster change events.
* Rev 116789: Bug in nfsrv_read() that caused the replies to certain NFSv3
short read operations at the end of a file to not have the "eof"
flag set. (iedowse)
Sascha Wildner [Sat, 24 Dec 2011 15:11:01 +0000 (16:11 +0100)]
<sys/tbridge.h>: Add a __printflike().
Sascha Wildner [Sat, 24 Dec 2011 15:10:56 +0000 (16:10 +0100)]
libm: Fix a typo in MLINKS name.
Venkatesh Srinivas [Sat, 24 Dec 2011 08:41:28 +0000 (00:41 -0800)]
Properly dispose of page in sf_buf_mfree(), #2.
sf_buf_mfree() had a wakeup before it attempted to free a page or wake it up
again. Neither are allowed, as the first wakeup unsets the page BUSY.
Follow on to commit
8c3e9928c907
Reported-by: lentferj
Venkatesh Srinivas [Sat, 24 Dec 2011 07:12:36 +0000 (23:12 -0800)]
Add HAMMER2 vnode tag type.
Peter Avalos [Sat, 24 Dec 2011 00:59:58 +0000 (16:59 -0800)]
libpam: Update Makefile.
This commit updates the Makefile so that it resembles the Makefiles
distributed by the vendor dist. This will make updates a little easier.
No functional changes.