summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix typos, document UMASK values.jkoshy2008-11-131-53/+54
|
* Remove duplicates, fix errors and document UMASK values.jkoshy2008-11-131-54/+47
|
* Document the alternate event names supported for "architectural" PMC events.jkoshy2008-11-123-25/+74
|
* Use spellings that are close to vendor documentation.jkoshy2008-11-121-3/+3
|
* Several cleanups related to pipe(2).ed2008-11-111-6/+1
| | | | | | | | | | | | | | | | | | - Use `fildes[2]' instead of `*fildes' to make more clear that pipe(2) fills an array with two descriptors. - Remove EFAULT from the manual page. Because of the current calling convention, pipe(2) raises a segmentation fault when an invalid address is passed. - Introduce kern_pipe() to make it easier for binary emulations to implement pipe(2). - Make Linux binary emulation use kern_pipe(), which means we don't have to recover td_retval after calling the FreeBSD system call. Approved by: rdivacky Discussed on: arch
* style(9) fixes.scf2008-11-111-20/+14
| | | | MFC after: 1 week
* Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4.ed2008-11-097-15/+8
| | | | | | | | | | | | | | | | | | | | | Looking at our source code history, it seems the uname(), getdomainname() and setdomainname() system calls got deprecated somewhere after FreeBSD 1.1, but they have never been phased out properly. Because we don't have a COMPAT_FREEBSD1, just use COMPAT_FREEBSD4. Also fix the Linuxolator to build without the setdomainname() routine by just making it call userland_sysctl on kern.domainname. Also replace the setdomainname()'s implementation to use this approach, because we're duplicating code with sysctl_domainname(). I wasn't able to keep these three routines working in our COMPAT_FREEBSD32, because that would require yet another keyword for syscalls.master (COMPAT4+NOPROTO). Because this routine is probably unused already, this won't be a problem in practice. If it turns out to be a problem, we'll just restore this functionality. Reviewed by: rdivacky, kib
* Add one more EACCES clause to rename.2.trasz2008-11-071-0/+5
| | | | Approved by: rwatson (mentor)
* Eliminate dead declarations in libstand.raj2008-11-061-4/+0
|
* Support kernel crash mini dumps on ARM architecture.raj2008-11-064-4/+286
| | | | Obtained from: Juniper Networks, Semihalf
* Merge latest DTrace changes from Perforce.rodrigc2008-11-052-3/+10
| | | | | | Update libproc API to reflect new changes. Approved by: jb
* Like many other functions that handle sockaddrs, realhostname_sa() takes ades2008-11-051-5/+18
| | | | | | | | | | | | | | | | | struct sockaddr * that it casts internally to the appropriate type based on sa_family. However, struct sockaddr has very lax alignment requirements, which causes the compiler to complain when you cast a struct sockaddr * to, say, a struct sockaddr_in6 *. I find it reasonable to assume that the pointer we received is in fact correctly aligned. Therefore, we can work around the compiler warnings by casting to void * before casting to the desired type. For readability's sake, this is done with macros. The same technique should prove useful in other parts of the tree that deal with socket addresses. MFC after: 3 weeks
* Comment out WARNS. There are too many alignment issues in libutil.des2008-11-051-1/+1
|
* Disconnect gr_util.c from the build. It isn't documented or used anywheredes2008-11-051-1/+1
| | | | | in the tree, and due to unsafe pointer arithmetic, it will most likely crash on architectures with strict alignment requirements.
* libutil now builds at WARNS level 6.des2008-11-041-0/+2
| | | | MFC after: 3 weeks
* Add missing header.des2008-11-041-0/+1
|
* Avoid assigning a const char * to a char *.des2008-11-042-10/+10
| | | | MFC after: 3 weeks
* Bring in USB4BSD, Hans Petter Selasky rework of the USB stackalfred2008-11-0412-0/+6375
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that includes significant features and SMP safety. This commit includes a more or less complete rewrite of the *BSD USB stack, including Host Controller and Device Controller drivers and updating all existing USB drivers to use the new USB API: 1) A brief feature list: - A new and mutex enabled USB API. - Many USB drivers are now running Giant free. - Linux USB kernel compatibility layer. - New UGEN backend and libusb library, finally solves the "driver unloading" problem. The new BSD licensed libusb20 library is fully compatible with libusb-0.1.12 from sourceforge. - New "usbconfig" utility, for easy configuration of USB. - Full support for Split transactions, which means you can use your full speed USB audio device on a high speed USB HUB. - Full support for HS ISOC transactions, which makes writing drivers for various HS webcams possible, for example. - Full support for USB on embedded platforms, mostly cache flushing and buffer invalidating stuff. - Safer parsing of USB descriptors. - Autodetect of annoying USB install disks. - Support for USB device side mode, also called USB gadget mode, using the same API like the USB host side. In other words the new USB stack is symmetric with regard to host and device side. - Support for USB transfers like I/O vectors, means more throughput and less interrupts. - ... see the FreeBSD quarterly status reports under "USB project" 2) To enable the driver in the default kernel build: 2.a) Remove all existing USB device options from your kernel config file. 2.b) Add the following USB device options to your kernel configuration file: # USB core support device usb2_core # USB controller support device usb2_controller device usb2_controller_ehci device usb2_controller_ohci device usb2_controller_uhci # USB mass storage support device usb2_storage device usb2_storage_mass # USB ethernet support, requires miibus device usb2_ethernet device usb2_ethernet_aue device usb2_ethernet_axe device usb2_ethernet_cdce device usb2_ethernet_cue device usb2_ethernet_kue device usb2_ethernet_rue device usb2_ethernet_dav # USB wireless LAN support device usb2_wlan device usb2_wlan_rum device usb2_wlan_ral device usb2_wlan_zyd # USB serial device support device usb2_serial device usb2_serial_ark device usb2_serial_bsa device usb2_serial_bser device usb2_serial_chcom device usb2_serial_cycom device usb2_serial_foma device usb2_serial_ftdi device usb2_serial_gensa device usb2_serial_ipaq device usb2_serial_lpt device usb2_serial_mct device usb2_serial_modem device usb2_serial_moscom device usb2_serial_plcom device usb2_serial_visor device usb2_serial_vscom # USB bluetooth support device usb2_bluetooth device usb2_bluetooth_ng # USB input device support device usb2_input device usb2_input_hid device usb2_input_kbd device usb2_input_ms # USB sound and MIDI device support device usb2_sound 2) To enable the driver at runtime: 2.a) Unload all existing USB modules. If USB is compiled into the kernel then you might have to build a new kernel. 2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same base name like the kernel device option. Submitted by: Hans Petter Selasky hselasky at c2i dot net Reviewed by: imp, alfred
* Replace the non-standard disclaimer with the standard one from /COPYRIGHTimp2008-11-0419-152/+152
| | | | Approved by: jedgar@
* Revert to preferring mmap(2) over sbrk(2) when mapping memory, due tojasone2008-11-032-13/+18
| | | | | | | potential extreme contention in the kernel for multi-threaded applications on SMP systems. Reported by: kris
* Implement support for RPCSEC_GSS authentication to both the NFS clientdfr2008-11-034-12/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and server. This replaces the RPC implementation of the NFS client and server with the newer RPC implementation originally developed (actually ported from the userland sunrpc code) to support the NFS Lock Manager. I have tested this code extensively and I believe it is stable and that performance is at least equal to the legacy RPC implementation. The NFS code currently contains support for both the new RPC implementation and the older legacy implementation inherited from the original NFS codebase. The default is to use the new implementation - add the NFS_LEGACYRPC option to fall back to the old code. When I merge this support back to RELENG_7, I will probably change this so that users have to 'opt in' to get the new code. To use RPCSEC_GSS on either client or server, you must build a kernel which includes the KGSSAPI option and the crypto device. On the userland side, you must build at least a new libc, mountd, mount_nfs and gssd. You must install new versions of /etc/rc.d/gssd and /etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf. As long as gssd is running, you should be able to mount an NFS filesystem from a server that requires RPCSEC_GSS authentication. The mount itself can happen without any kerberos credentials but all access to the filesystem will be denied unless the accessing user has a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There is currently no support for situations where the ticket file is in a different place, such as when the user logged in via SSH and has delegated credentials from that login. This restriction is also present in Solaris and Linux. In theory, we could improve this in future, possibly using Brooks Davis' implementation of variant symlinks. Supporting RPCSEC_GSS on a server is nearly as simple. You must create service creds for the server in the form 'nfs/<fqdn>@<REALM>' and install them in /etc/krb5.keytab. The standard heimdal utility ktutil makes this fairly easy. After the service creds have been created, you can add a '-sec=krb5' option to /etc/exports and restart both mountd and nfsd. The only other difference an administrator should notice is that nfsd doesn't fork to create service threads any more. In normal operation, there will be two nfsd processes, one in userland waiting for TCP connections and one in the kernel handling requests. The latter process will create as many kthreads as required - these should be visible via 'top -H'. The code has some support for varying the number of service threads according to load but initially at least, nfsd uses a fixed number of threads according to the value supplied to its '-n' option. Sponsored by: Isilon Systems MFC after: 1 month
* Add the ffsll and flsll functions. These are ffs and fls operatingkib2008-11-035-8/+122
| | | | | | | | on long long arguments. Reviewed by: bde (previous version, that included asm implementation for all ffs and fls functions on i386 and amd64) MFC after: 2 weeks
* Fix style.kib2008-11-031-1/+1
|
* Sync with OpenBSD's dirname(3) - license change, avoid strcpy() overdelphij2008-11-032-68/+46
| | | | | string constant, use memcpy() instead of strncpy() and improve code readibility. No functional change.
* Add missing END() macros, as per rev 184547 for amd64. The lack of thesepeter2008-11-0243-4/+59
| | | | is mostly harmless, but it does upset some of valgrind's functionality.
* We've been lax about matching END() macros in asm code for some time. Thispeter2008-11-0227-4/+46
| | | | | | | is used to set the ELF size attribute for functions. It isn't normally critical but some things can make use of it (gdb for stack traces). Valgrind needs it so I'm adding it in. The problem is present on all branches and on both i386 and amd64.
* Correct the documented declaration of the archive_write_callback tokientzle2008-11-011-2/+2
| | | | | | | | match the code. PR: docs/128089 Submitted by: Mel MFC after: 3 days
* In example use of err(3) and errx(3), use sysexits(3) constants.rwatson2008-10-311-4/+5
| | | | | MFC after: 3 days Submitted by: Bruce Cran <bruce at cran dot org dot uk>
* Pass a pointer to warn2 so the warn2 == IN_ALL would not be andelphij2008-10-301-1/+1
| | | | always-false condition.
* Remove unneeded call to revoke() inside openpty().ed2008-10-281-4/+0
| | | | | | | | | | | | | | As discussed on the commits list, there is no need to call revoke() inside openpty(). On RELENG_6 and RELENG_7 unlockpt() will call revoke(). On HEAD we create pseudo-terminals on demand, so there is no need to revoke the slave device node. This change should never be MFC'd, because the implementation we have in RELENG_6 and RELENG_7 should work flawlessly with older versions of libc. Discussed with: jhb MFC after: never
* Supply a valid Connect ID when issuing XPT_DEV_MATCH, whichmarius2008-10-271-0/+3
| | | | | | | | | | | | | | according to my reading of the CAM draft is mandatory for all CCB function calls and enforced by xptioctl() since at least r168752. Previously we happened to use 0 as the Path ID, causing the XPT_DEV_MATCH call to fail if there's no SCSI bus 0. Basically the same bug was also fixed the same way for camcontrol(8) as part of r126514. PR: 127605 Submitted by: Eygene Ryabinkin Approved by: silence from ken and scottl MFC after: 1 week
* Finish what revision 1.40 started. Revision 1.40 removed a false statementalc2008-10-241-8/+6
| | | | | | | from the description but not the errors section. This revision removes it from the errors statement. Add a statement about the non-portability of non-page-aligned offsets.
* Don't fail mistakenly with -r when we already have the whole file.ru2008-10-241-0/+1
| | | | Reviewed by: des
* Fix a typo.rdivacky2008-10-231-1/+1
| | | | Approved by: kib (mentor)
* Fix a typo. q is already a pointer.kib2008-10-221-1/+1
| | | | | Reported by: ache Pointy hat to: kib
* Remove doubtful structure definition with variable array members.kib2008-10-221-67/+75
| | | | | | | | | | | | I believe this is not a valid C99 construct. Use directly calculated offsets into the supplied buffer, using specified members length, to fill appropriate structure. Either use sysctl, or copy the value of the UNAME_x environment variable, instead of unconditionally doing sysctl, and then overriding a returned value with user-specified one. Noted and tested by: rdivacky
* Move va_end() updes2008-10-211-1/+1
|
* If we don't know the file size, leave the file size unset.kientzle2008-10-213-14/+28
| | | | | | | | | | | | If it's not a regular file, don't return any data, even if the size is unknown. Update the Zip test with a hand-tweaked Zip archive that has a directory (with length-at-end set), a regular file without length-at-end set, and a regular file with length-at-end set and a bad CRC. Update the test code to verify that the file size is unset for the regular file with length-at-end. MFC after: 7 days
* Diff reduction against Varnish, including one important fix: use a shareddes2008-10-201-12/+12
| | | | lock if the file is opened with O_RDONLY.
* Reimplement flopen(3) using fcntl(2) locks instead of flock(2) locks.des2008-10-202-13/+16
|
* pidfile(3) uses flopen(3) - don't make any assumptions about how thedes2008-10-201-9/+8
| | | | latter is implemented.
* There is no point in releasing a lock on a file which we've unlinked anddes2008-10-201-4/+0
| | | | | are about to close, so don't. As a bonus, pidfile_remove(3) will now work with an fcntl(2)-based flopen(3).
* Since in_lt() and in_lts() are not static, assume that they are intended todes2008-10-202-2/+22
| | | | be part of the public API. Accordingly, add prototypes and document them.
* Additional style and whitespace fixes.des2008-10-201-1/+3
|
* Style and whitespacedes2008-10-201-17/+17
|
* Unbreakdes2008-10-201-3/+3
|
* Since setclasscpumask() is not static, assume that it is intended to bedes2008-10-202-5/+10
| | | | part of the public API. Accordingly, add a prototype and document it.
* Style and whitespace.des2008-10-201-15/+19
|
* Parenthesize return values.des2008-10-201-11/+11
|
* include and whitespace cleanup.des2008-10-201-7/+8
|
OpenPOWER on IntegriCloud