On Mon, May 17, 2021 at 02:06:33PM -0700, Randy Dunlap wrote: > [adding back linux-arm-kernel; what happened to it? ] Nothing. I'm not interested in trying to do major disgusting contortions to make get_user() work for 8-byte values. If someone else wants to put the effort in and come up with an elegant solution that doesn't add warnings over the rest of the kernel, that's fine. As far as I remember, everything in __get_user_err() relies on __gu_val _not_ being 64-bit. If we use the same trick that we do in __get_user_check(): __inttype(x) __gu_val = (x); then if get_user() is called with a 64-bit integer value and a pointer-to-32-bit location to fetch from, we'd end up passing a 64-bit integer into the __get_user_asm() which could access the wrong 32-bit half of the value in BE mode. Similar issue with 64-bit vs pointer-to-16-bit. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!