Subject: linux-next: build warning after merge of the y2038 tree

From: Stephen Rothwell <[email-masked]>
Date: Wed, 6 Jun 2018 20:41:16 +1000

Hi all,

After merging the y2038 tree, today's linux-next build (x86_64
allmodconfig) produced this warning:

fs/pstore/ram.c: In function 'ramoops_read_kmsg_hdr':
fs/pstore/ram.c:39:29: warning: format '%ld' expects argument of type 'long int *', but argument 3 has type 'time64_t * {aka long long int *}' [-Wformat=]
 #define RAMOOPS_KERNMSG_HDR "===="
                             ^
fs/pstore/ram.c:167:21: note: in expansion of macro 'RAMOOPS_KERNMSG_HDR'
  if (sscanf(buffer, RAMOOPS_KERNMSG_HDR TVSEC_FMT ".%lu-%c\n%n",
                     ^~~~~~~~~~~~~~~~~~~
fs/pstore/ram.c:42:23: note: format string is defined here
 # define TVSEC_FMT "%ld"
                     ~~^
                     %lld
fs/pstore/ram.c:39:29: warning: format '%ld' expects argument of type 'long int *', but argument 3 has type 'time64_t * {aka long long int *}' [-Wformat=]
 #define RAMOOPS_KERNMSG_HDR "===="
                             ^
fs/pstore/ram.c:174:28: note: in expansion of macro 'RAMOOPS_KERNMSG_HDR'
  } else if (sscanf(buffer, RAMOOPS_KERNMSG_HDR TVSEC_FMT ".%lu\n%n",
                            ^~~~~~~~~~~~~~~~~~~
fs/pstore/ram.c:42:23: note: format string is defined here
 # define TVSEC_FMT "%ld"
                     ~~^
                     %lld
fs/pstore/ram.c: In function 'ramoops_write_kmsg_hdr':
fs/pstore/ram.c:39:29: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time64_t {aka long long int}' [-Wformat=]
 #define RAMOOPS_KERNMSG_HDR "===="
                             ^
fs/pstore/ram.c:370:30: note: in expansion of macro 'RAMOOPS_KERNMSG_HDR'
  hdr = kasprintf(GFP_ATOMIC, RAMOOPS_KERNMSG_HDR TVSEC_FMT ".%lu-%c\n",
                              ^~~~~~~~~~~~~~~~~~~
fs/pstore/ram.c:42:23: note: format string is defined here
 # define TVSEC_FMT "%ld"
                     ~~^
                     %lld

Introduced by commit

  0f0d83b99ef7 ("pstore: Convert internal records to timespec64")

-- 
Cheers,
Stephen Rothwell