|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 2/4] Arm/guestcopy: avoid use of "current" in compound literals
Compound literals are also covered by Misra C:2012 rule 13.1
("Initializer lists shall not contain persistent side effects"), and
(sadly?) that rule also applies to lists with just a single element, or
more generally with just a single side effect. Use intermediate variables
to overcome this.
No functional change intended.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
---
This is assumed to go on top of "Arm/guestcopy: deviate copy_guest() uses
just like their x86 counterparts", conflicting contextually but not
functionally.
--- a/xen/arch/arm/guestcopy.c
+++ b/xen/arch/arm/guestcopy.c
@@ -109,29 +109,37 @@ static unsigned long copy_guest(void *bu
unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
{
+ struct vcpu *curr = current;
+
return copy_guest((void *)from, /* COPY_to_guest doesn't modify */
- (vaddr_t)to, len, GVA_INFO(current),
+ (vaddr_t)to, len, GVA_INFO(curr),
COPY_to_guest | COPY_linear);
}
unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from,
unsigned int len)
{
+ struct vcpu *curr = current;
+
return copy_guest((void *)from, /* COPY_to_guest doesn't modify */
- (vaddr_t)to, len, GVA_INFO(current),
+ (vaddr_t)to, len, GVA_INFO(curr),
COPY_to_guest | COPY_flush_dcache | COPY_linear);
}
unsigned long raw_clear_guest(void *to, unsigned int len)
{
- return copy_guest(NULL, (vaddr_t)to, len, GVA_INFO(current),
+ struct vcpu *curr = current;
+
+ return copy_guest(NULL, (vaddr_t)to, len, GVA_INFO(curr),
COPY_to_guest | COPY_linear);
}
unsigned long raw_copy_from_guest(void *to, const void __user *from,
unsigned int len)
{
- return copy_guest(to, (vaddr_t)from, len, GVA_INFO(current),
+ struct vcpu *curr = current;
+
+ return copy_guest(to, (vaddr_t)from, len, GVA_INFO(curr),
COPY_from_guest | COPY_linear);
}
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |