]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/log
FreeBSD/stable/9.git
12 years agoMFC r227215:
dim [Fri, 30 Dec 2011 22:07:04 +0000 (22:07 +0000)]
MFC r227215:

  When one attempts to compile the tree with -march=i386, which also used
  to be gcc's default before r198344, calls to atomic builtins will not be
  expanded inline.  Instead, they will be generated as calls to external
  functions (e.g. __sync_fetch_and_add_N), leading to linking errors later
  on.

  Put in a seatbelt that disables use of atomic builtins in libstdc++ and
  llvm, when tuning specifically for the real i386 CPU.  This does not
  protect against all possible issues, but it is better than nothing.

MFC r227538:

  LLVM uses atomic operations, which are not supported on i386 and GCC
  emits calls for them, rather than expanding them inline.  Older FreeBSD
  versions compile for i386 by default and as such we end up with
  unresolved symbols when we build LLVM's TableGen utility as a build
  tool on them.  Add the functions that GCC emits here, but don't bother
  to make them atomic. Such is not needed.

  Submitted by: marcel

MFC r227636:

  Revert r227538, since it doesn't compile with clang at all (it doesn't
  allow the built-in operations to be redefined, at least not without
  excessive force).

  Instead, just disable LLVM's support for atomic operations for now.
  Nothing in either clang or the tablegen tools currently depends on it.

  This still allows users of head built before r198344 to upgrade to
  top-of-head seamlessly.

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

12 years agoMFC r227122: sh(1): Improve documentation of field splitting.
jilles [Fri, 30 Dec 2011 21:50:16 +0000 (21:50 +0000)]
MFC r227122: sh(1): Improve documentation of field splitting.

This describes the POSIX-compliant splitting algorithm that first appeared
in 8.0.

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

12 years agoMFC r227121: make(1): obj dirs are physical paths so write `pwd -P`
jilles [Fri, 30 Dec 2011 21:27:51 +0000 (21:27 +0000)]
MFC r227121: make(1): obj dirs are physical paths so write `pwd -P`
rather than `pwd`.

Regular pwd may return a pathname containing symlinks, but make does not use
such pathnames.

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

12 years agoMFC r227816:
kib [Fri, 30 Dec 2011 21:01:14 +0000 (21:01 +0000)]
MFC r227816:
Remove the wrong comment about ufs not being loadable.
Note that only root filesystem module needs to be available
before root is mounted.

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

12 years agoMFC r227120:
dim [Fri, 30 Dec 2011 21:00:02 +0000 (21:00 +0000)]
MFC r227120:

Make it possible to set CC and CXX (and optionally, AS and LD) in
make.conf(5), while allowing the build32 stage on 64-bit architectures
to still override them, so that stage can successfully build 32-bit
compatibility libraries.

Explanation:
1) The build32 stage sets environment variables CC, CXX, AS and LD for
   its sub-make, to add 32-bit specific flags (-m32 and such).
2) The sub-make reads sys.mk, encounters CC?= and CXX?= assignments, so
   does not alter them.
3) After some other stuff, sys.mk reads /etc/make.conf.  When you have
   "CC=xxx" and "CXX=yyy" statements in there, they will *override* the
   build32-supplied CC/CXX values, nullifying the 32-bit specific flags.
4) Thus all objects get built as 64-bit anyway, and since LD is usually
   not set in make.conf, it still has the 32-bit flags!
5) Now, whenever something is linked, you will get a "ld: Relocatable
   linking with relocations from format elf64-x86-64-freebsd (foo.o) to
   format elf32-i386-freebsd (bar.o) is not supported" error.

Fix this by adding "-ECC -ECXX -EAS -ELD" to the build32 sub-make
invocation, which forces those environment variables to always override
any assignment in makefiles.  Thus making it possible to simply set:

CC=my-cc
CXX=my-c++

in your make.conf, or specify a path, even:

CC=/usr/local/bin/other-cc
CXX=/usr/local/bin/other-c++

Note this was never a problem on i386, since it has no build32 stage.

Silence from: current@

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

12 years agoMFC r227622:
kib [Fri, 30 Dec 2011 20:55:38 +0000 (20:55 +0000)]
MFC r227622:
Fix typo.

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

12 years agoMFC r227444:
kib [Fri, 30 Dec 2011 20:52:56 +0000 (20:52 +0000)]
MFC r227444:
Style.

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

12 years agoMFC r227443:
kib [Fri, 30 Dec 2011 20:45:40 +0000 (20:45 +0000)]
MFC r227443:
Guard against the unlikely case of the alias path containing the '%' symbols.

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

12 years agoMFC r227399:
kib [Fri, 30 Dec 2011 20:35:13 +0000 (20:35 +0000)]
MFC r227399:
Attempt to improve formatting and content of several comments for
amd64 and i386 MD code.

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

12 years agoMFC r227393:
kib [Fri, 30 Dec 2011 20:21:53 +0000 (20:21 +0000)]
MFC r227393:
Lock the thread lock around block that retrieves td_wmesg. Otherwise,
procfs could see a thread with assigned td_wchan but still NULL td_wmesg.

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

12 years agoMFC r228376:
kib [Fri, 30 Dec 2011 20:06:43 +0000 (20:06 +0000)]
MFC r228376:
Typo.

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

12 years agoMFC r228375:
kib [Fri, 30 Dec 2011 19:59:54 +0000 (19:59 +0000)]
MFC r228375:
Typo.

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

12 years agoMFC r228178:
kib [Fri, 30 Dec 2011 19:58:06 +0000 (19:58 +0000)]
MFC r228178:
If alloc_unr() call in the pipe_create() failed, then pipe->pipe_ino is
-1. But, because ino_t is unsigned, this case was not covered by the
test ino > 0 in pipeclose(), leading to the free_unr(-1). Fix it by
explicitely comparing with 0 and -1.

Do no access freed memory, the inode number was cached to prevent access
to cpipe after it possibly was freed, but I failed to commit the right
patch.

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

12 years agoMFC r227392:
kib [Fri, 30 Dec 2011 19:18:13 +0000 (19:18 +0000)]
MFC r227392:
Assert that _PRELE() is done for the held process.

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

12 years agoMFC r228432:
kib [Fri, 30 Dec 2011 18:58:42 +0000 (18:58 +0000)]
MFC r228432:
Fix printf.

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

12 years agoMFC r227024:
kib [Fri, 30 Dec 2011 18:20:44 +0000 (18:20 +0000)]
MFC r227024:
Despite official i386 ABI does not mandate any stack alignment besides
the word alignment, some versions of gcc do require 16-byte alignment.
Make sure the stack is 16-byte aligned before calling a subroutine.

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

12 years agoMFC r227023:
kib [Fri, 30 Dec 2011 18:18:06 +0000 (18:18 +0000)]
MFC r227023:
Make sure that stack is 16-byte aligned before calling a function,
as it is required by amd64 ABI. Add a comment for the places were
the stack is accidentally properly aligned already.

PR: amd64/162214

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

12 years agoMFC r227104:
kib [Fri, 30 Dec 2011 17:54:33 +0000 (17:54 +0000)]
MFC r227104:
Fix typo.

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

12 years agoFix a problem whereby a corrupt DNS record can cause named to crash. [11:06]
cperciva [Fri, 23 Dec 2011 15:00:37 +0000 (15:00 +0000)]
Fix a problem whereby a corrupt DNS record can cause named to crash. [11:06]

Add an API for alerting internal libc routines to the presence of
"unsafe" paths post-chroot, and use it in ftpd. [11:07]

Fix a buffer overflow in telnetd. [11:08]

Make pam_ssh ignore unpassphrased keys unless the "nullok" option is
specified. [11:09]

Add sanity checking of service names in pam_start. [11:10]

Approved by:    so (cperciva)
Approved by:    re (bz)
Security:       FreeBSD-SA-11:06.bind
Security:       FreeBSD-SA-11:07.chroot
Security:       FreeBSD-SA-11:08.telnetd
Security:       FreeBSD-SA-11:09.pam_ssh
Security:       FreeBSD-SA-11:10.pam

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

12 years agoMerge r228472. For the sake of POLA for the whole 9.x timeline add
glebius [Mon, 19 Dec 2011 13:12:37 +0000 (13:12 +0000)]
Merge r228472. For the sake of POLA for the whole 9.x timeline add
compatibility support for specifing IPv4 aliases in rc.conf without
the "inet" keyword.

Approved by: re (bz)

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

12 years agoMFC r228457:
ru [Mon, 19 Dec 2011 12:11:07 +0000 (12:11 +0000)]
MFC r228457:

The "inet" keyword in the "ifconfig_IF_aliasN" is mandatory for
IPv4 aliases to work since network.subr@197139.

Approved by: re (bz)

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

12 years agoMFH r228384: validate the service name
des [Tue, 13 Dec 2011 12:59:39 +0000 (12:59 +0000)]
MFH r228384: validate the service name

Approved by: re (kib)
Security: some poorly thought out programs allow the user to specify
the service name; this patch makes it harder to trick these
programs into loading and executing arbitrary code.

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

12 years agoMFH r227757: check for null passphrases, since openssl doesn't
des [Sun, 11 Dec 2011 16:57:27 +0000 (16:57 +0000)]
MFH r227757: check for null passphrases, since openssl doesn't

Approved by: re (kib)
Security: prevents users with unencrypted ssh keys (prohibited
unless the nullok option is specified) from logging in
by providing a bogus non-null passphrase.

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

12 years agoMFC r226649, 226651, 226652, 226653:
hrs [Sat, 3 Dec 2011 22:14:15 +0000 (22:14 +0000)]
MFC r226649, 226651, 226652, 226653:
- Fix an issue that 127/8 is not configured when $ifconfig_DEFAULT is not empty.
- Add description that IPv6 configuration will be ignored if $ifconfig_IF_ipv6
  is empty.
- Move a configuration example "inet6 accept_rtadv" to just after the manual
  GUA configuration.
- Add an example of $ipv6_prefix_IF.
- Add support for removing addresses added by ipv6_prefix_hostid_addr_up()
  upon rc.d/netif stop.

Approved by: re (bz)

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

12 years agoMFC r226446:
hrs [Sat, 3 Dec 2011 22:12:57 +0000 (22:12 +0000)]
MFC r226446:
Fix a problem that an interface unexpectedly becomes IFF_UP by
just doing "ifconfing inet6 -ifdisabled" when the interface has
ND6_IFF_AUTO_LINKLOCAL flag and no link-local address.

Approved by: re (bz)

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

12 years agoMFC r228194:
nwhitehorn [Sat, 3 Dec 2011 17:15:16 +0000 (17:15 +0000)]
MFC r228194:

Prevent user astonishment by providing the shell option at the end, after
any installer-provided configuration files have been copied. This allows
users to edit their fstab, if desired, and to see what the installer has
placed in rc.conf.

Requested by: phk
Approved by: re (kensmith)

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

12 years agoMFC r228192:
kensmith [Sat, 3 Dec 2011 16:58:55 +0000 (16:58 +0000)]
MFC r228192:
> Add a screen that asks if the user would like to enable crash dumps,
> giving them a very brief description of the trade-offs.  Whether the
> user opts in or out add an entry to what will become /etc/rc.conf
> explaining what dumpdev is and how to turn on/off crash dumps.  The folks
> who handle interacting with users submitting PRs have asked for this.
>
> Reviewed by:  nwhitehorn

Approved by: re (kib)

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

12 years agoUpgrade to BIND 9.8.1-P1 to address the following DDOS bug:
dougb [Thu, 1 Dec 2011 21:13:41 +0000 (21:13 +0000)]
Upgrade to BIND 9.8.1-P1 to address the following DDOS bug:

Recursive name servers are failing with an assertion:
INSIST(! dns_rdataset_isassociated(sigrdataset))

At this time it is not thought that authoritative-only servers
are affected, but information about this bug is evolving rapidly.

Because it may be possible to trigger this bug even on networks
that do not allow untrusted users to access the recursive name
servers (perhaps via specially crafted e-mail messages, and/or
malicious web sites) it is recommended that ALL operators of
recursive name servers upgrade immediately.

For more information see:
https://www.isc.org/software/bind/advisories/cve-2011-4313
which will be updated as more information becomes available.

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4313

Approved by: re (kib)

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

12 years agoMFC 227389: Remove some debugging printfs.
jhb [Thu, 1 Dec 2011 20:38:52 +0000 (20:38 +0000)]
MFC 227389: Remove some debugging printfs.

Approved by: re (bz)

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

12 years agoMFhead r228150:
glebius [Thu, 1 Dec 2011 15:15:12 +0000 (15:15 +0000)]
MFhead r228150:

  Return value should be conditional on return value of pfsync_defer_ptr()

  PR: kern/162947
  Submitted by: Matthieu Kraus <matthieu.kraus s2008.tu-chemnitz.de>

Approved by: re (kib)

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

12 years agoMFC 228093
gabor [Thu, 1 Dec 2011 13:53:08 +0000 (13:53 +0000)]
MFC 228093

  - Fix behavior of --null to match GNU grep

MFC 228097

  - Call warnx() instead of errx() if a directory is not readable when using
    a recursive search.  This is the expected behavior instead of aborting.

Approved by: re (kib)

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

12 years agoMFC r228122:
dougb [Thu, 1 Dec 2011 05:51:17 +0000 (05:51 +0000)]
MFC r228122:

If using DESTDIR we need to be sure to create a
${DESTDIR}/var/db/zoneinfo

Approved by: re (kensmith)

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

12 years agoMFC r227482:
dougb [Thu, 1 Dec 2011 05:46:25 +0000 (05:46 +0000)]
MFC r227482:

The default setting, daily_accounting_compress="NO", was causing
only 1 old file to be saved, so fix this.

While I'm here, fix a very old off-by-one error causing 1 more
file than specified in daily_accounting_save to be saved because
acct.0 was not taken into account (pun intended). Change that, and
use a more thorough method of finding old files to delete. Partly
just because this is the right thing to do, but also to silently
fix the extra log that would have been left behind forever with the
previous method.

Approved by: re (kensmith)

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

12 years agoUpdate for RELENG_9.
pluknet [Tue, 29 Nov 2011 18:21:34 +0000 (18:21 +0000)]
Update for RELENG_9.

This is a direct commit.

Approved by: re (kib)

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

12 years agoMFC: r228028
marius [Tue, 29 Nov 2011 14:18:05 +0000 (14:18 +0000)]
MFC: r228028

- Based on a report on sparc64@ move V245 to the list of known working
  machines.
- Mention that V480 with broken centerplanes have a chance of working with
  the WAR in the upcoming 8.3-RELEASE and 9.0-RELEASE.

Approved by: re (kib)

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

12 years agoMFC r225757,r225764:
pluknet [Tue, 29 Nov 2011 12:38:13 +0000 (12:38 +0000)]
MFC r225757,r225764:

Update the default cvs tag for RELENG_9 by merging the following revisions:

r225757 (by kensmith, partial):
 Shift head from 9.0-CURRENT to 10.0-CURRENT in preparation for releasing
 it from the 9.0-RELEASE release cycle code freeze.

r225764 (by kensmith):
 Forgot to add "RELENG_8" to list of CVS tags.

Reported by: Milan Obuch <freebsd-current at dino sk> (cvs tag)
Approved by: re (kib)

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

12 years agoMFC: r227666
brueffer [Tue, 29 Nov 2011 11:24:25 +0000 (11:24 +0000)]
MFC: r227666

Add sfxge(4) to the hardware notes.

Approved by: re (bz)

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

12 years agoMFC: r227960
marius [Tue, 29 Nov 2011 09:59:51 +0000 (09:59 +0000)]
MFC: r227960

Increase the CDMA sync timeout for Schizo bridges to 15 seconds as used by
OpenSolaris. One second turned out to be not enough for certain loads while
10 seconds were sufficient.
Reported by: Peter Jeremy

Approved by: re (bz)

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

12 years agoMFC r227569,227633,227640-227641,227662,227699-227700,228077-228078,228085
philip [Mon, 28 Nov 2011 20:28:23 +0000 (20:28 +0000)]
MFC r227569,227633,227640-227641,227662,227699-227700,228077-228078,228085

Add the sfxge(4) driver providing support for 10Gb Ethernet adapters
based on Solarflare SFC9000 family controllers.  The driver supports jumbo
frames, transmit/receive checksum offload, TCP Segmentation Offload (TSO),
Large Receive Offload (LRO), VLAN checksum offload, VLAN TSO, and Receive Side
Scaling (RSS) using MSI-X interrupts.

This work was sponsored by Solarflare Communications, Inc.

My sincere thanks to Ben Hutchings for doing a lot of the hard work!

Sponsored by: Solarflare Communications, Inc.
Approved by: re (bz)

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

12 years agoMerge r228057 from head to stable/9:
rwatson [Mon, 28 Nov 2011 15:09:31 +0000 (15:09 +0000)]
Merge r228057 from head to stable/9:

  Change the Makefile in cddl/lib/drti to use bsd.lib.mk instead of
  bsd.prog.mk -- we need to compile PIC, which requires a library build.
  With this change, USDT (userspace DTrace probes) work from within
  shared libraries.

  PR:             kern/159046
  Submitted by:   Alex Samorukov <samm at os2.kiev.ua>
  Comments by:    Scott Lystig Fritchie <slfritchie at snookles.com>

