tree:
https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git
sev-es-client-v5.6-rc5
head: 371cfd3c565d6bed145f4b0c07bf780649d70278
commit: 9326787bbae47dd72b04991f1429299df0f4266d [60/65] x86/realmode: Setup AP jump
table
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-180-g0558317d-dirty
git checkout 9326787bbae47dd72b04991f1429299df0f4266d
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
> arch/x86/kernel/sev-es.c:244:20: sparse: sparse: incorrect type
in assignment (different address spaces) @@ expected unsigned short [usertype]
*jump_table @@ got igned short [usertype] *jump_table @@
arch/x86/kernel/sev-es.c:244:20: sparse: expected unsigned short [usertype]
*jump_table
arch/x86/kernel/sev-es.c:244:20: sparse: got void [noderef] <asn:2> *
> arch/x86/kernel/sev-es.c:251:17: sparse: sparse: incorrect type
in argument 1 (different address spaces) @@ expected void volatile [noderef]
<asn:2> *addr @@ got olatile [noderef] <asn:2> *addr @@
arch/x86/kernel/sev-es.c:251:17: sparse: expected void volatile [noderef] <asn:2>
*addr
arch/x86/kernel/sev-es.c:251:17: sparse: got unsigned short [usertype] *jump_table
vim +244 arch/x86/kernel/sev-es.c
224
225 int sev_es_setup_ap_jump_table(struct real_mode_header *rmh)
226 {
227 u16 startup_cs, startup_ip;
228 phys_addr_t jump_table_pa;
229 u64 jump_table_addr;
230 u16 *jump_table;
231
232 jump_table_addr = sev_es_get_jump_table_addr();
233
234 /* Check if AP Jump Table is non-zero and page-aligned */
235 if (!jump_table_addr || jump_table_addr & ~PAGE_MASK)
236 return 0;
237
238 jump_table_pa = jump_table_addr & PAGE_MASK;
239
240 startup_cs = (u16)(rmh->trampoline_start >> 4);
241 startup_ip = (u16)(rmh->sev_es_trampoline_start -
242 rmh->trampoline_start);
243
244 jump_table = ioremap_encrypted(jump_table_pa, PAGE_SIZE);
245 if (!jump_table)
246 return -EIO;
247
248 jump_table[0] = startup_ip;
249 jump_table[1] = startup_cs;
250
251 iounmap(jump_table);
252
253 return 0;
254 }
255
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org