diff options
| -rw-r--r-- | net/core/ethtool.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 91ffce20c36b..dae2fd053c2b 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c | |||
| @@ -815,7 +815,7 @@ static int ethtool_get_regs(struct net_device *dev, char __user *useraddr) | |||
| 815 | if (regs.len > reglen) | 815 | if (regs.len > reglen) |
| 816 | regs.len = reglen; | 816 | regs.len = reglen; |
| 817 | 817 | ||
| 818 | regbuf = kmalloc(reglen, GFP_USER); | 818 | regbuf = vmalloc(reglen); |
| 819 | if (!regbuf) | 819 | if (!regbuf) |
| 820 | return -ENOMEM; | 820 | return -ENOMEM; |
| 821 | 821 | ||
| @@ -830,7 +830,7 @@ static int ethtool_get_regs(struct net_device *dev, char __user *useraddr) | |||
| 830 | ret = 0; | 830 | ret = 0; |
| 831 | 831 | ||
| 832 | out: | 832 | out: |
| 833 | kfree(regbuf); | 833 | vfree(regbuf); |
| 834 | return ret; | 834 | return ret; |
| 835 | } | 835 | } |
| 836 | 836 | ||
