2010-01-04 16:44:44

by Alan

[permalink] [raw]
Subject: [PATCH] sonypi: Kill off the BKL in the ioctl

And another thats been ignored for several months

--

All the internal logic is protected properly by the existing mutex locking

Signed-off-by: Alan Cox <[email protected]>
---

drivers/char/sonypi.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)


diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c
index 0798754..6a574bf 100644
--- a/drivers/char/sonypi.c
+++ b/drivers/char/sonypi.c
@@ -955,8 +955,8 @@ static unsigned int sonypi_misc_poll(struct file *file, poll_table *wait)
return 0;
}

-static int sonypi_misc_ioctl(struct inode *ip, struct file *fp,
- unsigned int cmd, unsigned long arg)
+static long sonypi_misc_ioctl(struct file *fp,
+ unsigned int cmd, unsigned long arg)
{
int ret = 0;
void __user *argp = (void __user *)arg;
@@ -1074,7 +1074,7 @@ static const struct file_operations sonypi_misc_fops = {
.open = sonypi_misc_open,
.release = sonypi_misc_release,
.fasync = sonypi_misc_fasync,
- .ioctl = sonypi_misc_ioctl,
+ .unlocked_ioctl = sonypi_misc_ioctl,
};

static struct miscdevice sonypi_misc_device = {


2010-01-04 17:12:20

by John Kacur

[permalink] [raw]
Subject: Re: [PATCH] sonypi: Kill off the BKL in the ioctl

On Mon, Jan 4, 2010 at 5:21 PM, Alan Cox <[email protected]> wrote:
> And another thats been ignored for several months
>
> --
>
> All the internal logic is protected properly by the existing mutex locking
>
> Signed-off-by: Alan Cox <[email protected]>
> ---
>
> ?drivers/char/sonypi.c | ? ?6 +++---
> ?1 files changed, 3 insertions(+), 3 deletions(-)
>
>
> diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c
> index 0798754..6a574bf 100644
> --- a/drivers/char/sonypi.c
> +++ b/drivers/char/sonypi.c
> @@ -955,8 +955,8 @@ static unsigned int sonypi_misc_poll(struct file *file, poll_table *wait)
> ? ? ? ?return 0;
> ?}
>
> -static int sonypi_misc_ioctl(struct inode *ip, struct file *fp,
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ?unsigned int cmd, unsigned long arg)
> +static long sonypi_misc_ioctl(struct file *fp,
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? unsigned int cmd, unsigned long arg)
> ?{
> ? ? ? ?int ret = 0;
> ? ? ? ?void __user *argp = (void __user *)arg;
> @@ -1074,7 +1074,7 @@ static const struct file_operations sonypi_misc_fops = {
> ? ? ? ?.open ? ? ? ? ? = sonypi_misc_open,
> ? ? ? ?.release ? ? ? ?= sonypi_misc_release,
> ? ? ? ?.fasync ? ? ? ? = sonypi_misc_fasync,
> - ? ? ? .ioctl ? ? ? ? ?= sonypi_misc_ioctl,
> + ? ? ? .unlocked_ioctl = sonypi_misc_ioctl,
> ?};
>
> ?static struct miscdevice sonypi_misc_device = {
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at ?http://www.tux.org/lkml/
>

I submitted this in October that would also remove the bkl from the
sonypi_misc_open function too.
http://lkml.indiana.edu/hypermail/linux/kernel/0910.2/01405.html

Thanks