lkml.org 
[lkml]   [2019]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.3 51/89] MIPS: include: Mark __cmpxchg as __always_inline
    Date
    From: Thomas Bogendoerfer <tbogendoerfer@suse.de>

    [ Upstream commit 88356d09904bc606182c625575237269aeece22e ]

    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>
    [paul.burton@mips.com: s/__cmpxchd/__cmpxchg in subject]
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: James Hogan <jhogan@kernel.org>
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/mips/include/asm/cmpxchg.h | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    diff --git a/arch/mips/include/asm/cmpxchg.h b/arch/mips/include/asm/cmpxchg.h
    index c8a47d18f6288..319522fa3a45e 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:
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-10-19 00:05    [W:4.534 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site