Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a77f5db3 authored by Ben Hutchings's avatar Ben Hutchings Committed by David S. Miller
Browse files

ethtool: Allocate register dump buffer with vmalloc()



Some NICs have huge register files which exceed the maximum heap
allocation size.

Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6099e3de
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -815,7 +815,7 @@ static int ethtool_get_regs(struct net_device *dev, char __user *useraddr)
	if (regs.len > reglen)
		regs.len = reglen;

	regbuf = kmalloc(reglen, GFP_USER);
	regbuf = vmalloc(reglen);
	if (!regbuf)
		return -ENOMEM;

@@ -830,7 +830,7 @@ static int ethtool_get_regs(struct net_device *dev, char __user *useraddr)
	ret = 0;

 out:
	kfree(regbuf);
	vfree(regbuf);
	return ret;
}