[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202505160203.9PdDhrOM-lkp@intel.com>
Date: Fri, 16 May 2025 02:21:06 +0800
From: kernel test robot <lkp@...el.com>
To: Dionna Glaze <dionnaglaze@...gle.com>, kvm@...r.kernel.org
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
linux-coco@...ts.linux.dev, Dionna Glaze <dionnaglaze@...gle.com>,
Thomas Lendacky <Thomas.Lendacky@....com>,
Paolo Bonzini <pbonzini@...hat.com>, Joerg Roedel <jroedel@...e.de>,
Peter Gonda <pgonda@...gle.com>, Borislav Petkov <bp@...en8.de>,
Sean Christopherson <seanjc@...gle.com>
Subject: Re: [PATCH v4 1/2] kvm: sev: Add SEV-SNP guest request throttling
Hi Dionna,
kernel test robot noticed the following build errors:
[auto build test ERROR on kvm/queue]
[also build test ERROR on kvm/next mst-vhost/linux-next linus/master v6.15-rc6 next-20250515]
[cannot apply to kvm/linux-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Dionna-Glaze/kvm-sev-Add-SEV-SNP-guest-request-throttling/20250515-064452
base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
patch link: https://lore.kernel.org/r/20250514184136.238446-2-dionnaglaze%40google.com
patch subject: [PATCH v4 1/2] kvm: sev: Add SEV-SNP guest request throttling
config: x86_64-rhel-9.4 (https://download.01.org/0day-ci/archive/20250516/202505160203.9PdDhrOM-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/20250516/202505160203.9PdDhrOM-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505160203.9PdDhrOM-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/x86/kvm/svm/sev.c: In function 'snp_set_request_throttle_ms':
arch/x86/kvm/svm/sev.c:2542:13: warning: unused variable 'ret' [-Wunused-variable]
2542 | int ret;
| ^~~
arch/x86/kvm/svm/sev.c: In function 'sev_mem_enc_ioctl':
>> arch/x86/kvm/svm/sev.c:2666:14: error: 'KVM_SEV_SNP_SET_REQUEST_THROTTLE_RATE_MS' undeclared (first use in this function); did you mean 'KVM_SEV_SNP_SET_REQUEST_THROTTLE_RATE'?
2666 | case KVM_SEV_SNP_SET_REQUEST_THROTTLE_RATE_MS:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| KVM_SEV_SNP_SET_REQUEST_THROTTLE_RATE
arch/x86/kvm/svm/sev.c:2666:14: note: each undeclared identifier is reported only once for each function it appears in
arch/x86/kvm/svm/sev.c: In function 'snp_handle_guest_req':
>> arch/x86/kvm/svm/sev.c:4039:17: error: 'rc' undeclared (first use in this function); did you mean 'rq'?
4039 | rc = SNP_GUEST_VMM_ERR_BUSY;
| ^~
| rq
vim +2666 arch/x86/kvm/svm/sev.c
2537
2538 static int snp_set_request_throttle_ms(struct kvm *kvm, struct kvm_sev_cmd *argp)
2539 {
2540 struct kvm_sev_info *sev = to_kvm_sev_info(kvm);
2541 struct kvm_sev_snp_set_request_throttle_rate params;
> 2542 int ret;
2543 u64 jiffies;
2544
2545 if (!sev_snp_guest(kvm))
2546 return -ENOTTY;
2547
2548 if (copy_from_user(¶ms, u64_to_user_ptr(argp->data), sizeof(params)))
2549 return -EFAULT;
2550
2551 jiffies = (params.interval_ms * HZ) / 1000;
2552
2553 if (!jiffies || !params.burst)
2554 return -EINVAL;
2555
2556 ratelimit_state_init(&sev->snp_guest_msg_rs, jiffies, params.burst);
2557
2558 return 0;
2559 }
2560
2561 int sev_mem_enc_ioctl(struct kvm *kvm, void __user *argp)
2562 {
2563 struct kvm_sev_cmd sev_cmd;
2564 int r;
2565
2566 if (!sev_enabled)
2567 return -ENOTTY;
2568
2569 if (!argp)
2570 return 0;
2571
2572 if (copy_from_user(&sev_cmd, argp, sizeof(struct kvm_sev_cmd)))
2573 return -EFAULT;
2574
2575 mutex_lock(&kvm->lock);
2576
2577 /* Only the enc_context_owner handles some memory enc operations. */
2578 if (is_mirroring_enc_context(kvm) &&
2579 !is_cmd_allowed_from_mirror(sev_cmd.id)) {
2580 r = -EINVAL;
2581 goto out;
2582 }
2583
2584 /*
2585 * Once KVM_SEV_INIT2 initializes a KVM instance as an SNP guest, only
2586 * allow the use of SNP-specific commands.
2587 */
2588 if (sev_snp_guest(kvm) && sev_cmd.id < KVM_SEV_SNP_LAUNCH_START) {
2589 r = -EPERM;
2590 goto out;
2591 }
2592
2593 switch (sev_cmd.id) {
2594 case KVM_SEV_ES_INIT:
2595 if (!sev_es_enabled) {
2596 r = -ENOTTY;
2597 goto out;
2598 }
2599 fallthrough;
2600 case KVM_SEV_INIT:
2601 r = sev_guest_init(kvm, &sev_cmd);
2602 break;
2603 case KVM_SEV_INIT2:
2604 r = sev_guest_init2(kvm, &sev_cmd);
2605 break;
2606 case KVM_SEV_LAUNCH_START:
2607 r = sev_launch_start(kvm, &sev_cmd);
2608 break;
2609 case KVM_SEV_LAUNCH_UPDATE_DATA:
2610 r = sev_launch_update_data(kvm, &sev_cmd);
2611 break;
2612 case KVM_SEV_LAUNCH_UPDATE_VMSA:
2613 r = sev_launch_update_vmsa(kvm, &sev_cmd);
2614 break;
2615 case KVM_SEV_LAUNCH_MEASURE:
2616 r = sev_launch_measure(kvm, &sev_cmd);
2617 break;
2618 case KVM_SEV_LAUNCH_FINISH:
2619 r = sev_launch_finish(kvm, &sev_cmd);
2620 break;
2621 case KVM_SEV_GUEST_STATUS:
2622 r = sev_guest_status(kvm, &sev_cmd);
2623 break;
2624 case KVM_SEV_DBG_DECRYPT:
2625 r = sev_dbg_crypt(kvm, &sev_cmd, true);
2626 break;
2627 case KVM_SEV_DBG_ENCRYPT:
2628 r = sev_dbg_crypt(kvm, &sev_cmd, false);
2629 break;
2630 case KVM_SEV_LAUNCH_SECRET:
2631 r = sev_launch_secret(kvm, &sev_cmd);
2632 break;
2633 case KVM_SEV_GET_ATTESTATION_REPORT:
2634 r = sev_get_attestation_report(kvm, &sev_cmd);
2635 break;
2636 case KVM_SEV_SEND_START:
2637 r = sev_send_start(kvm, &sev_cmd);
2638 break;
2639 case KVM_SEV_SEND_UPDATE_DATA:
2640 r = sev_send_update_data(kvm, &sev_cmd);
2641 break;
2642 case KVM_SEV_SEND_FINISH:
2643 r = sev_send_finish(kvm, &sev_cmd);
2644 break;
2645 case KVM_SEV_SEND_CANCEL:
2646 r = sev_send_cancel(kvm, &sev_cmd);
2647 break;
2648 case KVM_SEV_RECEIVE_START:
2649 r = sev_receive_start(kvm, &sev_cmd);
2650 break;
2651 case KVM_SEV_RECEIVE_UPDATE_DATA:
2652 r = sev_receive_update_data(kvm, &sev_cmd);
2653 break;
2654 case KVM_SEV_RECEIVE_FINISH:
2655 r = sev_receive_finish(kvm, &sev_cmd);
2656 break;
2657 case KVM_SEV_SNP_LAUNCH_START:
2658 r = snp_launch_start(kvm, &sev_cmd);
2659 break;
2660 case KVM_SEV_SNP_LAUNCH_UPDATE:
2661 r = snp_launch_update(kvm, &sev_cmd);
2662 break;
2663 case KVM_SEV_SNP_LAUNCH_FINISH:
2664 r = snp_launch_finish(kvm, &sev_cmd);
2665 break;
> 2666 case KVM_SEV_SNP_SET_REQUEST_THROTTLE_RATE_MS:
2667 r = snp_set_request_throttle_ms(kvm, &sev_cmd);
2668 break;
2669 default:
2670 r = -EINVAL;
2671 goto out;
2672 }
2673
2674 if (copy_to_user(argp, &sev_cmd, sizeof(struct kvm_sev_cmd)))
2675 r = -EFAULT;
2676
2677 out:
2678 mutex_unlock(&kvm->lock);
2679 return r;
2680 }
2681
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists