6182 Commits

Author SHA1 Message Date
Edward Tomasz Napierala
4d01f7c33b MFC r208437:
Make acl_get_perm_np(3) work with NFSv4 ACLs.

Reviewed by:	kientzle@
Approved by:	re (kib)
2010-06-02 20:35:56 +00:00
Ulrich Spörlein
182140f04a MFC r208493:
These features will first appear in 8.1, soon to be released

Approved by:	re (kib)
2010-05-30 08:38:41 +00:00
Colin Percival
31b99bfe49 Change the current working directory to be inside the jail created by
the jail(8) command. [10:04]

Fix a one-NUL-byte buffer overflow in libopie. [10:05]

Correctly sanity-check a buffer length in nfs mount. [10:06]

Approved by:	so (cperciva)
Approved by:	re (kensmith)
Security:	FreeBSD-SA-10:04.jail
Security:	FreeBSD-SA-10:05.opie
Security:	FreeBSD-SA-10:06.nfsclient
2010-05-27 03:15:04 +00:00
Edward Tomasz Napierala
674d3a9960 MFC r208034:
Make branding less intrusive - in acl_set(3), in case ACL brand
is ACL_BRAND_UNKNOWN, do what the programmer says instead of failing.
2010-05-20 18:46:11 +00:00
Edward Tomasz Napierala
0941e62812 MFC r208033:
Make it possible to actually use NFSv4 permission bits with acl_set_perm(3)
and acl_delete_perm(3).  It went undetected, because neither setfacl(1)
nor Samba use this routines.  D'oh.
2010-05-20 18:45:07 +00:00
Gordon Tetlow
db86a57ece MFC r207981:
Fix a bug due to a type conversion from 64 to 32 bits. The side effect of
 this type conversion is the high bits which were used to indicate if a
 special character was a literal or special were dropped. As a result, all
 special character were treated as special, even if they were supposed to
 be literals.

Approved by:	mentor (wes@)
2010-05-19 22:03:45 +00:00
Xin LI
42ddb8f1db MFC r205099-205100,205108:
Two optimizations to MI strlen(3) inspired by David S. Miller's
blog posting [1].

 - Use word-sized test for unaligned pointer before working
   the hard way.

   Memory page boundary is always integral multiple of a word
   alignment boundary.  Therefore, if we can access memory
   referenced by pointer p, then (p & ~word mask) must be also
   accessible.

 - Better utilization of multi-issue processor's ability of
   concurrency.

   The previous implementation utilized a formular that must be
   executed sequentially.  However, the ~, & and - operations can
   actually be caculated at the same time when the operand were
   different and unrelated.

   The original Hacker's Delight formular also offered consistent
   performance regardless whether the input would contain
   characters with their highest-bit set, as it catches real
   nul characters only.

These two optimizations has shown further improvements over the
previous implementation on microbenchmarks on i386 and amd64 CPU
including Pentium 4, Core Duo 2 and i7.

[1] http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2010/03/08#strlen_1
2010-05-13 23:28:20 +00:00
Jilles Tjoelker
1270ecd86a MFC r207734: sigaltstack(2): document some modernizations:
* un-document 'struct sigaltstack' tag for stack_t as this is BSD-specific;
  this doesn't seem useful enough to document as such
* alternate stacks are per thread, not per process
* update error codes to what the kernel does and POSIX requires
2010-05-13 15:44:49 +00:00
Konstantin Belousov
bdf855784c MFC r207604:
Document RUSAGE_THREAD.
2010-05-11 13:39:37 +00:00
Jilles Tjoelker
3a425b8d28 MFC r206760: getcwd(3): Clarify that EACCES may or may not be checked.
POSIX permits but does not require checking access on the current and parent
directories.

Because various programs do not like it if getcwd(3) fails, it seems best
to avoid checking access as much as possible. There are various reports in
GNATS about this (search for getcwd).

Our getcwd(3) implementation first queries the kernel for the pathname
directly, which does not check any permissions but sometimes fails, and then
falls back to reading all parent directories for the names.

PR:		standards/44425
2010-05-05 22:17:17 +00:00
Jilles Tjoelker
2239c5fda0 MFC r207190: unlinkat(2): unlinkat(AT_REMOVEDIR) fails with ENOTEMPTY
like rmdir() for non-empty directories.

POSIX permits both ENOTEMPTY and EEXIST, but we use the clearer ENOTEMPTY,
following BSD tradition.
2010-05-05 22:12:56 +00:00
Jilles Tjoelker
ad5308635f MFC r207186: sysctl(3): Update description of various kern.* variables.
Also add xrefs for confstr(3) (as sysconf(3) but for strings) and kvm(3)
(which is a more convenient way to access some of the variables).

PR:		116480
2010-05-05 22:00:57 +00:00
Konstantin Belousov
5e7622a371 MFC r207009:
C language does not has references, it provides pointers.
2010-05-05 09:29:34 +00:00
Konstantin Belousov
14d447de52 MFC r206893:
Slightly modernize realpath(3).

SUSv4 requires that implementation returns EINVAL if supplied path is NULL,
and ENOENT if path is empty string [1].
Bring prototype in conformance with SUSv4, adding restrict keywords.
Allow the resolved path buffer pointer be NULL, in which case realpath(3)
allocates storage with malloc().

MFC r206898:
Free() is not allowed to modify errno, remove safety brackets around it.
Add small optimization, do not copy a string to the buffer that is
to be freed immediately after.

MFC r206997:
Move realpath(3) prototype to a POSIX section.

MFC r206998:
Add standards section, improve wording, taking into account the handling
of NULL and changed type in declaration.
2010-05-04 05:34:18 +00:00
Marius Strobl
4ee4735187 MFC: r206490, r206492
While SPARC V9 allows tininess to be detected either before or after
rounding (impl. dep. #55), the SPARC JPS1 responsible for SPARC64 and
UltraSPARC processors defines that in all cases tininess is detected
before rounding therefore rounding up to the smallest normalized number
should set the underflow flag. This change is needed for using SoftFloat
on sparc64 for reference purposes.

PR:		144900
Submitted by:	Peter Jeremy
2010-05-02 16:52:23 +00:00
Jilles Tjoelker
8b0241c2d4 MFC r206711: fnmatch: Fix bad FNM_PERIOD disabling
if an asterisk has been seen.

Example: fnmatch("a*b/*", "abbb/.x", FNM_PATHNAME | FNM_PERIOD)

PR:		116074
2010-04-23 18:01:19 +00:00
Konstantin Belousov
c36c99a99d MFC r206549:
Align the declaration for sa_sigaction with POSIX.

MFC r206649:
Still reference struct __sigaction with clarification when this form
of argument declaration is needed.

MFC r206802:
Revert r206649. Simplify the presented declaration of struct sigaction.
2010-04-21 11:09:13 +00:00
Hajimu UMEMOTO
4deeadcb9b MFC r206155, r206267: Add capability to use a db version of
services.  It is enabled by specifying `db' as source of
services in /etc/nsswitch.conf.
2010-04-18 04:07:32 +00:00
Hajimu UMEMOTO
b7a43116e9 MFC ir206152, r206153, r206154:
- Stop adding trailing '\n'.  The servent_unpack() doesn't expect
  lines terminated with '\n'.
- Treat '+' as special only when in compat mode, and simplify
  the logic bit.
- Reduce duplicate code.
2010-04-18 03:52:41 +00:00
John Baldwin
f70ad5484f MFC 205536:
Reject attempts to create a MAP_ANON mapping with a non-zero offset.
2010-04-14 15:22:58 +00:00
Edward Tomasz Napierala
5b796d064a MFC r205796:
Make acl_to_text_np(3) not crash on long group or user names in NFSv4 ACLs.

PR:		amd64/145091
2010-04-13 06:01:24 +00:00
Andriy Gapon
d1bec90bbe MFC r206178: ibc/db/hash: cap auto-tuned block size 2010-04-12 21:12:03 +00:00
Andriy Gapon
a1a102fb15 MFC r206177: hash.3: fix a factual mistake in the man page 2010-04-08 07:43:15 +00:00
Pietro Cerutti
28f9173691 MFC r205606
Remove const'ness from dlerror(3) prototype, for consistency with POSIX.

Approved by:	cognet
2010-03-31 13:51:31 +00:00
Marius Strobl
aa1750167b MFC: r205410
Avoid aliasing which leads to incorrect results when compiling with the
default strict aliasing rules.

PR:		144900
Submitted by:	Peter Jeremy
2010-03-30 19:13:37 +00:00
Marius Strobl
1185606b8c MFC: r205397
- While SPARC V9 allows tininess to be detected either before or after
  rounding (impl. dep. #55), the SPARC JPS1 responsible for SPARC64 and
  UltraSPARC processors defines that in all cases tinyness is detected
  before rounding, therefore rounding up to the smallest normalised
  number should set the underflow flag.
- If an infinite result is rounded down, the result should have an
  exponent 1 less than the value for infinity.

PR:		144900
Submitted by:	Peter Jeremy
2010-03-30 19:08:02 +00:00
Marius Strobl
fa38e6334c MFC: r205396
Division should take both arguments' signs into account when the
the dividend is infinity or zero and the divisor is not the same.

PR:		144900
Submitted by:	Peter Jeremy
2010-03-30 19:06:31 +00:00
Marius Strobl
35cbfc2ca0 MFC: r205395
FPU_DEBUG requires <stdio.h>.

PR:		144900
Submitted by:	Peter Jeremy
2010-03-30 19:05:08 +00:00
Marius Strobl
3f6c7d0307 MFC: r205394
Ensure that __fpu_ftox() both returns the high bits and res[1] contains
the low bits also in the default case.

PR:		144900
Obtained from:	OpenBSD
2010-03-30 19:03:26 +00:00
Marius Strobl
c3342f6536 MFC: r205393
- Remove a bogus forward declaration.
- Fix whitespace.
2010-03-30 18:58:07 +00:00
John Baldwin
f5ccef8fd9 MFC 204950,205020:
Use thr_once() with once_t controls to initialize various thread_key_t
objects used to provide per-thread storage in the RPC code.  Almost all
of these used double-checking with a dedicated mutex (tsd_lock) to do this
before.  However, that is not always safe with more relaxed memory orders.
There were also other bugs, such as one in __rpc_createrr() that caused a
new key to be allocated each time __rpc_createrr() was invoked.
2010-03-22 15:52:26 +00:00
Marius Strobl
2181f8f5be MFC: r204974, r205002
- The OPSZ macro actually only does the right thing for int32 and int64
  operands but not for double and extended double ones. Instead of trying
  to fix the macro just nuke it and unroll the loops in the correct way
  though as extended double operands turn out to be the only special case.
- For FxTO{s,d,q} the source operand is int64 so rs2 has to be re-decoded
  after setting type accordingly as it's generally decoded using the low
  2 bits as the type, which are 0 for these three instructions.
- Similarly, in case of F{s,d,q}TOx the target is int64 so rd has to be
  re-decoded using not only the operand mask appropriate for int64 but
  also the correct register number encoding.
- Use const where appropriate.
- Wrap long lines.

Submitted by:	Peter Jeremy (partly)
2010-03-15 18:32:57 +00:00
Jaakko Heinonen
324846ecfa MFC r204447:
In _gettemp(), check that the length of the path doesn't exceed
MAXPATHLEN. Otherwise the path name (or part of it) may not fit to
carrybuf causing a buffer overflow.

PR:		bin/140228
2010-03-12 06:56:51 +00:00
Marcel Moolenaar
35420d4867 MFC revs 203696, 203783:
Add PT_VM_TIMESTAMP and PT_VM_ENTRY so that the tracing process can
obtain the memory map of the traced process.

Requested by: kib@
2010-03-07 00:07:00 +00:00
Konstantin Belousov
bd94a8bcdc MFC r204307:
Make pause(3) implementation not depended on the legacy sigcompat.c
interfaces. Do not block rt signals during and after pause(3) calls.
Use private libc namespace to call proper methods.
2010-03-04 07:12:44 +00:00
Brooks Davis
d4e3872db3 MFC r201959
Use the correct types to store uids and gids in the credential cache and
eliminate an inappropriate use of NGROUPS.
2010-03-03 21:47:25 +00:00
Rebecca Cran
ee7ee75497 MFC r203323:
Remove extra semicolon.

Approved by:	rrs (mentor)
2010-02-18 10:55:42 +00:00
Rebecca Cran
73ab91c2d6 MFC r203322:
Fix typo of ENOTCONN.
Add missing RETURN VALUES section in sctp_opt_info(3).

Approved by:	rrs (mentor)
2010-02-18 10:51:31 +00:00
Gavin Atkinson
d69d02b9a4 Merge r203393,r203395 from head:
The multiplicand a = 0x5deece66d = 25214903917, not 0xfdeece66d.
  This bug in the man page has gone unnoticed for over 15 years!

PR:		docs/143461
Submitted by:	Jeremy Huddleston  jeremyhu apple.com
2010-02-13 10:26:00 +00:00
Ed Maste
3268298eef MFC r203077:
Add missing return, in a rare case where we can't allocate memory in
  deallocate.

Submitted by: Ryan Stone (rysto32 at gmail dot com)
Approved by:  jasone
2010-02-09 13:07:32 +00:00
Hajimu UMEMOTO
9ed7f3a23a MFC r202916: Make strsignal(3) thread-safe. 2010-02-07 04:27:18 +00:00
Konstantin Belousov
f2d58a1d9b MFC r199827:
Implement sighold, sigignore, sigpause, sigrelse, sigset functions.

MFC r200881 (by cognet):
Don't name parameters.
2010-01-31 18:38:03 +00:00
Antoine Brodin
e2b36efde5 MFC r201145 to stable/8:
(S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument.
  Fix some wrong usages.
  Note: this does not affect generated binaries as this argument is not used.

  PR:		137213
  Submitted by:	Eygene Ryabinkin (initial version)
2010-01-30 12:11:21 +00:00
David Schultz
903d5593ab MFC r197752:
Better glibc compatibility for getline/getdelim:

  - Tolerate applications that pass a NULL pointer for the buffer and
    claim that the capacity of the buffer is nonzero.

  - If an application passes in a non-NULL buffer pointer and claims the
    buffer has zero capacity, we should free (well, realloc) it
    anyway. It could have been obtained from malloc(0), so failing to
    free it would be a small memory leak.
2010-01-24 20:15:59 +00:00
Konstantin Belousov
b3c4be736e Merge scandir(3) interface update to stable/8.
MFC r201512:
Modernize scandir(3) and alphasort(3) interfaces according to the IEEE
Std 1003.1-2008.

MFC r201602:
Move scandir(3) and alphasort(3) into XSI namespace.

MFC r201604:
Use thunks to adapt alphasort-like interface to the comparision function
required by qsort() and qsort_r().

MFC r202556 (by ache):
Use strcoll() in opendir() and alphasort(). Remove some comments.

MFC r202572 (by ache):
Revert to using strcmp() for opendir().

MFC r202677 (by ache):
Style.

MFC r202679 (by ache):
Style: rename internal function to opendir_compar().

MFC r202691 (by ache):
For alphasort(3) add reference to strcoll(3).

MFC r202693 (by ache):
Style: reword comment.
2010-01-24 12:35:36 +00:00
Xin LI
deacfb8431 MFC r201892:
Add a set of manual pages for pthread[_attr]_[sg]etaffinity(3).

Reviewed by:	davidxu
2010-01-23 00:43:44 +00:00
Brooks Davis
52c240aaf4 MFC r201350:
The devices that supported EVFILT_NETDEV kqueue filters were removed in
  r195175.  Remove all definitions, documentation, and usage.

The change of function signature for vlan_link_state() was not merged to
maintain the ABI.
2010-01-22 19:51:34 +00:00
Xin LI
6e6d19008b MFC r200802:
Use vsprintf instead of rolling our own.

PR:		bin/140496
Submitted by:	Jeremy Huddleston <jeremyhu apple.com>
2010-01-20 00:53:44 +00:00
Xin LI
bf2d481d44 MFC r200800:
Use vsscanf instead of rolling our own.

PR:		bin/140530
Submitted by:	Jeremy Huddleston <jeremyhu apple.com>
2010-01-20 00:53:03 +00:00
Xin LI
49399ca706 MFC r200799:
K&R -> ANSI prototype.
2010-01-20 00:52:24 +00:00