Skip to content

Commit f462ae0

Browse files
committed
Merge tag 'edac_urgent_for_v6.9_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras
Pull EDAC fixes from Borislav Petkov: - Fix error logging and check user-supplied data when injecting an error in the versal EDAC driver * tag 'edac_urgent_for_v6.9_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras: EDAC/versal: Do not log total error counts EDAC/versal: Check user-supplied data before injecting an error EDAC/versal: Do not register for NOC errors
2 parents ef09525 + 1a24733 commit f462ae0

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

drivers/edac/versal_edac.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ static void handle_error(struct mem_ctl_info *mci, struct ecc_status *stat)
425425
convert_to_physical(priv, pinf), pinf.burstpos);
426426

427427
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
428-
priv->ce_cnt, 0, 0, 0, 0, 0, -1,
428+
1, 0, 0, 0, 0, 0, -1,
429429
priv->message, "");
430430
}
431431

@@ -438,7 +438,7 @@ static void handle_error(struct mem_ctl_info *mci, struct ecc_status *stat)
438438
convert_to_physical(priv, pinf), pinf.burstpos);
439439

440440
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
441-
priv->ue_cnt, 0, 0, 0, 0, 0, -1,
441+
1, 0, 0, 0, 0, 0, -1,
442442
priv->message, "");
443443
}
444444

@@ -865,6 +865,9 @@ static ssize_t inject_data_ue_store(struct file *file, const char __user *data,
865865
for (i = 0; i < NUM_UE_BITPOS; i++)
866866
token[i] = strsep(&pbuf, ",");
867867

868+
if (!token[0] || !token[1])
869+
return -EFAULT;
870+
868871
ret = kstrtou8(token[0], 0, &ue0);
869872
if (ret)
870873
return ret;
@@ -1135,8 +1138,7 @@ static int mc_probe(struct platform_device *pdev)
11351138
}
11361139

11371140
rc = xlnx_register_event(PM_NOTIFY_CB, VERSAL_EVENT_ERROR_PMC_ERR1,
1138-
XPM_EVENT_ERROR_MASK_DDRMC_CR | XPM_EVENT_ERROR_MASK_DDRMC_NCR |
1139-
XPM_EVENT_ERROR_MASK_NOC_CR | XPM_EVENT_ERROR_MASK_NOC_NCR,
1141+
XPM_EVENT_ERROR_MASK_DDRMC_CR | XPM_EVENT_ERROR_MASK_DDRMC_NCR,
11401142
false, err_callback, mci);
11411143
if (rc) {
11421144
if (rc == -EACCES)
@@ -1173,8 +1175,6 @@ static void mc_remove(struct platform_device *pdev)
11731175

11741176
xlnx_unregister_event(PM_NOTIFY_CB, VERSAL_EVENT_ERROR_PMC_ERR1,
11751177
XPM_EVENT_ERROR_MASK_DDRMC_CR |
1176-
XPM_EVENT_ERROR_MASK_NOC_CR |
1177-
XPM_EVENT_ERROR_MASK_NOC_NCR |
11781178
XPM_EVENT_ERROR_MASK_DDRMC_NCR, err_callback, mci);
11791179
edac_mc_del_mc(&pdev->dev);
11801180
edac_mc_free(mci);

0 commit comments

Comments
 (0)