Re: [PATCH 3/6] x86/sev-es: Use __put_user()/__get_user
From: Dave Hansen <hidden>
Date: 2021-05-12 17:13:14
Also in:
kvm, linux-coco, lkml, stable
From: Dave Hansen <hidden>
Date: 2021-05-12 17:13:14
Also in:
kvm, linux-coco, lkml, stable
On 5/12/21 12:54 AM, Joerg Roedel wrote:
The put_user() and get_user() functions do checks on the address which is passed to them. They check whether the address is actually a user-space address and whether its fine to access it. They also call might_fault() to indicate that they could fault and possibly sleep. All of these checks are neither wanted nor required in the #VC exception handler, which can be invoked from almost any context and also for MMIO instructions from kernel space on kernel memory. All the #VC handler wants to know is whether a fault happened when the access was tried. This is provided by __put_user()/__get_user(), which just do the access no matter what.
The changelog _helps_, but using a "user" function to handle kernel MMIO for its error handling properties seems like it's begging for a comment. __put_user() also seems to have fun stuff like __chk_user_ptr(). It all seems sketchy to me. _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization