kernel/kernel-generic.git
11 years agoreiserfs: Don't access the proc_dir_entry in r_open(), r_start() r_show()
David Howells [Fri, 12 Apr 2013 10:17:06 +0000 (11:17 +0100)]
reiserfs: Don't access the proc_dir_entry in r_open(), r_start() r_show()

Don't access the proc_dir_entry in ReiserFS's r_open(), r_start() r_show()
procfs interface functions.

ReiserFS stores the ->show() method pointer in PDE->data and the super_block
pointer in PDE->parent->data.  This isn't changing.

Currently, ReiserFS passes the PDE pointer into seq_file::private from
r_open() so that r_start() and r_show() can then access it.  Instead, use
seq_open_private() to allocate a two-pointer struct that's passed through
seq_file::private and put the ->show() method and the sb pointers in there.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: reiserfs-devel@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Supply an accessor for getting the data from a PDE's parent
David Howells [Fri, 12 Apr 2013 13:06:01 +0000 (14:06 +0100)]
proc: Supply an accessor for getting the data from a PDE's parent

Supply an accessor function for getting the private data from the parent
proc_dir_entry struct of the proc_dir_entry struct associated with an inode.

ReiserFS, for instance, stores the super_block pointer in the proc directory
it makes for that super_block, and a pointer to the respective seq_file show
function in each of the proc files in that directory.

This allows a reduction in the number of file_operations structs, open
functions and seq_operations structs required.  The problem otherwise is that
each show function requires two pieces of data but only has storage for one
per PDE (and this has no release function).

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Jerry Chuang <jerry-chuang@realtek.com>
cc: Maxim Mikityanskiy <maxtram95@gmail.com>
cc: YAMANE Toshiaki <yamanetoshi@gmail.com>
cc: linux-wireless@vger.kernel.org
cc: linux-scsi@vger.kernel.org
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoairo: Use remove_proc_subtree()
David Howells [Fri, 12 Apr 2013 02:05:20 +0000 (03:05 +0100)]
airo: Use remove_proc_subtree()

Use remove_proc_subtree() to remove the airo device subdir and all its
children instead of doing it manually.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: linux-wireless@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agortl8192u: Don't need to save device proc dir PDE
David Howells [Fri, 12 Apr 2013 02:02:22 +0000 (03:02 +0100)]
rtl8192u: Don't need to save device proc dir PDE

Don't need to save the PDE of a directory created under /proc/net/rtl8192/ as
we can use proc subtree deletion to get rid of it and all its children.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Jerry Chuang <jerry-chuang@realtek.com>
cc: linux-wireless@vger.kernel.org
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agortl8187se: Use a dir under /proc/net/r8180/
David Howells [Fri, 12 Apr 2013 01:59:48 +0000 (02:59 +0100)]
rtl8187se: Use a dir under /proc/net/r8180/

Create a dir under /proc/net/r8180/ named for the device and create that
device's files under there.  This means that there won't be a problem for
multiple devices in the system (if such is possible) and it means we don't
need to save the 'device directory' PDE any more as we can just do a proc
subtree removal.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Maxim Mikityanskiy <maxtram95@gmail.com>
cc: YAMANE Toshiaki <yamanetoshi@gmail.com>
cc: linux-wireless@vger.kernel.org
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Add proc_mkdir_data()
David Howells [Fri, 12 Apr 2013 01:48:30 +0000 (02:48 +0100)]
proc: Add proc_mkdir_data()

Add proc_mkdir_data() to allow procfs directories to be created that are
annotated at the time of creation with private data rather than doing this
post-creation.  This means no access is then required to the proc_dir_entry
struct to set this.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Neela Syam Kolli <megaraidlinux@lsi.com>
cc: Jerry Chuang <jerry-chuang@realtek.com>
cc: linux-scsi@vger.kernel.org
cc: devel@driverdev.osuosl.org
cc: linux-wireless@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}
David Howells [Fri, 12 Apr 2013 01:29:19 +0000 (02:29 +0100)]
proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}

Move some bits from linux/proc_fs.h to linux/of.h, signal.h and tty.h.

Also move proc_tty_init() and proc_device_tree_init() to fs/proc/internal.h as
they're internal to procfs.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
cc: devicetree-discuss@lists.ozlabs.org
cc: linux-arch@vger.kernel.org
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Jri Slaby <jslaby@suse.cz>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Move PDE_NET() to fs/proc/proc_net.c
David Howells [Fri, 12 Apr 2013 01:09:03 +0000 (02:09 +0100)]
proc: Move PDE_NET() to fs/proc/proc_net.c

Move PDE_NET() to fs/proc/proc_net.c as that's where the only user is.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Split the namespace stuff out into linux/proc_ns.h
David Howells [Fri, 12 Apr 2013 00:50:06 +0000 (01:50 +0100)]
proc: Split the namespace stuff out into linux/proc_ns.h

Split the proc namespace stuff out into linux/proc_ns.h.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: netdev@vger.kernel.org
cc: Serge E. Hallyn <serge.hallyn@ubuntu.com>
cc: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Move proc_fd() to fs/proc/fd.h
David Howells [Fri, 12 Apr 2013 00:42:56 +0000 (01:42 +0100)]
proc: Move proc_fd() to fs/proc/fd.h

Move proc_fd() to fs/proc/fd.h.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Uninline pid_delete_dentry()
David Howells [Fri, 12 Apr 2013 00:08:50 +0000 (01:08 +0100)]
proc: Uninline pid_delete_dentry()

Uninline pid_delete_dentry() as it's only used by three function pointers.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Supply PDE attribute setting accessor functions
David Howells [Thu, 11 Apr 2013 23:38:51 +0000 (00:38 +0100)]
proc: Supply PDE attribute setting accessor functions

Supply accessor functions to set attributes in proc_dir_entry structs.

The following are supplied: proc_set_size() and proc_set_user().

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
cc: linuxppc-dev@lists.ozlabs.org
cc: linux-media@vger.kernel.org
cc: netdev@vger.kernel.org
cc: linux-wireless@vger.kernel.org
cc: linux-pci@vger.kernel.org
cc: netfilter-devel@vger.kernel.org
cc: alsa-devel@alsa-project.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Split kcore bits from linux/procfs.h into linux/kcore.h
David Howells [Thu, 11 Apr 2013 23:10:25 +0000 (00:10 +0100)]
proc: Split kcore bits from linux/procfs.h into linux/kcore.h

Split kcore bits from linux/procfs.h into linux/kcore.h.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
cc: linux-mips@linux-mips.org
cc: sparclinux@vger.kernel.org
cc: x86@kernel.org
cc: linux-mm@kvack.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoInclude missing linux/magic.h inclusions
David Howells [Thu, 11 Apr 2013 22:55:54 +0000 (23:55 +0100)]
Include missing linux/magic.h inclusions

Include missing linux/magic.h inclusions where the source file is currently
expecting to get magic numbers through linux/proc_fs.h.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: linux-efi@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoInclude missing linux/slab.h inclusions
David Howells [Thu, 11 Apr 2013 22:51:01 +0000 (23:51 +0100)]
Include missing linux/slab.h inclusions

Include missing linux/slab.h inclusions where the source file is currently
expecting to get kmalloc() and co. through linux/proc_fs.h.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: linux-s390@vger.kernel.org
cc: sparclinux@vger.kernel.org
cc: linux-efi@vger.kernel.org
cc: linux-mtd@lists.infradead.org
cc: devel@driverdev.osuosl.org
cc: x86@kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoproc: Delete create_proc_read_entry()
David Howells [Thu, 11 Apr 2013 02:20:50 +0000 (03:20 +0100)]
proc: Delete create_proc_read_entry()

Delete create_proc_read_entry() as it no longer has any users.

Also delete read_proc_t, write_proc_t, the read_proc member of the
proc_dir_entry struct and the support functions that use them.  This saves a
pointer for every PDE allocated.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoarm: Don't use create_proc_read_entry()
David Howells [Thu, 11 Apr 2013 02:05:01 +0000 (03:05 +0100)]
arm: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Russell King <linux@arm.linux.org.uk>
cc: Kevin Hilman <khilman@deeprootsystems.com>
cc: Tony Lindgren <tony@atomide.com>
cc: linux-arm-kernel@lists.infradead.org
cc: linux-omap@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoARM: OMAP1: Replace PM debug create_proc_read_entry() with debugfs
Tony Lindgren [Thu, 11 Apr 2013 18:03:41 +0000 (11:03 -0700)]
ARM: OMAP1: Replace PM debug create_proc_read_entry() with debugfs

There's no need to keep this entry in proc, it is PM
related debug only entry. Let's move it into debugfs.

Based on an earlier patch David Howells <dhowells@redhat.com>
to use seq_printf and to update to use create_proc_read_entry().

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocris: Don't use create_proc_read_entry()
David Howells [Thu, 11 Apr 2013 02:04:20 +0000 (03:04 +0100)]
cris: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
cc: Mikael Starvik <starvik@axis.com>
cc: linux-cris-kernel@axis.com
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoh8300: Don't use create_proc_read_entry()
David Howells [Thu, 11 Apr 2013 01:32:46 +0000 (02:32 +0100)]
h8300: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoia64: Don't use create_proc_read_entry()
David Howells [Thu, 11 Apr 2013 00:28:40 +0000 (01:28 +0100)]
ia64: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Tony Luck <tony.luck@intel.com>
cc: Fenghua Yu <fenghua.yu@intel.com>
cc: linux-ia64@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomips: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 23:21:15 +0000 (00:21 +0100)]
mips: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Ralf Baechle <ralf@linux-mips.org>
cc: linux-mips@linux-mips.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoparisc: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 23:11:51 +0000 (00:11 +0100)]
parisc: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
cc: Helge Deller <deller@gmx.de>
cc: linux-parisc@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosh: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 23:01:27 +0000 (00:01 +0100)]
sh: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Paul Mundt <lethal@linux-sh.org>
cc: linux-sh@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomegaraid: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 12:33:21 +0000 (13:33 +0100)]
megaraid: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Neela Syam Kolli <megaraidlinux@lsi.com>
cc: James E.J. Bottomley <JBottomley@parallels.com>
cc: linux-scsi@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agohostap: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 20:13:23 +0000 (21:13 +0100)]
hostap: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Jouni Malinen <j@w1.fi>
cc: John W. Linville <linville@tuxdriver.com>
cc: Johannes Berg <johannes@sipsolutions.net>
cc: linux-wireless@vger.kernel.org
cc: netdev@vger.kernel.org
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoatmel: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 15:50:58 +0000 (16:50 +0100)]
atmel: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Simon Kelley <simon@thekelleys.org.uk>
cc: John W. Linville <linville@tuxdriver.com>
cc: linux-wireless@vger.kernel.org
cc: netdev@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agods1620: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 15:48:39 +0000 (16:48 +0100)]
ds1620: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Arnd Bergmann <arnd@arndb.de>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoefirtc: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 15:21:08 +0000 (16:21 +0100)]
efirtc: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Arnd Bergmann <arnd@arndb.de>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agogenrtc: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 15:11:53 +0000 (16:11 +0100)]
genrtc: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Arnd Bergmann <arnd@arndb.de>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agohp_sdc_rtc: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 14:52:18 +0000 (15:52 +0100)]
hp_sdc_rtc: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Brian S. Julin <bri@calyx.com>
cc: Helge Deller <deller@gmx.de>
cc: linux-m68k@lists.linux-m68k.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agonubus: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 14:05:38 +0000 (15:05 +0100)]
nubus: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: linux-m68k@lists.linux-m68k.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agofsl_udc: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 12:23:50 +0000 (13:23 +0100)]
fsl_udc: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Li Yang <leoli@freescale.com>
cc: Felipe Balbi <balbi@ti.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: linux-usb@vger.kernel.org
cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agogoku_udc: Don't use create_proc_read_entry()
David Howells [Wed, 10 Apr 2013 10:51:21 +0000 (11:51 +0100)]
goku_udc: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Felipe Balbi <balbi@ti.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: linux-usb@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agowlags49_h2: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 22:26:53 +0000 (23:26 +0100)]
wlags49_h2: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Henk de Groot <pe1dnn@amsat.org>
cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: linux-wireless@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocxt1e1: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 21:47:46 +0000 (22:47 +0100)]
cxt1e1: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Bob Beers <bob.beers@gmail.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocsr: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 15:50:22 +0000 (16:50 +0100)]
csr: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Randy Dunlap <rdunlap@xenotime.net>
cc: Priit Laes <plaes@plaes.org>
cc: devel@driverdev.osuosl.org
cc: Mikko Virkkilä <mikko.virkkila@bluegiga.com>
cc: Lauri Hintsala <Lauri.Hintsala@bluegiga.com>
cc: Riku Mettälä <riku.mettala@bluegiga.com>
cc: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocomedi: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 15:39:33 +0000 (16:39 +0100)]
comedi: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: David Schleef <ds@schleef.org>
cc: Ian Abbott <abbotti@mev.co.uk>
cc: Mori Hess <fmhess@users.sourceforge.net>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: H Hartley Sweeten <hsweeten@visionengravers.com>
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoft1000: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 15:06:20 +0000 (16:06 +0100)]
ft1000: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marek Belisko <marek.belisko@gmail.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Ondrej Zary <linux@rainbow-software.org>
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agortl8187se: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 14:48:07 +0000 (15:48 +0100)]
rtl8187se: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.  Whilst we're at it, reduce the
number of show functions where we can share them.

Question: Do any of the registers read by proc_get_registers() have side
effects upon reading?  If so, locking will be required.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: Maxim Mikityanskiy <maxtram95@gmail.com>
cc: YAMANE Toshiaki <yamanetoshi@gmail.com>
cc: Bill Pemberton <wfp5p@virginia.edu>
cc: Andrea Merello <andreamrl@tiscali.it>
cc: linux-wireless@vger.kernel.org
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agortl8192u: Don't use create_proc_read_entry()
David Howells [Mon, 8 Apr 2013 14:17:33 +0000 (15:17 +0100)]
rtl8192u: Don't use create_proc_read_entry()

Don't use create_proc_read_entry() as that is deprecated, but rather use
proc_create_data() and seq_file instead.  Whilst we're at it, reduce the
number of show functions where we can share them.

Note: proc_get_stats_ap() should probably use seq_file iteration rather than
list_for_each_entry().

Further note: There appears to be a lot of locking missing in this file to
defend against concurrent access by the driver doing normal operations.
Notably, ieee->network_list traversal and RWCAM/RCAMO command/response access.
Further, do any of the registers read have side effects upon reading?

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Jerry Chuang <jerry-chuang@realtek.com>
cc: Mauro Carvalho Chehab <mchehab@redhat.com>
cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cc: linux-wireless@vger.kernel.org
cc: devel@driverdev.osuosl.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoprocfs: Mark create_proc_read_entry deprecated
David Howells [Tue, 9 Apr 2013 20:11:47 +0000 (21:11 +0100)]
procfs: Mark create_proc_read_entry deprecated

Mark create_proc_read_entry deprecated.  proc_create[_data]() should be used
instead.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoxt_hashlimit: allocate a copy of name explicitly, don't rely on procfs guts
Al Viro [Fri, 19 Apr 2013 10:43:33 +0000 (06:43 -0400)]
xt_hashlimit: allocate a copy of name explicitly, don't rely on procfs guts

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomISDN: grabbing/dropping reference to THIS_MODULE in open/release is racy
Al Viro [Mon, 15 Apr 2013 21:27:11 +0000 (17:27 -0400)]
mISDN: grabbing/dropping reference to THIS_MODULE in open/release is racy

