On Mon, Dec 15, 2014 at 06:03:10PM +0800, LF.Tan wrote: > On Mon, Dec 15, 2014 at 12:51 AM, Michael S. Tsirkin <mst@xxxxxxxxxx> wrote: > > At the moment, if p and x are both tagged as bitwise types, > > get_user(x, p) produces a sparse warning on many architectures. > > This is because *p on these architectures is loaded into long > > (typically using asm), then cast back to typeof(*p). > > > > When typeof(*p) is a bitwise type (which is uncommon), such a cast needs > > __force, otherwise sparse produces a warning. > > > > Some architectures already have the __force tag, add it > > where it's missing. > > > > Specificlly, vhost wants to read bitwise types from userspace using get_user. > > At the moment this triggers sparse errors, since the value is passed through an > > integer. > > > > For now, I worked around this by converting vhost code to access_ok + > > __get_user, but that's not robust, I'd like to switch to get_user for 3.19. > > > > I tested this on x86 only so far. Since it's just adding __force, should be > > trivially safe everywhere? > > > > Please review, and consider for 3.19. > > > > Who can merge this? Arnd? > Hi Michael > > FYI, there is new arch (arch/nios2) in 3.19. Is your patchset include > the fix for it? > Thanks. > > Regards > Ley Foon Thanks for the heads up. No - it will probably need a similar fix for __get_user and get_user. It's just a parse warning so it's not a blocker. Can you fix it yourself or prefer me to? -- MST -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html