linux/drivers/rtc
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
..
class.c rtc: struct device: replace bus_id with dev_name(), dev_set_name() 2009-01-06 15:59:23 -08:00
hctosys.c rtc_hctosys expects RTCs in UTC (doc) 2007-11-14 18:45:36 -08:00
interface.c rtc: use set_mmss when set_time is not available 2009-01-06 15:59:25 -08:00
Kconfig rtc: rtc-dm355evm driver 2009-02-05 12:56:46 -08:00
Makefile rtc: rtc-dm355evm driver 2009-02-05 12:56:46 -08:00
rtc-at32ap700x.c rtc: bunch of drivers: fix 'no irq' case handing 2009-01-06 15:59:23 -08:00
rtc-at91rm9200.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-at91sam9.c rtc: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:22 -07:00
rtc-au1xxx.c rtc: t reaches -1, tested 0 2009-02-11 14:25:36 -08:00
rtc-bfin.c drivers/rtc: correct an error test 2009-01-06 15:59:25 -08:00
rtc-bq4802.c drivers/rtc/rtc-bq4802.c: don't use BIN_2_BCD and BCD_2_BIN 2008-10-20 08:52:41 -07:00
rtc-cmos.c rtc: move power of 2 periodic frequency check down into drivers 2009-01-06 15:59:24 -08:00
rtc-core.h rtc: update to class device removal patches 2007-05-08 11:15:18 -07:00
rtc-dev.c rtc: add alarm/update irq interfaces 2009-01-04 13:33:20 -08:00
rtc-dm355evm.c rtc: rtc-dm355evm driver 2009-02-05 12:56:46 -08:00
rtc-ds1216.c rtc: rtc-ds1216 fixes 2009-01-06 15:59:25 -08:00
rtc-ds1286.c rtc: rtc-ds1286 and rtc-m48t35 need <linux/io.h> 2008-10-16 11:32:38 -07:00
rtc-ds1302.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-10-20 09:13:34 -07:00
rtc-ds1305.c x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
rtc-ds1307.c rtc-ds1307: remove legacy probe() checks 2009-01-08 08:31:00 -08:00
rtc-ds1374.c rtc: DS1374 wakeup support 2008-10-16 11:21:39 -07:00
rtc-ds1390.c rtc-ds1390: fix compilation warnings in drivers/rtc/rtc-ds1390.c 2009-02-05 12:56:48 -08:00
rtc-ds1511.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-01-07 11:31:52 -08:00
rtc-ds1553.c rtc: bunch of drivers: fix 'no irq' case handing 2009-01-06 15:59:23 -08:00
rtc-ds1672.c rtc: use set_mmss when set_time is not available 2009-01-06 15:59:25 -08:00
rtc-ds1742.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-ds3234.c rtc: rtc-ds3234 fixes 2009-01-06 15:59:24 -08:00
rtc-ep93xx.c rtc: use set_mmss when set_time is not available 2009-01-06 15:59:25 -08:00
rtc-fm3130.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-isl1208.c rtc: rtc-isl1208: reject invalid dates 2008-12-23 15:58:21 -08:00
rtc-lib.c rtc_time_to_tm: fix signed/unsigned arithmetic 2008-09-02 19:21:40 -07:00
rtc-m41t80.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-m41t94.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-m48t35.c rtc: rtc-ds1286 and rtc-m48t35 need <linux/io.h> 2008-10-16 11:32:38 -07:00
rtc-m48t59.c rtc: bunch of drivers: fix 'no irq' case handing 2009-01-06 15:59:23 -08:00
rtc-m48t86.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-max6900.c rtc: fix missing id_table in rtc-ds1672 and rtc-max6900 drivers 2008-12-10 08:01:52 -08:00
rtc-max6902.c rtc: rtc-max6902 fixes 2009-01-06 15:59:24 -08:00
rtc-mv.c [ARM] Kirkwood: fail the probe if internal RTC does not work 2009-03-24 09:11:39 -04:00
rtc-omap.c rtc: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:22 -07:00
rtc-parisc.c parisc: set_time() catch errors 2009-01-05 18:15:25 +00:00
rtc-pcf8563.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-pcf8583.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-pcf50633.c rtc: PCF50633 rtc driver 2009-01-11 01:34:24 +01:00
rtc-pl030.c rtc: remove some NOP open/release methods 2008-10-16 11:21:39 -07:00
rtc-pl031.c rtc: remove some NOP open/release methods 2008-10-16 11:21:39 -07:00
rtc-ppc.c rtc: class driver for ppc_md RTC functions 2008-06-06 11:29:13 -07:00
rtc-proc.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
rtc-pxa.c rtc: update maintainership of pxa rtc driver 2009-02-11 14:25:34 -08:00
rtc-r9701.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-rs5c313.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-rs5c348.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-rs5c372.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-rx8581.c rtc: basic implementation of Epson RX-8581 I2C Real Time Clock 2008-11-12 17:17:18 -08:00
rtc-s3c.c rtc: move power of 2 periodic frequency check down into drivers 2009-01-06 15:59:24 -08:00
rtc-s35390a.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-sa1100.c [ARM] pxa: separate definitions from pxa-regs.h and remove it finally 2009-03-09 21:22:40 +08:00
rtc-sh.c sh: sh-rtc wakeup support 2009-03-20 18:57:35 +09:00
rtc-starfire.c rtc: rtc-starfire fixes 2008-11-21 01:24:38 -08:00
rtc-stk17ta8.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-01-07 11:31:52 -08:00
rtc-sun4v.c rtc: rtc-sun4v fixes, revised 2008-11-14 16:37:54 -08:00
rtc-sysfs.c rtc: add the support for alarm time relative to current time in sysfs 2008-04-28 08:58:17 -07:00
rtc-test.c rtc: use set_mmss when set_time is not available 2009-01-06 15:59:25 -08:00
rtc-twl4030.c rtc: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:22 -07:00
rtc-tx4939.c rtc: add rtc-tx4939 driver 2009-01-06 15:59:25 -08:00
rtc-v3020.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-vr41xx.c rtc: move power of 2 periodic frequency check down into drivers 2009-01-06 15:59:24 -08:00
rtc-wm8350.c rtc: rtc-wm8350: add support for WM8350 RTC 2008-11-12 17:17:18 -08:00
rtc-x1205.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00