• M
    edac_core: Don't let free(mci) happen while using it · ac99768c
    Mauro Carvalho Chehab 提交于
    A very nasty bug were happening on edac core, due to the way mci objects are
    freed. mci memory is freed when kobject count reaches zero, by
    edac_mci_control_release(). However, from the logs, this is clearly happening
    before the final usage of mci struct:
    
    [15799.607454] EDAC DEBUG: in drivers/edac/edac_mc_sysfs.c, line at 640: edac_mci_control_release() mci instance idx=0 releasing
    [15799.618773] EDAC DEBUG: in drivers/edac/edac_mc_sysfs.c, line at 769: edac_inst_grp_release()
    [15799.627326] EDAC DEBUG: in drivers/edac/edac_mc_sysfs.c, line at 894: edac_remove_mci_instance_attributes() end of seeking for group all_channel_counts
    [15799.640887] EDAC DEBUG: in drivers/edac/edac_mc_sysfs.c, line at 877: edac_remove_mci_instance_attributes() sysfs_attrib = ffffffffa01d7240
    [15799.653412] EDAC DEBUG: in drivers/edac/edac_mc_sysfs.c, line at 1020: edac_remove_sysfs_mci_device()  remove_link
    [15799.663753] EDAC DEBUG: in drivers/edac/edac_mc_sysfs.c, line at 1024: edac_remove_sysfs_mci_device()  remove_mci_instance
    Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
    ac99768c
edac_mc_sysfs.c 26.6 KB