... when you have no ->owner set.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomISDN: fix mISDN_read()/mISDN_read() race
Al Viro [Mon, 15 Apr 2013 21:18:17 +0000 (17:18 -0400)]
mISDN: fix mISDN_read()/mISDN_read() race

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomISDN: fix misdn_add_timer()/misdn_del_timer() race
Al Viro [Mon, 15 Apr 2013 21:04:04 +0000 (17:04 -0400)]
mISDN: fix misdn_add_timer()/misdn_del_timer() race

do add_timer() *before* unlocking dev->lock, or unpleasant things can
happen if misdn_del_timer() on another CPU finds the sucker, calls
del_timer_sync() (which does nothing, since we hadn't started the
timer yet) and frees it, just as we get around to add_timer()...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomISDN: fix races between misdn_del_timer() and timer callback
Al Viro [Mon, 15 Apr 2013 20:55:41 +0000 (16:55 -0400)]
mISDN: fix races between misdn_del_timer() and timer callback

mark the victim with negative ->id if misdn_del_timer() finds it on
the list, have timer callback *not* move ones so marked to dev->expired

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomISDN: fix the races with timers going off just as they are deleted
Al Viro [Mon, 15 Apr 2013 20:31:13 +0000 (16:31 -0400)]
mISDN: fix the races with timers going off just as they are deleted

timer callback in timerdev.c both accesses struct mISDNtimer it's
called for *and* moves it to dev->expired.  We need del_timer_sync(),
or we risk kfree() freeing it right under dev_expire_timer() *and*
dev->expired getting corrupted.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agodvb_frontend: don't mess with ->f_op in ->release()
Al Viro [Mon, 15 Apr 2013 17:58:21 +0000 (13:58 -0400)]
dvb_frontend: don't mess with ->f_op in ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agodvb_net: don't mess with ->f_op in ->release()
Al Viro [Mon, 15 Apr 2013 17:56:11 +0000 (13:56 -0400)]
dvb_net: don't mess with ->f_op in ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agolis3lv02d: don't wank with fasync() on ->release()
Al Viro [Mon, 15 Apr 2013 17:34:22 +0000 (13:34 -0400)]
lis3lv02d: don't wank with fasync() on ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agompt3sas: don't wank with fasync on ->release()
Al Viro [Mon, 15 Apr 2013 17:31:14 +0000 (13:31 -0400)]
mpt3sas: don't wank with fasync on ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agompt2sas: don't wank with fasync on ->release()
Al Viro [Mon, 15 Apr 2013 17:30:33 +0000 (13:30 -0400)]
mpt2sas: don't wank with fasync on ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agofix a leak in /proc/schedstats
Al Viro [Mon, 15 Apr 2013 17:29:15 +0000 (13:29 -0400)]
fix a leak in /proc/schedstats

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agopmcraid: don't wank with fasync in ->release()
Al Viro [Mon, 15 Apr 2013 14:29:11 +0000 (10:29 -0400)]
pmcraid: don't wank with fasync in ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agomptctl: don't wank with fasync in ->release()
Al Viro [Mon, 15 Apr 2013 14:28:20 +0000 (10:28 -0400)]
mptctl: don't wank with fasync in ->release()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agolpfc: fix races for miscdevice open vs. rmmod
Al Viro [Mon, 15 Apr 2013 02:39:37 +0000 (22:39 -0400)]
lpfc: fix races for miscdevice open vs. rmmod

mind you, I'm not sure WTF would anybody _need_ that miscdevice
at all - no IO is possible for it, opening it only pins the module
down and is seriously racy, at that.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoyurex: don't wank with fasync on ->release()...
Al Viro [Mon, 15 Apr 2013 01:23:06 +0000 (21:23 -0400)]
yurex: don't wank with fasync on ->release()...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agofanotify: don't wank with FASYNC on ->release()
Al Viro [Mon, 15 Apr 2013 00:01:50 +0000 (20:01 -0400)]
fanotify: don't wank with FASYNC on ->release()

