diff options
author | Jonathan Corbet <corbet@lwn.net> | 2008-06-23 17:00:14 -0600 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2008-07-02 15:06:28 -0600 |
commit | 70b028b7ea94f1b36c61f3ee1c921cc3a87812e6 (patch) | |
tree | 1d21a2e4f2e2434a16f1d7b31649f6954f74140b /drivers/char/ipmi | |
parent | dda6445e219b5d1fd67e9426ce8d23f8fbfaaf66 (diff) | |
download | op-kernel-dev-70b028b7ea94f1b36c61f3ee1c921cc3a87812e6.zip op-kernel-dev-70b028b7ea94f1b36c61f3ee1c921cc3a87812e6.tar.gz |
ipmi: fasync BKL pushdown
This driver really needs it to avoid races against open()
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'drivers/char/ipmi')
-rw-r--r-- | drivers/char/ipmi/ipmi_devintf.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/char/ipmi/ipmi_devintf.c b/drivers/char/ipmi/ipmi_devintf.c index c816656..c11a404 100644 --- a/drivers/char/ipmi/ipmi_devintf.c +++ b/drivers/char/ipmi/ipmi_devintf.c @@ -101,7 +101,9 @@ static int ipmi_fasync(int fd, struct file *file, int on) struct ipmi_file_private *priv = file->private_data; int result; + lock_kernel(); /* could race against open() otherwise */ result = fasync_helper(fd, file, on, &priv->fasync_queue); + unlock_kernel(); return (result); } |