Adrian Bunk
1a46674b99
include/linux/sysctl.h: remove empty #else
...
Remove an empty #else.
Signed-off-by: Adrian Bunk <bunk@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:23 -07:00
Holger Schurig
88f458e4b9
sysctl: allow embedded targets to disable sysctl_check.c
...
Disable sysctl_check.c for embedded targets. This saves about about 11 kB
in .text and another 11 kB in .data on a PXA255 embedded platform.
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:22 -07:00
Denis V. Lunev
c7705f3449
drivers: use non-racy method for proc entries creation (2)
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Greg Kroah-Hartman <gregkh@suse.de >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Cc: Peter Osterlund <petero2@telia.com >
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com >
Cc: Dmitry Torokhov <dtor@mail.ru >
Cc: Neil Brown <neilb@suse.de >
Cc: Mauro Carvalho Chehab <mchehab@infradead.org >
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:22 -07:00
Denis V. Lunev
1b50221738
drivers: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Acked-by: Greg Kroah-Hartman <gregkh@suse.de >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Acked-by: Dmitry Torokhov <dtor@mail.ru >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:22 -07:00
Denis V. Lunev
0fd6894682
parisc: use non-racy method for proc entries creation
...
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Kyle McMartin <kyle@parisc-linux.org >
Cc: Matthew Wilcox <matthew@wil.cx >
Cc: Grant Grundler <grundler@parisc-linux.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:22 -07:00
Denis V. Lunev
c33fff0afb
kernel: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Cc: Ingo Molnar <mingo@elte.hu >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:22 -07:00
Denis V. Lunev
ac41cfd19b
isdn: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Add correct ->owner to proc_fops to fix reading/module unloading race.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Acked-by: Karsten Keil <kkeil@suse.de >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:22 -07:00
Denis V. Lunev
a95609cb02
netdev: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Jeff Garzik <jgarzik@pobox.com >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:22 -07:00
Denis V. Lunev
cf7acfab03
acpi: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Add correct ->owner to proc_fops to fix reading/module unloading race.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Len Brown <lenb@kernel.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:22 -07:00
Denis V. Lunev
667471386d
powerpc: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Add correct ->owner to proc_fops to fix reading/module unloading race.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:22 -07:00
Denis V. Lunev
6f1c86ec31
parisc: use non-racy method for /proc/pcxl_dma creation
...
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Kyle McMartin <kyle@parisc-linux.org >
Cc: Matthew Wilcox <matthew@wil.cx >
Cc: Grant Grundler <grundler@parisc-linux.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:21 -07:00
Denis V. Lunev
e23637681b
ia64: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Tony Luck <tony.luck@intel.com >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:21 -07:00
Denis V. Lunev
c293819a3c
cris: use non-racy method for /proc/system_profile creation
...
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Mikael Starvik <starvik@axis.com >
Cc: Jesper Nilsson <jesper.nilsson@axis.com >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:21 -07:00
Denis V. Lunev
0d9f10f4eb
avr32: proc: use non-racy method for /proc/tlb creation
...
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:21 -07:00
Denis V. Lunev
40ad35d34f
arm: use non-racy method for /proc/davinci_clocks creation
...
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Russell King <rmk@arm.linux.org.uk >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:21 -07:00
Denis V. Lunev
8b594007c3
s390: use non-racy method for proc entries creation
...
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com >
Cc: Heiko Carstens <heiko.carstens@de.ibm.com >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:21 -07:00
Denis V. Lunev
cdefa185dd
usb: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Acked-by: Greg Kroah-Hartman <gregkh@suse.de >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:21 -07:00
Denis V. Lunev
a973909fc3
scsi: use non-racy method for proc entries creation
...
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Add correct ->owner to proc_fops to fix reading/module unloading race.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Greg Kroah-Hartman <gregkh@suse.de >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Cc: James Bottomley <James.Bottomley@HansenPartnership.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:21 -07:00
Denis V. Lunev
16e70f64a9
samples: use non-racy method for /proc/marker-example creation
...
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:21 -07:00
Denis V. Lunev
659f865ea6
zorro: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Add correct ->owner to proc_fops to fix reading/module unloading race.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Geert Uytterhoeven <geert@linux-m68k.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:21 -07:00
Denis V. Lunev
7bf4e6d3e9
sound: use non-racy method for /proc/driver/snd-page-alloc creation
...
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Cc: Jaroslav Kysela <perex@suse.cz >
Cc: Takashi Iwai <tiwai@suse.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:20 -07:00
Denis V. Lunev
3d71f86f4d
mm: use non-racy method for /proc/swaps creation
...
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:20 -07:00
Denis V. Lunev
6a6375db13
sysvipc: use non-racy method for proc entries creation
...
Use proc_create_data() to make sure that ->proc_fops and ->data be setup
before gluing PDE to main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Cc: Nadia Derbey <Nadia.Derbey@bull.net >
Cc: Pierre Peiffer <peifferp@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:20 -07:00
Denis V. Lunev
79da3664f6
jbd2: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: <linux-ext4@vger.kernel.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:20 -07:00
Denis V. Lunev
19b4fc52d6
reiserfs: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
/proc entry owner is also added.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Jeff Mahoney <jeffm@suse.com >
Cc: Chris Mason <chris.mason@oracle.com >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:20 -07:00
Denis V. Lunev
46fe74f2ae
ext4: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: <linux-ext4@vger.kernel.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:20 -07:00
Denis V. Lunev
21ac295b42
afs: use non-racy method for proc entries creation
...
Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
be setup before gluing PDE to main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Acked-by: David Howells <dhowells@redhat.com >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:20 -07:00
Denis V. Lunev
34b37235c6
nfs: use proc_create to setup de->proc_fops
...
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: "J. Bruce Fields" <bfields@fieldses.org >
Cc: Trond Myklebust <trond.myklebust@fys.uio.no >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:20 -07:00
Denis V. Lunev
9ef2db2630
nfsd: use proc_create to setup de->proc_fops
...
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to
main tree.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: Neil Brown <neilb@suse.de >
Cc: "J. Bruce Fields" <bfields@fieldses.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:20 -07:00
Denis V. Lunev
59b7435149
proc: introduce proc_create_data to setup de->data
...
This set of patches fixes an proc ->open'less usage due to ->proc_fops flip in
the most part of the kernel code. The original OOPS is described in the
commit 2d3a4e3666
:
Typical PDE creation code looks like:
pde = create_proc_entry("foo", 0, NULL);
if (pde)
pde->proc_fops = &foo_proc_fops;
Notice that PDE is first created, only then ->proc_fops is set up to
final value. This is a problem because right after creation
a) PDE is fully visible in /proc , and
b) ->proc_fops are proc_file_operations which do not have ->open callback. So, it's
possible to ->read without ->open (see one class of oopses below).
The fix is new API called proc_create() which makes sure ->proc_fops are
set up before gluing PDE to main tree. Typical new code looks like:
pde = proc_create("foo", 0, NULL, &foo_proc_fops);
if (!pde)
return -ENOMEM;
Fix most networking users for a start.
In the long run, create_proc_entry() for regular files will go.
In addition to this, proc_create_data is introduced to fix reading from
proc without PDE->data. The race is basically the same as above.
create_proc_entries is replaced in the entire kernel code as new method
is also simply better.
This patch:
The problem is the same as for de->proc_fops. Right now PDE becomes visible
without data set. So, the entry could be looked up without data. This, in
most cases, will simply OOPS.
proc_create_data call is created to address this issue. proc_create now
becomes a wrapper around it.
Signed-off-by: Denis V. Lunev <den@openvz.org >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Cc: "J. Bruce Fields" <bfields@fieldses.org >
Cc: Alessandro Zummo <a.zummo@towertech.it >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com >
Cc: Chris Mason <chris.mason@oracle.com >
Acked-by: David Howells <dhowells@redhat.com >
Cc: Dmitry Torokhov <dtor@mail.ru >
Cc: Geert Uytterhoeven <geert@linux-m68k.org >
Cc: Grant Grundler <grundler@parisc-linux.org >
Cc: Greg Kroah-Hartman <gregkh@suse.de >
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com >
Cc: Heiko Carstens <heiko.carstens@de.ibm.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: James Bottomley <James.Bottomley@HansenPartnership.com >
Cc: Jaroslav Kysela <perex@suse.cz >
Cc: Jeff Garzik <jgarzik@pobox.com >
Cc: Jeff Mahoney <jeffm@suse.com >
Cc: Jesper Nilsson <jesper.nilsson@axis.com >
Cc: Karsten Keil <kkeil@suse.de >
Cc: Kyle McMartin <kyle@parisc-linux.org >
Cc: Len Brown <lenb@kernel.org >
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com >
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca >
Cc: Matthew Wilcox <matthew@wil.cx >
Cc: Mauro Carvalho Chehab <mchehab@infradead.org >
Cc: Mikael Starvik <starvik@axis.com >
Cc: Nadia Derbey <Nadia.Derbey@bull.net >
Cc: Neil Brown <neilb@suse.de >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Osterlund <petero2@telia.com >
Cc: Pierre Peiffer <peifferp@gmail.com >
Cc: Russell King <rmk@arm.linux.org.uk >
Cc: Takashi Iwai <tiwai@suse.de >
Cc: Tony Luck <tony.luck@intel.com >
Cc: Trond Myklebust <trond.myklebust@fys.uio.no >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:20 -07:00
Alexey Dobriyan
b640a89ddd
proc: convert /proc/tty/ldiscs to seq_file interface
...
Note: THIS_MODULE and header addition aren't technically needed because
this code is not modular, but let's keep it anyway because people
can copy this code into modular code.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com >
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:20 -07:00
Alexey Dobriyan
8731f14d37
proc: remove ->get_info infrastructure
...
Now that last dozen or so users of ->get_info were removed, ditch it too.
Everyone sane shouldd have switched to seq_file interface long ago.
P.S.: Co-existing 3 interfaces (->get_info/->read_proc/->proc_fops) for proc
is long-standing crap, BTW, thus
a) put ->read_proc/->write_proc/read_proc_entry() users on death row,
b) new such users should be rejected,
c) everyone is encouraged to convert his favourite ->read_proc user or
I'll do it, lazy bastards.
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:19 -07:00
Alexey Dobriyan
352ced8e59
proc: switch /proc/scsi/device_info to seq_file interface
...
Note 1: 0644 should be used, but root bypasses permissions, so writing
to /proc/scsi/device_info still works.
Note 2: looks like scsi_dev_info_list is unprotected
Note 3: probably make proc whine about "unwriteable but with ->write hook"
entries. Probably.
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru >
Cc: James Bottomley <James.Bottomley@SteelEye.com >
Cc: Mike Christie <michaelc@cs.wisc.edu >
Cc: Matthew Wilcox <matthew@wil.cx >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:19 -07:00
Alexey Dobriyan
4a5cdb5b8f
proc: switch /proc/ip2mem to seq_file interface
...
/******************************************/
/* Remove useless comment, while I am it. */
/******************************************/
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru >
Cc: Greg Kroah-Hartman <gregkh@suse.de >
Cc: Jeff Garzik <jeff@garzik.org >
Cc: Jeff Dike <jdike@addtoit.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:19 -07:00
Alexey Dobriyan
076ec04b8a
proc: convert /proc/bus/nubus to seq_file interface
...
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru >
Cc: Geert Uytterhoeven <geert@linux-m68k.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:19 -07:00
Alexey Dobriyan
3ae02d6bc1
proc: switch /proc/irda/irnet to seq_file interface
...
Probably interface misuse, because of the way iterating over hashbin is done.
However! Printing of socket number ("IrNET socket %d - ", i++") made conversion
to proper ->start/->next difficult enough to do blindly without hardware.
Said that, please apply.
Remove useless comment while I am it.
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru >
Cc: Samuel Ortiz <samuel@sortiz.org >
Cc: "David S. Miller" <davem@davemloft.net >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:19 -07:00
Alexey Dobriyan
4bd61f76a5
proc: switch /proc/excite/unit_id to seq_file interface
...
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru >
Cc: Ralf Baechle <ralf@linux-mips.org >
Cc: Thomas Koeller <thomas.koeller@baslerweb.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:19 -07:00
Alexey Dobriyan
9b0012126a
proc: switch /proc/bus/ecard/devices to seq_file interface
...
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru >
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk >
Cc: Yani Ioannou <yani.ioannou@gmail.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:19 -07:00
Alexey Dobriyan
5125154914
proc: remove /proc/mac_iop
...
Entry creation was commented for a long time and right now it stands on
the way of ->get_info removal, so unless nobody objects...
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru >
Cc: Simon Arlott <simon@fire.lp0.eu >
Cc: Roman Zippel <zippel@linux-m68k.org >
Cc: Joern Engel <joern@wohnheim.fh-wedel.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:19 -07:00
Alexey Dobriyan
647634df40
proc: switch /proc/apm to seq_file interface
...
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru >
Cc: Rafael J. Wysocki <rjw@sisk.pl >
Cc: Ralf Baechle <ralf@linux-mips.org >
Cc: Len Brown <len.brown@intel.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:19 -07:00
Alexey Dobriyan
8331438b38
proc: switch /proc/bus/zorro/devices to seq_file interface
...
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru >
Cc: Josef Sipek <jsipek@fsl.cs.sunysb.edu >
Cc: Geert Uytterhoeven <geert@linux-m68k.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:19 -07:00
Alexey Dobriyan
c74c120a21
proc: remove proc_root from drivers
...
Remove proc_root export. Creation and removal works well if parent PDE is
supplied as NULL -- it worked always that way.
So, one useless export removed and consistency added, some drivers created
PDEs with &proc_root as parent but removed them as NULL and so on.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:18 -07:00
Alexey Dobriyan
928b4d8c89
proc: remove proc_root_driver
...
Use creation by full path: "driver/foo".
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:18 -07:00
Alexey Dobriyan
36a5aeb878
proc: remove proc_root_fs
...
Use creation by full path instead: "fs/foo".
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:18 -07:00
Alexey Dobriyan
9c37066d88
proc: remove proc_bus
...
Remove proc_bus export and variable itself. Using pathnames works fine
and is slightly more understandable and greppable.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:18 -07:00
Alexey Dobriyan
5e971dce0b
proc: drop several "PDE valid/invalid" checks
...
proc-misc code is noticeably full of "if (de)" checks when PDE passed is
always valid. Remove them.
Addition of such check in proc_lookup_de() is for failed lookup case.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:18 -07:00
Alexey Dobriyan
7cee4e00e0
proc: less special case in xlate code
...
If valid "parent" is passed to proc_create/remove_proc_entry(), then name of
PDE should consist of only one path component, otherwise creation or or
removal will fail. However, if NULL is passed as parent then create/remove
accept full path as a argument. This is arbitrary restriction -- all
infrastructure is in place.
So, patch allows the following to succeed:
create_proc_entry("foo/bar", 0, pde_baz);
remove_proc_entry("baz/foo/bar", &proc_root);
Also makes the following to behave identically:
create_proc_entry("foo/bar", 0, NULL);
create_proc_entry("foo/bar", 0, &proc_root);
Discrepancy noticed by Den Lunev (IIRC).
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:17 -07:00
Alexey Dobriyan
f649d6d326
proc: simplify locking in remove_proc_entry()
...
proc_subdir_lock protects only modifying and walking through PDE lists, so
after we've found PDE to remove and actually removed it from lists, there is
no need to hold proc_subdir_lock for the rest of operation.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:17 -07:00
Roland McGrath
638fa202cd
procfs: mem permission cleanup
...
This cleans up the permission checks done for /proc/PID/mem i/o calls. It
puts all the logic in a new function, check_mem_permission().
The old code repeated the (!MAY_PTRACE(task) || !ptrace_may_attach(task))
magical expression multiple times. The new function does all that work in one
place, with clear comments.
The old code called security_ptrace() twice on successful checks, once in
MAY_PTRACE() and once in __ptrace_may_attach(). Now it's only called once,
and only if all other checks have succeeded.
Signed-off-by: Roland McGrath <roland@redhat.com >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: Oleg Nesterov <oleg@tv-sign.ru >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:17 -07:00
Alexey Dobriyan
0d5c9f5f59
proc: switch to proc_create()
...
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2008-04-29 08:06:17 -07:00