On Thu, Feb 23, 2017 at 02:26:03PM -0800, Dave Hansen wrote: > > From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > > Kirill got a warning from UBSAN about undefined behavior when using > protection keys. He is running on hardware that actually has support > for it, which is not widely available. > > The warning was because we did some very large shifts of integers when > doing a pkey_free() of a large, invalid value because we never check > that the pkey "fits" into the mm_pkey_allocation_map(). > > I do not believe there is any danger here of anything bad happening > other than some aliasing issues where somebody could do: > > pkey_free(35); > > and the kernel would effectively execute: > > pkey_free(8); > > While this might be confusing to an app that was doing something > stupid, it has to do something stupid and the effects are limited to > the app shooting itself in the foot. > > Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> -- Kirill A. Shutemov