On Tue, 18 Jun 2019, Puranjay Mohan wrote: > Fix CRAMFS_BLK_FLAG_UNCOMPRESSED to use "U" cast to avoid shifting signed > 32-bit value by 31 bits problem. This isn't a problem for kernel builds > with gcc. > > This could be problem since this header is part of public API which > could be included for builds using compilers that don't handle this > condition safely resulting in undefined behavior. > > Signed-off-by: Puranjay Mohan <puranja...@gmail.com> > Reviewed-by: Christoph Hellwig <h...@lst.de> > Reviewed-by: Greg Kroah-Hartman <gre...@linuxfoundation.org> > Reviewed-by: Shuah Khan <sk...@linuxfoundation.org>
Acked-by: Nicolas Pitre <n...@fluxnic.net> > --- > V2 - use the unsigned constants for all flags, not just one > RESEND - Added Nicolas Pitre to CC list, added reviewed by tags. > > include/uapi/linux/cramfs_fs.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/uapi/linux/cramfs_fs.h b/include/uapi/linux/cramfs_fs.h > index 6713669aa2ed..71cb602d4198 100644 > --- a/include/uapi/linux/cramfs_fs.h > +++ b/include/uapi/linux/cramfs_fs.h > @@ -98,8 +98,8 @@ struct cramfs_super { > * > * That leaves room for 3 flag bits in the block pointer table. > */ > -#define CRAMFS_BLK_FLAG_UNCOMPRESSED (1 << 31) > -#define CRAMFS_BLK_FLAG_DIRECT_PTR (1 << 30) > +#define CRAMFS_BLK_FLAG_UNCOMPRESSED (1U << 31) > +#define CRAMFS_BLK_FLAG_DIRECT_PTR (1U << 30) > > #define CRAMFS_BLK_FLAGS ( CRAMFS_BLK_FLAG_UNCOMPRESSED \ > | CRAMFS_BLK_FLAG_DIRECT_PTR ) > -- > 2.21.0 > >