]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/log
FreeBSD/stable/9.git
11 years agoMFC r239007:
mav [Thu, 6 Dec 2012 18:35:00 +0000 (18:35 +0000)]
MFC r239007:
Remove duplicate check.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243953 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243680, r243681.
np [Thu, 6 Dec 2012 18:23:23 +0000 (18:23 +0000)]
MFC r243680, r243681.

r243680:
cxgbe/tom: Add a flag to indicate that the L2 table entry for an
embryonic connection has been setup and never attempt to abort a tid
before this is done.  This fixes a bad race where a listening socket is
closed when the driver is in the middle of step (b) here.  The symptom
of this were "ARP miss" errors from the driver followed by tid leaks.

A hardware-offloaded passive open works this way:

a) A SYN "hits" the TCAM entry for a server tid and the chip delivers it
to the queue associated with the server tid (say, queue A).  It waits
for a response from the driver telling it what to do.

b) The driver decides it is ok to proceed.  It adds the new tid to the
list of embryonic connections associated with the server tid and then
hands off the SYN to the kernel's syncache to make sure that the kernel
okays it too.  If it does then the driver provides an L2 table entry,
queue id (say, queue B), etc. and instructs the chip to send the SYN/ACK
response.

c) The chip delivers a status to queue B depending on how the third step
of the 3-way handshake goes.  The driver removes the tid from its list
of embryonic connections and either expands the syncache entry or
destroys the tid.  In any case all subsequent messages for the new tid
will be delivered to queue B, not queue A.  Anything running in queue B
knows that the L2 entry has long been setup and the new flag is of no
interest from here on.  If the listener is closed it will deal with
so_comp as normal.

r243681:
cxgbe/tom: Handle the case where the chip falls out of DDP mode by
itself.  The hole in the receive sequence space corresponds to the
number of bytes placed directly up to that point.

Submittey by:

git-svn-id: svn://svn.freebsd.org/base/stable/9@243952 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoEarly MFC of portions of r243752 adding an auditdistd user to stable/8
rwatson [Thu, 6 Dec 2012 11:52:31 +0000 (11:52 +0000)]
Early MFC of portions of r243752 adding an auditdistd user to stable/8
in order to ease future upgrades; the remainder of r243752 is left for
a future MFC of the OpenBSM upgrade:

  Merge a number of changes required to hook up OpenBSM 1.2-alpha2's
  auditdistd (distributed audit daemon) to the build:

  - Manual cross references
  - Makefile for auditdistd
  - rc.d script, rc.conf entrie
  - New group and user for auditdistd; associated aliases, etc.

  The audit trail distribution daemon provides reliable,
  cryptographically protected (and sandboxed) delivery of audit tails
  from live clients to audit server hosts in order to both allow
  centralised analysis, and improve resilience in the event of client
  compromises: clients are not permitted to change trail contents
  after submission.

  Submitted by:   pjd
  Sponsored by:   The FreeBSD Foundation (auditdistd)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243947 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242511: Print a newline after the error message.
jh [Thu, 6 Dec 2012 08:35:46 +0000 (08:35 +0000)]
MFC r242511: Print a newline after the error message.

PR: bin/168447

git-svn-id: svn://svn.freebsd.org/base/stable/9@243942 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242897:
gjb [Thu, 6 Dec 2012 00:25:42 +0000 (00:25 +0000)]
MFC r242897:
 Prevent including .zfs snapshot directories in the src.txz
 distribution.  This can happen if the src/ tree checkout is
 within its own ZFS dataset, and the 'snapdir' ZFS property
 is set to 'visible.'

git-svn-id: svn://svn.freebsd.org/base/stable/9@243923 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243641:
pfg [Wed, 5 Dec 2012 22:47:45 +0000 (22:47 +0000)]
MFC r243641:
Partially bring r242520 to ext2fs.

When a file is first being written, the dynamic block reallocation
(implemented by ext2_reallocblks) relocates the file's blocks
so as to cluster them together into a contiguous set of blocks on
the disk.

When the cluster crosses the boundary into the first indirect block,
the first indirect block is initially allocated in a position
immediately following the last direct block.  Block reallocation
would usually destroy locality by moving the indirect block out of
the way to keep the data blocks contiguous.

The issue was diagnosed long ago by Bruce Evans on ffs and surfaced
on ext2fs when block reallocaton was ported. This is only a partial
solution based on the similarities with FFS. We still require more
review of the allocation details that vary in ext2fs.

Reported by:    bde

git-svn-id: svn://svn.freebsd.org/base/stable/9@243913 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243342:
kib [Tue, 4 Dec 2012 00:57:11 +0000 (00:57 +0000)]
MFC r243342:
Schedule garbage collection run for the in-flight rights passed over
the unix domain sockets to the next tick, coalescing the serial calls
until the collection fires.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243851 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243341:
kib [Tue, 4 Dec 2012 00:54:49 +0000 (00:54 +0000)]
MFC r243341:
Add a special meaning to the negative ticks argument for
taskqueue_enqueue_timeout().  Do not rearm the callout if it is
already armed and the ticks is negative.  Otherwise rearm it to fire
in abs(ticks) ticks in the future.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243850 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242433:
kib [Tue, 4 Dec 2012 00:51:29 +0000 (00:51 +0000)]
MFC r242433:
Enable the new instructions for reading and writing bases for %fs,
%gs, when supported. Enable SMEP when supported.

MFC r242828:
Do not try to enable new features in the %cr4 if running under hypervisor.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243848 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242681 (ambrisko):
delphij [Mon, 3 Dec 2012 18:37:02 +0000 (18:37 +0000)]
MFC r242681 (ambrisko):

- Extend the prior commit to use the generic SCSI command building
  function use that for JBOD and Thunderbolt disk write command.  Now
  we only have one implementation in mfi.
- Fix dumping on Thunderbolt cards.  Polled IO commands do not seem to
  be normally acknowledged by changing cmd_status to MFI_STAT_OK.
  In order to get acknowledgement of the IO is complete, the Thunderbolt
  command queue needs to be run through.  I added a flag MFI_CMD_SCSI
  to indicate this command is being polled and to complete the
  Thunderbolt wrapper and indicate the result.  This flag needs to be
  set in the JBOD case in case if that us using Thunderbolt card.
  When in the polling loop check for completed commands.
- Remove mfi_tbolt_is_ldio and just do the check when needed.
- Fix an issue when attaching of disk device happens when a device is
  already scheduled to be attached but hasn't attached.
- add a tunable to allow raw disk attachment to CAM via:
        hw.mfi.allow_cam_disk_passthrough=1
- fixup aborting of commands (AEN and LD state change).  Use a generic
  abort function and only wait the command being aborted not both.
  Thunderbolt cards don't seem to abort commands so the abort times
  out.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243824 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242497:
