summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add urtwsam2009-07-191-0/+1
| | | | Approved by: re (kib)
* Correct AT_SYMLINK_FOLLOW flag name in linkat(2) man page.jilles2009-07-191-1/+1
| | | | Approved by: re (kib), ed (mentor)
* Fix two bugs in the experimental nfs client:rmacklem2009-07-191-13/+7
| | | | | | | | | | | | | | | | | | | - When the root vnode was acquired during mounting, mnt_stat.f_iosize was still set to 0, so getnewvnode() would set bo_bsize == 0. This would confuse getblk(), so that it always returned the first block causing the problem when the root directory of the mount point was greater than one block in size. It was fixed by setting mnt_stat.f_iosize to NFS_DIRBLKSIZ before calling ncl_nget() to acquire the root vnode. - NFSMNT_INT was being set temporarily while the initial connect to a server was being done. This erroneously configured the krpc for interruptible RPCs, which caused problems because signals weren't being masked off as they would have been for interruptible mounts. This code was deleted to fix the problem. Since mount_nfs does an NFS null RPC before the mount system call, connections to the server should work ok. Tested by: swell dot k at gmail dot com Approved by: re (kensmith), kib (mentor)
* Expose the definitions of 'struct vnet' and 'VNET_MAGIC_N' to userspacerwatson2009-07-191-12/+19
| | | | | | | | | if _WANT_VNET is defined. This is required so that libkvm can locate virtual network stack instances in order to reach their global variables for monitoring and crashdump analysis. Reviewed by: bz Approved by: re (kib)
* Reimplement and/or implement vnet list locking by replacing a mostlyrwatson2009-07-1914-65/+98
| | | | | | | | | | | | | | | | | | | | | | unused custom mutex/condvar-based sleep locks with two locks: an rwlock (for non-sleeping use) and sxlock (for sleeping use). Either acquired for read is sufficient to stabilize the vnet list, but both must be acquired for write to modify the list. Replace previous no-op read locking macros, used in various places in the stack, with actual locking to prevent race conditions. Callers must declare when they may perform unbounded sleeps or not when selecting how to lock. Refactor vnet sysinits so that the vnet list and locks are initialized before kernel modules are linked, as the kernel linker will use them for modules loaded by the boot loader. Update various consumers of these KPIs based on whether they may sleep or not. Reviewed by: bz Approved by: re (kib)
* Move code that does payload realigment to a new routine, ieee80211_realign,sam2009-07-184-48/+44
| | | | | | | so it can be reused. While here rewrite the logic to always use a single mbuf. Reviewed by: rpaulo Approved by: re (kib)
* Fix a problem, whereby misbehaving IPv6 applications, which don't includebms2009-07-181-2/+12
| | | | | | | | | a valid zone ID or interface identifier in a v6 multicast leave, would trigger a fairly paranoid KASSERT(). Observed with Boost++ regression tests on ref8.freebsd.org. Approved by: re (kib)
* Add an entry for etc/pam.d/gdm as this file is no longer required.marcus2009-07-181-0/+2
| | | | Approved by: re (kib)
* Remove gdm as it is no longer needed.marcus2009-07-181-1/+0
| | | | | Approved by: re (kib) Reminded by: nork
* - Fix the issue with read access count modification on RAID-5 plexes properly.lulf2009-07-181-4/+6
| | | | | | | | | If the access counts were not increased and decreased in equal numbers by gvinum consumers, the read access count would be inconsistent with the write access count. Instead, modify the read access count with the write access count directly to prevent any inconsistencies. Approved by: re (kib)
* Remove no longer needed #include after removing the legacybz2009-07-181-1/+0
| | | | | | | vimage API in r195741. Reviewed by: rwatson Approved by: re (kib)
* Remove this file. It is no longer needed as x11/gdm provides its ownmarcus2009-07-181-19/+0
| | | | | | version under /usr/local/etc/pam.d. Approved by: re (kib)
* An addendum to r195649, "Add support to the virtual memory system foralc2009-07-183-21/+18
| | | | | | | | | | | | | | | | configuring machine-dependent memory attributes...": Don't set the memory attribute for a "real" page that is allocated to a device object in vm_page_alloc(). It is a pointless act, because the device pager replaces this "real" page with a "fake" page and sets the memory attribute on that "fake" page. Eliminate pointless code from pmap_cache_bits() on amd64. Employ the "Self Snoop" feature supported by some x86 processors to avoid cache flushes in the pmap. Approved by: re (kib)
* Fix copy-paste bug. Use regular non-polled mode for executing FLUSHCACHEmav2009-07-171-2/+3
| | | | | | command on disk close. Approved by: re (implicitly)
* Store accurate offset information in CTF data. A large number ofnp2009-07-171-2/+2
| | | | | | | | | | | | | | | structs had incorrect member offsets, limiting dtrace's usefulness when working with them. An example of incorrect info (struct rtentry) from before this fix: <1738> STRUCT rtentry (200 bytes) rt_nodes type=1731 off=0 rt_gateway type=849 off=65280 <== WRONG, should be 8 * 96 rt_flags type=3 off=65344 <== wrong again, and so on.. ... Approved by: re (kib), gnn (mentor) MFC after: 2 weeks
* add mesh supportsam2009-07-172-17/+9
| | | | | Submitted by: rpaulo Approved by: re (kib)
* Implement RTLD_NOLOAD flag for dlopen(3).kib2009-07-173-7/+19
| | | | | | Requested and tested by: jkim Reviewed by: kan Approved by: re (kensmith)
* Patch the regular nfs client in a manner analagous tormacklem2009-07-171-1/+2
| | | | | | | | | r195704 for the experimental client. The patch avoids calling vn_lock() for the case where nfs_nget() has acquired the same vnode as dvp, since nfs_nget() has already locked the vnode. Reviewed by: kib, jhb Approved by: re (kensmith), kib (mentor)
* Only perform .bss mapping and cleaning operations when segment file sizekib2009-07-171-21/+27
| | | | | | | | | | | | | | | | | | | | | | | | is not equal to its memory size. This eliminates unneeded clearing of the text segment that often happens due to text end not being page-aligned. For instance, $ readelf -l /lib/libedit.so.6 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x00000000 0x00000000 0x139e1 0x139e1 R E 0x1000 LOAD 0x014000 0x00014000 0x00014000 0x00f04 0x00f14 RW 0x1000 DYNAMIC 0x014cc4 0x00014cc4 0x00014cc4 0x000d0 0x000d0 RW 0x4 $ procstat -v $$ (for /bin/sh) 68585 0x28097000 0x280aa000 r-x 6 0 21 14 CN vn /lib/libedit.so.6 68585 0x280aa000 0x280ab000 r-x 1 0 1 0 CN vn /lib/libedit.so.6 <== 68585 0x280ab000 0x280ac000 rwx 1 0 1 0 CN vn /lib/libedit.so.6 Note the splitted map entry marked by '<=='. Reviewed by: kan Approved by: re (kensmith) MFC after: 1 month
* Add IEEE80211_SUPPORT_MESH, following similar change to nanobsd andrpaulo2009-07-172-0/+2
| | | | | | other GENERIC kernels. Approved by: re (kib)
* Remove the interim vimage containers, struct vimage and struct procg,jamie2009-07-1713-564/+124
| | | | | | and the ioctl-based interface that supported them. Approved by: re (kib), bz (mentor)
* Import OpenBSM 1.1p1 from vendor branch to 8-CURRENT, populatingrwatson2009-07-1718-66/+319
| | | | | | | | | | | | | | | | | contrib/openbsm and a subset also imported into sys/security/audit. This patch release addresses several minor issues: - Fixes to AUT_SOCKUNIX token parsing. - IPv6 support for au_to_me(3). - Improved robustness in the parsing of audit_control, especially long flags/naflags strings and whitespace in all fields. - Add missing conversion of a number of FreeBSD/Mac OS X errnos to/from BSM error number space. MFC after: 3 weeks Obtained from: TrustedBSD Project Sponsored by: Apple, Inc. Approved by: re (kib)
* Remove unused VNET_SET() and related macros; only VNET_GET() isrwatson2009-07-1673-383/+378
| | | | | | | | | ever actually used. Rename VNET_GET() to VNET() to shorten variable references. Discussed with: bz, julian Reviewed by: bz Approved by: re (kensmith, kib)
* Fix several instances of spaces before commas, and one of a spacedougb2009-07-162-6/+6
| | | | | | | | before a ). PR: docs/136723 Submitted by: Ulrich Sporlein <uqs@spoerlein.net> Approved by: re (kib)
* Correct the name of the Mongolian Documentation package.kensmith2009-07-161-1/+1
| | | | Approved by: re (kib)
* Limit IOCATAREQUEST ioctl data size to controller's maximum I/O size.mav2009-07-161-0/+5
| | | | | | | | It fixes kernel panic when requested size is too large (0xffffffff), PR: kern/136726 Approved by: re (kib) MFC after: 2 weeks
* Prepare for the 8.0-BETA2 builds.kensmith2009-07-151-1/+1
| | | | Approved by: re (implicit)
* dtrace_gethrtime: improve scaling of TSC ticks to nanosecondsavg2009-07-152-4/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently dtrace_gethrtime uses formula similar to the following for converting TSC ticks to nanoseconds: rdtsc() * 10^9 / tsc_freq The dividend overflows 64-bit type and wraps-around every 2^64/10^9 = 18446744073 ticks which is just a few seconds on modern machines. Now we instead use precalculated scaling factor of 10^9*2^N/tsc_freq < 2^32 and perform TSC value multiplication separately for each 32-bit half. This allows to avoid overflow of the dividend described above. The idea is taken from OpenSolaris. This has an added feature of always scaling TSC with invariant value regardless of TSC frequency changes. Thus the timestamps will not be accurate if TSC actually changes, but they are always proportional to TSC ticks and thus monotonic. This should be much better than current formula which produces wildly different non-monotonic results on when tsc_freq changes. Also drop write-only 'cp' variable from amd64 dtrace_gethrtime_init() to make it identical to the i386 twin. PR: kern/127441 Tested by: Thomas Backman <serenity@exscape.org> Reviewed by: jhb Discussed with: current@, bde, gnn Silence from: jb Approved by: re (gnn) MFC after: 1 week
* correct IEEE80211_RADIOTAP_XCHANNEL to match systemsam2009-07-151-1/+1
| | | | | Submitted by: Guy Harris Approved by: re (kib)
* r195699 introduced an assertion regarding when progbits data in kernelrwatson2009-07-151-3/+0
| | | | | | | | | modules was present, which turns out to be false in some situations. Back out the assertion. Reported by: Luiz Otavio O Souza <lists.br at gmail.com>, Florian Smeets <flo at kasimir.com> Approved by: re (kensmith) (implicit)
* Add missing license line for vnet.h, correct white space nit.rwatson2009-07-151-1/+2
| | | | Approved by: re (kensmith) (implicit)
* Fix the experimental nfs client so that it does not cause armacklem2009-07-141-1/+2
| | | | | | | | | "share->excl" panic when doing a lookup of dotdot at the root of a server's file system. The patch avoids calling vn_lock() for that case, since nfscl_nget() has already acquired a lock for the vnode. Approved by: re (kensmith), kib (mentor)
* Use PBDRY flag for msleep(9) in NFS and NLM when sleeping thread ownskib2009-07-145-10/+14
| | | | | | | | | | kernel resources that block other threads, like vnode locks. The SIGSTOP sent to such thread (process, rather) shall not stop it until thread releases the resources. Tested by: pho Reviewed by: jhb Approved by: re (kensmith)
* Add new msleep(9) flag PBDY that shall be specified together withkib2009-07-1410-29/+58
| | | | | | | | | | | | PCATCH, to indicate that thread shall not be stopped upon receipt of SIGSTOP until it reaches the kernel->usermode boundary. Also change thread_single(SINGLE_NO_EXIT) to only stop threads at the user boundary unconditionally. Tested by: pho Reviewed by: jhb Approved by: re (kensmith)
* Move the repeated code to calculate the number of the threads in thekib2009-07-141-18/+19
| | | | | | | | | process that still need to be suspended or exited from thread_single into the new function calc_remaining(). Tested by: pho Reviewed by: jhb Approved by: re (kensmith)
* When wakeup(9) is going to notify swapper, assert that wait channel is notkib2009-07-141-1/+4
| | | | | | | | equal to &proc0. It shall be not, since proc0 stack is not swappable, and kick_proc0() is wakeup(&proc0). Reviewed by: jhb Approved by: re (kensmith)
* Build on Jeff Roberson's linker-set based dynamic per-CPU allocatorrwatson2009-07-14168-4307/+2500
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (DPCPU), as suggested by Peter Wemm, and implement a new per-virtual network stack memory allocator. Modify vnet to use the allocator instead of monolithic global container structures (vinet, ...). This change solves many binary compatibility problems associated with VIMAGE, and restores ELF symbols for virtualized global variables. Each virtualized global variable exists as a "reference copy", and also once per virtual network stack. Virtualized global variables are tagged at compile-time, placing the in a special linker set, which is loaded into a contiguous region of kernel memory. Virtualized global variables in the base kernel are linked as normal, but those in modules are copied and relocated to a reserved portion of the kernel's vnet region with the help of a the kernel linker. Virtualized global variables exist in per-vnet memory set up when the network stack instance is created, and are initialized statically from the reference copy. Run-time access occurs via an accessor macro, which converts from the current vnet and requested symbol to a per-vnet address. When "options VIMAGE" is not compiled into the kernel, normal global ELF symbols will be used instead and indirection is avoided. This change restores static initialization for network stack global variables, restores support for non-global symbols and types, eliminates the need for many subsystem constructors, eliminates large per-subsystem structures that caused many binary compatibility issues both for monitoring applications (netstat) and kernel modules, removes the per-function INIT_VNET_*() macros throughout the stack, eliminates the need for vnet_symmap ksym(2) munging, and eliminates duplicate definitions of virtualized globals under VIMAGE_GLOBALS. Bump __FreeBSD_version and update UPDATING. Portions submitted by: bz Reviewed by: bz, zec Discussed with: gnn, jamie, jeff, jhb, julian, sam Suggested by: peter Approved by: re (kensmith)
* Second attempt at eliminating .text relocations in shared librarieskan2009-07-149-13/+14
| | | | | | | | | | | | | | compiled with stack protector. Use libssp_nonshared library to pull __stack_chk_fail_local symbol into each library that needs it instead of pulling it from libc. GCC generates local calls to this function which result in absolute relocations put into position-independent code segment, making dynamic loader do extra work every time given shared library is being relocated and making affected text pages non-shareable. Reviewed by: kib Approved by: re (kib)
* - Change mmap() to fail requests with EINVAL that pass a length of 0. Thisjhb2009-07-142-3/+3
| | | | | | | | | | | | behavior is mandated by POSIX. - Do not fail requests that pass a length greater than SSIZE_MAX (such as > 2GB on 32-bit platforms). The 'len' parameter is actually an unsigned 'size_t' so negative values don't really make sense. Submitted by: Alexander Best alexbestms at math.uni-muenster.de Reviewed by: alc Approved by: re (kib) MFC after: 1 week
* Add missing MLINKS for acl_{get,set}_link_fd(3).trasz2009-07-141-0/+2
| | | | Approved by: re (kib)
* Re-add opt_inet.h, as we did in r193862 and lost yet again.bz2009-07-141-0/+1
| | | | Approved by: re (kib)
* Disable MSI by default for nVidia MCP55 chipset.mav2009-07-141-1/+1
| | | | | | | It is reported to be broken in the same way as MCP51. PR: kern/136429 Approved by: re (kib)
* - Do aggresive saturation on various polynomial interpolators.ariff2009-07-141-93/+98
| | | | | | | | | | This dramatically pushing 99.9% interpolations and quantizations error _below_ -180dB on 32bit dynamic range, resulting extremely high quality conversion. - Use BSPLINE interpolator for filter oversampling factor greater or equal than 64 (log2 6). Approved by: re (kib)
* Change xpt_scan_bus to scsi_scan_bus and xpt_scan_lun to scsi_scan_lunemaste2009-07-141-10/+10
| | | | | | in comments and printfs to match new function names after refacoring. Approved by: re
* Fix leaks in probestart, probedone, and scsi_scan_bus. Also freeemaste2009-07-141-3/+8
| | | | | | | | | | page_list using the matching malloc type for the allocation. Approved by: re Reviewed by: scottl [1] MFC after: 1 week [1] Original patch was against xpt_cam.c, prior to the cam refactoring.
* Updates, mostly to add 802.11s support:sam2009-07-142-38/+273
| | | | | | | | | | o add missing Status and Reason codes o parse/display Action frames o parse/display Mesh data frames o parse/display BA frames Reviewed by: rpaulo Approved by: re (kib)
* Fix a buglet that slipped into r195654. My buildworld/buildkernel sanitylstewart2009-07-141-1/+1
| | | | | | | | check missed this because cxgb's TOM is currently commented out of the build system. Submitted by: Navdeep Parhar <np at FreeBSD dot org> Approved by: re (kensmith), kensmith (mentor temporarily unavailable)
* Make mklocale work again, now that fwrite()'s return codes are different.ed2009-07-141-2/+2
| | | | | Submitted by: Navdeep Parhar <nparhar gmail com> Approved by: re (kib)
* Adding hardware ID for RTL810x PCIe found on HP Pavilion DV2-1022AX.avatar2009-07-142-0/+3
| | | | | Reviewed by: yongari Approved by: re (kib, kensmith)
* Match PCI Express root bridge _HID directly instead ofjkim2009-07-133-1/+3
| | | | | | | relying on _CID. Reviewed by: jhb Approved by: re (kib)
OpenPOWER on IntegriCloud