]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
8 years agoif_rsu debug fixes:
adrian [Sat, 12 Sep 2015 23:10:34 +0000 (23:10 +0000)]
if_rsu debug fixes:

* use an ath/iwn style debug bitmap - it's still global rather than per-device,
  but it's better than debug levels
* disable bgscan - it just makes things unstable/unpredictable for now.

Tested:

* if_rsu - RTL8712 cut 3, STA mode

8 years ago- Factor out the common and generic parts of the sparc64 host-PCI-bridge
marius [Sat, 12 Sep 2015 22:49:32 +0000 (22:49 +0000)]
- Factor out the common and generic parts of the sparc64 host-PCI-bridge
  drivers into the revived sys/sparc64/pci/ofw_pci.c, previously already
  serving a similar purpose. This has been done with sun4v in mind, which
  explains a) the otherwise not that obvious scheme employed and b) why
  reusing sys/powerpc/ofw/ofw_pci.c was even lesser an option.
- Add a workaround for QEMU once again not emulating real machines, in
  this case by not providing the OFW_PCI_CS_MEM64 range. [1]

Submitted by: jhb [1]
MFC after: 1 week

8 years agoFix compilation issue introduced in r287717.
tuexen [Sat, 12 Sep 2015 21:23:24 +0000 (21:23 +0000)]
Fix compilation issue introduced in r287717.
Thanks to bz@ for making me aware of it.

MFC after: 1 week

8 years agoCheck for obsolete NUL bin in CSCD descriptor.
mav [Sat, 12 Sep 2015 20:45:09 +0000 (20:45 +0000)]
Check for obsolete NUL bin in CSCD descriptor.

8 years agoAdd HA support for CTL_TASK_I_T_NEXUS_RESET.
mav [Sat, 12 Sep 2015 20:06:22 +0000 (20:06 +0000)]
Add HA support for CTL_TASK_I_T_NEXUS_RESET.

8 years agoFix false CTL_UA_RES_RELEASE on secondary HA node.
mav [Sat, 12 Sep 2015 18:29:05 +0000 (18:29 +0000)]
Fix false CTL_UA_RES_RELEASE on secondary HA node.

8 years agoAddress a compile warning.
tuexen [Sat, 12 Sep 2015 18:00:06 +0000 (18:00 +0000)]
Address a compile warning.

MFC after: 1 week

8 years agoDecode WRITE ATOMIC(16) command.
mav [Sat, 12 Sep 2015 17:53:49 +0000 (17:53 +0000)]
Decode WRITE ATOMIC(16) command.

8 years agoCleanup the handling of error causes for ERROR chunks. This fixes
tuexen [Sat, 12 Sep 2015 17:08:51 +0000 (17:08 +0000)]
Cleanup the handling of error causes for ERROR chunks. This fixes
an inconsistency of the padding handling. The final padding is
now considered to be a chunk padding.

MFC after: 1 week

8 years agoDo not call mii_mediachg() from NIC interrupt handler.
loos [Sat, 12 Sep 2015 16:46:41 +0000 (16:46 +0000)]
Do not call mii_mediachg() from NIC interrupt handler.

This fixes the link instability on banana pi (A20).

Suggested by: yongari

8 years agoImprove XCOPY error reporting.
mav [Sat, 12 Sep 2015 16:30:01 +0000 (16:30 +0000)]
Improve XCOPY error reporting.

8 years agoReport that we have no limit on POPULATE TOKEN segment size.
mav [Sat, 12 Sep 2015 14:20:11 +0000 (14:20 +0000)]
Report that we have no limit on POPULATE TOKEN segment size.

8 years agoCorrect RTPG bitmask.
mav [Sat, 12 Sep 2015 13:53:41 +0000 (13:53 +0000)]
Correct RTPG bitmask.

8 years agoSome HA polishing.
mav [Sat, 12 Sep 2015 12:46:04 +0000 (12:46 +0000)]
Some HA polishing.

8 years agoCTL documentation update, mostly for HA.
mav [Sat, 12 Sep 2015 10:23:23 +0000 (10:23 +0000)]
CTL documentation update, mostly for HA.

8 years agoMFV r287699: 6214 zpools going south
delphij [Sat, 12 Sep 2015 09:56:23 +0000 (09:56 +0000)]
MFV r287699: 6214 zpools going south

In r286570 (MFV of r277426) an unprotected write to b_flags to
set the compression mode was introduced.  This would open a race
window where data is partially decompressed, modified, checksummed
and written to the pool, resulting in pool corruption due to the
partial decompression.

Prevent this by reintroducing b_compress

illumos/illumos-gate@d4cd038c92c36fd0ae35945831a8fc2975b5272c

Illumos issues:

    6214 zpools going south
    https://www.illumos.org/issues/6214

8 years agoFix build (r287703). Lesson learned: no matter how a change looks like an
delphij [Sat, 12 Sep 2015 09:28:02 +0000 (09:28 +0000)]
Fix build (r287703).  Lesson learned: no matter how a change looks like an
innocent one, always do a build test first.

Pointy hat to: delphij

8 years agoPoint potential geom_fox(4) users to gmultipath(8).
trasz [Sat, 12 Sep 2015 08:54:24 +0000 (08:54 +0000)]
Point potential geom_fox(4) users to gmultipath(8).

MFC after: 1 month
Sponsored by: The FreeBSD Foundation

8 years agoMFV r287684: 6091 avl_add doesn't assert on non-debug builds
delphij [Sat, 12 Sep 2015 08:50:43 +0000 (08:50 +0000)]
MFV r287684: 6091 avl_add doesn't assert on non-debug builds

Use assfail() from libuutil instead of ASSERT() in userland
AVL avl_add.

illumos/illumos-gate@faa2b6be2fc102adf9ed584fc1a667b4ddf50d78

Illumos issues:

    6091 avl_add doesn't assert on non-debug builds
    https://www.illumos.org/issues/6091

8 years agoMFV r287624: 5987 zfs prefetch code needs work
delphij [Sat, 12 Sep 2015 08:35:51 +0000 (08:35 +0000)]
MFV r287624: 5987 zfs prefetch code needs work

Rewrite the ZFS prefetch code to detect only forward, sequential
streams.

The following kstats have been added:

    kstat.zfs.misc.arcstats.sync_wait_for_async

How many sync reads have waited for async read
to complete. (less is better)

    kstat.zfs.misc.arcstats.demand_hit_predictive_prefetch

How many demand read didn't have to wait for I/O
because of predictive prefetch.  (more is better)

zfetch kstats have been similified to hits, misses, and max_streams,
with max_streams representing times when we were not able to create
new stream because we already have the maximum number of sequences
for a file.

The sysctl variable/loader tunable vfs.zfs.zfetch.block_cap have been
replaced by vfs.zfs.zfetch.max_distance, which controls maximum bytes
to prefetch per stream.

illumos/illumos-gate@cf6106c8a0d6598b045811f9650d66e07eb332af

Illumos ZFS issues:

    5987 zfs prefetch code needs work
    https://www.illumos.org/issues/5987

8 years agoRegression: fix pw usermod -d
bapt [Sat, 12 Sep 2015 08:24:25 +0000 (08:24 +0000)]
Regression: fix pw usermod -d

Mark the user has having been edited if -d option is passed to usermod and
so the request change of home directory actually happen

PR: 203052
Reported by: lenzi.sergio@gmail.com
MFC after: 2 days

8 years agoFixing a memory leak on module unloading.
avatar [Fri, 11 Sep 2015 22:43:35 +0000 (22:43 +0000)]
Fixing a memory leak on module unloading.

MFC after: 3 weeks

8 years agoWhitespace alignment
dteske [Fri, 11 Sep 2015 22:42:26 +0000 (22:42 +0000)]
Whitespace alignment

MFC after: 3 weeks
X-MFC-to: stable/10
X-MFC-with: 287696

8 years agoThe <arch>/mkisoimages.sh script in release knows how to add
dteske [Fri, 11 Sep 2015 21:45:41 +0000 (21:45 +0000)]
The <arch>/mkisoimages.sh script in release knows how to add
extra bits from an "xtra-bits-dir". This feature is unusable
from release/Makefile. Add an XTRADIR setting to use it.

Differential Revision: https://reviews.freebsd.org/D3633
Reviewed by: kmacy
MFC after: 3 weeks
X-MFC-to: stable/10
Relnotes: yes

8 years agoReplace `return' outside of function with exit
dteske [Fri, 11 Sep 2015 21:18:21 +0000 (21:18 +0000)]
Replace `return' outside of function with exit

MFC after: 3 days
X-MFC-to: stable/10
Pointy hat to: me

8 years agoUse a variable for readability
dteske [Fri, 11 Sep 2015 21:14:48 +0000 (21:14 +0000)]
Use a variable for readability

MFC after: 3 days
X-MFC-to: stable/10

8 years agoUpdate copyright
dteske [Fri, 11 Sep 2015 21:13:34 +0000 (21:13 +0000)]
Update copyright