delphij [Mon, 3 Dec 2012 18:34:54 +0000 (18:34 +0000)]
MFC r242497:

Copy code from scsi_read_write() as mfi_build_syspd_cdb() to build SCSI
command properly.  Without this change, mfi(4) always sends 10 byte READ
and WRITE commands, which will cause data corruption when device is
larger than 2^32 sectors.

PR: kern/173291
Submitted by: Steven Hartland <steven.hartland multiplay.co.uk>
Reviewed by: mav

git-svn-id: svn://svn.freebsd.org/base/stable/9@243823 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242519:
delphij [Mon, 3 Dec 2012 18:30:12 +0000 (18:30 +0000)]
MFC r242519:

Replace log(3) with flsll(3) for watchdogd(8) and drop libm dependency.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243820 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235038,241906:
delphij [Mon, 3 Dec 2012 18:26:23 +0000 (18:26 +0000)]
MFC r235038,241906:

netcat from OpenBSD 5.2.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243818 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242728:
delphij [Mon, 3 Dec 2012 18:19:58 +0000 (18:19 +0000)]
MFC r242728:

ICMPV6_FILTER should read ICMP6_FILTER.

Submitted by: Frédéric Perrin <frederic.perrin resel.fr>

git-svn-id: svn://svn.freebsd.org/base/stable/9@243815 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242841:
delphij [Mon, 3 Dec 2012 18:16:36 +0000 (18:16 +0000)]
MFC r242841:

Use %s when calling make_dev with a string pointer.  This makes
clang happy.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243814 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242332:
delphij [Mon, 3 Dec 2012 18:12:54 +0000 (18:12 +0000)]
MFC r242332:

s/dettach/detach/g

Approved by: pjd

git-svn-id: svn://svn.freebsd.org/base/stable/9@243813 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242507:
delphij [Mon, 3 Dec 2012 18:08:44 +0000 (18:08 +0000)]
MFC r242507:

Sync strlcpy with userland version.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243811 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242506:
delphij [Mon, 3 Dec 2012 18:01:53 +0000 (18:01 +0000)]
MFC r242506:

Sync strlen with userland implementation.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243809 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243155:
eadler [Mon, 3 Dec 2012 01:02:20 +0000 (01:02 +0000)]
MFC r243155:
Correct spelling of "lily" [0]
Correct spelling of Camellia

PR: misc/173655 [0]
Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243803 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242696 from HEAD:
issyl0 [Sun, 2 Dec 2012 12:26:17 +0000 (12:26 +0000)]
MFC r242696 from HEAD:
Document all of the options that wpa_supplicant accepts.

PR: docs/171755
Approved by: gabor (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243788 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoPull in r158245 from upstream clang:
dim [Sun, 2 Dec 2012 00:31:23 +0000 (00:31 +0000)]
Pull in r158245 from upstream clang:

  [C++11 Compat] Fix breaking change in C++11 pair copyctor.

  While this code is valid C++98, it is not valid C++11. The problem
  can be reduced to:

  class MDNode;

  class DIType {
    operator MDNode*() const {return 0;}
  };

  class WeakVH {
    WeakVH(MDNode*) {}
  };

  int main() {
    DIType di;
    std::pair<void*, WeakVH> p(std::make_pair((void*)0, di)));
  }

  This was not detected by any of the bots we have because they either
  compile C++98 with libstdc++ (which allows it), or C++11 with libc++
  (which incorrectly allows it). I ran into the problem when compiling
  with VS 2012 RC.

  Thanks to Richard for explaining the issue.

This fixes building clang 3.1 on stable/9 with libc++ in C++11 mode.

This is a direct commit to stable/9, since there is no separate commit
in head which has just this particular change, and I do not want to do a
full import at this time.

Reported by: Marco Bröder <marco.broeder@gmx.eu>

git-svn-id: svn://svn.freebsd.org/base/stable/9@243781 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243270: zfs_remove: assert that delete_now case is never true on FreeBSD
avg [Sat, 1 Dec 2012 19:24:09 +0000 (19:24 +0000)]
MFC r243270: zfs_remove: assert that delete_now case is never true on FreeBSD

git-svn-id: svn://svn.freebsd.org/base/stable/9@243777 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243268: zfs_remove: set VV_NOSYNC flag if a node is unlinked
avg [Sat, 1 Dec 2012 19:22:01 +0000 (19:22 +0000)]
MFC r243268: zfs_remove: set VV_NOSYNC flag if a node is unlinked

git-svn-id: svn://svn.freebsd.org/base/stable/9@243775 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243501: spa_import_rootpool: initialize ub_version before calling
avg [Sat, 1 Dec 2012 19:20:04 +0000 (19:20 +0000)]
MFC r243501: spa_import_rootpool: initialize ub_version before calling
spa_config_parse

git-svn-id: svn://svn.freebsd.org/base/stable/9@243773 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243500: spa_import_rootpool: do not call spa_history_log_version
avg [Sat, 1 Dec 2012 19:16:44 +0000 (19:16 +0000)]
MFC r243500: spa_import_rootpool: do not call spa_history_log_version

git-svn-id: svn://svn.freebsd.org/base/stable/9@243771 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243498: opensolaris compat: terminate cmn_err mesages with a new line
avg [Sat, 1 Dec 2012 19:14:35 +0000 (19:14 +0000)]
MFC r243498: opensolaris compat: terminate cmn_err mesages with a new line

git-svn-id: svn://svn.freebsd.org/base/stable/9@243769 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242575: zfs_dirlook: bailout early if directory is unlinked
avg [Sat, 1 Dec 2012 19:12:43 +0000 (19:12 +0000)]
MFC r242575: zfs_dirlook: bailout early if directory is unlinked

git-svn-id: svn://svn.freebsd.org/base/stable/9@243767 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243271,243400: vnode_if: fix locking protocol description for
avg [Sat, 1 Dec 2012 19:05:30 +0000 (19:05 +0000)]
MFC r243271,243400: vnode_if: fix locking protocol description for
lookup and cachedlookup

git-svn-id: svn://svn.freebsd.org/base/stable/9@243765 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243080:
eadler [Sat, 1 Dec 2012 16:44:33 +0000 (16:44 +0000)]
MFC r243080:
Only pass ip[46].addr when _addrl contains a value

Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243757 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242183:
crees [Sat, 1 Dec 2012 15:46:27 +0000 (15:46 +0000)]
MFC r242183:

Allow spaces in _chroot

Approved by: hrs

git-svn-id: svn://svn.freebsd.org/base/stable/9@243754 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243649: cyrus-sasl 2.1.26 was released. In this version, the type
ume [Sat, 1 Dec 2012 11:03:19 +0000 (11:03 +0000)]
MFC r243649: cyrus-sasl 2.1.26 was released.  In this version, the type
of callback functions was changed from "unsigned long" to "size_t".

