On 5/18/21 3:03 AM, Russell King (Oracle) wrote: > On Mon, May 17, 2021 at 02:06:33PM -0700, Randy Dunlap wrote: >> [adding back linux-arm-kernel; what happened to it? ] That was about what I thought was Steve F. dropping LAK on his response email. > 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. Yes, trying to handle get_user() of size 8 bytes is quite messy. I have a few versions and they are all ugly and cause build warnings. So we are down to what bugzilla calls WONTFIX. I'm OK with that. Thanks. -- ~Randy