All of lore.kernel.org
 help / color / mirror / Atom feed
* arch/x86/kernel/cpu/common.c:111:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
@ 2023-11-11 10:22 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-11-11 10:22 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: oe-kbuild-all, linux-kernel, Ingo Molnar

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3ca112b71f35dd5d99fc4571a56b5fc6f0c15814
commit: 38e9e81f4c81c75799b002d5811de7241b307676 x86/gdt: Use bitfields for initialization
date:   6 years ago
config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20231111/202311111812.GT19bClP-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231111/202311111812.GT19bClP-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311111812.GT19bClP-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   arch/x86/kernel/cpu/common.c:446:44: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got char ( * )[40] @@
   arch/x86/kernel/cpu/common.c:446:44: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
   arch/x86/kernel/cpu/common.c:446:44: sparse:     got char ( * )[40]
   arch/x86/kernel/cpu/common.c:1301:1: sparse: sparse: symbol 'irq_stack_union' redeclared with different type (different address spaces):
   arch/x86/kernel/cpu/common.c:1301:1: sparse:    union irq_stack_union [addressable] [noderef] [toplevel] <asn:3> irq_stack_union
   arch/x86/kernel/cpu/common.c: note: in included file (through arch/x86/include/asm/cpufeature.h, arch/x86/include/asm/thread_info.h, include/linux/thread_info.h, ...):
   arch/x86/include/asm/processor.h:385:1: sparse: note: previously declared as:
   arch/x86/include/asm/processor.h:385:1: sparse:    union irq_stack_union extern [addressable] [toplevel] irq_stack_union
   arch/x86/kernel/cpu/common.c:1313:53: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected char *[addressable] [noderef] [toplevel] <asn:3> irq_stack_ptr @@     got char [noderef] <asn:3> * @@
   arch/x86/kernel/cpu/common.c:1313:53: sparse:     expected char *[addressable] [noderef] [toplevel] <asn:3> irq_stack_ptr
   arch/x86/kernel/cpu/common.c:1313:53: sparse:     got char [noderef] <asn:3> *
   arch/x86/kernel/cpu/common.c:1532:33: sparse: sparse: incorrect type in initializer (different modifiers) @@     expected char *estacks @@     got char [noderef] * @@
   arch/x86/kernel/cpu/common.c:1532:33: sparse:     expected char *estacks
   arch/x86/kernel/cpu/common.c:1532:33: sparse:     got char [noderef] *
>> arch/x86/kernel/cpu/common.c:111:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
   arch/x86/kernel/cpu/common.c:112:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
   arch/x86/kernel/cpu/common.c:113:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
   arch/x86/kernel/cpu/common.c:114:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
   arch/x86/kernel/cpu/common.c:115:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
   arch/x86/kernel/cpu/common.c:116:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
   arch/x86/kernel/cpu/common.c: note: in included file (through include/linux/bitops.h, include/linux/kernel.h, include/linux/list.h, ...):
   arch/x86/include/asm/bitops.h:115:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
   arch/x86/include/asm/bitops.h:115:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
   In file included from arch/x86/include/asm/page_types.h:47,
                    from arch/x86/include/asm/page.h:8,
                    from arch/x86/include/asm/thread_info.h:11,
                    from include/linux/thread_info.h:37,
                    from arch/x86/include/asm/preempt.h:6,
                    from include/linux/preempt.h:80,
                    from include/linux/spinlock.h:50,
                    from include/linux/mmzone.h:7,
                    from include/linux/bootmem.h:7,
                    from arch/x86/kernel/cpu/common.c:1:
   arch/x86/include/asm/page_64_types.h:22:21: warning: initialized field overwritten [-Woverride-init]
      22 | #define DEBUG_STKSZ (PAGE_SIZE << DEBUG_STACK_ORDER)
         |                     ^
   arch/x86/kernel/cpu/common.c:1328:51: note: in expansion of macro 'DEBUG_STKSZ'
    1328 |           [DEBUG_STACK - 1]                     = DEBUG_STKSZ
         |                                                   ^~~~~~~~~~~
   arch/x86/include/asm/page_64_types.h:22:21: note: (near initialization for 'exception_stack_sizes[2]')
      22 | #define DEBUG_STKSZ (PAGE_SIZE << DEBUG_STACK_ORDER)
         |                     ^
   arch/x86/kernel/cpu/common.c:1328:51: note: in expansion of macro 'DEBUG_STKSZ'
    1328 |           [DEBUG_STACK - 1]                     = DEBUG_STKSZ
         |                                                   ^~~~~~~~~~~

