linux/drivers/media/video
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
..
au0828 V4L/DVB (11142): au0828: fix oops on ARM platform when allocating transfer buffers 2009-03-30 12:43:32 -03:00
bt8xx V4L/DVB (11281): bttv: move saa6588 config to the helper chip config 2009-03-30 12:43:46 -03:00
cpia2 V4L/DVB (10907): avoid loading the entire videodev.h header on V4L2 drivers 2009-03-30 12:43:15 -03:00
cx18 V4L/DVB (11310): cx18: remove intermediate 'ioctl' step 2009-03-30 12:43:49 -03:00
cx88 V4L/DVB (11305): cx88: prevent probing rtc and ir devices 2009-03-30 12:43:49 -03:00
cx23885 V4L/DVB (11297): cx23885: convert to v4l2_subdev. 2009-03-30 12:43:48 -03:00
cx25840 V4L/DVB (11315): cx25840: fix 'unused variable' warning. 2009-03-30 12:43:50 -03:00
em28xx V4L/DVB (11141): em28xx: fix oops on ARM platform when allocating transfer buffers 2009-03-30 12:43:32 -03:00
et61x251
gspca V4L/DVB (11263): gspca: Stop setting buffer type, and avoid memset in querycap 2009-03-30 12:43:44 -03:00
hdpvr V4L/DVB (11247): hdpvr: empty internal device buffer after stopping streaming 2009-03-30 12:43:43 -03:00
ivtv V4L/DVB (11091): cx18, ivtv: Ensure endianess for linemasks in VBI embedded in MPEG stream 2009-03-30 12:43:28 -03:00
ovcamchip V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
pvrusb2 V4L/DVB (11208): pvrusb2: Use v4l2_device_disconnect() 2009-03-30 12:43:40 -03:00
pwc V4L/DVB (10945): pwc : fix LED and power setup for first open 2009-03-30 12:43:18 -03:00
saa7134 V4L/DVB (11282): saa7134: add RDS support. 2009-03-30 12:43:47 -03:00
sn9c102 V4L/DVB (11221): gspca - sonixj: Prefer sonixj instead of sn9c102 for 0471:0327. 2009-03-30 12:43:41 -03:00
usbvideo V4L/DVB (11226): avoid warnings for request_ihex_firmware on dabusb and vicam 2009-03-30 12:43:41 -03:00
usbvision V4L/DVB (11271): usbvision: Remove buffer type checks from enum_fmt_vid_cap, XXXbuf 2009-03-30 12:43:46 -03:00
uvc V4L/DVB (11293): uvcvideo: Add zero fill for VIDIOC_ENUM_FMT 2009-03-30 12:43:48 -03:00
zc0301 V4L/DVB (10343): gspca - zc3xx / zc0301: Handle the 0ac8:303b instead of zc0301. 2009-03-30 12:42:30 -03:00
zoran V4L/DVB (11237): media/zoran: fix printk format 2009-03-30 12:43:42 -03:00
Kconfig V4L/DVB (11281): bttv: move saa6588 config to the helper chip config 2009-03-30 12:43:46 -03:00
Makefile V4L/DVB (11096): V4L2 Driver for the Hauppauge HD PVR usb capture device 2009-03-30 12:43:28 -03:00
adv7170.c V4L/DVB (10914): v4l2: fix compile warnings when printing u64 value. 2009-03-30 12:43:15 -03:00
adv7175.c V4L/DVB (10914): v4l2: fix compile warnings when printing u64 value. 2009-03-30 12:43:15 -03:00
arv.c
bt819.c V4L/DVB (11052): bt819: remove an unused header 2009-03-30 12:43:23 -03:00
bt856.c V4L/DVB (10914): v4l2: fix compile warnings when printing u64 value. 2009-03-30 12:43:15 -03:00
bt866.c V4L/DVB (10914): v4l2: fix compile warnings when printing u64 value. 2009-03-30 12:43:15 -03:00
btcx-risc.c
btcx-risc.h
bw-qcam.c
bw-qcam.h
c-qcam.c
cafe_ccic-regs.h
cafe_ccic.c V4L/DVB (11267): cafe_ccic: Remove buffer type check from XXXbuf 2009-03-30 12:43:45 -03:00
cpia.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
cpia.h
cpia_pp.c
cpia_usb.c
cs53l32a.c V4L/DVB (11254): cs53l32a: remove legacy support. 2009-03-30 12:43:44 -03:00
cs5345.c V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
cs8420.h
cx2341x.c V4L/DVB (10698): v4l2-common: remove v4l2_ctrl_query_fill_std 2009-03-30 12:42:54 -03:00
dabusb.c V4L/DVB (11256): dabusb: fix compile warning. 2009-03-30 12:43:44 -03:00
dabusb.h
font.h
hexium_gemini.c V4L/DVB (10271): saa7146: convert to video_ioctl2. 2009-03-30 12:42:24 -03:00
hexium_orion.c V4L/DVB (10271): saa7146: convert to video_ioctl2. 2009-03-30 12:42:24 -03:00
ibmmpeg2.h
indycam.c V4L/DVB (10866): saa7191, indycam: remove compat code. 2009-03-30 12:43:11 -03:00
indycam.h V4L/DVB (10861): vino/indycam/saa7191: convert to i2c modules to V4L2. 2009-03-30 12:43:10 -03:00
ir-kbd-i2c.c V4L/DVB (10939): ir-kbd-i2c: Prevent general protection fault on rmmod 2009-03-30 12:43:17 -03:00
ks0127.c V4L/DVB (11311): v4l: replace 'ioctl' references in v4l i2c drivers 2009-03-30 12:43:49 -03:00
ks0127.h V4L/DVB (10730): v4l-dvb: cleanup obsolete references to v4l1 headers. 2009-03-30 12:42:59 -03:00
m52790.c V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
meye.c V4L/DVB (11270): meye: Remove buffer type checks from XXX_fmt_vid_cap, XXXbuf 2009-03-30 12:43:45 -03:00
meye.h
msp3400-driver.c V4L/DVB (11308): msp3400: use the V4L2 header since no V4L1 code is there 2009-03-30 12:43:49 -03:00
msp3400-driver.h
msp3400-kthreads.c
mt9m001.c V4L/DVB (11032): mt9m001: allow setting of bus width from board code 2009-03-30 12:43:22 -03:00
mt9m111.c V4L/DVB (11024): soc-camera: separate S_FMT and S_CROP operations 2009-03-30 12:43:21 -03:00
mt9t031.c V4L/DVB (11035): mt9t031 bugfix 2009-03-30 12:43:22 -03:00
mt9v022.c V4L/DVB (11033): mt9v022: allow setting of bus width from board code 2009-03-30 12:43:22 -03:00
mx3_camera.c V4L/DVB (11024): soc-camera: separate S_FMT and S_CROP operations 2009-03-30 12:43:21 -03:00
mxb.c V4L/DVB (10870a): remove all references for video_decoder.h 2009-03-30 12:43:15 -03:00
mxb.h
omap24xxcam-dma.c
omap24xxcam.c V4L/DVB (11264): omap24xxcam: Remove buffer type check from vidioc_s/g_parm 2009-03-30 12:43:45 -03:00
omap24xxcam.h
ov511.c
ov511.h
ov772x.c V4L/DVB (11028): ov772x: use soft sleep mode in stop_capture 2009-03-30 12:43:21 -03:00
ov7670.c V4L/DVB (11117): ov7670: add support to get/set registers 2009-03-30 12:43:30 -03:00
pms.c
pxa_camera.c V4L/DVB (11024): soc-camera: separate S_FMT and S_CROP operations 2009-03-30 12:43:21 -03:00
s2255drv.c V4L/DVB (10309): s2255drv: use usb_make_path to report bus info 2009-03-30 12:42:27 -03:00
saa711x_regs.h
saa717x.c V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
saa5246a.c V4L/DVB (10499): saa7146: convert saa7146 and mxb in particular to v4l2_subdev. 2009-03-30 12:42:42 -03:00
saa5249.c V4L/DVB (10499): saa7146: convert saa7146 and mxb in particular to v4l2_subdev. 2009-03-30 12:42:42 -03:00
saa6588.c V4L/DVB (11283): saa6588: remove legacy code. 2009-03-30 12:43:47 -03:00
saa7110.c V4L/DVB (10914): v4l2: fix compile warnings when printing u64 value. 2009-03-30 12:43:15 -03:00
saa7115.c V4L/DVB (11311): v4l: replace 'ioctl' references in v4l i2c drivers 2009-03-30 12:43:49 -03:00
saa7121.h
saa7127.c V4L/DVB (10731): zoran i2c modules: remove i2c autoprobing support. 2009-03-30 12:42:59 -03:00
saa7146.h V4L/DVB (10907): avoid loading the entire videodev.h header on V4L2 drivers 2009-03-30 12:43:15 -03:00
saa7146reg.h
saa7185.c V4L/DVB (10731): zoran i2c modules: remove i2c autoprobing support. 2009-03-30 12:42:59 -03:00
saa7191.c V4L/DVB (11316): saa7191: tuner ops wasn't set. 2009-03-30 12:43:50 -03:00
saa7191.h V4L/DVB (10861): vino/indycam/saa7191: convert to i2c modules to V4L2. 2009-03-30 12:43:10 -03:00
se401.c
se401.h
sh_mobile_ceu_camera.c V4L/DVB (11029): video: use videobuf_waiton() in sh_mobile_ceu free_buffer() 2009-03-30 12:43:21 -03:00
soc_camera.c V4L/DVB (11027): soc-camera: configure drivers with a default format at probe time 2009-03-30 12:43:21 -03:00
soc_camera_platform.c V4L/DVB (11024): soc-camera: separate S_FMT and S_CROP operations 2009-03-30 12:43:21 -03:00
stk-sensor.c
stk-webcam.c V4L/DVB (11265): stkwebcam: Remove buffer type check from g_parm and q/dq/reqbufs 2009-03-30 12:43:45 -03:00
stk-webcam.h
stradis.c
stv680.c
stv680.h
tcm825x.c V4L/DVB (10628): V4L: Storage class should be before const qualifier 2009-03-30 12:42:48 -03:00
tcm825x.h V4L/DVB (10628): V4L: Storage class should be before const qualifier 2009-03-30 12:42:48 -03:00
tda7432.c V4L/DVB (11303): tda7432: remove legacy code for old-style i2c API 2009-03-30 12:43:49 -03:00
tda9840.c V4L/DVB (10499): saa7146: convert saa7146 and mxb in particular to v4l2_subdev. 2009-03-30 12:42:42 -03:00
tda9875.c V4L/DVB (11302): tda9875: remove legacy code for old-style i2c API 2009-03-30 12:43:48 -03:00
tea6415c.c V4L/DVB (10499): saa7146: convert saa7146 and mxb in particular to v4l2_subdev. 2009-03-30 12:42:42 -03:00
tea6415c.h V4L/DVB (10499): saa7146: convert saa7146 and mxb in particular to v4l2_subdev. 2009-03-30 12:42:42 -03:00
tea6420.c V4L/DVB (10499): saa7146: convert saa7146 and mxb in particular to v4l2_subdev. 2009-03-30 12:42:42 -03:00
tea6420.h V4L/DVB (10499): saa7146: convert saa7146 and mxb in particular to v4l2_subdev. 2009-03-30 12:42:42 -03:00
tlv320aic23b.c V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
tuner-core.c V4L/DVB (11312): tuner: remove V4L1 code from this driver. 2009-03-30 12:43:49 -03:00
tvaudio.c V4L/DVB (11277): tvaudio: always call init_timer to prevent rmmod crash. 2009-03-30 12:43:46 -03:00
tveeprom.c V4L/DVB (11071): tveeprom: add the xc5000 tuner to the tveeprom definition 2009-03-30 12:43:26 -03:00
tvp514x.c V4L/DVB (10698): v4l2-common: remove v4l2_ctrl_query_fill_std 2009-03-30 12:42:54 -03:00
tvp514x_regs.h
tvp5150.c V4L/DVB (11311): v4l: replace 'ioctl' references in v4l i2c drivers 2009-03-30 12:43:49 -03:00
tvp5150_reg.h
tw9910.c V4L/DVB (11024): soc-camera: separate S_FMT and S_CROP operations 2009-03-30 12:43:21 -03:00
upd64031a.c V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
upd64083.c V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
v4l1-compat.c
v4l2-common.c V4L/DVB (11098): v4l2-common: remove incorrect MODULE test 2009-03-30 12:43:28 -03:00
v4l2-compat-ioctl32.c V4L/DVB (10910): videodev2.h: remove deprecated VIDIOC_G_CHIP_IDENT_OLD 2009-03-30 12:43:15 -03:00
v4l2-dev.c V4L/DVB (11242): allow v4l2 drivers to provide a get_unmapped_area handler 2009-03-30 12:43:43 -03:00
v4l2-device.c V4L/DVB (11044): v4l2-device: add v4l2_device_disconnect 2009-03-30 12:43:22 -03:00
v4l2-int-device.c
v4l2-ioctl.c V4L/DVB (11260): v4l2-ioctl: Check format for S_PARM and G_PARM 2009-03-30 12:43:44 -03:00
v4l2-subdev.c V4L/DVB (11112): v4l2-subdev: add support for TRY_FMT, ENUM_FMT and G/S_PARM. 2009-03-30 12:43:30 -03:00
videobuf-core.c
videobuf-dma-contig.c V4L/DVB (10304): buf-dma-contig: fix USERPTR free handling 2009-03-30 12:42:27 -03:00
videobuf-dma-sg.c
videobuf-dvb.c
videobuf-vmalloc.c V4L/DVB (10305): videobuf-vmalloc: Fix: videobuf memory were never freed 2009-03-30 12:42:27 -03:00
vino.c V4L/DVB (11266): vino: Remove code for things already done by video_ioctl2 2009-03-30 12:43:45 -03:00
vino.h
vivi.c V4L/DVB (10912): vivi: fix compile warning. 2009-03-30 12:43:15 -03:00
vp27smpx.c V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
vpx3220.c V4L/DVB (11311): v4l: replace 'ioctl' references in v4l i2c drivers 2009-03-30 12:43:49 -03:00
w9966.c V4L/DVB (10907): avoid loading the entire videodev.h header on V4L2 drivers 2009-03-30 12:43:15 -03:00
w9968cf.c V4L/DVB (11045): v4l2: call v4l2_device_disconnect in USB drivers. 2009-03-30 12:43:23 -03:00
w9968cf.h V4L/DVB (10874): w9968cf/ovcamchip: convert to v4l2_subdev. 2009-03-30 12:43:11 -03:00
w9968cf_decoder.h
w9968cf_vpp.h
wm8739.c V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. 2009-03-30 12:43:49 -03:00
wm8775.c V4L/DVB (11301): wm8775: remove legacy code for old-style i2c API 2009-03-30 12:43:48 -03:00
zr364xx.c V4L/DVB (11272): zr364xx: Remove code for things already done by video_ioctl2 2009-03-30 12:43:46 -03:00