]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mm: memcg1: convert charge move flags to unsigned long long
authorRoman Gushchin <roman.gushchin@linux.dev>
Fri, 12 Jul 2024 18:35:14 +0000 (18:35 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 18 Jul 2024 04:05:19 +0000 (21:05 -0700)
Currently MOVE_ANON and MOVE_FILE flags are defined as integers
and it leads to the following Smatch static checker warning:
    mm/memcontrol-v1.c:609 mem_cgroup_move_charge_write()
    warn: was expecting a 64 bit value instead of '~(1 | 2)'

Fix this be redefining them as unsigned long long.

Even though the issue allows to set high 32 bits of mc.flags
to an arbitrary number, these bits are never used, so it doesn't
have any significant consequences.

Link: https://lkml.kernel.org/r/ZpF8Q9zBsIY7d2P9@google.com
Signed-off-by: Roman Gushchin <roman.gushchin@linux.dev>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memcontrol-v1.c

index 6b3e56e88a8a15c59ae1cb81675136c6bb8e350b..2aeea4d8bf8e53b24748b431c16b4b72af22e923 100644 (file)
@@ -44,8 +44,8 @@ static struct mem_cgroup_tree soft_limit_tree __read_mostly;
 /*
  * Types of charges to be moved.
  */
-#define MOVE_ANON      0x1U
-#define MOVE_FILE      0x2U
+#define MOVE_ANON      0x1ULL
+#define MOVE_FILE      0x2ULL
 #define MOVE_MASK      (MOVE_ANON | MOVE_FILE)
 
 /* "mc" and its members are protected by cgroup_mutex */