opnsense-src/sys/dev
David Malone e1419c08e2 falloc allocates a file structure and adds it to the file descriptor
table, acquiring the necessary locks as it works. It usually returns
two references to the new descriptor: one in the descriptor table
and one via a pointer argument.

As falloc releases the FILEDESC lock before returning, there is a
potential for a process to close the reference in the file descriptor
table before falloc's caller gets to use the file. I don't think this
can happen in practice at the moment, because Giant indirectly protects
closes.

To stop the file being completly closed in this situation, this change
makes falloc set the refcount to two when both references are returned.
This makes life easier for several of falloc's callers, because the
first thing they previously did was grab an extra reference on the
file.

Reviewed by:	iedowse
Idea run past:	jhb
2003-10-19 20:41:07 +00:00
..
aac Fix a couple of bugs with AIF handling: 2003-10-17 21:44:06 +00:00
acpica Disable irqs before entering the power-off state. This is not known 2003-10-19 05:56:59 +00:00
adlink The present defaults for the open and close for device drivers which 2003-09-27 12:01:01 +00:00
advansys Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
agp Make the i810 AGP device create a "drmsub" child device. This will be attached 2003-10-02 19:49:15 +00:00
aha Use __FBSDID(). 2003-08-24 17:55:58 +00:00
ahb Make this at least compile on 64 bit platforms. Its been breaking 2003-07-30 20:09:22 +00:00
aic Use __FBSDID(). 2003-08-24 17:55:58 +00:00
aic7xxx aic79xx_pci.c: 2003-09-25 23:36:41 +00:00
amd Prefer new location of pci include files (which have only been in the 2003-08-22 05:54:52 +00:00
amr crashdump support. 2003-10-10 22:49:40 +00:00
an Xircom Wireless Ethernet card is a rebadged Cisco 340, but with a 2003-10-08 01:20:00 +00:00
ar Use __FBSDID(). 2003-08-24 17:55:58 +00:00
asr Remove code previously under #ifdef ASR_VERY_BROKEN 2003-09-26 15:56:42 +00:00
ata No need to initialize bio_pblkno from bio_blkno, disksort uses bio_offset. 2003-10-18 17:24:51 +00:00
ath o consolidate rx filter calculations in one place 2003-10-17 21:58:39 +00:00
atkbdc Assign keycodes for Power, Sleep and Wake keys. 2003-10-07 09:21:59 +00:00
awi Fix off-by-one error in array bounds check. 2003-09-05 11:09:26 +00:00
bfe Remove unnecessary #include of brgphyreg.h, left over from when Stuart used 2003-09-09 18:21:17 +00:00
bge By not setting No_CRC in the Mode Control Register, we must also 2003-09-23 19:54:32 +00:00
bktr Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
buslogic Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
cardbus remove obsolete quirks for cardbus cis. none have proven to be needed. 2003-10-07 03:40:17 +00:00
ciss Print the correct logical drive lun number returned by the controller. 2003-10-15 18:52:44 +00:00
cm Use __FBSDID(). 2003-08-24 17:55:58 +00:00
cnw Use __FBSDID(). 2003-08-24 17:55:58 +00:00
cs Use __FBSDID(). 2003-08-24 17:55:58 +00:00
ct Use __FBSDID(). 2003-08-24 17:55:58 +00:00
cy MFsio (sio.c 1.413: cleaned up and fixed setting of speeds in comparam()). 2003-09-27 12:40:23 +00:00
dc Ignore CSR13, CSR14, CSR15 'Media Specific Data' registers 2003-10-05 19:57:10 +00:00
de Prefer new location of pci include files (which have only been in the 2003-08-22 07:20:27 +00:00
dec Use __FBSDID(). 2003-08-24 17:55:58 +00:00
dgb Remove a few ushorts I missed in my earlier pass. 2003-08-15 14:55:50 +00:00
digi Eliminate bogus use of makedev(): rather than synthesize the dev_t, use 2003-09-26 09:05:57 +00:00
dpt Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
drm Merge from DRI CVS. Includes newly ported SiS 300/305/540/630/730 driver and 2003-09-09 00:24:31 +00:00
ed Add Allied Telesis SIC-AT boards support. 2003-10-15 17:22:15 +00:00
eisa Use __FBSDID(). 2003-08-24 17:55:58 +00:00
em Add a wrapper for a function that takes and releases the adapter 2003-10-15 05:34:41 +00:00
en Use __FBSDID(). 2003-08-24 17:55:58 +00:00
ep Finish the removal of the bst/bsh confusion. 2003-10-19 17:38:04 +00:00
ex Use __FBSDID(). 2003-08-24 17:55:58 +00:00
exca Card type stuff was backwards, so assume io for the moment. mem needs 2003-10-07 04:29:04 +00:00
fatm Remove duplicate SCM ID. 2003-08-24 20:18:11 +00:00
fb Change fb_attach() and fb_detach() to take a integer unit number rather 2003-09-26 10:41:44 +00:00
fdc Eliminate use bio_blkno. 2003-10-18 17:51:26 +00:00
fe Use __FBSDID(). 2003-08-24 17:55:58 +00:00
firewire Add SBP-II target mode driver. 2003-10-18 05:41:31 +00:00
fxp change timeout to be MPSAFE 2003-09-05 22:37:31 +00:00
gem Preparatory commit to allow prototypes in ofw_machdep.h to contain 2003-09-02 20:24:42 +00:00
gfb Change fb_attach() and fb_detach() to take a integer unit number rather 2003-09-26 10:41:44 +00:00
gx Use __FBSDID(). 2003-08-24 17:55:58 +00:00
harp Use __FBSDID(). 2003-08-24 17:55:58 +00:00
hatm Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
hea Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
hfa Use __FBSDID(). 2003-08-24 17:55:58 +00:00
hifn Add symmetric crypto support for the 7955 and 7956. 2003-10-08 20:25:47 +00:00
hme Preparatory commit to allow prototypes in ofw_machdep.h to contain 2003-09-02 20:24:42 +00:00
ic Added definitions of most of the interesting 16950 register numbers 2003-09-16 14:21:17 +00:00
ichsmb Update the comment to indicate ICH5 support 2003-08-31 19:23:00 +00:00
ida Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
idt Use __FBSDID(). 2003-08-24 17:55:58 +00:00
ie Use __FBSDID(). 2003-08-24 17:55:58 +00:00
iicbus Use __FBSDID(). 2003-08-24 17:55:58 +00:00
iir Update email addresses, copyrights, and tweak the management interface. 2003-09-26 15:36:47 +00:00
ips Eliminate reporting of bio_blkno. 2003-10-18 17:28:36 +00:00
isp The present defaults for the open and close for device drivers which 2003-09-27 12:01:01 +00:00
ispfw Use __FBSDID(). 2003-08-24 17:55:58 +00:00
joy Use __FBSDID(). 2003-08-24 17:55:58 +00:00
kbd Assign keycodes for Power, Sleep and Wake keys. 2003-10-07 09:21:59 +00:00
lge Use __FBSDID(). 2003-08-24 17:55:58 +00:00
lmc Use __FBSDID(). 2003-08-24 17:55:58 +00:00
lnc Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
matcd Discontinue bio_blkno, use bio_offset instead. 2003-10-18 17:44:01 +00:00
mc146818 Add missing $FreeBSD$ 2000-05-01 19:54:26 +00:00
mca Use __FBSDID(). 2003-08-24 17:55:58 +00:00
mcd Discontinue bio_blkno, use bio_offset instead. 2003-10-18 17:44:01 +00:00
md Don't initialize unused bio_blkno field. 2003-10-18 11:25:42 +00:00
mii Typo when setting wirespeed. || != | 2003-09-28 04:16:16 +00:00
mk48txx Use __FBSDID(). 2003-08-24 17:55:58 +00:00
mlx Prepare for locking mlx(4) by cleaning up the use of busdma. No real 2003-09-02 08:30:31 +00:00
mly Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
mpt Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
mse Use __FBSDID(). 2003-06-02 16:32:55 +00:00
musycc Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
my Use __FBSDID(). 2003-08-24 17:55:58 +00:00
ncv Use __FBSDID(). 2003-08-24 17:55:58 +00:00
nge Use __FBSDID(). 2003-08-24 17:55:58 +00:00
nmdm I don't know from where the notion that device driver should or 2003-09-28 20:48:13 +00:00
nsp Use __FBSDID(). 2003-08-24 17:55:58 +00:00
null Mark as __unused some arguments that are, erm, unused. 2003-10-18 09:16:01 +00:00
ofw Use bio_offset instead of bio_blkno 2003-10-18 17:26:13 +00:00
owi Fix a race condition in owi. If you eject a card, then the wi_inquire 2003-10-14 05:25:31 +00:00
patm Use __FBSDID(). 2003-08-24 17:55:58 +00:00
pccard sync to 1.73 2003-10-08 01:16:07 +00:00
pccbb Add newly discovered ENE Technologies CardBus bridges to the list: 2003-08-22 08:49:56 +00:00
pcf fix another LP64 problem. READ_IVAR takes a pointer to an uintptr_t, not 2003-06-20 07:22:54 +00:00
pci The code that was meant to test alignment of the register offset 2003-10-11 22:20:34 +00:00
pcic Use __FBSDID(). 2003-08-24 17:55:58 +00:00
pdq Use __FBSDID(). 2003-08-24 17:55:58 +00:00
ppbus Use __FBSDID(). 2003-08-24 17:55:58 +00:00
ppc Forgot an added file in the last commit. 2003-08-01 05:02:55 +00:00
pst Dont re-arm the timeout twice on a timeout error. 2003-09-08 06:28:50 +00:00
puc Make the port number available to the sub-device with PUC_IVAR_PORT. 2003-09-26 04:44:55 +00:00
raidframe Use bio_offset instead of bio_blkno 2003-10-18 17:26:13 +00:00
random Use __FBSDID(). 2003-08-24 17:55:58 +00:00
ray Use __FBSDID(). 2003-08-24 17:55:58 +00:00
rc Consistently use the BSD u_int and u_short instead of the SYSV uint and 2003-08-07 15:04:27 +00:00
re Remove the dual-address cycle stuff. DAC is used to allow a bus master 2003-09-20 21:18:27 +00:00
rndtest Use __FBSDID(). 2003-08-24 17:55:58 +00:00
rp Use __FBSDID(). 2003-08-24 17:55:58 +00:00
sab OK, I messed up /dev/console with what I had hoped would be compat 2003-09-26 19:35:50 +00:00
safe Prefer new location of pci include files (which have only been in the 2003-08-22 07:08:17 +00:00
sbni Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
sbsh Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
scd Discontinue bio_blkno, use bio_offset instead. 2003-10-18 17:44:01 +00:00
sf Prefer new location of pci include files (which have only been in the 2003-08-22 07:20:27 +00:00
si Use __FBSDID(). 2003-08-24 18:03:45 +00:00
sio Include pccard/pccard_cis.h here too 2003-10-07 04:26:14 +00:00
sk Add missing file, it is sorely needed to make if_sk.c compile again. 2003-09-20 15:49:22 +00:00
smbus No need for a separate nfpm driver now - amdpm handles both. 2003-09-06 13:58:06 +00:00
sn Use __FBSDID(). 2003-08-24 18:03:45 +00:00
snc Use __FBSDID(). 2003-08-24 18:03:45 +00:00
snp Use __FBSDID(). 2003-08-24 18:03:45 +00:00
sound Recognize the Avance Logic ALC655 codec found on some ICH4/5-based 2003-10-12 11:51:24 +00:00
speaker Use __FBSDID(). 2003-06-02 16:32:55 +00:00
sr Use __FBSDID(). 2003-08-24 18:17:24 +00:00
stg Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
streams falloc allocates a file structure and adds it to the file descriptor 2003-10-19 20:41:07 +00:00
sym Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
syscons Convert to cn_name rather than cn_dev. 2003-09-26 18:57:34 +00:00
tdfx Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
tga Use __FBSDID(). 2003-08-24 17:55:58 +00:00
ti Sanitize the code relating to the /dev/ti%d entries. In particular evict 2003-10-10 20:35:28 +00:00
trm Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
twe Prefer new location of pci include files (which have only been in the 2003-08-22 07:08:17 +00:00
tx Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
txp Use __FBSDID(). 2003-08-24 17:55:58 +00:00
uart Include pccard/pccard_cis.h here too 2003-10-07 04:26:14 +00:00
ubsec Use __FBSDID(). 2003-08-24 17:55:58 +00:00
usb Cache dev_t values in the right structure. 2003-10-12 15:51:40 +00:00
utopia Generate events when the carrier goes up or down. 2003-07-30 08:35:58 +00:00
vinum Do not initialize bp->b_pblkno, it is going away. 2003-10-18 17:57:48 +00:00
vr Prefer new location of pci include files (which have only been in the 2003-08-22 07:20:27 +00:00
vx Use PCIR_BAR(x) instead of PCIR_MAPS. 2003-09-02 17:30:40 +00:00
wds Use __FBSDID(). 2003-08-24 17:55:58 +00:00
wi Sony PEGA-WL110 Wireless LAN 2003-09-22 05:33:22 +00:00
wl Use __FBSDID(). 2003-08-24 17:55:58 +00:00
xe Major update to xe driver: 2003-10-14 22:51:35 +00:00
zs OK, I messed up /dev/console with what I had hoped would be compat 2003-09-26 19:35:50 +00:00