git-svn-id: svn://svn.freebsd.org/base/stable/9@243747 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243562:
pfg [Sat, 1 Dec 2012 02:02:19 +0000 (02:02 +0000)]
MFC r243562:
Update some definitions or make them match NetBSD's headers.

Bring several definitions required for newer ext4 features.

Rename EXT2F_COMPAT_HTREE to EXT2F_COMPAT_DIRHASHINDEX since it
is not being used yet and the new name is more compatible with
NetBSD and Linux.

This change is purely cosmetic.

Obtained from: NetBSD

git-svn-id: svn://svn.freebsd.org/base/stable/9@243742 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r241569
rmacklem [Sat, 1 Dec 2012 01:16:40 +0000 (01:16 +0000)]
MFC: r241569
Document the -S option added by r241568.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243740 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r241568
rmacklem [Sat, 1 Dec 2012 01:11:59 +0000 (01:11 +0000)]
MFC: r241568
Add a new '-S' option to mountd, which tells it to suspend
execution of the nfsd threads while it is reloading the exports.
This avoids clients from getting intermittent access errors
when the exports are being reloaded non-atomically.
It is not an ideal solution, since requests will back up while
the nfsd threads are suspended. Also, when this option is used,
if mountd crashes while reloading exports, mountd will have to
be restarted to get the nfsd threads to resume execution.
This has been tested by Vincent Hoffman (vince at unsane.co.uk)
and John Hickey (jh at deterlab.net).
The nfse patch offers a more comprehensive solution for this issue.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243739 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r241561
rmacklem [Sat, 1 Dec 2012 01:07:51 +0000 (01:07 +0000)]
MFC: r241561
Add two new options to the nfssvc(2) syscall that allow
processes running as root to suspend/resume execution
of the kernel nfsd threads. An earlier version of this
patch was tested by Vincent Hoffman (vince at unsane.co.uk)
and John Hickey (jh at deterlab.net).

git-svn-id: svn://svn.freebsd.org/base/stable/9@243738 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoGuess when we'll be ready to announce 9.1-RELEASE.
kensmith [Fri, 30 Nov 2012 19:27:31 +0000 (19:27 +0000)]
Guess when we'll be ready to announce 9.1-RELEASE.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243708 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243599:
davidxu [Fri, 30 Nov 2012 05:30:31 +0000 (05:30 +0000)]
MFC r243599:
Take first active vnode correctly.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243702 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243082:
eadler [Fri, 30 Nov 2012 03:48:45 +0000 (03:48 +0000)]
MFC r243082:
Fix memory leak in umount.c

PR: bin/172553
Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243698 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243078:
eadler [Fri, 30 Nov 2012 03:38:02 +0000 (03:38 +0000)]
MFC r243078:
Add deviceid to the disk output on boot to help debugging.

PR: kern/173290
Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243697 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242945 (by theraven):
dim [Thu, 29 Nov 2012 21:26:57 +0000 (21:26 +0000)]
MFC r242945 (by theraven):

  Import new version of libc++ into base.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243683 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242323, r242328:
mav [Thu, 29 Nov 2012 18:08:36 +0000 (18:08 +0000)]
MFC r242323, r242328:
Add basic BIO_DELETE support to GEOM RAID class for all RAID levels.

If at least one subdisk in the volume supports it, BIO_DELETE requests
will be propagated down.  Unfortunatelly, for RAID levels with redundancy
unmapped blocks will be mapped back during first rebuild/resync process.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243678 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243336:
ae [Thu, 29 Nov 2012 17:35:57 +0000 (17:35 +0000)]
MFC r243336:
  Remove opt_inet.h, it isn't required here.

MFC r243337:
  Connect ip6_mroute kernel module to the build.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243676 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMerge ZFS feature flags support and related bugfixes:
mm [Thu, 29 Nov 2012 14:05:04 +0000 (14:05 +0000)]
Merge ZFS feature flags support and related bugfixes:
236884, 237001, 237119, 237458, 237972, 238113, 238391, 238422, 238926,
238950, 238951, 239389, 239394, 239620, 239774, 239953, 239958, 239967,
239968, 240063, 240133, 240153, 240303, 240345, 240415, 240955, 241655,
243014, 243505, 243506

MFC r236884:
Introduce "feature flags" for ZFS pools (bump SPA version to 5000).
Add first feature "com.delphix:async_destroy" (asynchronous destroy
of ZFS datasets).
Implement features support in ZFS boot code.

Illumos revisions merged:
13700:2889e2596bd6
13701:1949b688d5fb
2619 asynchronous destruction of ZFS file systems
2747 SPA versioning with zfs feature flags

References:
  https://www.illumos.org/issues/2619
  https://www.illumos.org/issues/2747

MFC r237001:
Fix ZFS boot with pre-features pools (version <= 28) broken in r236884

MFC r237119 [1]:
Do not remount ZFS dataset if changing canmount property to "on" and
dataset is already mounted.

MFC r237458:
Import Illumos revision 13736:9f1d48e1681f
2901 ZFS receive fails for exabyte sparse files

References:
  https://www.illumos.org/issues/2901

MFC r237972:
Expose scrub and resilver tunables.
This allows the user to tune the priority trade-off between scrub/resilver
and other ZFS I/O.

MFC r238113 (pjd):
vdev_io_done stage is not used for ioctls.

MFC r238391:
Change behavior introduced in r237119 to vendor solution

References:
  https://www.illumos.org/issues/2883

MFC r238422:
Merge illumos commit 13749:df4cd82e2b60

1796 "ZFS HOLD" should not be used when doing "ZFS SEND" froma read-only pool
2871 support for __ZFS_POOL_RESTRICT used by ZFS test suite
2903 zfs destroy -d does not work
2957 zfs destroy -R/r sometimes fails when removing defer-destroyed snapshot

References:
  https://www.illumos.org/issues/1796
  https://www.illumos.org/issues/2871
  https://www.illumos.org/issues/2903
  https://www.illumos.org/issues/2957

MFC r238926:
Partial MFV (illumos-gate 13753:2aba784c276b)
2762 zpool command should have better support for feature flags

References:
  https://www.illumos.org/issues/2762

MFC r238950:
Fix reporting of root pool upgrade notice.

MFC r238951:
Fix wrong indent according to style(9)

MFC r239389:
Backport fix for vendor issue #3085
3085 zfs diff panics, then panics in a loop on booting

References:
  https://www.illumos.org/issues/3085

MFC r239394:
Update zfs(8) manpage with illumos version of "zfs diff"

Illumos issue:
  2399 zfs manual page does not document use of "zfs diff"

References:
  https://www.illumos.org/issues/2399

MFC r239620 [2]:
Merge recent vendor changes:
3086 unnecessarily setting DS_FLAG_INCONSISTENT on async destroyed datasets
3090 vdev_reopen() during reguid causes vdev to be treated as corrupt
3102 vdev_uberblock_load() and vdev_validate() may read the wrong label

Referenes:
  https://www.illumos.org/issues/3086
  https://www.illumos.org/issues/3090
  https://www.illumos.org/issues/3102

MFC r239774:
Merge recent vendor changes:
3100 zvol rename fails with EBUSY when dirty
3104 eliminate empty bpobjs
3120 zinject hangs in zfsdev_ioctl() due to uninitialized zc

References:
  https://www.illumos.org/issues/3100
  https://www.illumos.org/issues/3104
  https://www.illumos.org/issues/3120

MFC r239953 (joel):
Mdoc fixes.

MFC r239958 (joel):
Minor mdoc fixes.

MFC r239967 (joel):
Mdoc fixes.

MFC r239968 (joel):
Remove trailing whitespace.

MFC r240063 (gjb):
Add myself to copyright sections, per CDDL license.

MFC r240133:
Merge recent vendor changes and sync code:
1862 incremental zfs receive fails for sparse file > 8PB
3112 ztest does not honor ZFS_DEBUG
3122 zfs destroy filesystem should prefetch blocks
3129 'zpool reopen' restarts resilvers
3130 ztest failure: Assertion failed:
       0 == dmu_objset_destroy(name, B_FALSE) (0x0 == 0x10)

References:
  https://www.illumos.org/issues/1862
  https://www.illumos.org/issues/3112
  https://www.illumos.org/issues/3122
  https://www.illumos.org/issues/3129
  https://www.illumos.org/issues/3130

MFC r240153 (gjb) [3]:
Typo fix and minor word swap.

MFC r240303:
Add assfail() and assfail3() to the opensolaris module.
Remove obsoleted intermediate cddl/compat/opensolaris/sys/debug.h.

MFC r240345 (avg):
zfs: fix sa_modify_attrs handling of variable-sized attributes

- skip length_idx index for a replaced variable-sized attribute
- skip length_idx index for a removed variable-sized attribute
- also re-arranged code to make sure that length_idx is always
  incremented for variable-sized attributes
- additionally add an assertion that the number of actually produced
  attributes is the same as the expected number of resulting
  attributes

MFC r240415:
Merge recent zfs vendor changes, sync code and adjust userland DEBUG.

Illumos issued covered:
1884 Empty "used" field for zfs *space commands
3006 VERIFY[S,U,P] and ASSERT[S,U,P] frequently check if first argument
     is zero
3028 zfs {group,user}space -n prints (null) instead of numeric GID/UID
3048 zfs {user,group}space [-s|-S] is broken
3049 zfs {user,group}space -t doesn't really filter the results
3060 zfs {user,group}space -H output isn't tab-delimited
3061 zfs {user,group}space -o doesn't use specified fields order
3064 usr/src/cmd/zpool/zpool_main.c misspells "successful"
3093 zfs {user,group}space's -i is noop
3098 zfs userspace/groupspace fail without saying why when run as non-root

References:
  https://www.illumos.org/issues/ + [issue_id]

MFC r240955 (partial):
Merge recent vendor changes in ZFS.

Illumos issued covered:
3139 zdb dies when it tries to determine path of unlinked file
3189 kernel panic in ZFS test suite during hotspare_onoffline_004_neg
3208 moving zpool cross-endian results in incorrect user/group accounting

References:
  https://www.illumos.org/issues/ + [issue_id]

MFC r241655:
Add missing initialization for do_prefix.
Corrects porting error in r238391

Vendor issue and changeset reference:
2883 changing "canmount" property to "on" should not always remount dataset
https://www.illumos.org/issues/2883
Changeset 13743:95aba6e49b9f

MFC r243014:
Move zpool-features manual page from section 5 to section 7
and fix references

Reported by: pluknet

MFC r243505:
Illumos 13886:e3261d03efbf

3349 zpool upgrade -V bumps the on disk version number, but leaves
     the in core version

References:
  https://www.illumos.org/issues/3349

MFC r243506:
zfs sha256 checksum is missing in zfs.8 manpage

PR: kern/167905 [1], kern/170912 [2], kern/170914 [2], doc/171356 [3]

git-svn-id: svn://svn.freebsd.org/base/stable/9@243674 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243380:
hselasky [Wed, 28 Nov 2012 18:13:35 +0000 (18:13 +0000)]
MFC r243380:
Fix uplcom clear stall logic for PL2303HX.

Submitted by: Mark Johnston

git-svn-id: svn://svn.freebsd.org/base/stable/9@243657 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242619, r242695, r242702 and r242703:
hselasky [Wed, 28 Nov 2012 18:10:05 +0000 (18:10 +0000)]
MFC r242619, r242695, r242702 and r242703:
Implement support for RTS (flow control).
Improve USB serial console support.
Implement a USB serial jitter buffer in receive direction.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243656 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoAdd new USB IDs.
hselasky [Wed, 28 Nov 2012 17:43:41 +0000 (17:43 +0000)]
Add new USB IDs.

PR: usb/173503

git-svn-id: svn://svn.freebsd.org/base/stable/9@243654 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r241708: Explicitly specify 'np' so that getty(8) does not
peterj [Tue, 27 Nov 2012 19:23:54 +0000 (19:23 +0000)]
MFC r241708:  Explicitly specify 'np' so that getty(8) does not
simulate even parity on local.9600.

