• Borislav Petkov's avatar
    EDAC: Correct channel count limit · bba14295
    Borislav Petkov authored
    c44696ff ("EDAC: Remove arbitrary limit on number of channels")
    lifted the arbitrary limit on memory controller channels in EDAC.
    However, the dynamic channel attributes dynamic_csrow_dimm_attr and
    dynamic_csrow_ce_count_attr remained 6.
    
    This wasn't a problem except channels 6 and 7 weren't visible in sysfs
    on machines with more than 6 channels after the conversion to static
    attr groups with
    
      2c1946b6 ("EDAC: Use static attribute groups for managing sysfs entries")
    
     [ without that, we're exploding in edac_create_sysfs_mci_device()
       because we're dereferencing out of the bounds of the
       dynamic_csrow_dimm_attr array. ]
    
    Add attributes for channels 6 and 7 along with a guard for the
    future, should more channels be required and/or to sanity check for
    misconfigured machines.
    
    We still need to check against the number of channels present on the MC
    first, as Thor reported.
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Reported-by: default avatarHironobu Ishii <ishii.hironobu@jp.fujitsu.com>
    Tested-by: default avatarThor Thayer <tthayer@opensource.altera.com>
    Cc: <stable@vger.kernel.org> # 4.2
    bba14295
edac_mc_sysfs.c 26.8 KB