MFC after: 3 days
X-MFC-to: stable/10

8 years agoBetter to reset trap and explicitly exit success
dteske [Fri, 11 Sep 2015 21:12:41 +0000 (21:12 +0000)]
Better to reset trap and explicitly exit success

MFC after: 3 days
X-MFC-to: stable/10

8 years agoRemove trailing newline at EOF
dteske [Fri, 11 Sep 2015 21:09:39 +0000 (21:09 +0000)]
Remove trailing newline at EOF

MFC after: 3 days
X-MFC-to: stable/10

8 years agoProduce meaningful exit code
dteske [Fri, 11 Sep 2015 21:08:46 +0000 (21:08 +0000)]
Produce meaningful exit code

MFC after: 3 days
X-MFC-to: stable/10

8 years agoExplicitly exit with success
dteske [Fri, 11 Sep 2015 21:01:26 +0000 (21:01 +0000)]
Explicitly exit with success

MFC after: 3 days
X-MFC-to: stable/10

8 years agoExplicitly exit with success
dteske [Fri, 11 Sep 2015 20:59:13 +0000 (20:59 +0000)]
Explicitly exit with success

MFC after: 3 days
X-MFC-to: stable/10

8 years agoUpdate copyrights
dteske [Fri, 11 Sep 2015 20:58:00 +0000 (20:58 +0000)]
Update copyrights

MFC after: 3 days
X-MFC-to: stable/10

8 years agoProduce meaningful exit code
dteske [Fri, 11 Sep 2015 20:56:36 +0000 (20:56 +0000)]
Produce meaningful exit code

MFC after: 3 days
X-MFC-to: stable/10

8 years agoRemove use of return outside of function
dteske [Fri, 11 Sep 2015 20:45:41 +0000 (20:45 +0000)]
Remove use of return outside of function

MFC after: 3 days
X-MFC-to: stable/10

8 years agoIgnore error results from newaliases(1)
dteske [Fri, 11 Sep 2015 20:39:41 +0000 (20:39 +0000)]
Ignore error results from newaliases(1)

MFC after: 3 days
X-MFC-to: stable/10

8 years agoSince contrib/libc++'s ancestry was never correct, subversion 1.8 and
dim [Fri, 11 Sep 2015 17:14:58 +0000 (17:14 +0000)]
Since contrib/libc++'s ancestry was never correct, subversion 1.8 and
higher cannot merge to it from the vendor area.

Re-bootstrap the ancestry by doing (apologies to your retinas):
* svn rm contrib/libc++
* svn cp ^/vendor/libc++/dist@276792 contrib/libc++
* svn cp ^/head/contrib/libc++/FREEBSD-upgrade@287629 contrib/libc++
* svn cp ^/head/contrib/libc++/include/__bit_reference@287629 contrib/libc++/include
* svn cp ^/head/contrib/libc++/include/__config@287629 contrib/libc++/include
* svn cp ^/head/contrib/libc++/include/__tree@287629 contrib/libc++/include
* svn cp ^/head/contrib/libc++/include/algorithm@287629 contrib/libc++/include
* svn cp ^/head/contrib/libc++/include/stdexcept@287629 contrib/libc++/include
* svn cp ^/head/contrib/libc++/include/type_traits@287629 contrib/libc++/include
* svn pd -R svn:mergeinfo contrib/libc++
* svn ps -F mergeinfo.txt contrib/libc++

8 years agoRevert ip_fil_freebsd.c -r287674. This should not have gone in yet.
cy [Fri, 11 Sep 2015 16:52:13 +0000 (16:52 +0000)]
Revert ip_fil_freebsd.c -r287674. This should not have gone in yet.

8 years agoFix ipfilter bug 3600459 NAT bucket count wrong.
cy [Fri, 11 Sep 2015 16:49:52 +0000 (16:49 +0000)]
Fix ipfilter bug 3600459 NAT bucket count wrong.

Obtained from: ipfilter cvs repo r1.48.2.25
MFC after: 2 weeks

8 years agoradeon_suspend_kms: don't mess with pci state that's managed by the bus
avg [Fri, 11 Sep 2015 15:51:20 +0000 (15:51 +0000)]
radeon_suspend_kms: don't mess with pci state that's managed by the bus

The pci bus driver handles the power state, it also manages
configuration state saving and restoring for its child devices.  Thus a
PCI device driver does not have to worry about those things.  In fact, I
observe a hard system hang when trying to suspend a system with active
radeonkms driver where both the bus driver and radeonkms driver try to
do the same thing.  I suspect that it could be because of an access to a
PCI configuration register after the device is placed into D3 state.

