1
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 [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
aic7xxx
aic7xxx_old
aic94xx [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
arcmsr [SCSI] advansys, arcmsr, ipr, nsp32, qla1280, stex: use pci_ioremap_bar() 2008-12-29 11:24:11 -06:00
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 [libata] get-identity ioctl: Fix use of invalid memory pointer 2009-01-16 10:17:09 -05:00
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 [SCSI] aha152x_cs: Fix regression that keeps driver from using shared interrupts 2009-01-05 12:17:42 -06:00
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 trivial: Fix misspelling of "firmware" in a100u2w.c 2009-01-06 11:28:08 +01:00
a100u2w.h
a2091.c [SCSI] a2091, gvp11: kill warn_unused_result warnings 2009-01-02 12:16:18 -06:00
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 [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
aha152x.c
aha152x.h
aha1542.c
aha1542.h
aha1740.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
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 [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
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 [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
eata_pio.h
eata.c [SCSI] eata: fix the data buffer accessors conversion regression 2008-12-29 11:24:35 -06:00
esp_scsi.c [SCSI] esp_scsi: Use DIV_ROUND_UP 2008-12-29 11:24:14 -06:00
esp_scsi.h
fd_mcs.c
fdomain.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
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 [SCSI] a2091, gvp11: kill warn_unused_result warnings 2009-01-02 12:16:18 -06:00
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 [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
imm.c
imm.h
in2000.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
in2000.h
initio.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
initio.h [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
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 [SCSI] iscsi_tcp: hook iscsi_tcp into new libiscsi_tcp module 2008-12-29 11:24:22 -06:00
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 [SCSI] mac_esp: fix for quadras with two esp chips 2008-12-29 11:24:19 -06:00
mac_scsi.c m68k: machw.h cleanup 2008-12-28 20:00:03 +01:00
mac_scsi.h
Makefile [SCSI] mpt2sas v00.100.11.15 2009-03-13 16:08:49 -05:00
megaraid.c trivial: Fix misspelling of "firmware" in megaraid.c 2009-01-06 11:28:08 +01:00
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 [SCSI] mvsas: increase port type detection delay to suit Seagate's 10k6 drive ST3450856SS 0003 2009-01-02 12:10:04 -06:00
ncr53c8xx.c
ncr53c8xx.h
NCR53c406a.c
NCR5380.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
NCR5380.h
NCR_D700.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c [SCSI] advansys, arcmsr, ipr, nsp32, qla1280, stex: use pci_ioremap_bar() 2008-12-29 11:24:11 -06:00
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 powerpc/ps3: Printing fixups for l64 to ll64 conversion drivers/scsi 2009-01-16 16:15:15 +11:00
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c trivial: Fix misspelling of "firmware" in qla1280.c 2009-01-06 11:28:09 +01:00
qla1280.h
qlogicfas408.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
qlogicfas408.h
qlogicfas.c
qlogicpti_asm.c
qlogicpti.c
qlogicpti.h
raid_class.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
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] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
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] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
scsi_transport_spi.c [SCSI] scsi_transport_spi: fix the misuse of scsi_execute return value 2008-12-29 11:24:32 -06:00
scsi_transport_srp_internal.h
scsi_transport_srp.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
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 [SCSI] sd: Correctly handle 6-byte commands with DIX 2009-01-05 09:06:23 -06:00
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 [SCSI] sgiwd93: Fix compilation warning 2009-01-02 10:58:41 -06:00
sim710.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
sni_53c710.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
sr_ioctl.c [SCSI] add residual argument to scsi_execute and scsi_execute_req 2008-12-29 11:24:24 -06:00
sr_vendor.c
sr.c [SCSI] add residual argument to scsi_execute and scsi_execute_req 2008-12-29 11:24:24 -06:00
sr.h
st_options.h
st.c [SCSI] Remove SUGGEST flags 2009-03-12 12:58:02 -05:00
st.h [SCSI] st: remove unused frp_sg_current 2009-01-02 12:02:25 -06:00
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 [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
sym53c416.h
t128.c
t128.h
tmscsim.c [SCSI] tmscsim: fix indentation and braces disagreement - add braces 2008-12-29 11:24:14 -06:00
tmscsim.h
u14-34f.c [SCSI] u14-34f: fix scsi_dma_map failure case 2008-12-29 11:24:14 -06:00
ultrastor.c
ultrastor.h
wd33c93.c
wd33c93.h
wd7000.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
zalon.c parisc: fix dev_printk() compile warnings for accessing a device struct 2009-03-13 01:18:14 -04:00
zorro7xx.c