Approved by: re (xxx)

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

12 years agoMerge r228040 from head to stable/9:
rwatson [Mon, 28 Nov 2011 14:39:56 +0000 (14:39 +0000)]
Merge r228040 from head to stable/9:

  Cross-reference capsicum.4 from cap_enter.2 and cap_new.2.

  Sponsored by: Google, Inc.

Approved by: re (kib)

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

12 years agoMerge r228039 from head to stable/9:
rwatson [Mon, 28 Nov 2011 14:36:06 +0000 (14:36 +0000)]
Merge r228039 from head to stable/9:

  Add an introductory Capsicum man page providing a high-level description of
  its mechanisms, pointing at other pertinent man pages, and cautioning about
  the experimental status of Capsicum in FreeBSD.

  Sponsored by: Google, Inc.

Approved by: re (kib)

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

12 years agoFast track MFC r228016:
lstewart [Mon, 28 Nov 2011 11:10:12 +0000 (11:10 +0000)]
Fast track MFC r228016:

Plug a TCP reassembly UMA zone leak introduced in r226228 by only using the
backup stack queue entry when the zone is exhausted, otherwise we leak a zone
allocation each time we plug a hole in the reassembly queue.

Reported by: many on freebsd-stable@ (thread: "TCP Reassembly Issues")
Tested by: many on freebsd-stable@ (thread: "TCP Reassembly Issues")
Reviewed by: bz (very brief sanity check)
Approved by: re (kib)

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

12 years agoMFhead r227901:
glebius [Mon, 28 Nov 2011 08:12:37 +0000 (08:12 +0000)]
MFhead r227901:

  Fix parsing of redirect_addr argument.

  PR: kern/162739

Approved by: re (kib)

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

12 years agoMFC rev. 227283:
marcel [Sun, 27 Nov 2011 20:12:08 +0000 (20:12 +0000)]
MFC rev. 227283:
Add check-password.4th and screen.4th to the boot image. They are
needed by the loader.

Approved by: re (kib)

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

12 years agoMFC rev. 227629:
marcel [Sun, 27 Nov 2011 20:07:30 +0000 (20:07 +0000)]
MFC rev. 227629:
Wire the kernel text RWX, rather than RX. We're not quite ready
for having kernel text non-writable, because we still need to
apply relocations. On top of that, the PBVM page table has all
pages marked as RWX, so it's an inconsistency to begin with.

Approved by: re (kib)

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

12 years agoMFC r228031:
tuexen [Sun, 27 Nov 2011 19:09:31 +0000 (19:09 +0000)]
MFC r228031:

Fix a warning reported by arundel@.
Fix a bug where the parameter length of a supported address types
parameter is set to a wrong value if the kernel is built with
with either INET or INET6, but not both.

Approved by: re@

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

12 years agoMFC r227952:
kib [Sun, 27 Nov 2011 18:56:04 +0000 (18:56 +0000)]
MFC r227952:
Fix a race between getvnode() dereferencing half-constructed file
and dupfdopen().

Approved by: re (bz)

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

12 years agoMFC r227485:
kib [Sun, 27 Nov 2011 18:49:16 +0000 (18:49 +0000)]
MFC r227485:
To limit amount of the kernel memory allocated, and to optimize the
iteration over the fdsets, kern_select() limits the length of the
fdsets copied in by the last valid file descriptor index. If any bit
is set in a mask above the limit, current implementation ignores the
filedescriptor, instead of returning EBADF.

Fix the issue by scanning the tails of fdset before entering the
select loop and returning EBADF if any bit above last valid
filedescriptor index is set. The performance impact of the additional
check is only imposed on the (somewhat) buggy applications that pass
bad file descriptors to select(2) or pselect(2).

PR: kern/155606, kern/162379
Approved by: re (bz)

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

12 years agoMFC 225861:
wblock [Sat, 26 Nov 2011 14:17:58 +0000 (14:17 +0000)]
MFC 225861:

Fix a confusing sentence.
Other wording tweaks.

Approved by: gjb (mentor)
Approved by: re@ (kostikbel)

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

12 years agoMFC: r227829, r227844
marius [Fri, 25 Nov 2011 17:06:32 +0000 (17:06 +0000)]
MFC: r227829, r227844

- Add a DEVMETHOD_END alias for KOBJMETHOD_END so that along with 'driver_t'
  and DEVMETHOD() we can fully hide the explicit mention of kobj(9) from
  device drivers.
- Update the device driver examples to use DEVMETHOD_END.

Submitted by: jhb
Approved by: re (kib)

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

12 years agoMFC r227342. Note that the original commit message, reproduced below, has
rstone [Fri, 25 Nov 2011 13:34:27 +0000 (13:34 +0000)]
MFC r227342.  Note that the original commit message, reproduced below, has
 error.  The final sentence should read "*without* CTF data".

 The in-kernel CTF parser caches the result of its first attempt to parse
 CTF data from a module.  On subsequent attempts to retrieve CTF data for
 a module, return an error if there no CTF data.

 This fixes a panic if you try to enable fbt probes on a module with CTF
 data twice.

Approved by: re (kib)

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

12 years agoMFC r227805:
bschmidt [Fri, 25 Nov 2011 12:19:13 +0000 (12:19 +0000)]
MFC r227805:
The DC calibration result obtained during initialization can't be
passed over to the runtime firmware on 6050 devices. Instead let
the runtime firmware do the calibration itself. This fixes support
for the 6050 series devices.

Submitted by: kevlo
Approved by: re (kib)
Obtained from: OpenBSD
Tested by: lx, Tz-Huan Huang(earlier version)

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