Reviewed by: dumbbell, jhb
MFC after: 13 days
Differential Revision: https://reviews.freebsd.org/D3561

8 years agoMake ctld restart on primary HA node less invasive for secondary.
mav [Fri, 11 Sep 2015 14:47:35 +0000 (14:47 +0000)]
Make ctld restart on primary HA node less invasive for secondary.

8 years agoClose races between device close and request processing.
mav [Fri, 11 Sep 2015 14:33:05 +0000 (14:33 +0000)]
Close races between device close and request processing.

All requests arriving for processing after OFFLINE flag set are rejected
with BUSY status.  Races around OFFLINE flag setting are closed by calling
taskqueue_drain_all().

8 years agoEnsure that ERROR chunks are always padded by implementing this
tuexen [Fri, 11 Sep 2015 13:54:33 +0000 (13:54 +0000)]
Ensure that ERROR chunks are always padded by implementing this
in the routine, which queues an ERROR chunk, instead on relyinh
on the callers to do so. Since one caller missed this, this actially
fixes a bug.

MFC after: 1 week

8 years agoReference/release devices on every I/O, rather on open/close.
mav [Fri, 11 Sep 2015 12:50:52 +0000 (12:50 +0000)]
Reference/release devices on every I/O, rather on open/close.

While this may be slower, it allows device destruction to complete,
rather then block waiting for indefinitely long time.

8 years agoAdd support for PPP-Max-Payload PPPoE tag (RFC4638).
mav [Fri, 11 Sep 2015 09:15:27 +0000 (09:15 +0000)]
Add support for PPP-Max-Payload PPPoE tag (RFC4638).

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 2 weeks

8 years agoRevert $FreeBSD$.
cy [Fri, 11 Sep 2015 08:48:16 +0000 (08:48 +0000)]
Revert $FreeBSD$.

8 years agoFix mutex errors.
cy [Fri, 11 Sep 2015 08:35:53 +0000 (08:35 +0000)]
Fix mutex errors.

Obtained from: NetBSD r1.4.
MFC after: 1 week

8 years agoFixup typos in comments.
cy [Fri, 11 Sep 2015 08:27:32 +0000 (08:27 +0000)]
Fixup typos in comments.

Obtained from: NetBSD r1.4.
MFC after: 1 week

8 years agoUse strlcpy() in favor of strncpy() as it's defined to have a nul character
delphij [Fri, 11 Sep 2015 06:52:57 +0000 (06:52 +0000)]
Use strlcpy() in favor of strncpy() as it's defined to have a nul character
at the end of string buffer, and the code context do expects this to behave
correctly (e.g. strchr).

Note that we do not believe there is real-world impact for gstat(8)'s usage
because the strings are length checked, and the on-stack buffer belongs to
main() and we can expect to have zeros in them.

MFC after: 2 weeks

8 years agoUse a common subroutine to fetch and zero protocol stats instead of
markj [Fri, 11 Sep 2015 04:37:01 +0000 (04:37 +0000)]
Use a common subroutine to fetch and zero protocol stats instead of
duplicating roughly similar code for each protocol.

MFC after: 2 weeks

8 years agobufdonebio is now unused. Retire it too.
imp [Fri, 11 Sep 2015 04:20:04 +0000 (04:20 +0000)]
bufdonebio is now unused. Retire it too.

8 years agoRemove prototypes for undefined functions from netstat.h.
markj [Fri, 11 Sep 2015 04:02:05 +0000 (04:02 +0000)]
Remove prototypes for undefined functions from netstat.h.

8 years agoDocument stack_save_td(9) and stack_save_td_running(9).
markj [Fri, 11 Sep 2015 03:56:04 +0000 (03:56 +0000)]
Document stack_save_td(9) and stack_save_td_running(9).

Reviewed by: wblock
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D3243

8 years agoAdd stack_save_td_running(), a function to trace the kernel stack of a
markj [Fri, 11 Sep 2015 03:54:37 +0000 (03:54 +0000)]
Add stack_save_td_running(), a function to trace the kernel stack of a
running thread.

It is currently implemented only on amd64 and i386; on these
architectures, it is implemented by raising an NMI on the CPU on which
the target thread is currently running. Unlike stack_save_td(), it may
fail, for example if the thread is running in user mode.

This change also modifies the kern.proc.kstack sysctl to use this function,
so that stacks of running threads are shown in the output of "procstat -kk".
This is handy for debugging threads that are stuck in a busy loop.

Reviewed by: bdrewery, jhb, kib
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D3256

8 years agoRemove the arg0 field from struct amd64_frame. Its existence was a bug,
markj [Fri, 11 Sep 2015 03:31:22 +0000 (03:31 +0000)]
Remove the arg0 field from struct amd64_frame. Its existence was a bug,
since on amd64 the first argument to a function is generally not on the
stack.

Revert an old DTrace bug fix to some code that assumed that
sizeof(struct amd64_frame) == 16.

Reviewed by: jhb, kib
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D3255

8 years agoMerge stack(9) implementations for i386 and amd64 under x86/.
markj [Fri, 11 Sep 2015 03:24:07 +0000 (03:24 +0000)]
Merge stack(9) implementations for i386 and amd64 under x86/.

Reviewed by: jhb, kib
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D3255

8 years agoMFV r283513:
markj [Fri, 11 Sep 2015 03:06:34 +0000 (03:06 +0000)]
MFV r283513:
5930 fasttrap_pid_enable() panics when prfind() fails in forking process
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
Author: Bryan Cantrill <bryan@joyent.com>

illumos/illumos-gate@9df7e4e12eb093557252d3bec029b5c382613e36

8 years agoMFV r283512:
markj [Fri, 11 Sep 2015 03:04:24 +0000 (03:04 +0000)]
MFV r283512:
3599 dtrace_dynvar tail calls can blow stack
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
Author: Bryan Cantrill <bryan@joyent.com>

illumos/illumos-gate@d47448f09aae3aa1a87fc450a0c44638e7ce7b51

8 years agoRemove the v_cache_min and v_cache_max sysctls. They are unused and have
markj [Fri, 11 Sep 2015 03:00:24 +0000 (03:00 +0000)]
Remove the v_cache_min and v_cache_max sysctls.  They are unused and have
no effect.

Reviewed by: alc
Sponsored by: EMC / Isilon Storage Division

8 years agodev_strategy and dev_strategy_csw are unused since r281825. Remove
imp [Fri, 11 Sep 2015 00:38:58 +0000 (00:38 +0000)]
dev_strategy and dev_strategy_csw are unused since r281825. Remove
them.

Differential Revision: https://reviews.freebsd.org/D3620

8 years agoHandle default MAKEOBJDIR for META_MODE.
sjg [Fri, 11 Sep 2015 00:19:49 +0000 (00:19 +0000)]
Handle default MAKEOBJDIR for META_MODE.
If MAKEOBJDIRPREFIX is set, use it for default OBJROOT.
If MAKEOBJDIR is empty or not a suitable value (no '/')
set a default that works.

Reviewed by: bdrewery

8 years agoFix argument quoting and remove unnecessary braces
dteske [Thu, 10 Sep 2015 22:47:26 +0000 (22:47 +0000)]
Fix argument quoting and remove unnecessary braces

MFC after: 3 weeks
X-MFC-to: stable/10

8 years agologin.c doesn't really need libutil.h, don't include it.
delphij [Thu, 10 Sep 2015 22:25:40 +0000 (22:25 +0000)]
login.c doesn't really need libutil.h, don't include it.

login_fbtab.c includes paths.h and pathnames.h, and pathnames.h includes
paths.h.  Eliminate the paths.h inclusion in login_fbtab.c.

MFC after: 2 weeks

8 years ago - Avoid accessing window properties directly, instead, use accessors.
delphij [Thu, 10 Sep 2015 22:07:52 +0000 (22:07 +0000)]
 - Avoid accessing window properties directly, instead, use accessors.
   This should be no-op for now, but allows the code to work if we
   move to NCURSES_OPAQUE.
 - Use calloc() instead of malloc+bzero.

MFC after: 2 weeks

8 years agoAdd a comment that to clarify how to determine the amount of received DDP
jhb [Thu, 10 Sep 2015 21:41:11 +0000 (21:41 +0000)]
Add a comment that to clarify how to determine the amount of received DDP
data.

Reviewed by: np
Differential Revision: https://reviews.freebsd.org/D3619

8 years agoDo not hold the process around the vm_fault() call from the trap()s.
kib [Thu, 10 Sep 2015 17:46:48 +0000 (17:46 +0000)]
Do not hold the process around the vm_fault() call from the trap()s.
The only operation which is prevented by the hold is the kernel stack
swapout for the faulted thread, which should be fine to allow.

Remove useless checks for NULL curproc or curproc->p_vmspace from the
trap_pfault() wrappers on x86 and powerpc.

Reviewed by: alc (previous version)
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks

