• Sven Schnelle's avatar
    s390/topology: clear thread/group maps for offline cpus · 9e3d62d5
    Sven Schnelle authored
    The current code doesn't clear the thread/group maps for offline
    CPUs. This may cause kernel crashes like the one bewlow in common
    code that assumes if a CPU has sibblings it is online.
    
    Unable to handle kernel pointer dereference in virtual kernel address space
    
    Call Trace:
     [<000000013a4b8c3c>] blk_mq_map_swqueue+0x10c/0x388
    ([<000000013a4b8bcc>] blk_mq_map_swqueue+0x9c/0x388)
     [<000000013a4b9300>] blk_mq_init_allocated_queue+0x448/0x478
     [<000000013a4b9416>] blk_mq_init_queue+0x4e/0x90
     [<000003ff8019d3e6>] loop_add+0x106/0x278 [loop]
     [<000003ff801b8148>] loop_init+0x148/0x1000 [loop]
     [<0000000139de4924>] do_one_initcall+0x3c/0x1e0
     [<0000000139ef449a>] do_init_module+0x6a/0x2a0
     [<0000000139ef61bc>] __do_sys_finit_module+0xa4/0xc0
     [<0000000139de9e6e>] do_syscall+0x7e/0xd0
     [<000000013a8e0aec>] __do_syscall+0xbc/0x110
     [<000000013a8ee2e8>] system_call+0x78/0xa0
    
    Fixes: 52aeda7a ("s390/topology: remove offline CPUs from CPU topology masks")
    Cc: <stable@kernel.org> # 5.7+
    Reported-by: default avatarMarius Hillenbrand <mhillen@linux.ibm.com>
    Signed-off-by: default avatarSven Schnelle <svens@linux.ibm.com>
    Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
    9e3d62d5
topology.c 14.8 KB