linux_dsm_epyc7002/drivers/net/wireless
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
..
ar9170 ar9170: single module build 2009-03-27 20:13:19 -04:00
ath5k ath5k: properly drop packets from ops->tx 2009-03-27 20:13:19 -04:00
ath9k mac80211: unify and fix TX aggregation start 2009-03-27 20:13:22 -04:00
b43 b43: fix b43_plcp_get_bitrate_idx_ofdm return type 2009-03-27 20:13:18 -04:00
b43legacy
hostap hostap: convert to net_device_ops 2009-03-21 22:55:36 -07:00
ipw2x00 ipw2200: convert to net_device_ops 2009-03-21 22:55:32 -07:00
iwlwifi mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi 2009-03-27 20:13:23 -04:00
libertas wireless: radiotap updates 2009-03-27 20:12:52 -04:00
libertas_tf
orinoco orinoco: firmware: consistently compile out fw cache support if not requested 2009-03-16 18:09:26 -04:00
p54 p54: Kconfig maintenance 2009-03-27 20:13:18 -04:00
prism54 prism54: convert to internal net_device_stats 2009-03-21 22:51:23 -07:00
rt2x00 rt2x00: New USB ID for rt73usb 2009-03-27 20:13:18 -04:00
rtl818x
zd1211rw Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-03-17 15:01:30 -07:00
adm8211.c
adm8211.h
airo_cs.c airo_cs: checkpatch.pl cleanups 2009-03-16 18:09:35 -04:00
airo.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
airo.h
arlan-main.c Merge branch 'linus' into percpu-cpumask-x86-for-linus-2 2009-03-28 04:26:01 +01:00
arlan-proc.c
arlan.h
at76c50x-usb.c
at76c50x-usb.h
atmel_cs.c
atmel_pci.c
atmel.c atmel: convert to net_device_ops 2009-03-21 22:44:01 -07:00
atmel.h
i82586.h
i82593.h
Kconfig ar9170: update Makefile, Kconfig and MAINTAINERS 2009-03-27 20:13:09 -04:00
mac80211_hwsim.c mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi 2009-03-27 20:13:23 -04:00
Makefile ar9170: single module build 2009-03-27 20:13:19 -04:00
mwl8k.c mwl8k: Marvell TOPDOG wireless driver 2009-03-16 18:09:43 -04:00
netwave_cs.c netwave: convert to net_device_ops 2009-03-21 22:43:57 -07:00
ray_cs.c raylan: convert to net_device_ops 2009-03-21 22:51:19 -07:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: Fix build with netdev_ops compat disabled. 2009-03-25 00:03:16 -07:00
strip.c strip: convert to net_device_ops 2009-03-21 22:43:57 -07:00
wavelan_cs.c wavelan: convert to net_device_ops 2009-03-21 22:43:59 -07:00
wavelan_cs.h
wavelan_cs.p.h wavelan: convert to internal net_device_stats 2009-03-21 22:43:58 -07:00
wavelan.c wireless: convert wavelan to net_device_ops 2009-03-27 00:46:46 -07:00
wavelan.h
wavelan.p.h wireless: convert wavelan to net_device_ops 2009-03-27 00:46:46 -07:00
wl3501_cs.c wl3501: convert to net_device_ops 2009-03-21 22:51:20 -07:00
wl3501.h wl3501: convert to internal net_device_stats 2009-03-21 22:51:19 -07:00
zd1201.c zd1201: convert to net_device_ops 2009-03-21 22:51:21 -07:00
zd1201.h zd1201: convert to internal net_device_stats 2009-03-21 22:51:20 -07:00