8 years agoReimplement CTL High Availability.
mav [Thu, 10 Sep 2015 12:40:31 +0000 (12:40 +0000)]
Reimplement CTL High Availability.

CTL HA functionality was originally implemented by Copan many years ago,
but large part of the sources was never published.  This change includes
clean room implementation of the missing code and fixes for many bugs.

This code supports dual-node HA with ALUA in four modes:
 - Active/Unavailable without interlink between nodes;
 - Active/Standby with second node handling only basic LUN discovery and
reservation, synchronizing with the first node through the interlink;
 - Active/Active with both nodes processing commands and accessing the
backing storage, synchronizing with the first node through the interlink;
 - Active/Active with second node working as proxy, transfering all
commands to the first node for execution through the interlink.

Unlike original Copan's implementation, depending on specific hardware,
this code uses simple custom TCP-based protocol for interlink.  It has
no authentication, so it should never be enabled on public interfaces.

The code may still need some polishing, but generally it is functional.

Relnotes: yes
Sponsored by: iXsystems, Inc.

8 years agoRemove unused target and initiator IDs.
mav [Thu, 10 Sep 2015 10:46:21 +0000 (10:46 +0000)]
Remove unused target and initiator IDs.

8 years agoZero out a local variable also when PURIFY is not defined.
tuexen [Thu, 10 Sep 2015 10:23:23 +0000 (10:23 +0000)]
Zero out a local variable also when PURIFY is not defined.
This silence a warning brought up by valgrind whenever if_nametoindex
is used. This was already discussed in PR 166483, but the code
committed in r234329 guards the initilization with #ifdef PURIFY.
Therefore, valgrind still complains. Since this code is not performance
critical, always zero out the local variable to silence valgrind.

PR: 166483
Discussed with: eadler@
MFC after: 4 weeks

8 years agoDisable CTL_IO_DELAY feature.
mav [Thu, 10 Sep 2015 09:27:22 +0000 (09:27 +0000)]
Disable CTL_IO_DELAY feature.

It is too developer-oriented to be enabled by default.

8 years agoRemove SIOCGDRLST_IN6 and SIOCGPRLST_IN6 forgotten in the previous commit.
hrs [Thu, 10 Sep 2015 08:37:03 +0000 (08:37 +0000)]
Remove SIOCGDRLST_IN6 and SIOCGPRLST_IN6 forgotten in the previous commit.

MFC after: 3 days

8 years agoUpdate USB quirk.
hselasky [Thu, 10 Sep 2015 07:36:54 +0000 (07:36 +0000)]
Update USB quirk.

MFC after: 1 month
PR: 202968

8 years agoUse read to parse a line instead of set.
hrs [Thu, 10 Sep 2015 06:56:56 +0000 (06:56 +0000)]
Use read to parse a line instead of set.

MFC after: 3 days

8 years ago- Add uid check.
hrs [Thu, 10 Sep 2015 06:55:28 +0000 (06:55 +0000)]
- Add uid check.
- Report delay<0 as a warning.

MFC after: 3 days

8 years agoUpdate only static routes when an interface is specified. This fixed
hrs [Thu, 10 Sep 2015 06:47:23 +0000 (06:47 +0000)]
Update only static routes when an interface is specified.  This fixed
a bad side-effect reported in PR 202144.

PR: 202144
MFC after: 3 days

8 years ago- Remove #ifdef HAVE_POLL_H.
hrs [Thu, 10 Sep 2015 06:40:28 +0000 (06:40 +0000)]
- Remove #ifdef HAVE_POLL_H.
- Use nitems().

MFC after: 3 days

8 years ago- Remove SIOCGDRLST_IN6 and SIOCGPRLST_IN6. These are quite old APIs and
hrs [Thu, 10 Sep 2015 06:31:24 +0000 (06:31 +0000)]
- Remove SIOCGDRLST_IN6 and SIOCGPRLST_IN6.  These are quite old APIs and
  there is no consumer now.

MFC after: 3 days

8 years ago- Remove SIOCGDRLST_IN6 and SIOCGPRLST_IN6. These are quite old APIs and
hrs [Thu, 10 Sep 2015 06:29:18 +0000 (06:29 +0000)]
- Remove SIOCGDRLST_IN6 and SIOCGPRLST_IN6.  These are quite old APIs and
  there is no consumer now.

- Simplify first and duplicate LLA check.

MFC after: 3 days

8 years agoDo not add IN6_IFF_TENTATIVE when ND6_IFF_NO_DAD.
hrs [Thu, 10 Sep 2015 06:10:30 +0000 (06:10 +0000)]
Do not add IN6_IFF_TENTATIVE when ND6_IFF_NO_DAD.

