linux/drivers/scsi
Alexey Dobriyan 99b7623380 proc 2/2: remove struct proc_dir_entry::owner
Setting ->owner as done currently (pde->owner = THIS_MODULE) is racy
as correctly noted at bug #12454. Someone can lookup entry with NULL
->owner, thus not pinning enything, and release it later resulting
in module refcount underflow.

We can keep ->owner and supply it at registration time like ->proc_fops
and ->data.

But this leaves ->owner as easy-manipulative field (just one C assignment)
and somebody will forget to unpin previous/pin current module when
switching ->owner. ->proc_fops is declared as "const" which should give
some thoughts.

->read_proc/->write_proc were just fixed to not require ->owner for
protection.

rmmod'ed directories will be empty and return "." and ".." -- no harm.
And directories with tricky enough readdir and lookup shouldn't be modular.
We definitely don't want such modular code.

Removing ->owner will also make PDE smaller.

So, let's nuke it.

Kudos to Jeff Layton for reminding about this, let's say, oversight.

http://bugzilla.kernel.org/show_bug.cgi?id=12454

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
2009-03-31 01:14:44 +04:00
..
aacraid
aic7xxx
aic7xxx_old
aic94xx
arcmsr
arm Merge branch 'master' into devel 2009-03-28 20:30:18 +00:00
cxgb3i [SCSI] cxgb3i: fix function descriptions 2009-03-13 15:30:34 -05:00
device_handler [SCSI] scsi_dh_rdac: Retry for NOT_READY check condition 2009-03-17 22:07:06 -04:00
dpt
fcoe [SCSI] fcoe: fcoe fc crc offload indication by skb->ip_summed 2009-03-13 15:15:48 -05:00
ibmvscsi [SCSI] ibmvfc: Better handle other FC initiators 2009-03-12 12:58:12 -05:00
libfc [SCSI] libfc: add support of large receive offload by ddp in fc_fcp 2009-03-13 15:15:15 -05:00
libsas
lpfc [SCSI] Remove SUGGEST flags 2009-03-12 12:58:02 -05:00
megaraid
mpt2sas [SCSI] mpt2sas: make global symbols unique 2009-03-17 21:52:46 -04:00
osd [SCSI] libosd: Fix NULL dereference BUG when target is not OSD conformant 2009-03-12 12:58:13 -05:00
pcmcia
qla2xxx [SCSI] qla2xxx: Update version number to 8.03.00-k4. 2009-03-10 09:28:03 -05:00
qla4xxx [SCSI] qla4xxx: do not reuse session when connecting to different target port 2009-01-25 07:55:13 -06:00
sym53c8xx_2 [SCSI] sym53c8xx: don't flood syslog with negotiation messages 2009-03-12 12:58:17 -05:00
.gitignore
3w-9xxx.c [SCSI] 3w-9xxx: add power management support 2009-03-13 15:46:42 -05:00
3w-9xxx.h [SCSI] 3w-9xxx: add power management support 2009-03-13 15:46:42 -05:00
3w-xxxx.c
3w-xxxx.h
53c700_d.h_shipped
53c700.c
53c700.h
53c700.scr
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c scsi/m68k: Kill NCR_700_detect() warnings 2009-03-24 16:38:25 -07:00
advansys.c
aha152x.c
aha152x.h
aha1542.c
aha1542.h
aha1740.c
aha1740.h
aic7xxx_old.c
atari_NCR5380.c m68k: section mismatch fixes: Atari SCSI 2009-03-26 21:15:29 +01:00
atari_scsi.c m68k: section mismatch fixes: Atari SCSI 2009-03-26 21:15:29 +01:00
atari_scsi.h
atp870u.c
atp870u.h
BusLogic.c
BusLogic.h
bvme6000_scsi.c scsi/m68k: Kill NCR_700_detect() warnings 2009-03-24 16:38:25 -07:00
ch.c [SCSI] ch: Add scsi type modalias 2009-03-13 15:48:43 -05:00
constants.c [SCSI] Remove SUGGEST flags 2009-03-12 12:58:02 -05:00
dc395x.c
dc395x.h
dmx3191d.c
dpt_i2o.c
dpti.h
dtc.c
dtc.h
eata_generic.h
eata_pio.c
eata_pio.h
eata.c
esp_scsi.c
esp_scsi.h
fd_mcs.c
fdomain.c
fdomain.h
FlashPoint.c
g_NCR5380_mmio.c
g_NCR5380.c
g_NCR5380.h
gdth_ioctl.h
gdth_proc.c
gdth_proc.h
gdth.c
gdth.h
gvp11.c
gvp11.h
hosts.c [SCSI] fix /proc memory leak in the SCSI core 2009-03-12 12:58:17 -05:00
hptiop.c [SCSI] Remove SUGGEST flags 2009-03-12 12:58:02 -05:00
hptiop.h
ibmmca.c
imm.c
imm.h
in2000.c
in2000.h
initio.c
initio.h
ipr.c [SCSI] ipr: Expose debug and fastfail parameters 2009-03-12 12:58:15 -05:00
ipr.h [SCSI] ipr: add MSI support 2009-03-12 12:57:58 -05:00
ips.c [SCSI] Remove SUGGEST flags 2009-03-12 12:58:02 -05:00
ips.h
iscsi_tcp.c [SCSI] iscsi class: remove host no argument from session creation callout 2009-03-13 15:29:39 -05:00
iscsi_tcp.h
jazz_esp.c
Kconfig [SCSI] mpt2sas v00.100.11.15 2009-03-13 16:08:49 -05:00
lasi700.c parisc: fix dev_printk() compile warnings for accessing a device struct 2009-03-13 01:18:14 -04:00
libiscsi_tcp.c [SCSI] libiscsi_tcp: replace tcp_debug/scsi_debug logging with session/conn logging 2009-03-13 15:27:29 -05:00
libiscsi.c [SCSI] libiscsi: fix possbile null ptr session command cleanup 2009-03-13 15:29:54 -05:00
libsrp.c
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
mac_scsi.h
Makefile [SCSI] mpt2sas v00.100.11.15 2009-03-13 16:08:49 -05:00
megaraid.c
megaraid.h
mesh.c
mesh.h
mvme16x_scsi.c scsi/m68k: Kill NCR_700_detect() warnings 2009-03-24 16:38:25 -07:00
mvme147.c
mvme147.h
mvsas.c
ncr53c8xx.c
ncr53c8xx.h
NCR53c406a.c
NCR5380.c
NCR5380.h
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c
nsp32.h
osst_detect.h
osst_options.h
osst.c [SCSI] osst: replace scsi_execute_async with the block layer API 2009-03-12 12:58:10 -05:00
osst.h [SCSI] osst: replace scsi_execute_async with the block layer API 2009-03-12 12:58:10 -05:00
pas16.c
pas16.h
ppa.c
ppa.h
ps3rom.c
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicpti_asm.c
qlogicpti.c
qlogicpti.h
raid_class.c
script_asm.pl
scsi_debug.c [SCSI] scsi_debug: DIF/DIX support 2009-03-12 12:57:55 -05:00
scsi_devinfo.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
scsi_error.c [SCSI] remove scsi_req_map_sg 2009-03-12 12:58:10 -05:00
scsi_ioctl.c
scsi_lib_dma.c
scsi_lib.c [SCSI] remove scsi_req_map_sg 2009-03-12 12:58:10 -05:00
scsi_logging.h
scsi_module.c
scsi_netlink.c
scsi_priv.h
scsi_proc.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
scsi_sas_internal.h
scsi_scan.c [SCSI] add OSD_TYPE 2009-03-12 12:58:05 -05:00
scsi_sysctl.c
scsi_sysfs.c [SCSI] scsi_sysfs: delete extra kernel-doc 2009-03-12 12:57:55 -05:00
scsi_tgt_if.c
scsi_tgt_lib.c
scsi_tgt_priv.h
scsi_transport_api.h
scsi_transport_fc_internal.h
scsi_transport_fc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
scsi_transport_iscsi.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
scsi_transport_sas.c
scsi_transport_spi.c
scsi_transport_srp_internal.h
scsi_transport_srp.c
scsi_typedefs.h
scsi_wait_scan.c
scsi.c [SCSI] Add VPD helper 2009-03-12 12:57:54 -05:00
scsi.h
scsicam.c
sd_dif.c
sd.c [SCSI] sd: Make revalidate less chatty 2009-03-17 21:43:52 -04:00
sd.h [SCSI] sd: Make revalidate less chatty 2009-03-17 21:43:52 -04:00
ses.c [SCSI] ses: code_set == 1 is tested twice 2009-03-12 12:58:14 -05:00
sg.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
sgiwd93.c
sim710.c
sni_53c710.c
sr_ioctl.c
sr_vendor.c
sr.c
sr.h
st_options.h
st.c [SCSI] Remove SUGGEST flags 2009-03-12 12:58:02 -05:00
st.h
stex.c [SCSI] stex: Version update 2009-03-12 12:58:04 -05:00
sun3_NCR5380.c
sun3_scsi_vme.c
sun3_scsi.c
sun3_scsi.h
sun3x_esp.c
sun_esp.c
sym53c416.c
sym53c416.h
t128.c
t128.h
tmscsim.c
tmscsim.h
u14-34f.c
ultrastor.c
ultrastor.h
wd33c93.c
wd33c93.h
wd7000.c
zalon.c parisc: fix dev_printk() compile warnings for accessing a device struct 2009-03-13 01:18:14 -04:00
zorro7xx.c