lib/vsprintf: Force type of flags value for gfp_t
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 31 Jul 2020 18:08:24 +0000 (21:08 +0300)
committerSergey Senozhatsky <sergey.senozhatsky@gmail.com>
Sat, 1 Aug 2020 03:52:57 +0000 (12:52 +0900)
Sparse is not happy about restricted type being assigned:
  lib/vsprintf.c:1940:23: warning: incorrect type in assignment (different base types)
  lib/vsprintf.c:1940:23:    expected unsigned long [assigned] flags
  lib/vsprintf.c:1940:23:    got restricted gfp_t [usertype]

Force type of flags value to make sparse happy.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Link: https://lore.kernel.org/r/20200731180825.30575-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
lib/vsprintf.c

index 182a3e2e16293b0c8e1132b0e580cffa2307a572..c155769559abe27064e609ee80ff60abda8122b9 100644 (file)
@@ -1937,7 +1937,7 @@ char *flags_string(char *buf, char *end, void *flags_ptr,
                names = vmaflag_names;
                break;
        case 'g':
-               flags = *(gfp_t *)flags_ptr;
+               flags = (__force unsigned long)(*(gfp_t *)flags_ptr);
                names = gfpflag_names;
                break;
        default: