Skip to content
  • Arnd Bergmann's avatar
    dm bufio: avoid false-positive Wmaybe-uninitialized warning · 590347e4
    Arnd Bergmann authored
    gcc-6.3 and earlier show a new warning after a seemingly unrelated
    change to the arm64 PAGE_KERNEL definition:
    
    In file included from drivers/md/dm-bufio.c:14:0:
    drivers/md/dm-bufio.c: In function 'alloc_buffer':
    include/linux/sched/mm.h:182:56: warning: 'noio_flag' may be used uninitialized in this function [-Wmaybe-uninitialized]
      current->flags = (current->flags & ~PF_MEMALLOC_NOIO) | flags;
                                                            ^
    
    The same warning happened earlier on linux-3.18 for MIPS and I did a
    workaround for that, but now it's come back.
    
    gcc-7 and newer are apparently smart enough to figure this out, and
    other architectures don't show it, so the best I could come up with is
    to rework the caller slightly in a way that makes it obvious enough to
    all arm64 compilers what is happening here.
    
    Fixes: 41acec62 ("arm64: kpti: Make use of nG dependent on arm64_kernel_unmapped_at_el0()")
    Link: https://patchwork.kernel.org/patch/9692829/
    
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    [snitzer: moved declarations inside conditional, altered vmalloc return]
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    590347e4