CC: [email protected] CC: [email protected] TO: Joerg Roedel <[email protected]> CC: Paolo Bonzini <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: e9919e11e219eaa5e8041b7b1a196839143e9125 commit: eaf78265a4ab33935d3a0f1407ce4a91aac4d4d5 KVM: SVM: Move SEV code to separate file date: 3 months ago :::::: branch date: 2 days ago :::::: commit date: 3 months ago config: x86_64-randconfig-m001-20200716 (attached as .config) compiler: gcc-9 (Debian 9.3.0-14) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: arch/x86/kvm/svm/sev.c:982 svm_register_enc_region() warn: impossible condition '(range->addr > (~0)) => (0-u64max > u64max)' arch/x86/kvm/svm/sev.c:982 svm_register_enc_region() warn: impossible condition '(range->size > (~0)) => (0-u64max > u64max)' # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=eaf78265a4ab33935d3a0f1407ce4a91aac4d4d5 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git remote update linus git checkout eaf78265a4ab33935d3a0f1407ce4a91aac4d4d5 vim +982 arch/x86/kvm/svm/sev.c eaf78265a4ab339 Joerg Roedel 2020-03-24 971 eaf78265a4ab339 Joerg Roedel 2020-03-24 972 int svm_register_enc_region(struct kvm *kvm, eaf78265a4ab339 Joerg Roedel 2020-03-24 973 struct kvm_enc_region *range) eaf78265a4ab339 Joerg Roedel 2020-03-24 974 { eaf78265a4ab339 Joerg Roedel 2020-03-24 975 struct kvm_sev_info *sev = &to_kvm_svm(kvm)->sev_info; eaf78265a4ab339 Joerg Roedel 2020-03-24 976 struct enc_region *region; eaf78265a4ab339 Joerg Roedel 2020-03-24 977 int ret = 0; eaf78265a4ab339 Joerg Roedel 2020-03-24 978 eaf78265a4ab339 Joerg Roedel 2020-03-24 979 if (!sev_guest(kvm)) eaf78265a4ab339 Joerg Roedel 2020-03-24 980 return -ENOTTY; eaf78265a4ab339 Joerg Roedel 2020-03-24 981 eaf78265a4ab339 Joerg Roedel 2020-03-24 @982 if (range->addr > ULONG_MAX || range->size > ULONG_MAX) eaf78265a4ab339 Joerg Roedel 2020-03-24 983 return -EINVAL; eaf78265a4ab339 Joerg Roedel 2020-03-24 984 eaf78265a4ab339 Joerg Roedel 2020-03-24 985 region = kzalloc(sizeof(*region), GFP_KERNEL_ACCOUNT); eaf78265a4ab339 Joerg Roedel 2020-03-24 986 if (!region) eaf78265a4ab339 Joerg Roedel 2020-03-24 987 return -ENOMEM; eaf78265a4ab339 Joerg Roedel 2020-03-24 988 eaf78265a4ab339 Joerg Roedel 2020-03-24 989 region->pages = sev_pin_memory(kvm, range->addr, range->size, ®ion->npages, 1); eaf78265a4ab339 Joerg Roedel 2020-03-24 990 if (!region->pages) { eaf78265a4ab339 Joerg Roedel 2020-03-24 991 ret = -ENOMEM; eaf78265a4ab339 Joerg Roedel 2020-03-24 992 goto e_free; eaf78265a4ab339 Joerg Roedel 2020-03-24 993 } eaf78265a4ab339 Joerg Roedel 2020-03-24 994 eaf78265a4ab339 Joerg Roedel 2020-03-24 995 /* eaf78265a4ab339 Joerg Roedel 2020-03-24 996 * The guest may change the memory encryption attribute from C=0 -> C=1 eaf78265a4ab339 Joerg Roedel 2020-03-24 997 * or vice versa for this memory range. Lets make sure caches are eaf78265a4ab339 Joerg Roedel 2020-03-24 998 * flushed to ensure that guest data gets written into memory with eaf78265a4ab339 Joerg Roedel 2020-03-24 999 * correct C-bit. eaf78265a4ab339 Joerg Roedel 2020-03-24 1000 */ eaf78265a4ab339 Joerg Roedel 2020-03-24 1001 sev_clflush_pages(region->pages, region->npages); eaf78265a4ab339 Joerg Roedel 2020-03-24 1002 eaf78265a4ab339 Joerg Roedel 2020-03-24 1003 region->uaddr = range->addr; eaf78265a4ab339 Joerg Roedel 2020-03-24 1004 region->size = range->size; eaf78265a4ab339 Joerg Roedel 2020-03-24 1005 eaf78265a4ab339 Joerg Roedel 2020-03-24 1006 mutex_lock(&kvm->lock); eaf78265a4ab339 Joerg Roedel 2020-03-24 1007 list_add_tail(®ion->list, &sev->regions_list); eaf78265a4ab339 Joerg Roedel 2020-03-24 1008 mutex_unlock(&kvm->lock); eaf78265a4ab339 Joerg Roedel 2020-03-24 1009 eaf78265a4ab339 Joerg Roedel 2020-03-24 1010 return ret; eaf78265a4ab339 Joerg Roedel 2020-03-24 1011 eaf78265a4ab339 Joerg Roedel 2020-03-24 1012 e_free: eaf78265a4ab339 Joerg Roedel 2020-03-24 1013 kfree(region); eaf78265a4ab339 Joerg Roedel 2020-03-24 1014 return ret; eaf78265a4ab339 Joerg Roedel 2020-03-24 1015 } eaf78265a4ab339 Joerg Roedel 2020-03-24 1016 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
