On Tue, Jun 18, 2024 at 05:30:28PM +0000, Carlos Llamas wrote: > From: Matthias Goergens <matthias.goergens@xxxxxxxxx> > > commit 710bb68c2e3a24512e2d2bae470960d7488e97b1 upstream. > > Left-shifting past the size of your datatype is undefined behaviour in C. > The literal 34 gets the type `int`, and that one is not big enough to be > left shifted by 26 bits. > > An `unsigned` is long enough (on any machine that has at least 32 bits for > their ints.) > > For uniformity, we mark all the literals as unsigned. But it's only > really needed for HUGETLB_FLAG_ENCODE_16GB. > > Thanks to Randy Dunlap for an initial review and suggestion. > > Link: https://lkml.kernel.org/r/20220905031904.150925-1-matthias.goergens@xxxxxxxxx > Signed-off-by: Matthias Goergens <matthias.goergens@xxxxxxxxx> > Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> > Cc: Muchun Song <songmuchun@xxxxxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > [cmllamas: fix trivial conflict due to missing page encondigs] > Signed-off-by: Carlos Llamas <cmllamas@xxxxxxxxxx> > --- > include/uapi/asm-generic/hugetlb_encode.h | 24 +++++++++++----------- > tools/include/asm-generic/hugetlb_encode.h | 20 +++++++++--------- > 2 files changed, 22 insertions(+), 22 deletions(-) All now queued up, thanks. greg k-h