Message ID | 20191006131232.12700-1-tbogendoerfer@suse.de (mailing list archive) |
---|---|
State | Mainlined |
Commit | 88356d09904bc606182c625575237269aeece22e |
Headers | show |
Series | MIPS: include: Mark __cmpxchd as __always_inline | expand |
Hello, Thomas Bogendoerfer wrote: > Commit ac7c3e4ff401 ("compiler: enable CONFIG_OPTIMIZE_INLINING > forcibly") allows compiler to uninline functions marked as 'inline'. > In cace of cmpxchg this would cause to reference function > __cmpxchg_called_with_bad_pointer, which is a error case > for catching bugs and will not happen for correct code, if > __cmpxchg is inlined. Applied to mips-fixes. > commit 88356d09904b > https://git.kernel.org/mips/c/88356d09904b > > Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de> > [paul.burton@mips.com: s/__cmpxchd/__cmpxchg in subject] > Signed-off-by: Paul Burton <paul.burton@mips.com> Thanks, Paul [ This message was auto-generated; if you believe anything is incorrect then please email paul.burton@mips.com to report it. ]
diff --git a/arch/mips/include/asm/cmpxchg.h b/arch/mips/include/asm/cmpxchg.h index 79bf34efbc04..012dcf7046ad 100644 --- a/arch/mips/include/asm/cmpxchg.h +++ b/arch/mips/include/asm/cmpxchg.h @@ -153,8 +153,9 @@ static inline unsigned long __xchg(volatile void *ptr, unsigned long x, extern unsigned long __cmpxchg_small(volatile void *ptr, unsigned long old, unsigned long new, unsigned int size); -static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, - unsigned long new, unsigned int size) +static __always_inline +unsigned long __cmpxchg(volatile void *ptr, unsigned long old, + unsigned long new, unsigned int size) { switch (size) { case 1:
Commit ac7c3e4ff401 ("compiler: enable CONFIG_OPTIMIZE_INLINING forcibly") allows compiler to uninline functions marked as 'inline'. In cace of cmpxchg this would cause to reference function __cmpxchg_called_with_bad_pointer, which is a error case for catching bugs and will not happen for correct code, if __cmpxchg is inlined. Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de> --- arch/mips/include/asm/cmpxchg.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)