media: media.h: Fix shifting signed 32-bit value by 31 bits problem
authorShuah Khan <skhan@linuxfoundation.org>
Thu, 13 Jun 2019 00:56:20 +0000 (20:56 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Fri, 21 Jun 2019 20:45:38 +0000 (16:45 -0400)
Fix MEDIA_ENT_ID_FLAG_NEXT 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: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
include/uapi/linux/media.h

index 9aedb18..383ac7b 100644 (file)
@@ -146,7 +146,7 @@ struct media_device_info {
 #define MEDIA_ENT_FL_CONNECTOR                 (1 << 1)
 
 /* OR with the entity id value to find the next entity */
-#define MEDIA_ENT_ID_FLAG_NEXT                 (1 << 31)
+#define MEDIA_ENT_ID_FLAG_NEXT                 (1U << 31)
 
 struct media_entity_desc {
        __u32 id;