[tip:x86/pti 8/14] arch/x86/include/asm/pgtable.h:536:5: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'pgprotval_t {aka long long unsigned int}'

From: kbuild test robot
Date: Mon Apr 09 2018 - 14:12:56 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/pti
head: 0564258fb2cfe6876738665314445bf391f450e2
commit: 64c80759408f1c47d2414bfa79f80a4573a8d68d [8/14] x86/mm: Do not auto-massage page protections
config: i386-randconfig-n0-201814 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
git checkout 64c80759408f1c47d2414bfa79f80a4573a8d68d
# save the attached .config to linux build tree
make ARCH=i386

All errors (new ones prefixed by >>):

In file included from arch/x86/include/asm/bug.h:83:0,
from include/linux/bug.h:5,
from include/linux/debug_locks.h:7,
from include/linux/lockdep.h:28,
from include/linux/spinlock_types.h:18,
from include/linux/mutex.h:16,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/cdev.h:5,
from include/drm/drmP.h:36,
from drivers/gpu//drm/i915/i915_gem_internal.c:25:
arch/x86/include/asm/pgtable.h: In function 'check_pgprot':
>> arch/x86/include/asm/pgtable.h:536:5: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'pgprotval_t {aka long long unsigned int}' [-Werror=format=]
"attempted to set unsupported pgprot: %016lx "
^
include/asm-generic/bug.h:98:50: note: in definition of macro '__WARN_printf'
#define __WARN_printf(arg...) do { __warn_printk(arg); __WARN(); } while (0)
^~~
include/asm-generic/bug.h:154:3: note: in expansion of macro 'WARN'
WARN(1, format); \
^~~~
arch/x86/include/asm/pgtable.h:535:2: note: in expansion of macro 'WARN_ONCE'
WARN_ONCE(pgprot_val(pgprot) != massaged_val,
^~~~~~~~~
In file included from include/linux/memremap.h:8:0,
from include/linux/mm.h:27,
from include/linux/scatterlist.h:8,
from include/linux/dma-mapping.h:11,
from include/drm/drmP.h:37,
from drivers/gpu//drm/i915/i915_gem_internal.c:25:
arch/x86/include/asm/pgtable.h:536:48: note: format string is defined here
"attempted to set unsupported pgprot: %016lx "
~~~~~^
%016llx
In file included from arch/x86/include/asm/bug.h:83:0,
from include/linux/bug.h:5,
from include/linux/debug_locks.h:7,
from include/linux/lockdep.h:28,
from include/linux/spinlock_types.h:18,
from include/linux/mutex.h:16,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/cdev.h:5,
from include/drm/drmP.h:36,
from drivers/gpu//drm/i915/i915_gem_internal.c:25:
arch/x86/include/asm/pgtable.h:536:5: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'pgprotval_t {aka long long unsigned int}' [-Werror=format=]
"attempted to set unsupported pgprot: %016lx "
^
include/asm-generic/bug.h:98:50: note: in definition of macro '__WARN_printf'
#define __WARN_printf(arg...) do { __warn_printk(arg); __WARN(); } while (0)
^~~
include/asm-generic/bug.h:154:3: note: in expansion of macro 'WARN'
WARN(1, format); \
^~~~
arch/x86/include/asm/pgtable.h:535:2: note: in expansion of macro 'WARN_ONCE'
WARN_ONCE(pgprot_val(pgprot) != massaged_val,
^~~~~~~~~
In file included from include/linux/memremap.h:8:0,
from include/linux/mm.h:27,
from include/linux/scatterlist.h:8,
from include/linux/dma-mapping.h:11,
from include/drm/drmP.h:37,
from drivers/gpu//drm/i915/i915_gem_internal.c:25:
arch/x86/include/asm/pgtable.h:537:17: note: format string is defined here
"bits: %016lx supported: %016lx\n",
~~~~~^
%016llx
In file included from arch/x86/include/asm/bug.h:83:0,
from include/linux/bug.h:5,
from include/linux/debug_locks.h:7,
from include/linux/lockdep.h:28,
from include/linux/spinlock_types.h:18,
from include/linux/mutex.h:16,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/cdev.h:5,
from include/drm/drmP.h:36,
from drivers/gpu//drm/i915/i915_gem_internal.c:25:
>> arch/x86/include/asm/pgtable.h:536:5: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'pteval_t {aka long long unsigned int}' [-Werror=format=]
"attempted to set unsupported pgprot: %016lx "
^
include/asm-generic/bug.h:98:50: note: in definition of macro '__WARN_printf'
#define __WARN_printf(arg...) do { __warn_printk(arg); __WARN(); } while (0)
^~~
include/asm-generic/bug.h:154:3: note: in expansion of macro 'WARN'
WARN(1, format); \
^~~~
arch/x86/include/asm/pgtable.h:535:2: note: in expansion of macro 'WARN_ONCE'
WARN_ONCE(pgprot_val(pgprot) != massaged_val,
^~~~~~~~~
In file included from include/linux/memremap.h:8:0,
from include/linux/mm.h:27,
from include/linux/scatterlist.h:8,
from include/linux/dma-mapping.h:11,
from include/drm/drmP.h:37,
from drivers/gpu//drm/i915/i915_gem_internal.c:25:
arch/x86/include/asm/pgtable.h:537:35: note: format string is defined here
"bits: %016lx supported: %016lx\n",
~~~~~^
%016llx
cc1: all warnings being treated as errors

vim +536 arch/x86/include/asm/pgtable.h

528
529 static inline pgprotval_t check_pgprot(pgprot_t pgprot)
530 {
531 pgprotval_t massaged_val = massage_pgprot(pgprot);
532
533 /* mmdebug.h can not be included here because of dependencies */
534 #ifdef CONFIG_DEBUG_VM
535 WARN_ONCE(pgprot_val(pgprot) != massaged_val,
> 536 "attempted to set unsupported pgprot: %016lx "
537 "bits: %016lx supported: %016lx\n",
538 pgprot_val(pgprot),
539 pgprot_val(pgprot) ^ massaged_val,
540 __supported_pte_mask);
541 #endif
542
543 return massaged_val;
544 }
545

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip