summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-04-29mISDN: fix misdn_add_timer()/misdn_del_timer() raceAl Viro1-9/+5
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 Viro1-13/+9
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 Viro1-2/+12
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 Viro1-4/+1
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29dvb_net: don't mess with ->f_op in ->release()Al Viro1-4/+1
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29lis3lv02d: don't wank with fasync() on ->release()Al Viro1-1/+0
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29mpt3sas: don't wank with fasync on ->release()Al Viro1-14/+0
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29mpt2sas: don't wank with fasync on ->release()Al Viro1-14/+0
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29fix a leak in /proc/schedstatsAl Viro1-6/+1
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29pmcraid: don't wank with fasync in ->release()Al Viro1-14/+0
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29mptctl: don't wank with fasync in ->release()Al Viro1-8/+0
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29lpfc: fix races for miscdevice open vs. rmmodAl Viro1-32/+1
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 Viro1-2/+0
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29fanotify: don't wank with FASYNC on ->release()Al Viro1-3/+0
... 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 Viro1-9/+0
... 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 Viro3-8/+4
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-29dmasound_core: saner arguments for sq_fsync()Al Viro1-3/+3
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 Viro1-7/+0
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 Viro1-1/+12
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 Viro6-67/+42
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-14cx25821: sanitize cx25821_openfile_audio() a bit...Al Viro1-68/+28
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-14cx25821: sanitize cx25821_get_audio_data() a bitAl Viro1-58/+25
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09try a saner locking for pde_opener...Al Viro3-44/+24
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09deal with races between remove_proc_entry() and proc_reg_release()Al Viro2-53/+34
* 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 Viro4-214/+135
* 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 Howells1-51/+47
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 Viro1-75/+40
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09vt6656: slightly sanitized reading configAl Viro1-43/+20
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 Viro1-4/+5
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 Viro1-7/+8
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 Viro1-9/+12
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 Howells1-24/+0
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 Howells2-18/+8
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 Howells1-11/+0
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 Howells1-2/+3
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 Howells1-2/+1
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 Viro13-17/+17
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09bluetooth: kill unused fops field in struct bt_sock_listAl Viro1-1/+0
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09bluetooth: fix race in bt_procfs_init()Al Viro1-7/+1
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 Viro9-10/+10
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09bluetooth: don't bother with ->owner for procfs fopsAl Viro1-7/+8
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09x25: use proc_remove_subtree()Al Viro1-33/+14
... 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 Viro3-8/+6
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09lparcfg: don't bother saving pointer to proc_dir_entryAl Viro1-9/+2
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09prominfo_proc fixesAl Viro1-30/+12
* 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 Viro1-24/+9
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 Viro1-57/+7
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09procfs: new helper - PDE_DATA(inode)Al Viro95-302/+243
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 Viro1-16/+4
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-04-09procfs: kill ->write_proc()Al Viro2-26/+0
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>