1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
freebsd/sys
Alfred Perlstein c636255150 fix races in the uidinfo subsystem, several problems existed:
1) while allocating a uidinfo struct malloc is called with M_WAITOK,
   it's possible that while asleep another process by the same user
   could have woken up earlier and inserted an entry into the uid
   hash table.  Having redundant entries causes inconsistancies that
   we can't handle.

   fix: do a non-waiting malloc, and if that fails then do a blocking
   malloc, after waking up check that no one else has inserted an entry
   for us already.

2) Because many checks for sbsize were done as "test then set" in a non
   atomic manner it was possible to exceed the limits put up via races.

   fix: instead of querying the count then setting, we just attempt to
   set the count and leave it up to the function to return success or
   failure.

3) The uidinfo code was inlining and repeating, lookups and insertions
   and deletions needed to be in their own functions for clarity.

Reviewed by: green
2000-06-22 22:27:16 +00:00
..
alpha Add UP1000 to GENERIC 2000-06-19 21:55:42 +00:00
amd64 Add SOFTUPDATES to GENERIC (BOOTMFS has this filtered out) 2000-06-22 06:01:02 +00:00
boot Whitespace-only changes: apply accepted line breaking style as a 2000-06-22 08:37:22 +00:00
cam Fix breakage where we never were attaching SES devices because inq_len 2000-06-18 04:19:08 +00:00
coda
compat fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
compile
conf Make the generated set headers depend on Makefile as well (that is where 2000-06-22 19:44:25 +00:00
contrib Update to new copyright. 2000-06-22 00:29:53 +00:00
crypto
ddb
dev Put RF_SHAREABLE into the bus_alloc_resource call. 2000-06-22 19:10:35 +00:00
fs Rename the VRXEC' macro used to clear read and exec bits to FDRX' so 2000-06-20 20:34:11 +00:00
geom
gnu Fix typo (accessable --> accessible). 2000-06-14 17:53:40 +00:00
i4b Borrow phk's axe and apply the next stage of config(8)'s evolution. 2000-06-13 22:28:50 +00:00
i386 Rename macros to all-uppercase. Get rid of a comment that was ironic 2000-06-22 20:53:36 +00:00
isa This is a temporary bandaid to get vidconsole working again without 2000-06-15 10:01:12 +00:00
isofs/cd9660
kern fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
libkern
miscfs Rename the VRXEC' macro used to clear read and exec bits to FDRX' so 2000-06-20 20:34:11 +00:00
modules Switch LINUX_TDFX to TDFX_LINUX, that's what i get for typing this 2000-06-22 19:08:05 +00:00
msdosfs
net Implement SIOCSIFLLADDR, which allows you to change the link-level 2000-06-16 20:14:43 +00:00
netatalk
netatm
netgraph Fix bug where receive statistics for the bundle were not getting updated. 2000-06-01 01:29:49 +00:00
netinet - Removed PacketAliasPptp() API function. 2000-06-20 13:07:52 +00:00
netinet6 Inhibit successful DAD messages and "no default interface" messages. 2000-06-22 19:04:41 +00:00
netipx
netkey Check for MGET* returning NULL and return ENOBUFS in this case. 2000-06-10 17:55:57 +00:00
netnatm Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
netncp Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
netns
nfs Correctly set the Maximum DHCP Message Size. bootpd now works 2000-06-13 09:32:09 +00:00
nfsclient Correctly set the Maximum DHCP Message Size. bootpd now works 2000-06-13 09:32:09 +00:00
nfsserver Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ntfs Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
nwfs Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
pc98 Sync with sys/dev/syscons/scterm-sc.c revisions 1.6 and 1.7. 2000-06-22 10:03:28 +00:00
pccard o Implement some compatibility functions for NEWCARD compat. This is 2000-06-18 04:59:39 +00:00
pci Added support for SMC9432BTX cards. 2000-06-21 19:19:49 +00:00
posix4
powerpc Support bounce buffers for ISA DMA on the alpha. This is required for the 2000-06-19 18:41:27 +00:00
rpc
svr4 fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
sys fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
tools
ufs Update to new copyright. 2000-06-22 00:29:53 +00:00
vm Add missing increment of allocation counter. 2000-06-05 06:34:41 +00:00
Makefile If "MODULES_WITH_WORLD" is defined, sys/modules will be built with the 2000-06-17 10:51:56 +00:00