PR: 76226
Approved by: jhb (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243623 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243387: Use %u for unsigned serial number
emaste [Tue, 27 Nov 2012 16:20:44 +0000 (16:20 +0000)]
MFC r243387: Use %u for unsigned serial number

git-svn-id: svn://svn.freebsd.org/base/stable/9@243616 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243110:
np [Tue, 27 Nov 2012 08:32:12 +0000 (08:32 +0000)]
MFC r243110:

cxgbe/tom: Plug mbuf leak.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243605 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242079:
ae [Tue, 27 Nov 2012 01:59:51 +0000 (01:59 +0000)]
MFC r242079:
  Remove the IPFIREWALL_FORWARD kernel option and make possible to turn
  on the related functionality in the runtime via the sysctl variable
  net.pfil.forward. It is turned off by default.

MFC r242082:
  Note the removal of the IPFIREWALL_FORWARD kernel option.

MFC r242463:
  Remove the recently added sysctl variable net.pfil.forward.
  Instead, add protocol specific mbuf flags M_IP_NEXTHOP and
  M_IP6_NEXTHOP. Use them to indicate that the mbuf's chain
  contains the PACKET_TAG_IPFORWARD tag. And do a tag lookup
  only when this flag is set.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243586 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243234:
mjg [Tue, 27 Nov 2012 01:33:23 +0000 (01:33 +0000)]
MFC r243234:

Fix possible fp reference leak in posix_openpt

git-svn-id: svn://svn.freebsd.org/base/stable/9@243584 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243007:
mjg [Tue, 27 Nov 2012 01:28:35 +0000 (01:28 +0000)]
MFC r243007:
enterpgrp: get rid of pgrp2 variable and use KASSERT directly on pgfind result.

pgrp2 was used only for debugging, but pgrp2 = pgfind(..) was present in compiled code

git-svn-id: svn://svn.freebsd.org/base/stable/9@243582 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242546:
wblock [Mon, 26 Nov 2012 18:10:15 +0000 (18:10 +0000)]
MFC r242546:

Add an example showing the use of gnop(8) to skip over header data.

PR: kern/145999
Reviewed by: mjg

git-svn-id: svn://svn.freebsd.org/base/stable/9@243566 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r238943:
mav [Mon, 26 Nov 2012 15:34:28 +0000 (15:34 +0000)]
MFC r238943:
Add several performance optimizations to acpi_cpu_idle().

For C1 and C2 states use cpu_ticks() to measure sleep time instead of much
slower ACPI timer. We can't do it for C3, as TSC may stop there. But it is
less important there as wake up latency is high any way.

For C1 and C2 states do not check/clear bus mastering activity status, as
it is important only for C3. As side effect it can make CPU enter C2 instead
of C3 if last BM activity was two sleeps back (unlike one before), but
that may be even good because of collecting more statistics. Premature BM
wakeup from C3, entered because of overestimation, can easily be worse then
entering C2 from both performance and power consumption points of view.

Together on dual Xeon E5645 system on sequential 512 bytes read test this
change makes cpu_idle_acpi() as fast as simplest cpu_idle_hlt() and only
few percents slower then cpu_idle_mwait(), while deeper states are still
actively used during idle periods.

To help with diagnostics, add C-state type into dev.cpu.X.cx_supported.

PR: kern/170021

git-svn-id: svn://svn.freebsd.org/base/stable/9@243562 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243072:
eadler [Mon, 26 Nov 2012 05:13:57 +0000 (05:13 +0000)]
MFC r243072:
Follow the behavior as specified in POSIX:

if (exists AND (NOT f_option) AND
((not_writable AND input_is_terminal) OR i_option))
prompt

in particular, add the test for input_is_terminal

PR: bin/173039
Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243557 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242426:
yongari [Mon, 26 Nov 2012 04:39:41 +0000 (04:39 +0000)]
MFC r242426:
  TCP/UDP checksum offloading feature for IP fragmented datagram was
  removed in r99417.  bge(4) controllers can do TCP checksum offload
  for IP fragmented datagrams but unlike ti(4), it lacks UDP checksum
  offloading for IP fragmented datagrams. The problem was bge(4)
  blindly requested TCP/UDP checksum for IP fragmented datagrams such
  that it resulted in corrupted UDP datagrams before r99417.
  Remove remaining code for TCP checksum offloading for IP fragmented
  datagrams which should have been removed in r99417.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243551 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r241983-241985:
yongari [Mon, 26 Nov 2012 04:34:05 +0000 (04:34 +0000)]
MFC r241983-241985:
r241983:
  Do not hardcode phy address. Multi-port controllers use different phy
  address.

r241984:
  Ethernet@WireSpeed is defined for 1000baseT adapter to establish a
  link at a lower speed so enabling it for fiber adapters is wrong.
  Fix the issue by setting BGE_PHY_NO_WIRESPEED such that brgphy(4)
  wouldn't enable the feature.
  While I'm here move PHY specific feature/bug configuration to new
  location(just before mii attach) for readability.

r241985:
  For fast ethernet controllers, Ethernet@WireSpeed is not defined so
  explicitly set BGE_PHY_NO_WIRESPEED flag.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243549 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r241438:
yongari [Mon, 26 Nov 2012 04:25:41 +0000 (04:25 +0000)]
MFC r241438:
  Add APE firmware support and improve firmware handshake procedure.
  This change will enable IPMI access on 5717/5718/5719/5720 and 5761
  controllers. Because ASF is not available when APE firmware is
  present, bge_allow_asf tunable is ignored when driver detects APE
  firmware.  Also bge(4) no longer performs two resets(one blind
  reset and the other reset with firmware in mind) in device attach.
  Now bge(4) performs a reset with enough information in bge_reset().
  The APE firmware also needs special handling to make suspend/resume
  work but it was not implemented yet.

  With this change, bge(4) should work on any 5717/5718/5719/5720
  controllers. Special thanks to Mike Hibler at Emulab who setup
  remote debugging on Dell R820. Without his help I couldn't be able
  to address several issues happened on Dell Rx20 systems. And many
  thanks to Broadcom for continuing to support FreeBSD!

  Submitted by: davidch (initial version)
  H/W donated by: Broadcom
  Tested by: many
  Tested on: Del R820/R720/R620/R420/R320 and HP Proliant DL 360 G8

git-svn-id: svn://svn.freebsd.org/base/stable/9@243546 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r241437:
yongari [Mon, 26 Nov 2012 04:20:11 +0000 (04:20 +0000)]
MFC r241437:
  For 5717C/5719C/5720C and 57765 PHYs, do not perform any special
  handling(jumbo, wire speed etc) in brgphy_reset().  Touching
  BRGPHY_MII_AUXCTL register seems to confuse APE firmware such that
  it couldn't establish a link.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243544 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r241436:
yongari [Mon, 26 Nov 2012 04:10:27 +0000 (04:10 +0000)]
MFC r241436:
  Rework controller reset procedure. Previously driver saved
  BGE_PCI_PCISTATE register before issuing global reset. After
  issuing reset, it reads BGE_PCI_PCISTATE register again and
  compares the saved register value and current value. It was used to
  know whether the global reset operation was completed or not.
  Unfortunately, this logic caused several issues on recent BCM5717/
  5718/5719 and BCM5720 controllers. It seems APE firmware accesses
  some registers while global reset is in progress such that reading
  BGE_PCI_PCISTATE register after reset does not yield old pre-reset
  state value. This resulted in consuming too much time in global
  reset and sometimes it couldn't successfully complete reset.

  The BGE_MISCCFG_RESET_CORE_CLOCKS of BGE_MISC_CFG register is
  self-clearing bit so driver is able to know the reset completion.
  But the core-lock reset will disable indirect/flat/standard access
  modes such that driver cannot poll BGE_MISCCFG_RESET_CORE_CLOCKS
  bit of BGE_MISC_CFG register. So just wait enough time for
  core-clock reset to complete.
  Data sheet says driver should wait 100us for PCI/PCI-X devices and
  100ms for PCIe devices. I chose 1ms for PCI/PCI-X since this value
  was used for many years in bge(4). For PCIe devices, use 100ms as
  recommended by data sheet.

  bge_chipinit() also cleared BGE_MAC_MODE register which shall clear
  firmware configured mode information. I think this will result in
  losing ASF/IPMI link in device attachment. Let bge_reset() honor
  firmware configured BGE_MAC_MODE register and don't announce driver
  is UP in bge_reset(). Firmware should have control over driver until
  it's fully initialized by driver.

  While I'm here, enable workaround for PCI-X BCM5704 A0 in
  bge_reset(). This will prevent internal arbitration logic from
  switching to the other DMA engine after a retry cycle.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243541 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243280:
eadler [Mon, 26 Nov 2012 02:48:56 +0000 (02:48 +0000)]
MFC r243280:
Use .Nm instead of a self xref

Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243540 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r241388-241393:
yongari [Mon, 26 Nov 2012 02:41:30 +0000 (02:41 +0000)]
MFC r241388-241393:
r241388:
  If the maximum payload size is 256 bytes or more, set the DMA write
  water mark to 256 bytes.  Otherwise controller will encounter DMA
  write under run errors and would result in RX DMA hang. If the
  maximum payload size is 128 bytes, the water mark is set to 128
  bytes as usual.
  While here, set maximum read request size to 2048 for BCM5719/BCM5720.
  For other PCIe devices, use 4096. And reprogram the maximum read
  request size whenever device reset is performed.

r241389:
 On PHY write error use hex number to show the value.
 Add more comments.

r241390:
  Honor PHY type fiber for BCM5717/BCM5718/BCM5719/BCM5720.

r241391:
  Do not force PCIe 1.0a mode in device reset on BCM5717 and newer
  controllers. BCM5785 does not require PCI 1.0a mode as well during
  reset.

r241392:
  Fix a long standing VCPU reset sequence bug on BCM5906.
  The VCPU(Virtual CPU) of BCM5906 is used to provide a mechanism to
  control the bootcode execution and to pick up configuration data
  stored inside the EEPROM.
  The bootcode of BCM5906 will check the BGE_VCPU_STATUS_DRV_RESET
  bit to decide which booting procedure to choose.
  Data sheet indicates the VCPU of BCM5906 should set
  BGE_VCPU_STATUS_DRV_RESET bit *before* VCPU reset or global reset.

r241393:
  Remove unnecessary delay. I don't see any comments in data sheet
  that requires 10ms delay after device reset.  Because that code was
  there from day 1, I guess it was added to give enough settlement
  time after updating BGE_MAC_MODE register.
  The recommended delay time for BGE_MAC_MODE after updating is 40us
  and it was already done in r241219.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243538 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r241215-241216,241219-241220,241341,241343:
yongari [Mon, 26 Nov 2012 02:31:28 +0000 (02:31 +0000)]
MFC r241215-241216,241219-241220,241341,241343:
r241215:
  Don't touch EMAC Mode and TX/RX MAC Mode register when driver is
  not running.

r241216:
  APE firmware touches EMAC Mode and TX/RX MAC Mode registers to keep
  the MAC connected to the outside world.  So keep the accesses
  atomic.

r241219:
  Add 40 microseconds delay after updating EMAC Mode register as
  recommended by Broadcom data sheet.

r241220:
  Follow Broadcom datasheet:
   Delay 100 microseconds after enabling transmit MAC.
   Delay 10 microseconds after enabling receive MAC.

r241341:
  Limit applying TX data corruption and FIFO workaround to BCM5719
  A0. It's believed BCM5720 does not have the issue.

r241343:
  Rework device detach. While here, move driver lock/callout
  initialization to the beginning of device attach for readability.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243536 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 242922
sbruno [Mon, 26 Nov 2012 01:57:22 +0000 (01:57 +0000)]
MFC 242922

Update MAX_TASKS to scale a bit based on MAXCPU

This alleviates issues on newer Sandy/Ivy Bridge gear that seems to require
boatloads more ACPI resources than before.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243534 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243348:
dim [Sun, 25 Nov 2012 12:27:19 +0000 (12:27 +0000)]
MFC r243348:

Do not expose LIBCXXRT and LIBCPLUSPLUS in bsd.libnames.mk, if
WITHOUT_LIBCPLUSPLUS is specified.

Submitted by: Garrett Cooper <yanegomi@gmail.com>

git-svn-id: svn://svn.freebsd.org/base/stable/9@243511 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242574: zfsctl_snapdir_lookup: obtain a snapname in the remount case
avg [Sat, 24 Nov 2012 13:00:41 +0000 (13:00 +0000)]
MFC r242574: zfsctl_snapdir_lookup: obtain a snapname in the remount case

git-svn-id: svn://svn.freebsd.org/base/stable/9@243495 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242573: zfs: set MNTK_EXTENDED_SHARED flag
avg [Sat, 24 Nov 2012 12:58:51 +0000 (12:58 +0000)]
MFC r242573: zfs: set MNTK_EXTENDED_SHARED flag

git-svn-id: svn://svn.freebsd.org/base/stable/9@243493 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242572: opensolaris compat: clear VI_MOUNT before returning if
avg [Sat, 24 Nov 2012 12:56:07 +0000 (12:56 +0000)]
MFC r242572: opensolaris compat: clear VI_MOUNT before returning if
mount_snapshot fails

git-svn-id: svn://svn.freebsd.org/base/stable/9@243491 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242571: zfs_vnode_forget: dispose of larvae vnode using public vfs
avg [Sat, 24 Nov 2012 12:46:07 +0000 (12:46 +0000)]
MFC r242571: zfs_vnode_forget: dispose of larvae vnode using public vfs
api (mostly)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243488 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242570: zfs_umount: no need to set MNTK_UNMOUNTF here, dounmount
avg [Sat, 24 Nov 2012 12:44:13 +0000 (12:44 +0000)]
MFC r242570: zfs_umount: no need to set MNTK_UNMOUNTF here, dounmount
handles that

git-svn-id: svn://svn.freebsd.org/base/stable/9@243486 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242569: opensolaris_lookup: use vfs_busy in traverse before calling VFS_ROOT
avg [Sat, 24 Nov 2012 12:42:29 +0000 (12:42 +0000)]
MFC r242569: opensolaris_lookup: use vfs_busy in traverse before calling VFS_ROOT

git-svn-id: svn://svn.freebsd.org/base/stable/9@243484 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242568: zfs_vnode_lock: no need to double-guess caller's intentions here
avg [Sat, 24 Nov 2012 12:40:23 +0000 (12:40 +0000)]
MFC r242568: zfs_vnode_lock: no need to double-guess caller's intentions here

git-svn-id: svn://svn.freebsd.org/base/stable/9@243482 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243213: spa_import_rootpool: fall back to use configuration from zpool.cache
avg [Sat, 24 Nov 2012 12:37:37 +0000 (12:37 +0000)]
MFC r243213: spa_import_rootpool: fall back to use configuration from zpool.cache

git-svn-id: svn://svn.freebsd.org/base/stable/9@243480 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242862: zfs_ioc_destroy_snaps_nvl: remove disk device entries for
avg [Sat, 24 Nov 2012 12:34:44 +0000 (12:34 +0000)]
MFC r242862: zfs_ioc_destroy_snaps_nvl: remove disk device entries for
zvol snapshots

git-svn-id: svn://svn.freebsd.org/base/stable/9@243478 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r240855, r242867, r242868, r242869
nyan [Fri, 23 Nov 2012 15:42:25 +0000 (15:42 +0000)]
MFC: r240855, r242867, r242868, r242869

  MFi386: r237445

    Commit changes missed from r237435.  Properly calculate the signal
    trampoline addresses after the shared page is enabled.  Handle FreeBSD
    ABIs without shared page support too.

  MFi386: r238792

    Introduce curpcb magic variable.

  MFi386: r211924

    Register an interrupt vector for DTrace return probes.

  Fix some KASSERTs.
  They are missing changes from r208833, r227394 and r227442.

  Reduce diffs against i386.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243460 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r242866, r242871
nyan [Fri, 23 Nov 2012 14:16:55 +0000 (14:16 +0000)]
MFC: r242866, r242871

  Use ANSI prototype to fix build with clang.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243455 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r242870
nyan [Fri, 23 Nov 2012 13:55:38 +0000 (13:55 +0000)]
MFC: r242870

  Fix build mpboot.s with clang.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243452 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r239063, r239064, r239069, r240852, r240854
nyan [Fri, 23 Nov 2012 13:35:17 +0000 (13:35 +0000)]
MFC: r239063, r239064, r239069, r240852, r240854

  - boot2: bunch of variables are turned into uint8_t.
  - boot2: Remove unnecessary initializations.
  - loader: replace ugly inb/outb re-implementations with cpufunc.h.
  - Reduce diffs against i386.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243448 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r242855, r242865
nyan [Fri, 23 Nov 2012 13:17:18 +0000 (13:17 +0000)]
MFC: r242855, r242865

  - use -march=i386 for both i386 and amd64 builds.
  - cosmetic changes to reduce diffs against i386.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243446 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r242863
nyan [Fri, 23 Nov 2012 13:09:20 +0000 (13:09 +0000)]
MFC: r242863

  add detection of serial console presence to btx and boot2-like blocks.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243445 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r242864
nyan [Fri, 23 Nov 2012 13:04:38 +0000 (13:04 +0000)]
MFC: r242864

  i386 comconsole: don't loop forever if hardware doesn't respond.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243444 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMerge r242467 from head:
glebius [Fri, 23 Nov 2012 11:23:15 +0000 (11:23 +0000)]
Merge r242467 from head:
  - If DRM_DEBUG_DEFAULT_ON is defined, then initialize drm_debug_flagi to
    all supported debugging bits.
  - If DRM_DEBUG_DEFAULT_ON isn't defined, then initialize drm_debug_flag
    to zero.

  DRM_DEBUG_DEFAULT_ON is defined when module is build with -DDEBUG_DRM
  or if kernel config has 'options DEBUG_DRM'.

  Reviewed by:  kib

git-svn-id: svn://svn.freebsd.org/base/stable/9@243442 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMerge r241037 from head:
glebius [Fri, 23 Nov 2012 11:19:43 +0000 (11:19 +0000)]
Merge r241037 from head:
  The drbr(9) API appeared to be so unclear, that most drivers in
  tree used it incorrectly, which lead to inaccurate overrated
  if_obytes accounting. The drbr(9) used to update ifnet stats on
  drbr_enqueue(), which is not accurate since enqueuing doesn't
  imply successful processing by driver. Dequeuing neither mean
  that. Most drivers also called drbr_stats_update() which did
  accounting again, leading to doubled if_obytes statistics. And
  in case of severe transmitting, when a packet could be several
  times enqueued and dequeued it could have been accounted several
  times.

  o Thus, make drbr(9) API thinner. Now drbr(9) merely chooses between
    ALTQ queueing or buf_ring(9) queueing.
    - It doesn't touch the buf_ring stats any more.
    - It doesn't touch ifnet stats anymore.
    - drbr_stats_update() no longer exists.

  o buf_ring(9) handles its stats itself:
    - It handles br_drops itself.
    - br_prod_bytes stats are dropped. Rationale: no one ever
      reads them but update of a common counter on every packet
      negatively affects performance due to excessive cache
      invalidation.
    - buf_ring_enqueue_bytes() reduced to buf_ring_enqueue(), since
      we no longer account bytes.

  o Drivers handle their stats theirselves: if_obytes, if_omcasts.

  o mlx4(4), igb(4), em(4), vxge(4), oce(4) and  ixv(4) no longer
    use drbr_stats_update(), and update ifnet stats theirselves.

  o bxe(4) was the most correct driver, it didn't call
    drbr_stats_update(), thus it was the only driver accurate under
    moderate load. Now it also maintains stats itself.

  o ixgbe(4) had already taken stats from hardware, so just
    - drop software stats updating.
    - take multicast packet count from hardware as well.

  o mxge(4) just no longer needs NO_SLOW_STATS define.

  o cxgb(4), cxgbe(4) need no change, since they obtain stats
    from hardware.

  Reviewed by:  jfv, gnn

git-svn-id: svn://svn.freebsd.org/base/stable/9@243440 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoSync lagg(4) with head, merging r240742, r241619:
glebius [Fri, 23 Nov 2012 08:23:53 +0000 (08:23 +0000)]
Sync lagg(4) with head, merging r240742, r241619:

  r240742 | glebius | 2012-09-20 14:05:10 +0400 (чт, 20 сен 2012) | 4 lines

  Convert lagg(4) to use if_transmit instead of if_start.

  In collaboration with:  thompsa, sbruno, fabient

  r241619 | emax | 2012-10-17 02:43:14 +0400 (ср, 17 окт 2012) | 5 lines

  report total number of ports for each lagg(4) interface
  via net.link.lagg.X.count sysctl

git-svn-id: svn://svn.freebsd.org/base/stable/9@243436 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoFix multiple Denial of Service vulnerabilities with named(8).
simon [Thu, 22 Nov 2012 22:52:15 +0000 (22:52 +0000)]
Fix multiple Denial of Service vulnerabilities with named(8).

Fix insufficient message length validation for EAP-TLS messages.

Fix Linux compatibility layer input validation error.

Security: FreeBSD-SA-12:06.bind
Security: FreeBSD-SA-12:07.hostapd
Security: FreeBSD-SA-12:08.linux
Security: CVE-2012-4244, CVE-2012-5166, CVE-2012-4445, CVE-2012-4576
Approved by: re
Approved by: security-officer

git-svn-id: svn://svn.freebsd.org/base/stable/9@243417 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242744:
kib [Thu, 22 Nov 2012 16:20:08 +0000 (16:20 +0000)]
MFC r242744:
Zero the newly allocated md(4) swap-backed page to prevent random
kernel memory leakage to userspace.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243408 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r229848:
ed [Thu, 22 Nov 2012 15:19:53 +0000 (15:19 +0000)]
MFC r229848:

  Add aligned_alloc(3).

  The C11 folks reinvented the wheel by introducing an aligned version of
  malloc(3) called aligned_alloc(3), instead of posix_memalign(3). Instead
  of returning the allocation by reference, it returns the address, just
  like malloc(3).

I'm MFCing this now, as it seems aligned_alloc(3) is needed to make the
new version of libc++ work, which was merged back to FreeBSD 9 in r243376.

Requested by: dim

git-svn-id: svn://svn.freebsd.org/base/stable/9@243405 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242767,r243252: sh: Add tests for modifying an alias (r242766/r243402).
jilles [Thu, 22 Nov 2012 13:51:58 +0000 (13:51 +0000)]
MFC r242767,r243252: sh: Add tests for modifying an alias (r242766/r243402).

git-svn-id: svn://svn.freebsd.org/base/stable/9@243403 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242766: sh: Fix two issues when an alias is redefined:
jilles [Thu, 22 Nov 2012 13:50:51 +0000 (13:50 +0000)]
MFC r242766: sh: Fix two issues when an alias is redefined:

 * The last character is not displayed.
 * If the alias ends with itself (as a word), an infinite memory-eating loop
   occurs.

If an alias is defined initially, a space is appended to avoid recursion but
this did not happen when an alias was later modified.

PR: bin/173418
Submitted by: Daniel F.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243402 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years ago Partially merge r240494, which moved netinet/ipfw to netpfil/ipfw,
glebius [Thu, 22 Nov 2012 12:11:32 +0000 (12:11 +0000)]
  Partially merge r240494, which moved netinet/ipfw to netpfil/ipfw,
to make it easier to merge ipfw commits back to stable/9.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243401 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243028:
ae [Thu, 22 Nov 2012 00:22:54 +0000 (00:22 +0000)]
MFC r243028:
  zoneid has unsigned type.

MFC r243029:
  SCOPE6_LOCK protects V_sid_default, no need to acquire it without
  any access to V_sid_default.

MFC r243031:
  if_afdata lock was converted from mutex to rwlock a long ago, so we can
  replace IF_AFDATA_LOCK() macro depending to the access type.

MFC r243148:
  Reduce the overhead of locking, use IF_AFDATA_RLOCK() when we are doing
  simple lookups.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243382 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r241903:
dim [Wed, 21 Nov 2012 18:38:56 +0000 (18:38 +0000)]
MFC r241903:

  Import libc++ trunk r165949.  Among other improvements and bug fixes,
  this has many visibility problems fixed, which should help with
  compiling certain ports that exercise C++11 mode (i.e. Firefox).

  Also, belatedly add the LICENSE.TXT and accompanying CREDITS.TXT files,
  which are referred to in all the source files.

MFC r241907:

  Fix two -Wsystem-header warnings in libc++ that were exposed by the new
  ATF import.  These have also been sent upstream.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243376 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r242933:
dim [Wed, 21 Nov 2012 18:27:02 +0000 (18:27 +0000)]
MFC r242933:

Redo r242842, now actually fixing the warnings, as follows:
- In sys/ofed/drivers/infiniband/core/cma.c, an enum struct member is
  interpreted as an int, so cast it to an int.
- In sys/ofed/drivers/infiniband/core/ud_header.c, initialize the
  packet_length variable in ib_ud_header_init(), to prevent undefined
  behaviour.
- In sys/ofed/drivers/infiniband/ulp/sdp/sdp_rx.c, call rdma_notify()
  with the correct enum type and value.
- In sys/ofed/include/linux/pci.h, change the PCI_DEVICE and PCI_VDEVICE
  macros to use C99 struct initializers, so additional members can be
  overridden.

Reviewed by: delphij, Garrett Cooper <yanegomi@gmail.com>

git-svn-id: svn://svn.freebsd.org/base/stable/9@243375 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243000:
eadler [Wed, 21 Nov 2012 01:01:17 +0000 (01:01 +0000)]
MFC r243000:
Add support for CIR1000 - Cirrus Logic V34 to the uart driver

Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243356 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243241:
eadler [Wed, 21 Nov 2012 00:40:27 +0000 (00:40 +0000)]
MFC r243241:
Modernize parts of the ports.7 manual page.

Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243355 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243240:
eadler [Wed, 21 Nov 2012 00:31:56 +0000 (00:31 +0000)]
MFC r243240:
Use the macro for standard error return values.

.Dd not bumped because there is no important content change.

Obtained from: DragonflyBSD
Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243350 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r243032:
demon [Tue, 20 Nov 2012 11:47:22 +0000 (11:47 +0000)]
MFC r243032:

Use defined() to test macro definitions.

Approved by: theraven

git-svn-id: svn://svn.freebsd.org/base/stable/9@243331 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r240997:
trociny [Mon, 19 Nov 2012 21:10:52 +0000 (21:10 +0000)]
MFC r240997:

Kernel and modules have "set_vnet" linker set, where virtualized
global variables are placed. When a module is loaded by link_elf
linker its variables from "set_vnet" linker set are copied to the
kernel "set_vnet" ("modspace") and all references to these variables
inside the module are relocated accordingly.

The issue is when a module is loaded that has references to global
variables from another, previously loaded module: these references are
not relocated so an invalid address is used when the module tries to
access the variable. The example is V_layer3_chain, defined in ipfw
module and accessed from ipfw_nat.

The same issue is with DPCPU variables, which use "set_pcpu" linker
set.

Fix this making the link_elf linker on a module load recognize
"external" DPCPU/VNET variables defined in the previously loaded
modules and relocate them accordingly. For this set_pcpu_list and
set_vnet_list are used, where the addresses of modules' "set_pcpu" and
"set_vnet" linker sets are stored.

Note, archs that use link_elf_obj (amd64) were not affected by this
issue.

Reviewed by: jhb, julian, zec (initial version)

git-svn-id: svn://svn.freebsd.org/base/stable/9@243308 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r239242: Reword comment to try to improve clarity, and fix a typo.
emaste [Mon, 19 Nov 2012 19:31:55 +0000 (19:31 +0000)]
MFC r239242: Reword comment to try to improve clarity, and fix a typo.

git-svn-id: svn://svn.freebsd.org/base/stable/9@243306 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r241643: Avoid panic when a netmap instance cannot obtain memory.
emaste [Mon, 19 Nov 2012 19:30:30 +0000 (19:30 +0000)]
MFC r241643: Avoid panic when a netmap instance cannot obtain memory.

  A uint32_t is always >= 0.

Sponsored by: ADARA Networks

git-svn-id: svn://svn.freebsd.org/base/stable/9@243304 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f