zsmalloc: use U suffix for negative literals being shifted
authorNick Desaulniers <nick.desaulniers@gmail.com>
Thu, 1 Feb 2018 00:20:15 +0000 (16:20 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 1 Feb 2018 01:18:39 +0000 (17:18 -0800)
Fix warning about shifting unsigned literals being undefined behavior.

Link: http://lkml.kernel.org/r/1515642078-4259-1-git-send-email-nick.desaulniers@gmail.com
Signed-off-by: Nick Desaulniers <nick.desaulniers@gmail.com>
Suggested-by: Minchan Kim <minchan@kernel.org>
Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Nick Desaulniers <nick.desaulniers@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/zsmalloc.c

index f797d8b0d82058790a465cbec469a466624de08a..c3013505c30527dc42714946916f6cf26c51c602 100644 (file)
@@ -1047,7 +1047,7 @@ static void init_zspage(struct size_class *class, struct zspage *zspage)
                         * Reset OBJ_TAG_BITS bit to last link to tell
                         * whether it's allocated object or not.
                         */
-                       link->next = -1 << OBJ_TAG_BITS;
+                       link->next = -1UL << OBJ_TAG_BITS;
                }
                kunmap_atomic(vaddr);
                page = next_page;