• Nathan Chancellor's avatar
    cxl/core: Remove cxld_const_init in cxl_decoder_alloc() · be185c29
    Nathan Chancellor authored
    Commit 48667f67 ("cxl/core: Split decoder setup into alloc + add")
    aimed to fix a large stack frame warning but from v5 to v6, it
    introduced a new instance of the warning due to allocating
    cxld_const_init on the stack, which was done due to the use of const on
    the nr_target member of the cxl_decoder struct. With ARCH=arm
    allmodconfig minus CONFIG_KASAN:
    
    GCC 11.2.0:
    
    drivers/cxl/core/bus.c: In function ‘cxl_decoder_alloc’:
    drivers/cxl/core/bus.c:523:1: error: the frame size of 1032 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
      523 | }
          | ^
    cc1: all warnings being treated as errors
    
    Clang 12.0.1:
    
    drivers/cxl/core/bus.c:486:21: error: stack frame size of 1056 bytes in function 'cxl_decoder_alloc' [-Werror,-Wframe-larger-than=]
    struct cxl_decoder *cxl_decoder_alloc(struct cxl_port *port, int nr_targets)
                        ^
    1 error generated.
    
    Revert that part of the change, which makes the stack frame of
    cxl_decoder_allo...
    be185c29
bus.c 15.7 KB