On Fri, Jul 21, 2023 at 10:16:50AM -0600, Jens Axboe wrote: > IOMAP_DIO_DIRTY shifts by 31 bits, which makes UBSAN unhappy. Clean up > all the defines by making the shifted value an unsigned value. > > Reported-by: Darrick J. Wong <djwong@xxxxxxxxxx> > Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> Thanks! Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > fs/iomap/direct-io.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c > index ae9046d16d71..dc9fe2ac9136 100644 > --- a/fs/iomap/direct-io.c > +++ b/fs/iomap/direct-io.c > @@ -20,12 +20,12 @@ > * Private flags for iomap_dio, must not overlap with the public ones in > * iomap.h: > */ > -#define IOMAP_DIO_CALLER_COMP (1 << 26) > -#define IOMAP_DIO_INLINE_COMP (1 << 27) > -#define IOMAP_DIO_WRITE_THROUGH (1 << 28) > -#define IOMAP_DIO_NEED_SYNC (1 << 29) > -#define IOMAP_DIO_WRITE (1 << 30) > -#define IOMAP_DIO_DIRTY (1 << 31) > +#define IOMAP_DIO_CALLER_COMP (1U << 26) > +#define IOMAP_DIO_INLINE_COMP (1U << 27) > +#define IOMAP_DIO_WRITE_THROUGH (1U << 28) > +#define IOMAP_DIO_NEED_SYNC (1U << 29) > +#define IOMAP_DIO_WRITE (1U << 30) > +#define IOMAP_DIO_DIRTY (1U << 31) > > struct iomap_dio { > struct kiocb *iocb; > -- > 2.40.1 >