summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-04-29mISDN: fix misdn_add_timer()/misdn_del_timer() raceAl Viro
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>
2013-04-29mISDN: fix races between misdn_del_timer() and timer callbackAl Viro
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>
2013-04-29mISDN: fix the races with timers going off just as they are deletedAl Viro
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>
2013-04-29dvb_frontend: don't mess with ->f_op in ->release()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29dvb_net: don't mess with ->f_op in ->release()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29lis3lv02d: don't wank with fasync() on ->release()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29mpt3sas: don't wank with fasync on ->release()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29mpt2sas: don't wank with fasync on ->release()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29fix a leak in /proc/schedstatsAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29pmcraid: don't wank with fasync in ->release()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29mptctl: don't wank with fasync in ->release()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29lpfc: fix races for miscdevice open vs. rmmodAl Viro
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>
2013-04-29yurex: don't wank with fasync on ->release()...Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29fanotify: don't wank with FASYNC on ->release()Al Viro
... it's done already by __fput() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29sock_close() couldn't have been called with NULL inode since at least 2.1.earlyAl Viro
... if not since 0.99 or so. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29tomoyo_close_control: don't bother with return valueAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29dmasound_core: saner arguments for sq_fsync()Al Viro
it is not (and it has never been) an ->fsync() instance... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29hppfs: get rid of ->fsync()Al Viro
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>
2013-04-29hppfs: fix the leaks on close()Al Viro
we need to close the underlying procfs file and free ->private_data Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29new helper: read_code()Al Viro
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>
2013-04-13cx25821: sanitize cx25821_openfile_audio() a bit...Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-13cx25821: sanitize cx25821_get_audio_data() a bitAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09try a saner locking for pde_opener...Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09deal with races between remove_proc_entry() and proc_reg_release()Al Viro
* 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>
2013-04-09procfs: preparations for remove_proc_entry() race fixesAl Viro
* 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>
2013-04-09procfs: Clean up huge if-statement in __proc_file_read()David Howells
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>
2013-04-09vt6655: slightly clean reading config fileAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09vt6656: slightly sanitized reading configAl Viro
Just reading - parsing the results is left alone (and unspeakably lousy). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09sound_firmware: don't bother with filp_close()Al Viro
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>
2013-04-09pxa3xx-gcu: stop embedding file_operations into device-private objectAl Viro
no need to do that anymore... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09pxa3xx-gcu: quite playing silly buggers with ->f_opAl Viro
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>
2013-04-09silicom-bypass: Remove device_open/close()David Howells
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>
2013-04-09proc: Kill create_proc_entry()David Howells
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>
2013-04-09wlags49_h2: Don't use create_proc_entry()David Howells
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>
2013-04-09nubus: Don't use create_proc_entry()David Howells
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>
2013-04-09UM: Adjust printk in create_proc_mconsole()David Howells
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>
2013-04-09constify a bunch of struct file_operations instancesAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09bluetooth: kill unused fops field in struct bt_sock_listAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09bluetooth: fix race in bt_procfs_init()Al Viro
use proc_create_data() rather than set ->data after the file has been created Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09bluetooth: kill unused 'module' argument of bt_procfs_init()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09bluetooth: don't bother with ->owner for procfs fopsAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09x25: use proc_remove_subtree()Al Viro
... 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>
2013-04-09create_proc_cpu_mask() doesn't need an argument...Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09lparcfg: don't bother saving pointer to proc_dir_entryAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09prominfo_proc fixesAl Viro
* check for proc_mkdir() failures * use remove_proc_subtree() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09srm_env: don't bother with pointer to srm_env_tAl Viro
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>
2013-04-09srm_env: use proc_remove_subtree()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09procfs: new helper - PDE_DATA(inode)Al Viro
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>
2013-04-09last_radio_log: switch to proc_create()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09procfs: kill ->write_proc()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>