12 years agoMFC r227661:
kib [Fri, 25 Nov 2011 10:30:29 +0000 (10:30 +0000)]
MFC r227661:
Free unused allocation on error.

Approved by: re (bz)

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

12 years agoMFC r227660:
kib [Fri, 25 Nov 2011 10:29:22 +0000 (10:29 +0000)]
MFC r227660:
Fix fd leak.

Approved by: re (bz)

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

12 years agoMFC r227930:
tuexen [Thu, 24 Nov 2011 18:51:31 +0000 (18:51 +0000)]
MFC r227930:

Move up the address to the top of the sctp_paddrthlds structure
like in all other structures. This avoids alignment problems.

Approved by: re@

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

12 years agoMFC r227290 and r227291:
rstone [Thu, 24 Nov 2011 18:44:09 +0000 (18:44 +0000)]
MFC r227290 and r227291:

r227290:
 Fix the DTrace pid return trap interrupt vector.  Previously we were using
 31, but that vector is reserved.

 Without this fix, running dtrace -p <pid> would either cause the target
 process to crash or the kernel to page fault

r227291:
 Replace fasttrap_copyout() with uwrite().  FreeBSD copyout() is not able to
 write to the .text section of a process.

Approved by: re (kib)

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

12 years agoMFC r227540:
tuexen [Thu, 24 Nov 2011 17:54:03 +0000 (17:54 +0000)]
MFC r227540:

Set the MTU of an path to an approriate value if the interface MTU
can't be determined.

Approved by: re@

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

12 years agoMFC r227486:
tuexen [Thu, 24 Nov 2011 17:21:52 +0000 (17:21 +0000)]
MFC r227486:

Don't copy uninitialized memory. Also simplify the comparison
of interface names.

Approved by: re@

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

12 years agoMFC r227110,r227111:
pjd [Thu, 24 Nov 2011 07:25:43 +0000 (07:25 +0000)]
MFC r227110,r227111:

r227110:

In zvol_open() if the spa_namespace_lock is already held, it means that
ZFS is trying to open and taste ZVOL as its VDEV. This is not supported,
so return an error instead of panicing on spa_namespace_lock recursion.

Reported by: Robert Millan <rmh@debian.org>
PR: kern/162008

r227111:

Correct typo in comment.

Reported by: Fabian Keil <fk@fabiankeil.de>

Approved by: re (kib)

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

12 years agoMFC r225849:
delphij [Wed, 23 Nov 2011 21:41:31 +0000 (21:41 +0000)]
MFC r225849:

Test if the interface is afif in dhcpif() and syncdhcpif(), as
done in ipv6_autoconfif.

This fixes a regression that causes e.g. ifconfig_DEFAULT="DHCP"
to run on non-afif interfaces like pfsync0, which in turn would
cause excessive delay on system startup.

Sponsored by: iXsystems, Inc.
Reviewed by: hrs (freebsd-rc@)
Approved by: re (bz)

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

12 years agoMFC r226938 (by kevlo):
bz [Wed, 23 Nov 2011 18:10:47 +0000 (18:10 +0000)]
MFC r226938 (by kevlo):

 Add missing PF_UNLOCK in pf_test

Approved by: re (kib)

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

12 years agoMFC r227061 (by mlaier):
bz [Wed, 23 Nov 2011 18:04:30 +0000 (18:04 +0000)]
MFC r227061 (by mlaier):

 Fix a use-after-free/redzone issue in the routing code.

Approved by: re (kib)

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

12 years agoMFC r227547:
bz [Wed, 23 Nov 2011 16:02:12 +0000 (16:02 +0000)]
MFC r227547:

 The maximum TSO frame size should be:
        maximum IP datagram size (65535 bytes) +
        Ethernet header size (14 bytes) +
        2 * VLAN tag size (4 bytes) [1].

 [1] We need to multiply by 2 to account for the double VLAN tag
     provision added in IEEE 802.1ad.

 Submitted by: David Somayajulu (david.somayajulu qlogic.com)

Approved by: re (kib)

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

12 years agoMFC r227058:
attilio [Wed, 23 Nov 2011 15:37:03 +0000 (15:37 +0000)]
MFC r227058:
Disable interrupt and preemption for smp_rendezvous() also in the
UP/!SMP case.

Sponsored by: Sandvine Incorporated
Approved by: re (kib)

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

12 years agoMFC r227481:
bz [Wed, 23 Nov 2011 15:10:15 +0000 (15:10 +0000)]
MFC r227481:

  Return the correct value for the IPV6_MULTICAST_HOPS getsockopt() call.

  Submitted by: rpaulo

Approved by: re (kib)

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

12 years agoMFC r227657:
kib [Wed, 23 Nov 2011 15:03:15 +0000 (15:03 +0000)]
MFC r227657:
Consistently use process spin lock for protection of the
p->p_boundary_count. Race could cause the execve(2) from the threaded
process to hung since thread boundary counter was incorrect and
single-threading never finished.

Approved by: re (bz)

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

12 years agoMFC r227769, 227770, 227771:
gjb [Wed, 23 Nov 2011 12:23:32 +0000 (12:23 +0000)]
MFC r227769, 227770, 227771:

- Add a note to src/Makefile that explains that 'rm' runs twice because
  thesecond invocation only needs to operate on files with the immutable
  flag set.

- Fix the note in r227769 to be less specific to the immutable flag.

- Replace 'chflags' with 'file flags' in a comment, since 'chflags'is a
  command, not a flag itself.

Approved by: re (kib)

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

12 years agoMFC r227604:
davidxu [Wed, 23 Nov 2011 00:01:45 +0000 (00:01 +0000)]
MFC r227604:
Pass CVWAIT flags to kernel, this should handle
Timeout correctly for pthread_cond_timedwait when
it uses kernel-based condition variable.

Approved by: re (kib)

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

