tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 444fc5cde64330661bf59944c43844e7d4c2ccd8 commit: 9b67d08dbc1751ab15d972a63a4d9132e7e7442f crypto: ccp - rename psp-dev files to sev-dev date: 5 months ago config: x86_64-randconfig-s031-20200527 (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.1-240-gf0fe1cd9-dirty git checkout 9b67d08dbc1751ab15d972a63a4d9132e7e7442f # save the attached .config to linux build tree make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <l...@intel.com> sparse warnings: (new ones prefixed by >>) >> drivers/crypto/ccp/sev-dev.c:387:14: sparse: sparse: incorrect type in >> argument 1 (different base types) @@ expected void const volatile >> [noderef] <asn:1> * @@ got unsigned long long [addressable] [usertype] >> address @@ drivers/crypto/ccp/sev-dev.c:387:14: sparse: expected void const volatile [noderef] <asn:1> * drivers/crypto/ccp/sev-dev.c:387:14: sparse: got unsigned long long [addressable] [usertype] address drivers/crypto/ccp/sev-dev.c:626:14: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] <asn:1> * @@ got unsigned long long [addressable] [usertype] address @@ drivers/crypto/ccp/sev-dev.c:626:14: sparse: expected void const volatile [noderef] <asn:1> * drivers/crypto/ccp/sev-dev.c:626:14: sparse: got unsigned long long [addressable] [usertype] address >> drivers/crypto/ccp/sev-dev.c:744:14: sparse: sparse: incorrect type in >> argument 1 (different base types) @@ expected void const volatile >> [noderef] <asn:1> * @@ got unsigned long long [addressable] [usertype] >> pdh_cert_address @@ drivers/crypto/ccp/sev-dev.c:744:14: sparse: expected void const volatile [noderef] <asn:1> * drivers/crypto/ccp/sev-dev.c:744:14: sparse: got unsigned long long [addressable] [usertype] pdh_cert_address >> drivers/crypto/ccp/sev-dev.c:751:14: sparse: sparse: incorrect type in >> argument 1 (different base types) @@ expected void const volatile >> [noderef] <asn:1> * @@ got unsigned long long [addressable] [usertype] >> cert_chain_address @@ drivers/crypto/ccp/sev-dev.c:751:14: sparse: expected void const volatile [noderef] <asn:1> * drivers/crypto/ccp/sev-dev.c:751:14: sparse: got unsigned long long [addressable] [usertype] cert_chain_address drivers/crypto/ccp/sev-dev.c:433:14: sparse: sparse: dereference of noderef expression drivers/crypto/ccp/sev-dev.c:440:54: sparse: sparse: dereference of noderef expression vim +387 drivers/crypto/ccp/sev-dev.c 4d84b726be834d drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 364 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 365 static int sev_ioctl_do_pek_csr(struct sev_issue_cmd *argp) e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 366 { e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 367 struct sev_user_data_pek_csr input; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 368 struct sev_data_pek_csr *data; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 369 void *blob = NULL; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 370 int ret; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 371 ec310caf13b550 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2019-11-12 372 if (!capable(CAP_SYS_ADMIN)) ec310caf13b550 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2019-11-12 373 return -EPERM; ec310caf13b550 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2019-11-12 374 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 375 if (copy_from_user(&input, (void __user *)argp->data, sizeof(input))) e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 376 return -EFAULT; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 377 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 378 data = kzalloc(sizeof(*data), GFP_KERNEL); e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 379 if (!data) e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 380 return -ENOMEM; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 381 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 382 /* userspace wants to query CSR length */ e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 383 if (!input.address || !input.length) e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 384 goto cmd; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 385 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 386 /* allocate a physically contiguous buffer to store the CSR blob */ 96d4f267e40f95 drivers/crypto/ccp/psp-dev.c Linus Torvalds 2019-01-03 @387 if (!access_ok(input.address, input.length) || e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 388 input.length > SEV_FW_BLOB_MAX_SIZE) { e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 389 ret = -EFAULT; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 390 goto e_free; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 391 } e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 392 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 393 blob = kmalloc(input.length, GFP_KERNEL); e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 394 if (!blob) { e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 395 ret = -ENOMEM; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 396 goto e_free; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 397 } e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 398 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 399 data->address = __psp_pa(blob); e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 400 data->len = input.length; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 401 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 402 cmd: e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 403 if (psp_master->sev_state == SEV_STATE_UNINIT) { e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 404 ret = __sev_platform_init_locked(&argp->error); e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 405 if (ret) e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 406 goto e_free_blob; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 407 } e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 408 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 409 ret = __sev_do_cmd_locked(SEV_CMD_PEK_CSR, data, &argp->error); e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 410 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 411 /* If we query the CSR length, FW responded with expected data. */ e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 412 input.length = data->len; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 413 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 414 if (copy_to_user((void __user *)argp->data, &input, sizeof(input))) { e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 415 ret = -EFAULT; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 416 goto e_free_blob; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 417 } e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 418 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 419 if (blob) { e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 420 if (copy_to_user((void __user *)input.address, blob, input.length)) e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 421 ret = -EFAULT; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 422 } e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 423 e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 424 e_free_blob: e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 425 kfree(blob); e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 426 e_free: e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 427 kfree(data); e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 428 return ret; e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 429 } e799035609e152 drivers/crypto/ccp/psp-dev.c Brijesh Singh 2017-12-04 430 :::::: The code at line 387 was first introduced by commit :::::: 96d4f267e40f9509e8a66e2b39e8b95655617693 Remove 'type' argument from access_ok() function :::::: TO: Linus Torvalds <torva...@linux-foundation.org> :::::: CC: Linus Torvalds <torva...@linux-foundation.org> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip