Search Linux Wireless

Re: [PATCH 2/2] wl12xx Export chip id to sysfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 18, 2011 at 10:18, Kalle Valo <kvalo@xxxxxxxxxx> wrote:
> Kalle Valo <kvalo@xxxxxxxxxx> writes:
>
>>> After some investigation, found that ethtool's ioctl interface doesn't work
>>> at this case.
>>
>> This reminds me: I have patches for these issues but I never sent them
>> upstream. It's too late for me now, but I'll search them tomorrow (or
>> today to be exact..) and send them for testing purposes.
>
> Here's the patch I used:
>
> diff --git a/net/core/ethtool.c b/net/core/ethtool.c
> index 74ead9e..0836aa3 100644
> --- a/net/core/ethtool.c
> +++ b/net/core/ethtool.c
> @@ -1185,7 +1185,7 @@ static int ethtool_get_regs(struct net_device *dev, char __user *useraddr)
>  {
>        struct ethtool_regs regs;
>        const struct ethtool_ops *ops = dev->ethtool_ops;
> -       void *regbuf;
> +       void *regbuf = NULL;
>        int reglen, ret;
>
>        if (!ops->get_regs || !ops->get_regs_len)
> @@ -1198,18 +1198,24 @@ static int ethtool_get_regs(struct net_device *dev, char __user *useraddr)
>        if (regs.len > reglen)
>                regs.len = reglen;
>
> -       regbuf = vzalloc(reglen);
> -       if (!regbuf)
> -               return -ENOMEM;
> +       if (reglen > 0) {
> +               regbuf = vzalloc(reglen);
> +               if (!regbuf)
> +                       return -ENOMEM;
> +       }
>
>        ops->get_regs(dev, &regs, regbuf);
>
>        ret = -EFAULT;
>        if (copy_to_user(useraddr, &regs, sizeof(regs)))
>                goto out;
> -       useraddr += offsetof(struct ethtool_regs, data);
> -       if (copy_to_user(useraddr, regbuf, regs.len))
> -               goto out;
> +
> +       if (regs.len > 0) {
> +               useraddr += offsetof(struct ethtool_regs, data);
> +               if (copy_to_user(useraddr, regbuf, regs.len))
> +                       goto out;
> +       }
> +
>        ret = 0;
>
>  out:
>

Tested-by: Gery Kahn <geryk@xxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux