On 14/06/21 23:21, Jing Zhang wrote:
+       /* Copy kvm stats values */
+       copylen = header->header.data_offset + size_stats - pos;
+       copylen = min(copylen, remain);
+       if (copylen > 0) {
+               src = stats + pos - header->header.data_offset;
+               if (copy_to_user(dest, src, copylen))
+                       return -EFAULT;
+               remain -= copylen;
+               pos += copylen;
+               dest += copylen;
+       }

Hi Jing,

this code is causing usercopy warnings because the statistics are not part of the vcpu slab's usercopy region. You need to move struct kvm_vcpu_stat next to struct kvm_vcpu_arch, and adjust the call to kmem_cache_create_usercopy in kvm_init.

Can you post a new version of the series, and while you are at it explain the rationale for binary stats in the commit message for this patch? This should include:

- the problem statement (e.g. frequency of the accesses)

- what are the benefits compared to debugfs

- why the schema is included in the file descriptor as well

You can probably find a lot or all of the information in my emails from the last couple days, but you might also have other breadcrumbs from Google's internal implementation of binary stats.

Thanks,

Paolo

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to