MFC after: 3 days

8 years agoRemove IN6_IFF_NOPFX. This flag was no longer used.
hrs [Thu, 10 Sep 2015 06:08:42 +0000 (06:08 +0000)]
Remove IN6_IFF_NOPFX.  This flag was no longer used.

MFC after: 3 days

8 years ago- Remove GIF_{SEND,ACCEPT}_REVETHIP.
hrs [Thu, 10 Sep 2015 05:59:39 +0000 (05:59 +0000)]
- Remove GIF_{SEND,ACCEPT}_REVETHIP.
- Simplify EADDRNOTAVAIL and EAFNOSUPPORT conditions.

MFC after: 3 days

8 years agoAlso make kern.maxfilesperproc a boot time tunable.
adrian [Thu, 10 Sep 2015 04:05:58 +0000 (04:05 +0000)]
Also make kern.maxfilesperproc a boot time tunable.

Auto-tuning threshold discussions aside, it turns out that if you want
to lower this on say, rather memory-packed machines, you either set maxusers
or kern.maxfiles, or you set it in sysctl.  The former is a non-exact
way to tune this; the latter doesn't actually affect anything in the
startup scripts.

This first occured because I wondered why the hell screen would take upwards
of 10 seconds to spawn a new screen.  I then found python doing the same
thing during fork/exec of child processes - it calls close() on each FD
up to the current openfiles limit.  On a 1TB machine this is like, 26 million
FDs per process.  Ugh.

So:

* This allows it to be set early in /boot/loader.conf;
* It can be used to work around the ridiculous situation of
  screen, python, etc doing a close() on potentially millions of FDs
  even though you only have four open.

Tested:

* 4GB, 32GB, 64GB, 128GB, 384GB, 1TB systems with autotune, ensuring
  screen and python forking doesn't result in some pretty hilariously
  bad behaviour.

TODO:

* Note that the default login.conf sets openfiles-cur to unlimited,
  effectively obeying kern.maxfilesperproc.  Perhaps we should fix
  this.

* .. and even if we do, we need to also ensure that daemons get
  a soft limit of something reasonable and capped - they can request
  more FDs themselves.

MFC after: 1 week
Sponsored by: Norse Corp, Inc.

8 years agoUse _exit() instead of exit() in child processes created during tests.
jhb [Wed, 9 Sep 2015 22:54:07 +0000 (22:54 +0000)]
Use _exit() instead of exit() in child processes created during tests.

Suggested by: kib

8 years agoAdd a test to verify that a traced process sees its original parent via
jhb [Wed, 9 Sep 2015 22:42:26 +0000 (22:42 +0000)]
Add a test to verify that a traced process sees its original parent via
getppid() after a debugger process that is not the parent has attached.

Reviewed by: kib (earlier version)
Differential Revision: https://reviews.freebsd.org/D3615

8 years agoProperly size the children[] arrays in the follow fork tests.
jhb [Wed, 9 Sep 2015 21:18:10 +0000 (21:18 +0000)]
Properly size the children[] arrays in the follow fork tests.

8 years agoFor open("name", O_DIRECTORY | O_CREAT), do not try to create the
kib [Wed, 9 Sep 2015 19:31:08 +0000 (19:31 +0000)]
For open("name", O_DIRECTORY | O_CREAT), do not try to create the
named node, open(2) cannot create directories.  But do allow the flag
combination to succeed if the directory already exists.

Declare the open("name", O_DIRECTORY | O_CREAT | O_EXCL) always
invalid for the same reason, since open(2) cannot create directory.

Note that there is an argument that O_DIRECTORY | O_CREAT should be
invalid always, regardless of the target directory existence or
O_EXCL.  The current fix is conservative and allows the call to
succeed in the situation where it succeeded before the patch.

Reported by: Tom Ridge <freebsd@tom-ridge.com>
Reviewed by: rwatson
PR:  202892
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

8 years agofix compare argument for address type.
takawata [Wed, 9 Sep 2015 13:24:39 +0000 (13:24 +0000)]
fix compare argument for address type.

Submitted by: issei10193 (via Twitter)

8 years agoRework copyinstr to:
andrew [Wed, 9 Sep 2015 11:51:14 +0000 (11:51 +0000)]
Rework copyinstr to:
 * Fail when the length passed in is 0
 * Remove an unneeded increment of the count on success
 * Return ENAMETOOLONG when the input pointer is too long

Sponsored by: ABT Systems Ltd

8 years ago- Fix SIGSEGV when sa == NULL. NULL check in getnameinfo_inet()
hrs [Wed, 9 Sep 2015 09:19:07 +0000 (09:19 +0000)]
- Fix SIGSEGV when sa == NULL.  NULL check in getnameinfo_inet()
  did not work as expected.

- Simplify afdl table lookup.

MFC after: 3 days

8 years agoAdd new USB ID.
hselasky [Wed, 9 Sep 2015 07:04:00 +0000 (07:04 +0000)]
Add new USB ID.

MFC after: 1 month
PR: 202968

8 years agoRemove a check which caused spurious SIGSEGV on usermode access to the
kib [Wed, 9 Sep 2015 06:19:33 +0000 (06:19 +0000)]
Remove a check which caused spurious SIGSEGV on usermode access to the
mapped address without valid pte installed, when parallel wiring of
the entry happen.  The entry must be copy on write.  If entry is COW
but was already copied, and parallel wiring set
MAP_ENTRY_IN_TRANSITION, vm_fault() would sleep waiting for the
MAP_ENTRY_IN_TRANSITION flag to clear.  After that, the fault handler
is restarted and vm_map_lookup() or vm_map_lookup_locked() trip over
the check.  Note that this is race, if the address is accessed after
the wiring is done, the entry does not fault at all.

There is no reason in the current kernel to disallow write access to
the COW wired entry if the entry permissions allow it.  Initially this
was done in r24666, since that kernel did not supported proper
copy-on-write for wired text, which was fixed in r199869.  The r251901
revision re-introduced the r24666 fix for the current VM.

Note that write access must clear MAP_ENTRY_NEEDS_COPY entry flag by
performing COW.  In reverse, when MAP_ENTRY_NEEDS_COPY is set in
vmspace_fork(), the MAP_ENTRY_USER_WIRED flag is cleared.  Put the
assert stating the invariant, instead of returning the error.

Reported and debugging help by: peter
Reviewed by: alc
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

8 years agow(1) is not setgid binary since r53279, so remove the setgid() call.
delphij [Wed, 9 Sep 2015 05:17:04 +0000 (05:17 +0000)]
w(1) is not setgid binary since r53279, so remove the setgid() call.

Reviewed By: wollman
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D3541

8 years agoAdd PVR identifier for E6500, from the reference.
jhibbits [Wed, 9 Sep 2015 03:15:25 +0000 (03:15 +0000)]
Add PVR identifier for E6500, from the reference.

8 years agoCorrect setting R92C_TDECTRL_BLK_DESC_NUM_M bit.
kevlo [Wed, 9 Sep 2015 01:51:38 +0000 (01:51 +0000)]
Correct setting R92C_TDECTRL_BLK_DESC_NUM_M bit.

8 years agoRevert r287578. This patch requires more review.
jkim [Tue, 8 Sep 2015 23:17:02 +0000 (23:17 +0000)]
Revert r287578.  This patch requires more review.

Requested by: adrian

8 years agoCorrectly case FreeBSD in my entry in the tips file
allanjude [Tue, 8 Sep 2015 22:51:10 +0000 (22:51 +0000)]
Correctly case FreeBSD in my entry in the tips file

Submitted by: feld
Approved by: wblock (mentor)
Differential Revision: https://reviews.freebsd.org/D3601

8 years agoAdd an additional check to service(8) -e incase rcvar is blank
allanjude [Tue, 8 Sep 2015 22:50:17 +0000 (22:50 +0000)]
Add an additional check to service(8) -e incase rcvar is blank

Approved by: bapt (mentor)
X-MFC-With: 287576
Differential Revision: https://reviews.freebsd.org/D3604

8 years agoRemove extra debug that crept in
bapt [Tue, 8 Sep 2015 22:24:20 +0000 (22:24 +0000)]
Remove extra debug that crept in

8 years agoImplement pubkey support for the bootstrap
bapt [Tue, 8 Sep 2015 21:25:36 +0000 (21:25 +0000)]
Implement pubkey support for the bootstrap

Note that to not interfer with finger print it expects a signature on pkg itself
which is named pkg.txz.pubkeysign

To genrate it:
echo -n "$(sha256 -q pkg.txz)" | openssl dgst -sha256 -sign /thekey \
    -binary -out ./pkg.txz.pubkeysig

Note the "echo -n" which prevent signing the '\n' one would get otherwise

PR: 202622
MFC after: 1 week

8 years agoEnable 802.11n support.
jkim [Tue, 8 Sep 2015 21:04:33 +0000 (21:04 +0000)]
Enable 802.11n support.

PR: 164102