From: kernel test robot <lkp@intel.com>
To: Nuno Das Neves <nunodasneves@linux.microsoft.com>,
linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
prapal@linux.microsoft.com, easwar.hariharan@linux.microsoft.com,
tiala@microsoft.com, anirudh@anirudhrb.com,
paekkaladevi@linux.microsoft.com
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
decui@microsoft.com, Jinank Jain <jinankjain@linux.microsoft.com>,
Nuno Das Neves <nunodasneves@linux.microsoft.com>
Subject: Re: [PATCH v2 4/5] mshv: Allocate vp state page for HVCALL_MAP_VP_STATE_PAGE on L1VH
Date: Fri, 12 Sep 2025 03:05:26 +0800 [thread overview]
Message-ID: <202509120214.YMomVkdP-lkp@intel.com> (raw)
In-Reply-To: <1757546089-2002-5-git-send-email-nunodasneves@linux.microsoft.com>
Hi Nuno,
kernel test robot noticed the following build warnings:
[auto build test WARNING on linus/master]
[also build test WARNING on v6.17-rc5 next-20250911]
[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/Nuno-Das-Neves/mshv-Only-map-vp-vp_stats_pages-if-on-root-scheduler/20250911-071732
base: linus/master
patch link: https://lore.kernel.org/r/1757546089-2002-5-git-send-email-nunodasneves%40linux.microsoft.com
patch subject: [PATCH v2 4/5] mshv: Allocate vp state page for HVCALL_MAP_VP_STATE_PAGE on L1VH
config: x86_64-randconfig-072-20250911 (https://download.01.org/0day-ci/archive/20250912/202509120214.YMomVkdP-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250912/202509120214.YMomVkdP-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/202509120214.YMomVkdP-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/hv/mshv_root_main.c:966:7: warning: variable 'vp' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
966 | if (ret)
| ^~~
drivers/hv/mshv_root_main.c:1030:11: note: uninitialized use occurs here
1030 | vp->vp_intercept_msg_page, input_vtl_zero);
| ^~
drivers/hv/mshv_root_main.c:966:3: note: remove the 'if' if its condition is always false
966 | if (ret)
| ^~~~~~~~
967 | goto unmap_ghcb_page;
| ~~~~~~~~~~~~~~~~~~~~
drivers/hv/mshv_root_main.c:955:7: warning: variable 'vp' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
955 | if (ret)
| ^~~
drivers/hv/mshv_root_main.c:1030:11: note: uninitialized use occurs here
1030 | vp->vp_intercept_msg_page, input_vtl_zero);
| ^~
drivers/hv/mshv_root_main.c:955:3: note: remove the 'if' if its condition is always false
955 | if (ret)
| ^~~~~~~~
956 | goto unmap_register_page;
| ~~~~~~~~~~~~~~~~~~~~~~~~
drivers/hv/mshv_root_main.c:946:7: warning: variable 'vp' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
946 | if (ret)
| ^~~
drivers/hv/mshv_root_main.c:1030:11: note: uninitialized use occurs here
1030 | vp->vp_intercept_msg_page, input_vtl_zero);
| ^~
drivers/hv/mshv_root_main.c:946:3: note: remove the 'if' if its condition is always false
946 | if (ret)
| ^~~~~~~~
947 | goto unmap_intercept_message_page;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/hv/mshv_root_main.c:917:20: note: initialize the variable 'vp' to silence this warning
917 | struct mshv_vp *vp;
| ^
| = NULL
drivers/hv/mshv_root_main.c:41:20: warning: unused function 'hv_parent_partition' [-Wunused-function]
41 | static inline bool hv_parent_partition(void)
| ^~~~~~~~~~~~~~~~~~~
4 warnings generated.
vim +966 drivers/hv/mshv_root_main.c
621191d709b1488 Nuno Das Neves 2025-03-14 911
621191d709b1488 Nuno Das Neves 2025-03-14 912 static long
621191d709b1488 Nuno Das Neves 2025-03-14 913 mshv_partition_ioctl_create_vp(struct mshv_partition *partition,
621191d709b1488 Nuno Das Neves 2025-03-14 914 void __user *arg)
621191d709b1488 Nuno Das Neves 2025-03-14 915 {
621191d709b1488 Nuno Das Neves 2025-03-14 916 struct mshv_create_vp args;
621191d709b1488 Nuno Das Neves 2025-03-14 917 struct mshv_vp *vp;
621191d709b1488 Nuno Das Neves 2025-03-14 918 struct page *intercept_message_page, *register_page, *ghcb_page;
621191d709b1488 Nuno Das Neves 2025-03-14 919 void *stats_pages[2];
621191d709b1488 Nuno Das Neves 2025-03-14 920 long ret;
621191d709b1488 Nuno Das Neves 2025-03-14 921
621191d709b1488 Nuno Das Neves 2025-03-14 922 if (copy_from_user(&args, arg, sizeof(args)))
621191d709b1488 Nuno Das Neves 2025-03-14 923 return -EFAULT;
621191d709b1488 Nuno Das Neves 2025-03-14 924
621191d709b1488 Nuno Das Neves 2025-03-14 925 if (args.vp_index >= MSHV_MAX_VPS)
621191d709b1488 Nuno Das Neves 2025-03-14 926 return -EINVAL;
621191d709b1488 Nuno Das Neves 2025-03-14 927
621191d709b1488 Nuno Das Neves 2025-03-14 928 if (partition->pt_vp_array[args.vp_index])
621191d709b1488 Nuno Das Neves 2025-03-14 929 return -EEXIST;
621191d709b1488 Nuno Das Neves 2025-03-14 930
621191d709b1488 Nuno Das Neves 2025-03-14 931 ret = hv_call_create_vp(NUMA_NO_NODE, partition->pt_id, args.vp_index,
621191d709b1488 Nuno Das Neves 2025-03-14 932 0 /* Only valid for root partition VPs */);
621191d709b1488 Nuno Das Neves 2025-03-14 933 if (ret)
621191d709b1488 Nuno Das Neves 2025-03-14 934 return ret;
621191d709b1488 Nuno Das Neves 2025-03-14 935
debba2f23756254 Jinank Jain 2025-09-10 936 ret = hv_map_vp_state_page(partition->pt_id, args.vp_index,
621191d709b1488 Nuno Das Neves 2025-03-14 937 HV_VP_STATE_PAGE_INTERCEPT_MESSAGE,
debba2f23756254 Jinank Jain 2025-09-10 938 input_vtl_zero, &intercept_message_page);
621191d709b1488 Nuno Das Neves 2025-03-14 939 if (ret)
621191d709b1488 Nuno Das Neves 2025-03-14 940 goto destroy_vp;
621191d709b1488 Nuno Das Neves 2025-03-14 941
621191d709b1488 Nuno Das Neves 2025-03-14 942 if (!mshv_partition_encrypted(partition)) {
debba2f23756254 Jinank Jain 2025-09-10 943 ret = hv_map_vp_state_page(partition->pt_id, args.vp_index,
621191d709b1488 Nuno Das Neves 2025-03-14 944 HV_VP_STATE_PAGE_REGISTERS,
debba2f23756254 Jinank Jain 2025-09-10 945 input_vtl_zero, ®ister_page);
621191d709b1488 Nuno Das Neves 2025-03-14 946 if (ret)
621191d709b1488 Nuno Das Neves 2025-03-14 947 goto unmap_intercept_message_page;
621191d709b1488 Nuno Das Neves 2025-03-14 948 }
621191d709b1488 Nuno Das Neves 2025-03-14 949
621191d709b1488 Nuno Das Neves 2025-03-14 950 if (mshv_partition_encrypted(partition) &&
621191d709b1488 Nuno Das Neves 2025-03-14 951 is_ghcb_mapping_available()) {
debba2f23756254 Jinank Jain 2025-09-10 952 ret = hv_map_vp_state_page(partition->pt_id, args.vp_index,
621191d709b1488 Nuno Das Neves 2025-03-14 953 HV_VP_STATE_PAGE_GHCB,
debba2f23756254 Jinank Jain 2025-09-10 954 input_vtl_normal, &ghcb_page);
621191d709b1488 Nuno Das Neves 2025-03-14 955 if (ret)
621191d709b1488 Nuno Das Neves 2025-03-14 956 goto unmap_register_page;
621191d709b1488 Nuno Das Neves 2025-03-14 957 }
621191d709b1488 Nuno Das Neves 2025-03-14 958
1af6cc3b10421f1 Nuno Das Neves 2025-09-10 959 /*
1af6cc3b10421f1 Nuno Das Neves 2025-09-10 960 * This mapping of the stats page is for detecting if dispatch thread
1af6cc3b10421f1 Nuno Das Neves 2025-09-10 961 * is blocked - only relevant for root scheduler
1af6cc3b10421f1 Nuno Das Neves 2025-09-10 962 */
1af6cc3b10421f1 Nuno Das Neves 2025-09-10 963 if (hv_scheduler_type == HV_SCHEDULER_TYPE_ROOT) {
621191d709b1488 Nuno Das Neves 2025-03-14 964 ret = mshv_vp_stats_map(partition->pt_id, args.vp_index,
621191d709b1488 Nuno Das Neves 2025-03-14 965 stats_pages);
621191d709b1488 Nuno Das Neves 2025-03-14 @966 if (ret)
621191d709b1488 Nuno Das Neves 2025-03-14 967 goto unmap_ghcb_page;
621191d709b1488 Nuno Das Neves 2025-03-14 968 }
621191d709b1488 Nuno Das Neves 2025-03-14 969
621191d709b1488 Nuno Das Neves 2025-03-14 970 vp = kzalloc(sizeof(*vp), GFP_KERNEL);
621191d709b1488 Nuno Das Neves 2025-03-14 971 if (!vp)
621191d709b1488 Nuno Das Neves 2025-03-14 972 goto unmap_stats_pages;
621191d709b1488 Nuno Das Neves 2025-03-14 973
621191d709b1488 Nuno Das Neves 2025-03-14 974 vp->vp_partition = mshv_partition_get(partition);
621191d709b1488 Nuno Das Neves 2025-03-14 975 if (!vp->vp_partition) {
621191d709b1488 Nuno Das Neves 2025-03-14 976 ret = -EBADF;
621191d709b1488 Nuno Das Neves 2025-03-14 977 goto free_vp;
621191d709b1488 Nuno Das Neves 2025-03-14 978 }
621191d709b1488 Nuno Das Neves 2025-03-14 979
621191d709b1488 Nuno Das Neves 2025-03-14 980 mutex_init(&vp->vp_mutex);
621191d709b1488 Nuno Das Neves 2025-03-14 981 init_waitqueue_head(&vp->run.vp_suspend_queue);
621191d709b1488 Nuno Das Neves 2025-03-14 982 atomic64_set(&vp->run.vp_signaled_count, 0);
621191d709b1488 Nuno Das Neves 2025-03-14 983
621191d709b1488 Nuno Das Neves 2025-03-14 984 vp->vp_index = args.vp_index;
621191d709b1488 Nuno Das Neves 2025-03-14 985 vp->vp_intercept_msg_page = page_to_virt(intercept_message_page);
621191d709b1488 Nuno Das Neves 2025-03-14 986 if (!mshv_partition_encrypted(partition))
621191d709b1488 Nuno Das Neves 2025-03-14 987 vp->vp_register_page = page_to_virt(register_page);
621191d709b1488 Nuno Das Neves 2025-03-14 988
621191d709b1488 Nuno Das Neves 2025-03-14 989 if (mshv_partition_encrypted(partition) && is_ghcb_mapping_available())
621191d709b1488 Nuno Das Neves 2025-03-14 990 vp->vp_ghcb_page = page_to_virt(ghcb_page);
621191d709b1488 Nuno Das Neves 2025-03-14 991
1af6cc3b10421f1 Nuno Das Neves 2025-09-10 992 if (hv_scheduler_type == HV_SCHEDULER_TYPE_ROOT)
621191d709b1488 Nuno Das Neves 2025-03-14 993 memcpy(vp->vp_stats_pages, stats_pages, sizeof(stats_pages));
621191d709b1488 Nuno Das Neves 2025-03-14 994
621191d709b1488 Nuno Das Neves 2025-03-14 995 /*
621191d709b1488 Nuno Das Neves 2025-03-14 996 * Keep anon_inode_getfd last: it installs fd in the file struct and
621191d709b1488 Nuno Das Neves 2025-03-14 997 * thus makes the state accessible in user space.
621191d709b1488 Nuno Das Neves 2025-03-14 998 */
621191d709b1488 Nuno Das Neves 2025-03-14 999 ret = anon_inode_getfd("mshv_vp", &mshv_vp_fops, vp,
621191d709b1488 Nuno Das Neves 2025-03-14 1000 O_RDWR | O_CLOEXEC);
621191d709b1488 Nuno Das Neves 2025-03-14 1001 if (ret < 0)
621191d709b1488 Nuno Das Neves 2025-03-14 1002 goto put_partition;
621191d709b1488 Nuno Das Neves 2025-03-14 1003
621191d709b1488 Nuno Das Neves 2025-03-14 1004 /* already exclusive with the partition mutex for all ioctls */
621191d709b1488 Nuno Das Neves 2025-03-14 1005 partition->pt_vp_count++;
621191d709b1488 Nuno Das Neves 2025-03-14 1006 partition->pt_vp_array[args.vp_index] = vp;
621191d709b1488 Nuno Das Neves 2025-03-14 1007
621191d709b1488 Nuno Das Neves 2025-03-14 1008 return ret;
621191d709b1488 Nuno Das Neves 2025-03-14 1009
621191d709b1488 Nuno Das Neves 2025-03-14 1010 put_partition:
621191d709b1488 Nuno Das Neves 2025-03-14 1011 mshv_partition_put(partition);
621191d709b1488 Nuno Das Neves 2025-03-14 1012 free_vp:
621191d709b1488 Nuno Das Neves 2025-03-14 1013 kfree(vp);
621191d709b1488 Nuno Das Neves 2025-03-14 1014 unmap_stats_pages:
1af6cc3b10421f1 Nuno Das Neves 2025-09-10 1015 if (hv_scheduler_type == HV_SCHEDULER_TYPE_ROOT)
621191d709b1488 Nuno Das Neves 2025-03-14 1016 mshv_vp_stats_unmap(partition->pt_id, args.vp_index);
621191d709b1488 Nuno Das Neves 2025-03-14 1017 unmap_ghcb_page:
debba2f23756254 Jinank Jain 2025-09-10 1018 if (mshv_partition_encrypted(partition) && is_ghcb_mapping_available())
debba2f23756254 Jinank Jain 2025-09-10 1019 hv_unmap_vp_state_page(partition->pt_id, args.vp_index,
debba2f23756254 Jinank Jain 2025-09-10 1020 HV_VP_STATE_PAGE_GHCB, vp->vp_ghcb_page,
621191d709b1488 Nuno Das Neves 2025-03-14 1021 input_vtl_normal);
621191d709b1488 Nuno Das Neves 2025-03-14 1022 unmap_register_page:
debba2f23756254 Jinank Jain 2025-09-10 1023 if (!mshv_partition_encrypted(partition))
debba2f23756254 Jinank Jain 2025-09-10 1024 hv_unmap_vp_state_page(partition->pt_id, args.vp_index,
621191d709b1488 Nuno Das Neves 2025-03-14 1025 HV_VP_STATE_PAGE_REGISTERS,
debba2f23756254 Jinank Jain 2025-09-10 1026 vp->vp_register_page, input_vtl_zero);
621191d709b1488 Nuno Das Neves 2025-03-14 1027 unmap_intercept_message_page:
debba2f23756254 Jinank Jain 2025-09-10 1028 hv_unmap_vp_state_page(partition->pt_id, args.vp_index,
621191d709b1488 Nuno Das Neves 2025-03-14 1029 HV_VP_STATE_PAGE_INTERCEPT_MESSAGE,
debba2f23756254 Jinank Jain 2025-09-10 1030 vp->vp_intercept_msg_page, input_vtl_zero);
621191d709b1488 Nuno Das Neves 2025-03-14 1031 destroy_vp:
621191d709b1488 Nuno Das Neves 2025-03-14 1032 hv_call_delete_vp(partition->pt_id, args.vp_index);
621191d709b1488 Nuno Das Neves 2025-03-14 1033 return ret;
621191d709b1488 Nuno Das Neves 2025-03-14 1034 }
621191d709b1488 Nuno Das Neves 2025-03-14 1035
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2025-09-11 19:05 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-10 23:14 [PATCH v2 0/5] mshv: Fixes for stats and vp state page mappings Nuno Das Neves
2025-09-10 23:14 ` [PATCH v2 1/5] mshv: Only map vp->vp_stats_pages if on root scheduler Nuno Das Neves
2025-09-10 23:14 ` [PATCH v2 2/5] mshv: Add the HVCALL_GET_PARTITION_PROPERTY_EX hypercall Nuno Das Neves
2025-09-11 16:21 ` Easwar Hariharan
2025-09-10 23:14 ` [PATCH v2 3/5] mshv: Get the vmm capabilities offered by the hypervisor Nuno Das Neves
2025-09-10 23:14 ` [PATCH v2 4/5] mshv: Allocate vp state page for HVCALL_MAP_VP_STATE_PAGE on L1VH Nuno Das Neves
2025-09-11 19:05 ` kernel test robot [this message]
2025-09-10 23:14 ` [PATCH v2 5/5] mshv: Introduce new hypercall to map stats page for L1VH partitions Nuno Das Neves
2025-09-11 16:32 ` Easwar Hariharan
2025-09-11 18:00 ` Nuno Das Neves
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202509120214.YMomVkdP-lkp@intel.com \
--to=lkp@intel.com \
--cc=anirudh@anirudhrb.com \
--cc=decui@microsoft.com \
--cc=easwar.hariharan@linux.microsoft.com \
--cc=haiyangz@microsoft.com \
--cc=jinankjain@linux.microsoft.com \
--cc=kys@microsoft.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=nunodasneves@linux.microsoft.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=paekkaladevi@linux.microsoft.com \
--cc=prapal@linux.microsoft.com \
--cc=tiala@microsoft.com \
--cc=wei.liu@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.