Re: [PATCH net-2.6] ethtool: Compat handling for struct ethtool_rxnfc
From: Alexander Duyck <hidden>
Date: 2011-03-18 20:01:59
On 3/17/2011 10:34 AM, Ben Hutchings wrote:
This structure was accidentally defined such that its layout can differ between 32-bit and 64-bit processes. Add compat structure definitions and an ioctl wrapper function. Signed-off-by: Ben Hutchings<redacted> Cc: stable@kernel.org [2.6.30+] --- David, I still haven't received any response on whether the ETHTOOL_GRXCLSRLALL wrapping works with a real driver, but perhaps you could test it against niu? I think sparc32 and sparc64 have the same alignment for u64 so this wrapper isn't strictly necessary, but it would still be used. (Or we can arrange to disable the conversion when compat_ethtool_rxnfc is equivalent to ethtool_rxnfc.) Ben.
I've done a bit of testing this morning and verified GRXRINGS, GRCLSRLCNT, GRXCLSRULE, SRXCLSRLDEL, and SRXCLSRLINS all seem to be working for 32bit and 64bit ethtool user space on a x86_64 kernel with the patch. I also verified the original issue was present by running 32bit ethtool on a x86_64 kernel without the patch applied. In order to support flow extensions there will end up being a couple of minor changes needed to the patch but I will just make sure to add them when flow extensions are added. Thanks, Alex Acked-by: Alexander Duyck <redacted>