lkml.org 
[lkml]   [2019]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.2 048/131] mm/slab_common.c: work around clang bug #42570
    Date
    [ Upstream commit a07057dce2823e10d64a2b73cefbf09d8645efe9 ]

    Clang gets rather confused about two variables in the same special
    section when one of them is not initialized, leading to an assembler
    warning later:

    /tmp/slab_common-18f869.s: Assembler messages:
    /tmp/slab_common-18f869.s:7526: Warning: ignoring changed section attributes for .data..ro_after_init

    Adding an initialization to kmalloc_caches is rather silly here
    but does avoid the issue.

    Link: https://bugs.llvm.org/show_bug.cgi?id=42570
    Link: http://lkml.kernel.org/r/20190712090455.266021-1-arnd@arndb.de
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: David Rientjes <rientjes@google.com>
    Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Pekka Enberg <penberg@kernel.org>
    Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: Roman Gushchin <guro@fb.com>
    Cc: Shakeel Butt <shakeelb@google.com>
    Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
    Cc: Andrey Konovalov <andreyknvl@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    mm/slab_common.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/mm/slab_common.c b/mm/slab_common.c
    index 58251ba63e4a1..cbd3411f644e4 100644
    --- a/mm/slab_common.c
    +++ b/mm/slab_common.c
    @@ -1003,7 +1003,8 @@ struct kmem_cache *__init create_kmalloc_cache(const char *name,
    }

    struct kmem_cache *
    -kmalloc_caches[NR_KMALLOC_TYPES][KMALLOC_SHIFT_HIGH + 1] __ro_after_init;
    +kmalloc_caches[NR_KMALLOC_TYPES][KMALLOC_SHIFT_HIGH + 1] __ro_after_init =
    +{ /* initialization for https://bugs.llvm.org/show_bug.cgi?id=42570 */ };
    EXPORT_SYMBOL(kmalloc_caches);

    /*
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-08-05 15:29    [W:4.077 / U:0.276 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site