12 years agoMFC: r227742
brueffer [Sun, 20 Nov 2011 17:11:11 +0000 (17:11 +0000)]
MFC: r227742

Add 2010 and 2011 copyrights.

Approved by: re (kib)

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

12 years agoMFC: r227466, r227480, r227516
brueffer [Sun, 20 Nov 2011 17:08:32 +0000 (17:08 +0000)]
MFC: r227466, r227480, r227516

Add mps(4) and mvs(4) to the hardware notes.

Approved by: re (kib)

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

12 years agoMFC: r227275
brueffer [Sun, 20 Nov 2011 17:05:25 +0000 (17:05 +0000)]
MFC: r227275

Add qlxgb(4) to the hardware notes.

Approved by: re (kib)

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

12 years agoMFC: r227465, r227515
brueffer [Sat, 19 Nov 2011 16:54:58 +0000 (16:54 +0000)]
MFC: r227465, r227515

- Grammar and mdoc cleanup.
- Remove list nesting in the hardware notes section, thus making it
  compatible with the hardware notes generation script.

Approved by: re (kib)

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

12 years agoMFC: r227578
marius [Sat, 19 Nov 2011 13:33:21 +0000 (13:33 +0000)]
MFC: r227578

Fix compilation with DEBUG defined.

Approved by: re (kib)

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

12 years agoMFC: r227539
marius [Sat, 19 Nov 2011 13:03:59 +0000 (13:03 +0000)]
MFC: r227539

Define curthread as an inline function that loads the thread pointer
directly from g7, the pcpu pointer. This guarantees correct behavior
when the thread migrates to a different CPU.
Commit message stolen from r205431. Additional testing by Peter Jeremy.

Approved by: re (kib)

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

12 years agoMFC: r227537
marius [Sat, 19 Nov 2011 12:55:32 +0000 (12:55 +0000)]
MFC: r227537

As it turns out, r186347 actually is insufficient to avoid the use of the
curthread-accessing part of mtx_{,un}lock(9) when using a r210623-style
curthread implementation on sparc64, crashing the kernel in its early
cycles as PCPU isn't set up, yet (and can't be set up as OFW is one of the
things we need for that, which leads to a chicken-and-egg problem). What
happens is that due to the fact that the idea of r210623 actually is to
allow the compiler to cache invocations of curthread, it factors out
obtaining curthread needed for both mtx_lock(9) and mtx_unlock(9) to
before the branch based on kobj_mutex_inited when compiling the kernel
without the debugging options. So change kobj_class_compile_static(9)
to just never acquire kobj_mtx, effectively restricting it to its
documented use, and add a kobj_init_static(9) for initializing objects
using a class compiled with the former and that also avoids using mutex(9)
(and malloc(9)). Also assert in both of these functions that they are
used in their intended way only.
While at it, inline kobj_register_method() and kobj_unregister_method()
as there wasn't much point for factoring them out in the first place
and so that a reader of the code has to figure out the locking for
fewer functions missing a KOBJ_ASSERT.
Tested on powerpc{,64} by andreast.

Reviewed by: nwhitehorn (earlier version), jhb
Approved by: re (kib)

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

12 years agoMFC r226549,r226550,r226551,r226552,r226553,r226554,r226568,r226569,r226611,
pjd [Sat, 19 Nov 2011 10:49:03 +0000 (10:49 +0000)]
MFC r226549,r226550,r226551,r226552,r226553,r226554,r226568,r226569,r226611,
    r226612:

r226549:

Remove redundant size calculation.

r226550:

Initialize 'rc' properly before using it. This error could lead to infinite
loop when data reconstruction was needed.

r226551:

Don't mark vdev as healthy too soon, so we won't try to use invalid vdevs.

r226552:

Never pass NULL block pointer when reading. This is neither expected nor
handled by lower layers like vdev_raidz, which uses bp for checksum
verification. This bug could lead to NULL pointer reference and resets
during boot.

r226553:

Always pass data size for checksum verification function, as using
physical block size declared in bp may not always be what we want.
For example in case of gang block header physical block size declared
in bp is much larger than SPA_GANGBLOCKSIZE (512 bytes) and checksum
calculation failed. This bug could lead to accessing unallocated
memory and resets/failures during boot.

r226554:

Fix missing return when LOADER_GPT_SUPPORT is defined, but LOADER_MBR_SUPPORT
is not.

r226568:

- Correctly read gang header from raidz.
- Decompress assembled gang block data if compressed.
- Verify checksum of a gang header.
- Verify checksum of assembled gang block data.
- Verify checksum of uber block.

Submitted by: avg

r226569:

With LOADER_MBR_SUPPORT defined and LOADER_GPT_SUPPORT undefined we would
never call disk_openmbr().

Submitted by: avg

r226611:

- Allow to specify multiple files to check, eg.

zfsboottest gpt/system0 gpt/system1 - /boot/kernel/kernel /boot/zfsloader

- Instead of printing file's content calculate MD5 hash of the file,
  so it can be easly compared to the hash calculated via file system.
- Some other minor improvements.

r226612:

Because ZFS boot code was very fragile in the past and real PITA to debug,
introduce zfsboottest.sh script that will verify if it will be possible to boot
from the given pool.

# zfsboottest.sh system

Where "system" is pool name of the pool we want to boot from.

What is being verified by the script:
- Does the pool exist?
- Does it have bootfs property configured?
- Is mountpoint property of the boot dataset set to 'legacy'?

Dataset configured in bootfs property has to be mounted to perform more
checks:
- Does the /boot directory in boot dataset exist?
- Is this dataset configured as root file system in /etc/fstab or set
  in vfs.root.mountfrom variable in /boot/loader.conf?

By using zfsboottest tool the script will read all the files in /boot
directory using ZFS boot code and calculate their checksums.
Then, it will walk /boot directory using find(1) though regular file sytem
and also read all the files in /boot directory and calculate their checksums.
If any of the files cannot be looked up, read or checksum is invalid it will
be reported and booting off of this pool is probably not possible.

