From c26541c73c3b4be2977e719d77287255eb346cdf Mon Sep 17 00:00:00 2001 From: Eugene Syromyatnikov Date: Thu, 17 Oct 2019 13:13:45 +0200 Subject: [PATCH] xlat: use unsgined type for mount_flags fallback values Reported by cppcheck: strace/xlat/mount_flags.h:256: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour # 254| XLAT(MS_BORN), # 255| XLAT(MS_ACTIVE), # 256|-> XLAT(MS_NOUSER), # 257| XLAT_END # 258| }; * xlat/mount_flags.in: Use 1U instead of 1 as a bit shifting operand. References: https://bugzilla.redhat.com/show_bug.cgi?id=1747524 --- xlat/mount_flags.in | 60 ++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) Index: strace-4.24/xlat/mount_flags.in =================================================================== --- strace-4.24.orig/xlat/mount_flags.in 2018-04-24 02:35:27.000000000 +0200 +++ strace-4.24/xlat/mount_flags.in 2019-12-02 18:37:39.403710911 +0100 @@ -1,30 +1,30 @@ -MS_RDONLY 1 -MS_NOSUID 2 -MS_NODEV 4 -MS_NOEXEC 8 -MS_SYNCHRONOUS 16 -MS_REMOUNT 32 -MS_MANDLOCK 64 -MS_DIRSYNC 128 -MS_NOATIME 1024 -MS_NODIRATIME 2048 -MS_BIND 4096 -MS_MOVE 8192 -MS_REC 16384 -MS_SILENT 32768 -MS_POSIXACL (1<<16) -MS_UNBINDABLE (1<<17) -MS_PRIVATE (1<<18) -MS_SLAVE (1<<19) -MS_SHARED (1<<20) -MS_RELATIME (1<<21) -MS_KERNMOUNT (1<<22) -MS_I_VERSION (1<<23) -MS_STRICTATIME (1<<24) -MS_LAZYTIME (1<<25) -MS_SUBMOUNT (1<<26) -MS_NOREMOTELOCK (1<<27) -MS_NOSEC (1<<28) -MS_BORN (1<<29) -MS_ACTIVE (1<<30) -MS_NOUSER (1<<31) +MS_RDONLY (1U<<0) +MS_NOSUID (1U<<1) +MS_NODEV (1U<<2) +MS_NOEXEC (1U<<3) +MS_SYNCHRONOUS (1U<<4) +MS_REMOUNT (1U<<5) +MS_MANDLOCK (1U<<6) +MS_DIRSYNC (1U<<7) +MS_NOATIME (1U<<10) +MS_NODIRATIME (1U<<11) +MS_BIND (1U<<12) +MS_MOVE (1U<<13) +MS_REC (1U<<14) +MS_SILENT (1U<<15) +MS_POSIXACL (1U<<16) +MS_UNBINDABLE (1U<<17) +MS_PRIVATE (1U<<18) +MS_SLAVE (1U<<19) +MS_SHARED (1U<<20) +MS_RELATIME (1U<<21) +MS_KERNMOUNT (1U<<22) +MS_I_VERSION (1U<<23) +MS_STRICTATIME (1U<<24) +MS_LAZYTIME (1U<<25) +MS_SUBMOUNT (1U<<26) +MS_NOREMOTELOCK (1U<<27) +MS_NOSEC (1U<<28) +MS_BORN (1U<<29) +MS_ACTIVE (1U<<30) +MS_NOUSER (1U<<31) Index: strace-4.24/xlat/mount_flags.h =================================================================== --- strace-4.24.orig/xlat/mount_flags.h 2018-08-14 02:44:19.000000000 +0200 +++ strace-4.24/xlat/mount_flags.h 2019-12-02 18:38:36.102900164 +0100 @@ -5,213 +5,213 @@ #if defined(MS_RDONLY) || (defined(HAVE_DECL_MS_RDONLY) && HAVE_DECL_MS_RDONLY) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_RDONLY) == (1), "MS_RDONLY != 1"); +static_assert((MS_RDONLY) == ((1U<<0)), "MS_RDONLY != (1U<<0)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_RDONLY 1 +# define MS_RDONLY (1U<<0) #endif #if defined(MS_NOSUID) || (defined(HAVE_DECL_MS_NOSUID) && HAVE_DECL_MS_NOSUID) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_NOSUID) == (2), "MS_NOSUID != 2"); +static_assert((MS_NOSUID) == ((1U<<1)), "MS_NOSUID != (1U<<1)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_NOSUID 2 +# define MS_NOSUID (1U<<1) #endif #if defined(MS_NODEV) || (defined(HAVE_DECL_MS_NODEV) && HAVE_DECL_MS_NODEV) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_NODEV) == (4), "MS_NODEV != 4"); +static_assert((MS_NODEV) == ((1U<<2)), "MS_NODEV != (1U<<2)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_NODEV 4 +# define MS_NODEV (1U<<2) #endif #if defined(MS_NOEXEC) || (defined(HAVE_DECL_MS_NOEXEC) && HAVE_DECL_MS_NOEXEC) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_NOEXEC) == (8), "MS_NOEXEC != 8"); +static_assert((MS_NOEXEC) == ((1U<<3)), "MS_NOEXEC != (1U<<3)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_NOEXEC 8 +# define MS_NOEXEC (1U<<3) #endif #if defined(MS_SYNCHRONOUS) || (defined(HAVE_DECL_MS_SYNCHRONOUS) && HAVE_DECL_MS_SYNCHRONOUS) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_SYNCHRONOUS) == (16), "MS_SYNCHRONOUS != 16"); +static_assert((MS_SYNCHRONOUS) == ((1U<<4)), "MS_SYNCHRONOUS != (1U<<4)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_SYNCHRONOUS 16 +# define MS_SYNCHRONOUS (1U<<4) #endif #if defined(MS_REMOUNT) || (defined(HAVE_DECL_MS_REMOUNT) && HAVE_DECL_MS_REMOUNT) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_REMOUNT) == (32), "MS_REMOUNT != 32"); +static_assert((MS_REMOUNT) == ((1U<<5)), "MS_REMOUNT != (1U<<5)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_REMOUNT 32 +# define MS_REMOUNT (1U<<5) #endif #if defined(MS_MANDLOCK) || (defined(HAVE_DECL_MS_MANDLOCK) && HAVE_DECL_MS_MANDLOCK) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_MANDLOCK) == (64), "MS_MANDLOCK != 64"); +static_assert((MS_MANDLOCK) == ((1U<<6)), "MS_MANDLOCK != (1U<<6)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_MANDLOCK 64 +# define MS_MANDLOCK (1U<<6) #endif #if defined(MS_DIRSYNC) || (defined(HAVE_DECL_MS_DIRSYNC) && HAVE_DECL_MS_DIRSYNC) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_DIRSYNC) == (128), "MS_DIRSYNC != 128"); +static_assert((MS_DIRSYNC) == ((1U<<7)), "MS_DIRSYNC != (1U<<7)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_DIRSYNC 128 +# define MS_DIRSYNC (1U<<7) #endif #if defined(MS_NOATIME) || (defined(HAVE_DECL_MS_NOATIME) && HAVE_DECL_MS_NOATIME) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_NOATIME) == (1024), "MS_NOATIME != 1024"); +static_assert((MS_NOATIME) == ((1U<<10)), "MS_NOATIME != (1U<<10)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_NOATIME 1024 +# define MS_NOATIME (1U<<10) #endif #if defined(MS_NODIRATIME) || (defined(HAVE_DECL_MS_NODIRATIME) && HAVE_DECL_MS_NODIRATIME) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_NODIRATIME) == (2048), "MS_NODIRATIME != 2048"); +static_assert((MS_NODIRATIME) == ((1U<<11)), "MS_NODIRATIME != (1U<<11)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_NODIRATIME 2048 +# define MS_NODIRATIME (1U<<11) #endif #if defined(MS_BIND) || (defined(HAVE_DECL_MS_BIND) && HAVE_DECL_MS_BIND) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_BIND) == (4096), "MS_BIND != 4096"); +static_assert((MS_BIND) == ((1U<<12)), "MS_BIND != (1U<<12)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_BIND 4096 +# define MS_BIND (1U<<12) #endif #if defined(MS_MOVE) || (defined(HAVE_DECL_MS_MOVE) && HAVE_DECL_MS_MOVE) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_MOVE) == (8192), "MS_MOVE != 8192"); +static_assert((MS_MOVE) == ((1U<<13)), "MS_MOVE != (1U<<13)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_MOVE 8192 +# define MS_MOVE (1U<<13) #endif #if defined(MS_REC) || (defined(HAVE_DECL_MS_REC) && HAVE_DECL_MS_REC) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_REC) == (16384), "MS_REC != 16384"); +static_assert((MS_REC) == ((1U<<14)), "MS_REC != (1U<<14)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_REC 16384 +# define MS_REC (1U<<14) #endif #if defined(MS_SILENT) || (defined(HAVE_DECL_MS_SILENT) && HAVE_DECL_MS_SILENT) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_SILENT) == (32768), "MS_SILENT != 32768"); +static_assert((MS_SILENT) == ((1U<<15)), "MS_SILENT != (1U<<15)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_SILENT 32768 +# define MS_SILENT (1U<<15) #endif #if defined(MS_POSIXACL) || (defined(HAVE_DECL_MS_POSIXACL) && HAVE_DECL_MS_POSIXACL) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_POSIXACL) == ((1<<16)), "MS_POSIXACL != (1<<16)"); +static_assert((MS_POSIXACL) == ((1U<<16)), "MS_POSIXACL != (1U<<16)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_POSIXACL (1<<16) +# define MS_POSIXACL (1U<<16) #endif #if defined(MS_UNBINDABLE) || (defined(HAVE_DECL_MS_UNBINDABLE) && HAVE_DECL_MS_UNBINDABLE) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_UNBINDABLE) == ((1<<17)), "MS_UNBINDABLE != (1<<17)"); +static_assert((MS_UNBINDABLE) == ((1U<<17)), "MS_UNBINDABLE != (1U<<17)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_UNBINDABLE (1<<17) +# define MS_UNBINDABLE (1U<<17) #endif #if defined(MS_PRIVATE) || (defined(HAVE_DECL_MS_PRIVATE) && HAVE_DECL_MS_PRIVATE) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_PRIVATE) == ((1<<18)), "MS_PRIVATE != (1<<18)"); +static_assert((MS_PRIVATE) == ((1U<<18)), "MS_PRIVATE != (1U<<18)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_PRIVATE (1<<18) +# define MS_PRIVATE (1U<<18) #endif #if defined(MS_SLAVE) || (defined(HAVE_DECL_MS_SLAVE) && HAVE_DECL_MS_SLAVE) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_SLAVE) == ((1<<19)), "MS_SLAVE != (1<<19)"); +static_assert((MS_SLAVE) == ((1U<<19)), "MS_SLAVE != (1U<<19)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_SLAVE (1<<19) +# define MS_SLAVE (1U<<19) #endif #if defined(MS_SHARED) || (defined(HAVE_DECL_MS_SHARED) && HAVE_DECL_MS_SHARED) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_SHARED) == ((1<<20)), "MS_SHARED != (1<<20)"); +static_assert((MS_SHARED) == ((1U<<20)), "MS_SHARED != (1U<<20)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_SHARED (1<<20) +# define MS_SHARED (1U<<20) #endif #if defined(MS_RELATIME) || (defined(HAVE_DECL_MS_RELATIME) && HAVE_DECL_MS_RELATIME) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_RELATIME) == ((1<<21)), "MS_RELATIME != (1<<21)"); +static_assert((MS_RELATIME) == ((1U<<21)), "MS_RELATIME != (1U<<21)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_RELATIME (1<<21) +# define MS_RELATIME (1U<<21) #endif #if defined(MS_KERNMOUNT) || (defined(HAVE_DECL_MS_KERNMOUNT) && HAVE_DECL_MS_KERNMOUNT) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_KERNMOUNT) == ((1<<22)), "MS_KERNMOUNT != (1<<22)"); +static_assert((MS_KERNMOUNT) == ((1U<<22)), "MS_KERNMOUNT != (1U<<22)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_KERNMOUNT (1<<22) +# define MS_KERNMOUNT (1U<<22) #endif #if defined(MS_I_VERSION) || (defined(HAVE_DECL_MS_I_VERSION) && HAVE_DECL_MS_I_VERSION) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_I_VERSION) == ((1<<23)), "MS_I_VERSION != (1<<23)"); +static_assert((MS_I_VERSION) == ((1U<<23)), "MS_I_VERSION != (1U<<23)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_I_VERSION (1<<23) +# define MS_I_VERSION (1U<<23) #endif #if defined(MS_STRICTATIME) || (defined(HAVE_DECL_MS_STRICTATIME) && HAVE_DECL_MS_STRICTATIME) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_STRICTATIME) == ((1<<24)), "MS_STRICTATIME != (1<<24)"); +static_assert((MS_STRICTATIME) == ((1U<<24)), "MS_STRICTATIME != (1U<<24)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_STRICTATIME (1<<24) +# define MS_STRICTATIME (1U<<24) #endif #if defined(MS_LAZYTIME) || (defined(HAVE_DECL_MS_LAZYTIME) && HAVE_DECL_MS_LAZYTIME) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_LAZYTIME) == ((1<<25)), "MS_LAZYTIME != (1<<25)"); +static_assert((MS_LAZYTIME) == ((1U<<25)), "MS_LAZYTIME != (1U<<25)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_LAZYTIME (1<<25) +# define MS_LAZYTIME (1U<<25) #endif #if defined(MS_SUBMOUNT) || (defined(HAVE_DECL_MS_SUBMOUNT) && HAVE_DECL_MS_SUBMOUNT) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_SUBMOUNT) == ((1<<26)), "MS_SUBMOUNT != (1<<26)"); +static_assert((MS_SUBMOUNT) == ((1U<<26)), "MS_SUBMOUNT != (1U<<26)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_SUBMOUNT (1<<26) +# define MS_SUBMOUNT (1U<<26) #endif #if defined(MS_NOREMOTELOCK) || (defined(HAVE_DECL_MS_NOREMOTELOCK) && HAVE_DECL_MS_NOREMOTELOCK) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_NOREMOTELOCK) == ((1<<27)), "MS_NOREMOTELOCK != (1<<27)"); +static_assert((MS_NOREMOTELOCK) == ((1U<<27)), "MS_NOREMOTELOCK != (1U<<27)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_NOREMOTELOCK (1<<27) +# define MS_NOREMOTELOCK (1U<<27) #endif #if defined(MS_NOSEC) || (defined(HAVE_DECL_MS_NOSEC) && HAVE_DECL_MS_NOSEC) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_NOSEC) == ((1<<28)), "MS_NOSEC != (1<<28)"); +static_assert((MS_NOSEC) == ((1U<<28)), "MS_NOSEC != (1U<<28)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_NOSEC (1<<28) +# define MS_NOSEC (1U<<28) #endif #if defined(MS_BORN) || (defined(HAVE_DECL_MS_BORN) && HAVE_DECL_MS_BORN) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_BORN) == ((1<<29)), "MS_BORN != (1<<29)"); +static_assert((MS_BORN) == ((1U<<29)), "MS_BORN != (1U<<29)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_BORN (1<<29) +# define MS_BORN (1U<<29) #endif #if defined(MS_ACTIVE) || (defined(HAVE_DECL_MS_ACTIVE) && HAVE_DECL_MS_ACTIVE) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_ACTIVE) == ((1<<30)), "MS_ACTIVE != (1<<30)"); +static_assert((MS_ACTIVE) == ((1U<<30)), "MS_ACTIVE != (1U<<30)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_ACTIVE (1<<30) +# define MS_ACTIVE (1U<<30) #endif #if defined(MS_NOUSER) || (defined(HAVE_DECL_MS_NOUSER) && HAVE_DECL_MS_NOUSER) DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -static_assert((MS_NOUSER) == ((1<<31)), "MS_NOUSER != (1<<31)"); +static_assert((MS_NOUSER) == ((1U<<31)), "MS_NOUSER != (1U<<31)"); DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE #else -# define MS_NOUSER (1<<31) +# define MS_NOUSER (1U<<31) #endif #ifndef XLAT_MACROS_ONLY