xen/arch/arm/dom0less-build.c | 2 +- xen/arch/arm/include/asm/atomic.h | 2 +- xen/arch/arm/include/asm/regs.h | 2 +- xen/arch/x86/include/asm/regs.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)
From: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Remove or amend casts to comply with Rule 11.8.
Fix violations by adding missing const qualifier in cast.
Fix violations by removing unnecessary cast.
Change type of operands from char* to uintptr_t: uintptr_t is
the appropriate type for memory address operations.
No functional changes.
Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
Changes in v3:
- drop const qualifier in both operands of the variable diff.
- fix parentheses error.
Changes in v2:
- arm/regs.h: add const qualifier to the first operand,
change types of both operands from char* to uintptr_t.
- x86/regs.h: add const qualifier to both operands. Change
types of both operands from char* to uintptr_t to
conform with the arm version.
- dom0less-build.c: rebase change in the new file.
---
xen/arch/arm/dom0less-build.c | 2 +-
xen/arch/arm/include/asm/atomic.h | 2 +-
xen/arch/arm/include/asm/regs.h | 2 +-
xen/arch/x86/include/asm/regs.h | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index d39cbd969a..fb63ec6fd1 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -354,7 +354,7 @@ static int __init handle_passthrough_prop(struct kernel_info *kinfo,
if ( node == NULL )
{
printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
- (char *)xen_path->data);
+ xen_path->data);
return -EINVAL;
}
diff --git a/xen/arch/arm/include/asm/atomic.h b/xen/arch/arm/include/asm/atomic.h
index 64314d59b3..517216d2a8 100644
--- a/xen/arch/arm/include/asm/atomic.h
+++ b/xen/arch/arm/include/asm/atomic.h
@@ -154,7 +154,7 @@ static always_inline void write_atomic_size(volatile void *p,
*/
static inline int atomic_read(const atomic_t *v)
{
- return *(volatile int *)&v->counter;
+ return *(const volatile int *)&v->counter;
}
static inline int _atomic_read(atomic_t v)
diff --git a/xen/arch/arm/include/asm/regs.h b/xen/arch/arm/include/asm/regs.h
index 8a0db95415..f998aedff5 100644
--- a/xen/arch/arm/include/asm/regs.h
+++ b/xen/arch/arm/include/asm/regs.h
@@ -48,7 +48,7 @@ static inline bool regs_mode_is_32bit(const struct cpu_user_regs *regs)
static inline bool guest_mode(const struct cpu_user_regs *r)
{
- unsigned long diff = (char *)guest_cpu_user_regs() - (char *)(r);
+ unsigned long diff = (uintptr_t)guest_cpu_user_regs() - (uintptr_t)(r);
/* Frame pointer must point into current CPU stack. */
ASSERT(diff < STACK_SIZE);
/* If not a guest frame, it must be a hypervisor frame. */
diff --git a/xen/arch/x86/include/asm/regs.h b/xen/arch/x86/include/asm/regs.h
index 3fb94deedc..ddf5e14e57 100644
--- a/xen/arch/x86/include/asm/regs.h
+++ b/xen/arch/x86/include/asm/regs.h
@@ -6,7 +6,7 @@
#define guest_mode(r) \
({ \
- unsigned long diff = (char *)guest_cpu_user_regs() - (char *)(r); \
+ unsigned long diff = (uintptr_t)guest_cpu_user_regs() - (uintptr_t)(r); \
/* Frame pointer must point into current CPU stack. */ \
ASSERT(diff < STACK_SIZE); \
/* If not a guest frame, it must be a hypervisor frame. */ \
--
2.40.0
On 04/12/2023 16:32, Simone Ballarin wrote: > From: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com> > > Remove or amend casts to comply with Rule 11.8. > > Fix violations by adding missing const qualifier in cast. > Fix violations by removing unnecessary cast. > Change type of operands from char* to uintptr_t: uintptr_t is > the appropriate type for memory address operations. > > No functional changes. > > Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com> > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com> Acked-by: Julien Grall <jgrall@amazon.com> Cheers, -- Julien Grall
On 04.12.2023 17:32, Simone Ballarin wrote: > From: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com> > > Remove or amend casts to comply with Rule 11.8. > > Fix violations by adding missing const qualifier in cast. > Fix violations by removing unnecessary cast. > Change type of operands from char* to uintptr_t: uintptr_t is > the appropriate type for memory address operations. > > No functional changes. > > Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com> > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com> I consider it good practice to at least briefly say what the rule is about, so it is clear why certain changes need doing. > --- a/xen/arch/arm/include/asm/atomic.h > +++ b/xen/arch/arm/include/asm/atomic.h > @@ -154,7 +154,7 @@ static always_inline void write_atomic_size(volatile void *p, > */ > static inline int atomic_read(const atomic_t *v) > { > - return *(volatile int *)&v->counter; > + return *(const volatile int *)&v->counter; > } What about PPC's identical code? > --- a/xen/arch/x86/include/asm/regs.h > +++ b/xen/arch/x86/include/asm/regs.h > @@ -6,7 +6,7 @@ > > #define guest_mode(r) \ > ({ \ > - unsigned long diff = (char *)guest_cpu_user_regs() - (char *)(r); \ > + unsigned long diff = (uintptr_t)guest_cpu_user_regs() - (uintptr_t)(r); \ > /* Frame pointer must point into current CPU stack. */ \ > ASSERT(diff < STACK_SIZE); \ > /* If not a guest frame, it must be a hypervisor frame. */ \ This part Acked-by: Jan Beulich <jbeulich@suse.com> Jan
On 04/12/23 17:54, Jan Beulich wrote: > On 04.12.2023 17:32, Simone Ballarin wrote: >> From: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com> >> >> Remove or amend casts to comply with Rule 11.8. >> >> Fix violations by adding missing const qualifier in cast. >> Fix violations by removing unnecessary cast. >> Change type of operands from char* to uintptr_t: uintptr_t is >> the appropriate type for memory address operations. >> >> No functional changes. >> >> Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com> >> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com> > > I consider it good practice to at least briefly say what the rule is > about, so it is clear why certain changes need doing. > >> --- a/xen/arch/arm/include/asm/atomic.h >> +++ b/xen/arch/arm/include/asm/atomic.h >> @@ -154,7 +154,7 @@ static always_inline void write_atomic_size(volatile void *p, >> */ >> static inline int atomic_read(const atomic_t *v) >> { >> - return *(volatile int *)&v->counter; >> + return *(const volatile int *)&v->counter; >> } > > What about PPC's identical code? If the ARM part is accepted, I will include this change in an upcoming series for Rule 11.8 (which I'm working on), otherwise in v4. > >> --- a/xen/arch/x86/include/asm/regs.h >> +++ b/xen/arch/x86/include/asm/regs.h >> @@ -6,7 +6,7 @@ >> >> #define guest_mode(r) \ >> ({ \ >> - unsigned long diff = (char *)guest_cpu_user_regs() - (char *)(r); \ >> + unsigned long diff = (uintptr_t)guest_cpu_user_regs() - (uintptr_t)(r); \ >> /* Frame pointer must point into current CPU stack. */ \ >> ASSERT(diff < STACK_SIZE); \ >> /* If not a guest frame, it must be a hypervisor frame. */ \ > > This part > Acked-by: Jan Beulich <jbeulich@suse.com> > > Jan -- Simone Ballarin, M.Sc. Field Application Engineer, BUGSENG (https://bugseng.com)
© 2016 - 2024 Red Hat, Inc.