Some additional checks may be interesting as well. For example if the disks
contain proper pmbr and gptzfsboot code or if all expected files in /boot/
are present.

When upgrading FreeBSD, one should snapshot datasets that contain operating
system, upgrade (install new world and kernel) and use zfsboottest.sh to verify
if it will be possible to boot from new configuration. If all is good one
should upgrade boot blocks, by eg.:

# gpart -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1

If something is wrong, one should rollback datasets and report the problems.

Approved by: re (kib)

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

12 years agoMFC r226617:
pjd [Sat, 19 Nov 2011 10:28:06 +0000 (10:28 +0000)]
MFC r226617:

zfs vdev_file_io_start: validate vdev before using vdev_tsd

vdev_tsd can be NULL for certain vdev states.
At least in userland testing with ztest.

Submitted by: avg
Approved by: re (kib)

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

12 years agoMFC r226613,r226615,r226616:
pjd [Sat, 19 Nov 2011 10:26:34 +0000 (10:26 +0000)]
MFC r226613,r226615,r226616:

r226613:

libzpool task_alloc: pass only valid flags to kmem_alloc

tqflags may contain other flags besided those that are suitable for
kmem_alloc == umem_alloc

Submitted by: avg

r226615:

thr_create: new_thread_ID may be NULL

Submitted by: avg

r226616:

zdb: access dp_free_bpobj only if pool version is >= SPA_VERSION_DEADLISTS

Submitted by: avg

Approved by: re (kib)

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

12 years agoMFC r226620:
pjd [Sat, 19 Nov 2011 10:24:46 +0000 (10:24 +0000)]
MFC r226620:

Update per-thread I/O statistics collection in ZFS.
This allows to see processes I/O activity in 'top -m io' output.

PR kern/156218
Reported by: Marcus Reid <marcus@blazingdot.com>
Patch by: avg
Approved by: re (kib)

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

12 years agoMFC r227416:
dougb [Fri, 18 Nov 2011 21:10:13 +0000 (21:10 +0000)]
MFC r227416:

Document that flock can return ENOLCK

Approved by: re (kib)

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

12 years agoMFC r226863:
dougb [Fri, 18 Nov 2011 20:47:14 +0000 (20:47 +0000)]
MFC r226863:

Fix svnversion for svn 1.7.x by not looking for .svn in ${SYSDIR}
(since it no longer exists). Instead, run svnversion if we can find
the binary and test that the output looks like a version string.

Approved by: re (kib)

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

12 years agoMFC r227391:
fabient [Fri, 18 Nov 2011 14:41:48 +0000 (14:41 +0000)]
MFC r227391:
Import gcc fix for -fstack-protector that produces segfaulting
binaries on arm/armel.

Related gcc bug:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35965

Author kindly accepted that all of his patches can be use as GPLv2.

PR: 161128
Approved by: re (kib)

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

12 years agoMFC: r227059
rmacklem [Thu, 17 Nov 2011 16:08:46 +0000 (16:08 +0000)]
MFC: r227059
Both a crash reported on freebsd-current on Oct. 18 under the
subject heading "mtx_lock() of destroyed mutex on NFS" and
PR# 156168 appear to be caused by clnt_dg_destroy() closing
down the socket prematurely. When to close down the socket
is controlled by a reference count (cs_refs), but clnt_dg_create()
checks for sb_upcall being non-NULL to decide if a new socket
is needed. I believe the crashes were caused by the following race:
  clnt_dg_destroy() finds cs_refs == 0 and decides to delete socket
  clnt_dg_destroy() then loses race with clnt_dg_create() for
    acquisition of the SOCKBUF_LOCK()
  clnt_dg_create() finds sb_upcall != NULL and increments cs_refs to 1
  clnt_dg_destroy() then acquires SOCKBUF_LOCK(), sets sb_upcall to
    NULL and destroys socket

This patch fixes the above race by changing clnt_dg_destroy() so
that it acquires SOCKBUF_LOCK() before testing cs_refs.

Tested by: bz
Reviewed by: dfr
Approved by: re (kib)

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

12 years agoRecord the merge of r227457, which was done as part of r227565 but not mentioned...
eadler [Thu, 17 Nov 2011 14:05:59 +0000 (14:05 +0000)]
Record the merge of r227457, which was done as part of r227565 but not mentioned in the commit log

PR: kern/142999
PR: kern/151365
Submitted by: Takefu Kenji <takefu@airport.fm>
Submitted by: Joerg Niendorf <f5d10a@internode.on.net>
Approved by: re (kib)

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

12 years agoMFC: r227448
brueffer [Thu, 17 Nov 2011 12:27:20 +0000 (12:27 +0000)]
MFC: r227448

Reword a sentence in the HARDWARE section a little to make it more suitable
for automatic hardware notes generation.

Approved by: re (kib)

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

12 years agoMFC: r227276
brueffer [Thu, 17 Nov 2011 12:25:15 +0000 (12:25 +0000)]
MFC: r227276

Add qlxgb(4).

Approved by: re (kib)

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

12 years agoMFC: r227271
brueffer [Thu, 17 Nov 2011 12:22:09 +0000 (12:22 +0000)]
MFC: r227271

Write QLogic consistently.

Approved by: re (kib)

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

12 years agoMFC r227112:
dim [Thu, 17 Nov 2011 08:07:16 +0000 (08:07 +0000)]
MFC r227112:

Whenever you boot with nfsv4_server_enable=NO (the default) in rc.conf,
the /etc/rc.d/nfsd script sets vfs.nfsd.server_max_nfsvers to 3.

Then, when you set nfsv4_server_enable=YES in rc.conf, and restart nfsd
via the rc.d script, without rebooting, the sysctl does *not* get reset
to max version 4, so NFSv4 still doesn't work.

Fix this by explicitly setting vfs.nfsd.server_max_nfsvers to 4 when
NFSv4 is requested.

I also added resetting of the nfs_privport sysctls, since this has the
same issue: nfs_reserved_port_only=YES in rc.conf sets the nfs_privport
sysctl to 1, but in the other case, the sysctl doesn't get reset to 0.

Reviewed by: rmacklem
Silence from: rc@
Approved by: re (kib)

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

12 years agoMFC r226679:
bschmidt [Wed, 16 Nov 2011 17:39:59 +0000 (17:39 +0000)]
MFC r226679:
Let net80211 also know about stopped BA sessions. This fixes some issues
where the driver assumed that BA resources are still available due to
net80211 saying so.

PR: 161407, 159768
Tested by: cperciva, rene
Approved by: re (kib)

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

12 years agoMFC r226404:
eadler [Wed, 16 Nov 2011 16:27:53 +0000 (16:27 +0000)]
MFC r226404:

- add support for I-O DATA RSA-PCI2/R

PR: kern/142999
Submitted by: Takefu Kenji <takefu@airport.fm>
Approved by: jhb
Approved by: re (kib)

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

12 years agoMFC r227272:
ae [Wed, 16 Nov 2011 15:36:53 +0000 (15:36 +0000)]
MFC r227272:
  Add reference to gpart(8).

MFC r227280:
  Initialize "acc" value inside the loop to reset failed attempts.

  PR:           misc/162262

MFC r227292:
  Improve error reporting when MBR can not be written.
  Remove obsolete code which uses DIOCSMBR ioctl.
  When writing MBR first check that GEOM_MBR is available, if it is not
  available, then try write MBR directly to provider. If both are failed,
  then recommend to use gpart(8).

MFC r227295:
  Fix multi-line comment formatting.

  Pointed by:   jh

Approved by: re (kib)

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

12 years agoMFC rr227273:
ae [Wed, 16 Nov 2011 15:35:05 +0000 (15:35 +0000)]
MFC rr227273:
  Add reference to gpart(8).

Approved by: re (kib)

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

12 years agoMFC r227231:
ae [Wed, 16 Nov 2011 15:32:32 +0000 (15:32 +0000)]
MFC r227231:
  To be in sync with GEOM_PART_BSD limit the maximum number of supported
  partitions to 20.

MFC r227248:
  bsdlabel(8) could automatically fill many of disklabel's deprecated
  fields, but user could specify some of those fields when edits disklabel
  with `bsdlabel -e`. But without -A flag these fields might be
  overwritten with default values from the virgin disklabel.
  So, don't overwrite such fields if they are not zero. Also add checks
  to prevent creating disklabel with less than DEFPARTITIONS and more
  than MAXPARTITIONS partitions.

  PR: bin/162332
  Tested by: Eugene Grosbein

MFC r227262:
  Remove unneeded checks.

MFC r227270:
  Add recommendation to use gpart(8) when user tries write disklabel
  or bootcode to already opened provider.

MFC r227296:
  Fix multi-line comment formatting.

Approved by: re (kib)

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

12 years agoMFC r227274:
ae [Wed, 16 Nov 2011 15:23:19 +0000 (15:23 +0000)]
MFC r227274:
  Add reference to gpart(8).

MFC r227298:
  Remove a note about disabling of GEOM protection mechanism.
  boot0cfg should work without such hack.

Approved by: re (kib)

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

12 years agoMFC r227409:
delphij [Tue, 15 Nov 2011 17:30:03 +0000 (17:30 +0000)]
MFC r227409:

Do a dummy read to flush the interrupt ACK that we just performed,
ensuring that everything is really, truly consistent.

This fixes certain cases where one will see various:
  mfi0: COMMAND 0xffffffXXXXXXXXXX TIMEOUT AFTER XX SECONDS

Submitted by: scottl
Ok'ed by: jhb
Approved by: re (kib)

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

12 years agoThe releng/9.0 release branch has been created so convert stable/9 over
kensmith [Mon, 14 Nov 2011 00:45:25 +0000 (00:45 +0000)]
The releng/9.0 release branch has been created so convert stable/9 over
to our standard "Politically Correct" name for the balance of the 9.0-RELEASE
release cycle.

Approved by: re (implicit)

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

12 years agoMFC r227449:
trociny [Fri, 11 Nov 2011 14:42:05 +0000 (14:42 +0000)]
MFC r227449:

Fix false positive EADDRINUSE that could be returned by bind, due to
the typo made in r227207.

Reported by: kib
Tested by: kib

Approved by: re (kib)

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

12 years agoMFC r227204, 227206, 227207:
trociny [Thu, 10 Nov 2011 20:28:30 +0000 (20:28 +0000)]
MFC r227204, 227206, 227207:

r227204:

Fix the typo made in r157474.

r227206:

Before dereferencing intotw() check for NULL, the same way as it is
done for in_pcb (see r157474).

r227207:

Cache SO_REUSEPORT socket option in inpcb-layer in order to avoid
inp_socket->so_options dereference when we may not acquire the lock on
the inpcb.

This fixes the crash due to NULL pointer dereference in
in_pcbbind_setup() when inp_socket->so_options in a pcb returned by
in_pcblookup_local() was checked.

Reported by: dave jones <s.dave.jones@gmail.com>, Arnaud Lacombe <lacombar@gmail.com>
Suggested by: rwatson
Glanced by: rwatson
Tested by: dave jones <s.dave.jones@gmail.com>

Approved by: re (kib)

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

12 years agoMFC 227320:
tuexen [Thu, 10 Nov 2011 19:54:00 +0000 (19:54 +0000)]
MFC 227320:
When loading addresses from INITs, always use the correct
local address.

Approved by: re@

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