vim +111 arch/x86/kernel/cpu/common.c

0a488a53d7ca46 arch/x86/kernel/cpu/common.c  Yinghai Lu                2008-09-04  100  
06deef892c7327 arch/x86/kernel/cpu/common.c  Brian Gerst               2009-01-21  101  DEFINE_PER_CPU_PAGE_ALIGNED(struct gdt_page, gdt_page) = { .gdt = {
950ad7ff6ec17f arch/x86/kernel/cpu/common.c  Yinghai Lu                2008-09-04  102  #ifdef CONFIG_X86_64
06deef892c7327 arch/x86/kernel/cpu/common.c  Brian Gerst               2009-01-21  103  	/*
06deef892c7327 arch/x86/kernel/cpu/common.c  Brian Gerst               2009-01-21  104  	 * We need valid kernel segments for data and code in long mode too
950ad7ff6ec17f arch/x86/kernel/cpu/common.c  Yinghai Lu                2008-09-04  105  	 * IRET will check the segment types  kkeil 2000/10/28
950ad7ff6ec17f arch/x86/kernel/cpu/common.c  Yinghai Lu                2008-09-04  106  	 * Also sysret mandates a special GDT layout
06deef892c7327 arch/x86/kernel/cpu/common.c  Brian Gerst               2009-01-21  107  	 *
9766cdbcb26038 arch/x86/kernel/cpu/common.c  Jaswinder Singh Rajput    2009-03-14  108  	 * TLS descriptors are currently at a different place compared to i386.
06deef892c7327 arch/x86/kernel/cpu/common.c  Brian Gerst               2009-01-21  109  	 * Hopefully nobody expects them at a fixed place (Wine?)
950ad7ff6ec17f arch/x86/kernel/cpu/common.c  Yinghai Lu                2008-09-04  110  	 */
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19 @111  	[GDT_ENTRY_KERNEL32_CS]		= GDT_ENTRY_INIT(0xc09b, 0, 0xfffff),
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  112  	[GDT_ENTRY_KERNEL_CS]		= GDT_ENTRY_INIT(0xa09b, 0, 0xfffff),
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  113  	[GDT_ENTRY_KERNEL_DS]		= GDT_ENTRY_INIT(0xc093, 0, 0xfffff),
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  114  	[GDT_ENTRY_DEFAULT_USER32_CS]	= GDT_ENTRY_INIT(0xc0fb, 0, 0xfffff),
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  115  	[GDT_ENTRY_DEFAULT_USER_DS]	= GDT_ENTRY_INIT(0xc0f3, 0, 0xfffff),
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  116  	[GDT_ENTRY_DEFAULT_USER_CS]	= GDT_ENTRY_INIT(0xa0fb, 0, 0xfffff),
950ad7ff6ec17f arch/x86/kernel/cpu/common.c  Yinghai Lu                2008-09-04  117  #else
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  118  	[GDT_ENTRY_KERNEL_CS]		= GDT_ENTRY_INIT(0xc09a, 0, 0xfffff),
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  119  	[GDT_ENTRY_KERNEL_DS]		= GDT_ENTRY_INIT(0xc092, 0, 0xfffff),
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  120  	[GDT_ENTRY_DEFAULT_USER_CS]	= GDT_ENTRY_INIT(0xc0fa, 0, 0xfffff),
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  121  	[GDT_ENTRY_DEFAULT_USER_DS]	= GDT_ENTRY_INIT(0xc0f2, 0, 0xfffff),
bf50467204b435 arch/i386/kernel/cpu/common.c Rusty Russell             2007-05-02  122  	/*
bf50467204b435 arch/i386/kernel/cpu/common.c Rusty Russell             2007-05-02  123  	 * Segments used for calling PnP BIOS have byte granularity.
bf50467204b435 arch/i386/kernel/cpu/common.c Rusty Russell             2007-05-02  124  	 * They code segments and data segments have fixed 64k limits,
bf50467204b435 arch/i386/kernel/cpu/common.c Rusty Russell             2007-05-02  125  	 * the transfer segment sizes are set at run time.
bf50467204b435 arch/i386/kernel/cpu/common.c Rusty Russell             2007-05-02  126  	 */
6842ef0e85a9cc arch/x86/kernel/cpu/common.c  Glauber de Oliveira Costa 2008-01-30  127  	/* 32-bit code */
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  128  	[GDT_ENTRY_PNPBIOS_CS32]	= GDT_ENTRY_INIT(0x409a, 0, 0xffff),
6842ef0e85a9cc arch/x86/kernel/cpu/common.c  Glauber de Oliveira Costa 2008-01-30  129  	/* 16-bit code */
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  130  	[GDT_ENTRY_PNPBIOS_CS16]	= GDT_ENTRY_INIT(0x009a, 0, 0xffff),
6842ef0e85a9cc arch/x86/kernel/cpu/common.c  Glauber de Oliveira Costa 2008-01-30  131  	/* 16-bit data */
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  132  	[GDT_ENTRY_PNPBIOS_DS]		= GDT_ENTRY_INIT(0x0092, 0, 0xffff),
6842ef0e85a9cc arch/x86/kernel/cpu/common.c  Glauber de Oliveira Costa 2008-01-30  133  	/* 16-bit data */
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  134  	[GDT_ENTRY_PNPBIOS_TS1]		= GDT_ENTRY_INIT(0x0092, 0, 0),
6842ef0e85a9cc arch/x86/kernel/cpu/common.c  Glauber de Oliveira Costa 2008-01-30  135  	/* 16-bit data */
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  136  	[GDT_ENTRY_PNPBIOS_TS2]		= GDT_ENTRY_INIT(0x0092, 0, 0),
bf50467204b435 arch/i386/kernel/cpu/common.c Rusty Russell             2007-05-02  137  	/*
bf50467204b435 arch/i386/kernel/cpu/common.c Rusty Russell             2007-05-02  138  	 * The APM segments have byte granularity and their bases
bf50467204b435 arch/i386/kernel/cpu/common.c Rusty Russell             2007-05-02  139  	 * are set at run time.  All have 64k limits.
bf50467204b435 arch/i386/kernel/cpu/common.c Rusty Russell             2007-05-02  140  	 */
6842ef0e85a9cc arch/x86/kernel/cpu/common.c  Glauber de Oliveira Costa 2008-01-30  141  	/* 32-bit code */
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  142  	[GDT_ENTRY_APMBIOS_BASE]	= GDT_ENTRY_INIT(0x409a, 0, 0xffff),
bf50467204b435 arch/i386/kernel/cpu/common.c Rusty Russell             2007-05-02  143  	/* 16-bit code */
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  144  	[GDT_ENTRY_APMBIOS_BASE+1]	= GDT_ENTRY_INIT(0x009a, 0, 0xffff),
6842ef0e85a9cc arch/x86/kernel/cpu/common.c  Glauber de Oliveira Costa 2008-01-30  145  	/* data */
72c4d853024426 arch/x86/kernel/cpu/common.c  Ingo Molnar               2009-08-03  146  	[GDT_ENTRY_APMBIOS_BASE+2]	= GDT_ENTRY_INIT(0x4092, 0, 0xffff),
bf50467204b435 arch/i386/kernel/cpu/common.c Rusty Russell             2007-05-02  147  
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  148  	[GDT_ENTRY_ESPFIX_SS]		= GDT_ENTRY_INIT(0xc092, 0, 0xfffff),
1e5de18278e686 arch/x86/kernel/cpu/common.c  Akinobu Mita              2009-07-19  149  	[GDT_ENTRY_PERCPU]		= GDT_ENTRY_INIT(0xc092, 0, 0xfffff),
60a5317ff0f42d arch/x86/kernel/cpu/common.c  Tejun Heo                 2009-02-09  150  	GDT_STACK_CANARY_INIT
950ad7ff6ec17f arch/x86/kernel/cpu/common.c  Yinghai Lu                2008-09-04  151  #endif
06deef892c7327 arch/x86/kernel/cpu/common.c  Brian Gerst               2009-01-21  152  } };
7a61d35d4b4056 arch/i386/kernel/cpu/common.c Jeremy Fitzhardinge       2007-05-02  153  EXPORT_PER_CPU_SYMBOL_GPL(gdt_page);
ae1ee11be77f51 arch/i386/kernel/cpu/common.c Rusty Russell             2007-05-02  154  

:::::: The code at line 111 was first introduced by commit
:::::: 1e5de18278e6862f4198412b5059a03770fa816a x86: Introduce GDT_ENTRY_INIT()

:::::: TO: Akinobu Mita <akinobu.mita@gmail.com>
:::::: CC: Ingo Molnar <mingo@elte.hu>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-11-11 10:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-11 10:22 arch/x86/kernel/cpu/common.c:111:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff) kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.