mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
Arm/guestcopy: deviate copy_guest() uses just like their x86 counterparts
Like x86/HVM's __hvm_copy(), Arm's copy_guest() is used for both to-guest and from-guest copying. Naturally in the latter case the hypervisor buffer needs writing to, hence the function parameter cannot be pointer-to-const. No functional change intended. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Michal Orzel <michal.orzel@amd.com> Reviewed-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
This commit is contained in:
1 parent
d4d8d3bfba
commit
40ad6282e2
2 files changed
+11
-3
No files matched your search
@@ -433,6 +433,12 @@ Fixing this violation would require to increase code complexity and lower readab
|
||||
-config=MC3A2.R11.8,reports+={safe,"any_area(any_loc(any_exp(macro(^container_of$))))"}
|
||||
-doc_end
|
||||
|
||||
-doc_begin="Function copy_guest() in xen/arch/arm/guestcopy.c is a double-use
|
||||
function, where the parameter needs to not be const because it can be set for
|
||||
write or not"
|
||||
-config=MC3A2.R11.8,reports+={safe,"any_area(any_loc(text(^.*copy_guest.*COPY_to_guest doesn't modify.*$)))"}
|
||||
-doc_end
|
||||
|
||||
-doc_begin="Function __hvm_copy in xen/arch/x86/hvm/hvm.c is a double-use
|
||||
function, where the parameter needs to not be const because it can be set for
|
||||
write or not"
|
||||
|
||||
@@ -109,14 +109,16 @@ static unsigned long copy_guest(void *buf, uint64_t addr, unsigned long len,
|
||||
|
||||
unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
|
||||
{
|
||||
return copy_guest((void *)from, (vaddr_t)to, len,
|
||||
GVA_INFO(current), COPY_to_guest | COPY_linear);
|
||||
return copy_guest((void *)from, /* COPY_to_guest doesn't modify */
|
||||
(vaddr_t)to, len, GVA_INFO(current),
|
||||
COPY_to_guest | COPY_linear);
|
||||
}
|
||||
|
||||
unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from,
|
||||
unsigned int len)
|
||||
{
|
||||
return copy_guest((void *)from, (vaddr_t)to, len, GVA_INFO(current),
|
||||
return copy_guest((void *)from, /* COPY_to_guest doesn't modify */
|
||||
(vaddr_t)to, len, GVA_INFO(current),
|
||||
COPY_to_guest | COPY_flush_dcache | COPY_linear);
|
||||
}
|
||||
|
||||
|
||||