... it's done already by __fput()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosock_close() couldn't have been called with NULL inode since at least 2.1.early
Al Viro [Sun, 14 Apr 2013 21:22:17 +0000 (17:22 -0400)]
sock_close() couldn't have been called with NULL inode since at least 2.1.early

... if not since 0.99 or so.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agotomoyo_close_control: don't bother with return value
Al Viro [Sun, 14 Apr 2013 20:59:00 +0000 (16:59 -0400)]
tomoyo_close_control: don't bother with return value

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agodmasound_core: saner arguments for sq_fsync()
Al Viro [Sun, 14 Apr 2013 20:49:33 +0000 (16:49 -0400)]
dmasound_core: saner arguments for sq_fsync()

it is not (and it has never been) an ->fsync() instance...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agohppfs: get rid of ->fsync()
Al Viro [Sun, 14 Apr 2013 19:35:44 +0000 (15:35 -0400)]
hppfs: get rid of ->fsync()

it has grown by accident - directories there do *not* use page cache, so
there's nothing to write.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agohppfs: fix the leaks on close()
Al Viro [Sun, 14 Apr 2013 19:34:01 +0000 (15:34 -0400)]
hppfs: fix the leaks on close()

we need to close the underlying procfs file and free ->private_data

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agonew helper: read_code()
Al Viro [Sun, 14 Apr 2013 00:31:37 +0000 (20:31 -0400)]
new helper: read_code()

switch binfmts that use ->read() to that (and to kernel_read()
in several cases in binfmt_flat - sure, it's nommu, but still,
doing ->read() into kmalloc'ed buffer...)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocx25821: sanitize cx25821_openfile_audio() a bit...
Al Viro [Sat, 13 Apr 2013 20:48:24 +0000 (16:48 -0400)]
cx25821: sanitize cx25821_openfile_audio() a bit...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocx25821: sanitize cx25821_get_audio_data() a bit
Al Viro [Sat, 13 Apr 2013 20:35:35 +0000 (16:35 -0400)]
cx25821: sanitize cx25821_get_audio_data() a bit

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agotry a saner locking for pde_opener...
Al Viro [Thu, 4 Apr 2013 20:28:47 +0000 (16:28 -0400)]
try a saner locking for pde_opener...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agodeal with races between remove_proc_entry() and proc_reg_release()
Al Viro [Wed, 3 Apr 2013 23:57:00 +0000 (19:57 -0400)]
deal with races between remove_proc_entry() and proc_reg_release()

* serialize the call of ->release() on per-pdeo mutex
* don't remove pdeo from per-pde list until we are through with it

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoprocfs: preparations for remove_proc_entry() race fixes
Al Viro [Wed, 3 Apr 2013 23:07:30 +0000 (19:07 -0400)]
procfs: preparations for remove_proc_entry() race fixes

* leave ->proc_fops alone; make ->pde_users negative instead
* trim pde_opener
* move relevant code in fs/proc/inode.c

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoprocfs: Clean up huge if-statement in __proc_file_read()
David Howells [Thu, 4 Apr 2013 15:32:28 +0000 (16:32 +0100)]
procfs: Clean up huge if-statement in __proc_file_read()

Switch huge if-statement in __proc_file_read() around.  This then puts the
single line loop break immediately after the if-statement and allows us to
de-indent the huge comment and make it take fewer lines.  The code following
the if-statement then follows naturally from the call to dp->read_proc().

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agovt6655: slightly clean reading config file
Al Viro [Sat, 6 Apr 2013 22:11:22 +0000 (18:11 -0400)]
vt6655: slightly clean reading config file

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agovt6656: slightly sanitized reading config
Al Viro [Sat, 6 Apr 2013 22:00:07 +0000 (18:00 -0400)]
vt6656: slightly sanitized reading config

Just reading - parsing the results is left alone (and unspeakably
lousy).

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosound_firmware: don't bother with filp_close()
Al Viro [Sat, 6 Apr 2013 17:53:56 +0000 (13:53 -0400)]
sound_firmware: don't bother with filp_close()

it's opened read-only and never installed into any descriptor tables;
fput() will do just as well.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agopxa3xx-gcu: stop embedding file_operations into device-private object
Al Viro [Sat, 6 Apr 2013 00:44:08 +0000 (20:44 -0400)]
pxa3xx-gcu: stop embedding file_operations into device-private object

no need to do that anymore...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agopxa3xx-gcu: quite playing silly buggers with ->f_op
Al Viro [Sat, 6 Apr 2013 00:39:36 +0000 (20:39 -0400)]
pxa3xx-gcu: quite playing silly buggers with ->f_op

misc device gets ->private_data pointing to struct miscdevice
on open(), so we can use that to get to per-device structure
instead of relying on file_operations being copied into it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosilicom-bypass: Remove device_open/close()
David Howells [Thu, 4 Apr 2013 19:36:00 +0000 (20:36 +0100)]
silicom-bypass: Remove device_open/close()

Remove device_open/close() functions as they don't really do anything and
remove Device_Open as it isn't counted atomically and the value isn't used.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoproc: Kill create_proc_entry()
David Howells [Thu, 4 Apr 2013 16:02:03 +0000 (17:02 +0100)]
proc: Kill create_proc_entry()

Kill create_proc_entry() in favour of create_proc_read_entry(), proc_create()
and proc_create_data().

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agowlags49_h2: Don't use create_proc_entry()
David Howells [Thu, 4 Apr 2013 15:49:26 +0000 (16:49 +0100)]
wlags49_h2: Don't use create_proc_entry()

create_proc_entry() shouldn't be used.  Rather proc_create_data() should be
used.  The proc_write() function is only used by #if'd out code, so delete it
for now.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agonubus: Don't use create_proc_entry()
David Howells [Thu, 4 Apr 2013 15:44:51 +0000 (16:44 +0100)]
nubus: Don't use create_proc_entry()

Don't use create_proc_entry() in nubus_proc_subdir().  The files created aren't
given any way to use them, so for the moment use create_proc_read_entry() with
a NULL accessor and generate a compile-time warning.

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoUM: Adjust printk in create_proc_mconsole()
David Howells [Thu, 4 Apr 2013 15:58:25 +0000 (16:58 +0100)]
UM: Adjust printk in create_proc_mconsole()

Adjust printk in create_proc_mconsole() to reflect it is now using
proc_create() not create_proc_mconsole().

Signed-off-by: David Howells <dhowells@redhat.com>
11 years agoconstify a bunch of struct file_operations instances
Al Viro [Thu, 4 Apr 2013 23:09:41 +0000 (19:09 -0400)]
constify a bunch of struct file_operations instances

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agobluetooth: kill unused fops field in struct bt_sock_list
Al Viro [Thu, 4 Apr 2013 23:18:04 +0000 (19:18 -0400)]
bluetooth: kill unused fops field in struct bt_sock_list

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agobluetooth: fix race in bt_procfs_init()
Al Viro [Thu, 4 Apr 2013 23:16:06 +0000 (19:16 -0400)]
bluetooth: fix race in bt_procfs_init()

use proc_create_data() rather than set ->data after the file has
been created

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agobluetooth: kill unused 'module' argument of bt_procfs_init()
Al Viro [Thu, 4 Apr 2013 23:14:33 +0000 (19:14 -0400)]
bluetooth: kill unused 'module' argument of bt_procfs_init()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agobluetooth: don't bother with ->owner for procfs fops
Al Viro [Thu, 4 Apr 2013 23:12:06 +0000 (19:12 -0400)]
bluetooth: don't bother with ->owner for procfs fops

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agox25: use proc_remove_subtree()
Al Viro [Wed, 3 Apr 2013 04:04:51 +0000 (00:04 -0400)]
x25: use proc_remove_subtree()

... and don't bother with ->owner, while we are at it - procfs fops
do not need it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agocreate_proc_cpu_mask() doesn't need an argument...
Al Viro [Tue, 2 Apr 2013 00:48:34 +0000 (20:48 -0400)]
create_proc_cpu_mask() doesn't need an argument...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agolparcfg: don't bother saving pointer to proc_dir_entry
Al Viro [Mon, 1 Apr 2013 03:21:50 +0000 (23:21 -0400)]
lparcfg: don't bother saving pointer to proc_dir_entry

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoprominfo_proc fixes
Al Viro [Mon, 1 Apr 2013 02:50:16 +0000 (22:50 -0400)]
prominfo_proc fixes

* check for proc_mkdir() failures
* use remove_proc_subtree()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosrm_env: don't bother with pointer to srm_env_t
Al Viro [Mon, 1 Apr 2013 01:45:09 +0000 (21:45 -0400)]
srm_env: don't bother with pointer to srm_env_t

Since the only thing in it the methods actually care about is
variable id, just store that directly.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agosrm_env: use proc_remove_subtree()
Al Viro [Sun, 31 Mar 2013 22:29:51 +0000 (18:29 -0400)]
srm_env: use proc_remove_subtree()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoprocfs: new helper - PDE_DATA(inode)
Al Viro [Sun, 31 Mar 2013 22:16:14 +0000 (18:16 -0400)]
procfs: new helper - PDE_DATA(inode)

The only part of proc_dir_entry the code outside of fs/proc
really cares about is PDE(inode)->data.  Provide a helper
for that; static inline for now, eventually will be moved
to fs/proc, along with the knowledge of struct proc_dir_entry
layout.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agolast_radio_log: switch to proc_create()
Al Viro [Sun, 31 Mar 2013 19:41:41 +0000 (15:41 -0400)]
last_radio_log: switch to proc_create()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoprocfs: kill ->write_proc()
Al Viro [Sun, 31 Mar 2013 19:30:40 +0000 (15:30 -0400)]
procfs: kill ->write_proc()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agobfin_adv7393: switch to proc_create_data()
Al Viro [Sun, 31 Mar 2013 19:29:21 +0000 (15:29 -0400)]
bfin_adv7393: switch to proc_create_data()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoxtensa simdisk: switch to proc_create_data()
Al Viro [Sun, 31 Mar 2013 19:18:19 +0000 (15:18 -0400)]
xtensa simdisk: switch to proc_create_data()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agortl8192u: switch to proc_create()
Al Viro [Sun, 31 Mar 2013 19:07:00 +0000 (15:07 -0400)]
rtl8192u: switch to proc_create()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agoscsi_proc: make proc_scsi_host_open() preallocate a bigger buffer
Al Viro [Sun, 31 Mar 2013 17:50:52 +0000 (13:50 -0400)]
scsi_proc: make proc_scsi_host_open() preallocate a bigger buffer

Some of the ->show_info() instances really spew a lot; it's not a problem
wrt correctness (seq_read() will grow buffer and call the sucker again),
but in this case it makes sense to start with a somewhat bigger one -
they often do exceed one page worth of output.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
11 years agonew helper: single_open_size()
Al Viro [Sun, 31 Mar 2013 17:43:23 +0000 (13:43 -0400)]
new helper: single_open_size()

Same as single_open(), but preallocates the buffer of given size.
Doesn't make any sense for sizes up to PAGE_SIZE and doesn't make
sense if output of show() exceeds PAGE_SIZE only rarely - seq_read()
will take care of growing the buffer and redoing show().  If you
_know_ that it will be large, it might make more sense to look into
saner iterator, rather than go with single-shot one.  If that's
impossible, single_open_size() might be for you.

Again, don't use that without a good reason; occasionally that's really
the best way to go, but very often there are better solutions.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>