Messages in this thread | | | Date | Fri, 24 May 2019 12:39:34 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 1/2] vmw_vmci: Clean up uses of atomic*_set() |
| |
On Fri, May 24, 2019 at 12:35:35PM +0200, Andrea Parri wrote: > The primitive vmci_q_set_pointer() relies on atomic*_set() being of > type 'void', but this is a non-portable implementation detail. > > Reported-by: Mark Rutland <mark.rutland@arm.com> > Signed-off-by: Andrea Parri <andrea.parri@amarulasolutions.com> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: Jorgen Hansen <jhansen@vmware.com> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Will Deacon <will.deacon@arm.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: "Paul E. McKenney" <paulmck@linux.ibm.com> > --- > include/linux/vmw_vmci_defs.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/linux/vmw_vmci_defs.h b/include/linux/vmw_vmci_defs.h > index 0c06178e4985b..eb593868e2e9e 100644 > --- a/include/linux/vmw_vmci_defs.h > +++ b/include/linux/vmw_vmci_defs.h > @@ -759,9 +759,9 @@ static inline void vmci_q_set_pointer(atomic64_t *var, > u64 new_val) > { > #if defined(CONFIG_X86_32) > - return atomic_set((atomic_t *)var, (u32)new_val); > + atomic_set((atomic_t *)var, (u32)new_val); > #else > - return atomic64_set(var, new_val); > + atomic64_set(var, new_val); > #endif > }
All that should just die a horrible death. That code is crap.
See:
lkml.kernel.org/r/20190524103731.GN2606@hirez.programming.kicks-ass.net
| |