From: kernel test robot <lkp@intel.com>
To: "Adalbert Lazăr" <alazar@bitdefender.com>, kvm@vger.kernel.org
Cc: "Adalbert Lazăr" <alazar@bitdefender.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
kbuild-all@lists.01.org,
virtualization@lists.linux-foundation.org
Subject: Re: [PATCH v10 79/81] KVM: introspection: add KVMI_VCPU_TRANSLATE_GVA
Date: Wed, 25 Nov 2020 23:46:07 +0800 [thread overview]
Message-ID: <202011252355.B247436l-lkp@intel.com> (raw)
In-Reply-To: <20201125093600.2766-80-alazar@bitdefender.com>
[-- Attachment #1: Type: text/plain, Size: 7643 bytes --]
Hi "Adalbert,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on dc924b062488a0376aae41d3e0a27dc99f852a5e]
url: https://github.com/0day-ci/linux/commits/Adalbert-Laz-r/VM-introspection/20201125-174530
base: dc924b062488a0376aae41d3e0a27dc99f852a5e
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/7e18b2b2a0317b316591c7fcde367da2f6694550
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Adalbert-Laz-r/VM-introspection/20201125-174530
git checkout 7e18b2b2a0317b316591c7fcde367da2f6694550
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
arch/x86/kvm/kvmi_msg.c: In function 'handle_vcpu_inject_exception':
arch/x86/kvm/kvmi_msg.c:158:38: warning: variable 'arch' set but not used [-Wunused-but-set-variable]
158 | struct kvm_vcpu_arch_introspection *arch;
| ^~~~
arch/x86/kvm/kvmi_msg.c: In function 'handle_vcpu_get_xsave':
arch/x86/kvm/kvmi_msg.c:203:11: warning: variable 'ec' set but not used [-Wunused-but-set-variable]
203 | int err, ec = 0;
| ^~
arch/x86/kvm/kvmi_msg.c: At top level:
>> arch/x86/kvm/kvmi_msg.c:316:5: warning: no previous prototype for 'handle_vcpu_translate_gva' [-Wmissing-prototypes]
316 | int handle_vcpu_translate_gva(const struct kvmi_vcpu_msg_job *job,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
vim +/handle_vcpu_translate_gva +316 arch/x86/kvm/kvmi_msg.c
152
153 static int handle_vcpu_inject_exception(const struct kvmi_vcpu_msg_job *job,
154 const struct kvmi_msg_hdr *msg,
155 const void *_req)
156 {
157 const struct kvmi_vcpu_inject_exception *req = _req;
> 158 struct kvm_vcpu_arch_introspection *arch;
159 struct kvm_vcpu *vcpu = job->vcpu;
160 int ec;
161
162 arch = &VCPUI(vcpu)->arch;
163
164 if (!kvmi_is_event_allowed(KVMI(vcpu->kvm), KVMI_VCPU_EVENT_TRAP))
165 ec = -KVM_EPERM;
166 else if (req->padding1 || req->padding2)
167 ec = -KVM_EINVAL;
168 else if (VCPUI(vcpu)->arch.exception.pending ||
169 VCPUI(vcpu)->arch.exception.send_event ||
170 VCPUI(vcpu)->singlestep.loop)
171 ec = -KVM_EBUSY;
172 else
173 ec = kvmi_arch_cmd_vcpu_inject_exception(vcpu, req);
174
175 return kvmi_msg_vcpu_reply(job, msg, ec, NULL, 0);
176 }
177
178 static int handle_vcpu_get_xcr(const struct kvmi_vcpu_msg_job *job,
179 const struct kvmi_msg_hdr *msg,
180 const void *_req)
181 {
182 const struct kvmi_vcpu_get_xcr *req = _req;
183 struct kvmi_vcpu_get_xcr_reply rpl;
184 int ec = 0;
185
186 memset(&rpl, 0, sizeof(rpl));
187
188 if (non_zero_padding(req->padding, ARRAY_SIZE(req->padding)))
189 ec = -KVM_EINVAL;
190 else if (req->xcr != 0)
191 ec = -KVM_EINVAL;
192 else
193 rpl.value = job->vcpu->arch.xcr0;
194
195 return kvmi_msg_vcpu_reply(job, msg, ec, &rpl, sizeof(rpl));
196 }
197
198 static int handle_vcpu_get_xsave(const struct kvmi_vcpu_msg_job *job,
199 const struct kvmi_msg_hdr *msg,
200 const void *req)
201 {
202 struct kvmi_vcpu_get_xsave_reply *rpl;
203 int err, ec = 0;
204
205 rpl = kvmi_msg_alloc();
206 if (!rpl)
207 ec = -KVM_ENOMEM;
208 else
209 kvm_vcpu_ioctl_x86_get_xsave(job->vcpu, &rpl->xsave);
210
211 err = kvmi_msg_vcpu_reply(job, msg, 0, rpl, sizeof(*rpl));
212
213 kvmi_msg_free(rpl);
214 return err;
215 }
216
217 static int handle_vcpu_set_xsave(const struct kvmi_vcpu_msg_job *job,
218 const struct kvmi_msg_hdr *msg,
219 const void *req)
220 {
221 size_t req_size, msg_size = msg->size;
222 int ec = 0;
223
224 if (check_sub_overflow(msg_size, sizeof(struct kvmi_vcpu_hdr),
225 &req_size))
226 return -EINVAL;
227
228 if (req_size < sizeof(struct kvm_xsave))
229 ec = -KVM_EINVAL;
230 else if (kvm_vcpu_ioctl_x86_set_xsave(job->vcpu,
231 (struct kvm_xsave *) req))
232 ec = -KVM_EINVAL;
233
234 return kvmi_msg_vcpu_reply(job, msg, ec, NULL, 0);
235 }
236
237 static int handle_vcpu_get_mtrr_type(const struct kvmi_vcpu_msg_job *job,
238 const struct kvmi_msg_hdr *msg,
239 const void *_req)
240 {
241 const struct kvmi_vcpu_get_mtrr_type *req = _req;
242 struct kvmi_vcpu_get_mtrr_type_reply rpl;
243 gfn_t gfn;
244
245 gfn = gpa_to_gfn(req->gpa);
246
247 memset(&rpl, 0, sizeof(rpl));
248 rpl.type = kvm_mtrr_get_guest_memory_type(job->vcpu, gfn);
249
250 return kvmi_msg_vcpu_reply(job, msg, 0, &rpl, sizeof(rpl));
251 }
252
253 static bool is_valid_msr(unsigned int msr)
254 {
255 return msr <= 0x1fff || (msr >= 0xc0000000 && msr <= 0xc0001fff);
256 }
257
258 static int handle_vcpu_control_msr(const struct kvmi_vcpu_msg_job *job,
259 const struct kvmi_msg_hdr *msg,
260 const void *_req)
261 {
262 const struct kvmi_vcpu_control_msr *req = _req;
263 int ec = 0;
264
265 if (req->padding1 || req->padding2 || req->enable > 1)
266 ec = -KVM_EINVAL;
267 else if (!is_valid_msr(req->msr))
268 ec = -KVM_EINVAL;
269 else if (req->enable &&
270 !kvm_msr_allowed(job->vcpu, req->msr,
271 KVM_MSR_FILTER_WRITE))
272 ec = -KVM_EPERM;
273 else
274 kvmi_control_msrw_intercept(job->vcpu, req->msr,
275 req->enable == 1);
276
277 return kvmi_msg_vcpu_reply(job, msg, ec, NULL, 0);
278 }
279
280 static int handle_vcpu_control_singlestep(const struct kvmi_vcpu_msg_job *job,
281 const struct kvmi_msg_hdr *msg,
282 const void *_req)
283 {
284 const struct kvmi_vcpu_control_singlestep *req = _req;
285 struct kvm_vcpu *vcpu = job->vcpu;
286 int ec = 0;
287
288 if (!kvmi_is_event_allowed(KVMI(vcpu->kvm),
289 KVMI_VCPU_EVENT_SINGLESTEP)) {
290 ec = -KVM_EPERM;
291 goto reply;
292 }
293
294 if (non_zero_padding(req->padding, ARRAY_SIZE(req->padding)) ||
295 req->enable > 1) {
296 ec = -KVM_EINVAL;
297 goto reply;
298 }
299
300 if (!kvm_x86_ops.control_singlestep) {
301 ec = -KVM_EOPNOTSUPP;
302 goto reply;
303 }
304
305 if (req->enable)
306 kvmi_arch_start_singlestep(vcpu);
307 else
308 kvmi_arch_stop_singlestep(vcpu);
309
310 VCPUI(vcpu)->singlestep.loop = !!req->enable;
311
312 reply:
313 return kvmi_msg_vcpu_reply(job, msg, ec, NULL, 0);
314 }
315
> 316 int handle_vcpu_translate_gva(const struct kvmi_vcpu_msg_job *job,
317 const struct kvmi_msg_hdr *msg,
318 const void *_req)
319 {
320 const struct kvmi_vcpu_translate_gva *req = _req;
321 struct kvmi_vcpu_translate_gva_reply rpl;
322
323 memset(&rpl, 0, sizeof(rpl));
324
325 rpl.gpa = kvm_mmu_gva_to_gpa_system(job->vcpu, req->gva, 0, NULL);
326
327 return kvmi_msg_vcpu_reply(job, msg, 0, &rpl, sizeof(rpl));
328 }
329
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 77238 bytes --]
[-- Attachment #3: Type: text/plain, Size: 183 bytes --]
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v10 79/81] KVM: introspection: add KVMI_VCPU_TRANSLATE_GVA
Date: Wed, 25 Nov 2020 23:46:07 +0800 [thread overview]
Message-ID: <202011252355.B247436l-lkp@intel.com> (raw)
In-Reply-To: <20201125093600.2766-80-alazar@bitdefender.com>
[-- Attachment #1: Type: text/plain, Size: 7865 bytes --]
Hi "Adalbert,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on dc924b062488a0376aae41d3e0a27dc99f852a5e]
url: https://github.com/0day-ci/linux/commits/Adalbert-Laz-r/VM-introspection/20201125-174530
base: dc924b062488a0376aae41d3e0a27dc99f852a5e
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/7e18b2b2a0317b316591c7fcde367da2f6694550
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Adalbert-Laz-r/VM-introspection/20201125-174530
git checkout 7e18b2b2a0317b316591c7fcde367da2f6694550
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
arch/x86/kvm/kvmi_msg.c: In function 'handle_vcpu_inject_exception':
arch/x86/kvm/kvmi_msg.c:158:38: warning: variable 'arch' set but not used [-Wunused-but-set-variable]
158 | struct kvm_vcpu_arch_introspection *arch;
| ^~~~
arch/x86/kvm/kvmi_msg.c: In function 'handle_vcpu_get_xsave':
arch/x86/kvm/kvmi_msg.c:203:11: warning: variable 'ec' set but not used [-Wunused-but-set-variable]
203 | int err, ec = 0;
| ^~
arch/x86/kvm/kvmi_msg.c: At top level:
>> arch/x86/kvm/kvmi_msg.c:316:5: warning: no previous prototype for 'handle_vcpu_translate_gva' [-Wmissing-prototypes]
316 | int handle_vcpu_translate_gva(const struct kvmi_vcpu_msg_job *job,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
vim +/handle_vcpu_translate_gva +316 arch/x86/kvm/kvmi_msg.c
152
153 static int handle_vcpu_inject_exception(const struct kvmi_vcpu_msg_job *job,
154 const struct kvmi_msg_hdr *msg,
155 const void *_req)
156 {
157 const struct kvmi_vcpu_inject_exception *req = _req;
> 158 struct kvm_vcpu_arch_introspection *arch;
159 struct kvm_vcpu *vcpu = job->vcpu;
160 int ec;
161
162 arch = &VCPUI(vcpu)->arch;
163
164 if (!kvmi_is_event_allowed(KVMI(vcpu->kvm), KVMI_VCPU_EVENT_TRAP))
165 ec = -KVM_EPERM;
166 else if (req->padding1 || req->padding2)
167 ec = -KVM_EINVAL;
168 else if (VCPUI(vcpu)->arch.exception.pending ||
169 VCPUI(vcpu)->arch.exception.send_event ||
170 VCPUI(vcpu)->singlestep.loop)
171 ec = -KVM_EBUSY;
172 else
173 ec = kvmi_arch_cmd_vcpu_inject_exception(vcpu, req);
174
175 return kvmi_msg_vcpu_reply(job, msg, ec, NULL, 0);
176 }
177
178 static int handle_vcpu_get_xcr(const struct kvmi_vcpu_msg_job *job,
179 const struct kvmi_msg_hdr *msg,
180 const void *_req)
181 {
182 const struct kvmi_vcpu_get_xcr *req = _req;
183 struct kvmi_vcpu_get_xcr_reply rpl;
184 int ec = 0;
185
186 memset(&rpl, 0, sizeof(rpl));
187
188 if (non_zero_padding(req->padding, ARRAY_SIZE(req->padding)))
189 ec = -KVM_EINVAL;
190 else if (req->xcr != 0)
191 ec = -KVM_EINVAL;
192 else
193 rpl.value = job->vcpu->arch.xcr0;
194
195 return kvmi_msg_vcpu_reply(job, msg, ec, &rpl, sizeof(rpl));
196 }
197
198 static int handle_vcpu_get_xsave(const struct kvmi_vcpu_msg_job *job,
199 const struct kvmi_msg_hdr *msg,
200 const void *req)
201 {
202 struct kvmi_vcpu_get_xsave_reply *rpl;
203 int err, ec = 0;
204
205 rpl = kvmi_msg_alloc();
206 if (!rpl)
207 ec = -KVM_ENOMEM;
208 else
209 kvm_vcpu_ioctl_x86_get_xsave(job->vcpu, &rpl->xsave);
210
211 err = kvmi_msg_vcpu_reply(job, msg, 0, rpl, sizeof(*rpl));
212
213 kvmi_msg_free(rpl);
214 return err;
215 }
216
217 static int handle_vcpu_set_xsave(const struct kvmi_vcpu_msg_job *job,
218 const struct kvmi_msg_hdr *msg,
219 const void *req)
220 {
221 size_t req_size, msg_size = msg->size;
222 int ec = 0;
223
224 if (check_sub_overflow(msg_size, sizeof(struct kvmi_vcpu_hdr),
225 &req_size))
226 return -EINVAL;
227
228 if (req_size < sizeof(struct kvm_xsave))
229 ec = -KVM_EINVAL;
230 else if (kvm_vcpu_ioctl_x86_set_xsave(job->vcpu,
231 (struct kvm_xsave *) req))
232 ec = -KVM_EINVAL;
233
234 return kvmi_msg_vcpu_reply(job, msg, ec, NULL, 0);
235 }
236
237 static int handle_vcpu_get_mtrr_type(const struct kvmi_vcpu_msg_job *job,
238 const struct kvmi_msg_hdr *msg,
239 const void *_req)
240 {
241 const struct kvmi_vcpu_get_mtrr_type *req = _req;
242 struct kvmi_vcpu_get_mtrr_type_reply rpl;
243 gfn_t gfn;
244
245 gfn = gpa_to_gfn(req->gpa);
246
247 memset(&rpl, 0, sizeof(rpl));
248 rpl.type = kvm_mtrr_get_guest_memory_type(job->vcpu, gfn);
249
250 return kvmi_msg_vcpu_reply(job, msg, 0, &rpl, sizeof(rpl));
251 }
252
253 static bool is_valid_msr(unsigned int msr)
254 {
255 return msr <= 0x1fff || (msr >= 0xc0000000 && msr <= 0xc0001fff);
256 }
257
258 static int handle_vcpu_control_msr(const struct kvmi_vcpu_msg_job *job,
259 const struct kvmi_msg_hdr *msg,
260 const void *_req)
261 {
262 const struct kvmi_vcpu_control_msr *req = _req;
263 int ec = 0;
264
265 if (req->padding1 || req->padding2 || req->enable > 1)
266 ec = -KVM_EINVAL;
267 else if (!is_valid_msr(req->msr))
268 ec = -KVM_EINVAL;
269 else if (req->enable &&
270 !kvm_msr_allowed(job->vcpu, req->msr,
271 KVM_MSR_FILTER_WRITE))
272 ec = -KVM_EPERM;
273 else
274 kvmi_control_msrw_intercept(job->vcpu, req->msr,
275 req->enable == 1);
276
277 return kvmi_msg_vcpu_reply(job, msg, ec, NULL, 0);
278 }
279
280 static int handle_vcpu_control_singlestep(const struct kvmi_vcpu_msg_job *job,
281 const struct kvmi_msg_hdr *msg,
282 const void *_req)
283 {
284 const struct kvmi_vcpu_control_singlestep *req = _req;
285 struct kvm_vcpu *vcpu = job->vcpu;
286 int ec = 0;
287
288 if (!kvmi_is_event_allowed(KVMI(vcpu->kvm),
289 KVMI_VCPU_EVENT_SINGLESTEP)) {
290 ec = -KVM_EPERM;
291 goto reply;
292 }
293
294 if (non_zero_padding(req->padding, ARRAY_SIZE(req->padding)) ||
295 req->enable > 1) {
296 ec = -KVM_EINVAL;
297 goto reply;
298 }
299
300 if (!kvm_x86_ops.control_singlestep) {
301 ec = -KVM_EOPNOTSUPP;
302 goto reply;
303 }
304
305 if (req->enable)
306 kvmi_arch_start_singlestep(vcpu);
307 else
308 kvmi_arch_stop_singlestep(vcpu);
309
310 VCPUI(vcpu)->singlestep.loop = !!req->enable;
311
312 reply:
313 return kvmi_msg_vcpu_reply(job, msg, ec, NULL, 0);
314 }
315
> 316 int handle_vcpu_translate_gva(const struct kvmi_vcpu_msg_job *job,
317 const struct kvmi_msg_hdr *msg,
318 const void *_req)
319 {
320 const struct kvmi_vcpu_translate_gva *req = _req;
321 struct kvmi_vcpu_translate_gva_reply rpl;
322
323 memset(&rpl, 0, sizeof(rpl));
324
325 rpl.gpa = kvm_mmu_gva_to_gpa_system(job->vcpu, req->gva, 0, NULL);
326
327 return kvmi_msg_vcpu_reply(job, msg, 0, &rpl, sizeof(rpl));
328 }
329
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 77238 bytes --]
next prev parent reply other threads:[~2020-11-25 15:46 UTC|newest]
Thread overview: 192+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-25 9:34 [PATCH v10 00/81] VM introspection Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 01/81] KVM: UAPI: add error codes used by the VM introspection code Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 02/81] KVM: add kvm_vcpu_kick_and_wait() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 03/81] KVM: add kvm_get_max_gfn() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 04/81] KVM: doc: fix the hypercalls numbering Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 05/81] KVM: x86: add kvm_arch_vcpu_get_regs() and kvm_arch_vcpu_get_sregs() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 06/81] KVM: x86: add kvm_arch_vcpu_set_regs() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 07/81] KVM: x86: avoid injecting #PF when emulate the VMCALL instruction Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 08/81] KVM: x86: add kvm_x86_ops.bp_intercepted() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 09/81] KVM: x86: add kvm_x86_ops.control_cr3_intercept() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 10/81] KVM: x86: add kvm_x86_ops.cr3_write_intercepted() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 11/81] KVM: x86: add kvm_x86_ops.desc_ctrl_supported() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 12/81] KVM: svm: add support for descriptor-table VM-exits Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 13/81] KVM: x86: add kvm_x86_ops.control_desc_intercept() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 14/81] KVM: x86: add kvm_x86_ops.desc_intercepted() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 15/81] KVM: x86: add kvm_x86_ops.msr_write_intercepted() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 16/81] KVM: x86: svm: use the vmx convention to control the MSR interception Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 17/81] KVM: x86: add kvm_x86_ops.control_msr_intercept() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 18/81] KVM: x86: vmx: use a symbolic constant when checking the exit qualifications Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 19/81] KVM: x86: save the error code during EPT/NPF exits handling Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:34 ` [PATCH v10 20/81] KVM: x86: add kvm_x86_ops.fault_gla() Adalbert Lazăr
2020-11-25 9:34 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 21/81] KVM: x86: add kvm_x86_ops.control_singlestep() Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 22/81] KVM: x86: export kvm_arch_vcpu_set_guest_debug() Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 23/81] KVM: x86: extend kvm_mmu_gva_to_gpa_system() with the 'access' parameter Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 24/81] KVM: x86: export kvm_inject_pending_exception() Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 25/81] KVM: x86: export kvm_vcpu_ioctl_x86_get_xsave() Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 12:19 ` kernel test robot
2020-11-25 12:19 ` kernel test robot
2020-11-25 12:19 ` kernel test robot
2020-11-25 12:24 ` kernel test robot
2020-11-25 12:24 ` kernel test robot
2020-11-25 12:24 ` kernel test robot
2020-11-25 9:35 ` [PATCH v10 26/81] KVM: x86: export kvm_vcpu_ioctl_x86_set_xsave() Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 27/81] KVM: x86: page track: provide all callbacks with the guest virtual address Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 28/81] KVM: x86: page track: add track_create_slot() callback Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 29/81] KVM: x86: page_track: add support for preread, prewrite and preexec Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 30/81] KVM: x86: wire in the preread/prewrite/preexec page trackers Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 31/81] KVM: x86: disable gpa_available optimization for fetch and page-walk SPT violations Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 32/81] KVM: introduce VM introspection Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 12:45 ` kernel test robot
2020-11-25 12:45 ` kernel test robot
2020-11-25 12:45 ` kernel test robot
2020-11-25 13:41 ` kernel test robot
2020-11-25 13:41 ` kernel test robot
2020-11-25 13:41 ` kernel test robot
2020-11-25 16:24 ` kernel test robot
2020-11-25 16:24 ` kernel test robot
2020-11-25 16:24 ` kernel test robot
2020-11-25 9:35 ` [PATCH v10 33/81] KVM: introspection: add hook/unhook ioctls Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 11:49 ` kernel test robot
2020-11-25 11:49 ` kernel test robot
2020-11-25 9:35 ` [PATCH v10 34/81] KVM: introspection: add permission access ioctls Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 35/81] KVM: introspection: add the read/dispatch message function Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 36/81] KVM: introspection: add KVMI_GET_VERSION Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 37/81] KVM: introspection: add KVMI_VM_CHECK_COMMAND and KVMI_VM_CHECK_EVENT Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 38/81] KVM: introspection: add KVMI_VM_GET_INFO Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 39/81] KVM: introspection: add KVM_INTROSPECTION_PREUNHOOK Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 40/81] KVM: introspection: add KVMI_VM_EVENT_UNHOOK Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 41/81] KVM: introspection: add KVMI_VM_CONTROL_EVENTS Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 42/81] KVM: introspection: add KVMI_VM_READ_PHYSICAL/KVMI_VM_WRITE_PHYSICAL Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 43/81] KVM: introspection: add vCPU related data Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 44/81] KVM: introspection: add a jobs list to every introspected vCPU Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 45/81] KVM: introspection: handle vCPU introspection requests Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 46/81] KVM: introspection: handle vCPU commands Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 47/81] KVM: introspection: add KVMI_VCPU_GET_INFO Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 48/81] KVM: introspection: add KVMI_VM_PAUSE_VCPU Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 49/81] KVM: introspection: add support for vCPU events Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 50/81] KVM: introspection: add KVMI_VCPU_EVENT_PAUSE Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 51/81] KVM: introspection: add the crash action handling on the event reply Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 52/81] KVM: introspection: add KVMI_VCPU_CONTROL_EVENTS Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 53/81] KVM: introspection: add KVMI_VCPU_GET_REGISTERS Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 54/81] KVM: introspection: add KVMI_VCPU_SET_REGISTERS Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 55/81] KVM: introspection: add KVMI_VCPU_GET_CPUID Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 56/81] KVM: introspection: add KVMI_VCPU_EVENT_HYPERCALL Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 57/81] KVM: introspection: add KVMI_VCPU_EVENT_BREAKPOINT Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 58/81] KVM: introspection: add cleanup support for vCPUs Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 59/81] KVM: introspection: restore the state of #BP interception on unhook Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 60/81] KVM: introspection: add KVMI_VM_CONTROL_CLEANUP Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 61/81] KVM: introspection: add KVMI_VCPU_CONTROL_CR and KVMI_VCPU_EVENT_CR Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 62/81] KVM: introspection: restore the state of CR3 interception on unhook Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 63/81] KVM: introspection: add KVMI_VCPU_INJECT_EXCEPTION + KVMI_VCPU_EVENT_TRAP Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 12:57 ` kernel test robot
2020-11-25 12:57 ` kernel test robot
2020-11-25 9:35 ` [PATCH v10 64/81] KVM: introspection: add KVMI_VM_GET_MAX_GFN Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 65/81] KVM: introspection: add KVMI_VCPU_EVENT_XSETBV Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 66/81] KVM: introspection: add KVMI_VCPU_GET_XCR Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 15:22 ` kernel test robot
2020-11-25 15:22 ` kernel test robot
2020-11-25 15:22 ` kernel test robot
2020-11-25 9:35 ` [PATCH v10 67/81] KVM: introspection: add KVMI_VCPU_GET_XSAVE Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 13:50 ` kernel test robot
2020-11-25 13:50 ` kernel test robot
2020-11-25 9:35 ` [PATCH v10 68/81] KVM: introspection: add KVMI_VCPU_SET_XSAVE Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 69/81] KVM: introspection: add KVMI_VCPU_GET_MTRR_TYPE Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 70/81] KVM: introspection: add KVMI_VCPU_EVENT_DESCRIPTOR Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 71/81] KVM: introspection: restore the state of descriptor-table register interception on unhook Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 72/81] KVM: introspection: add KVMI_VCPU_CONTROL_MSR and KVMI_VCPU_EVENT_MSR Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 73/81] KVM: introspection: restore the state of MSR interception on unhook Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 74/81] KVM: introspection: add KVMI_VM_SET_PAGE_ACCESS Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 75/81] KVM: introspection: add KVMI_VCPU_EVENT_PF Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 14:44 ` kernel test robot
2020-11-25 14:44 ` kernel test robot
2020-11-25 9:35 ` [PATCH v10 76/81] KVM: introspection: extend KVMI_GET_VERSION with struct kvmi_features Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 77/81] KVM: introspection: add KVMI_VCPU_CONTROL_SINGLESTEP Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 78/81] KVM: introspection: add KVMI_VCPU_EVENT_SINGLESTEP Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:35 ` [PATCH v10 79/81] KVM: introspection: add KVMI_VCPU_TRANSLATE_GVA Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 15:46 ` kernel test robot [this message]
2020-11-25 15:46 ` kernel test robot
2020-11-25 9:35 ` [PATCH v10 80/81] KVM: introspection: emulate a guest page table walk on SPT violations due to A/D bit updates Adalbert Lazăr
2020-11-25 9:35 ` Adalbert Lazăr
2020-11-25 9:36 ` [PATCH v10 81/81] KVM: x86: call the page tracking code on emulation failure Adalbert Lazăr
2020-11-25 9:36 ` Adalbert Lazăr
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=202011252355.B247436l-lkp@intel.com \
--to=lkp@intel.com \
--cc=alazar@bitdefender.com \
--cc=kbuild-all@lists.01.org \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=virtualization@lists.linux-foundation.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.