mirror of
https://github.com/Ansuel/openwrt.git
synced 2025-12-16 06:59:40 +00:00
realtek: dsa: Build check size of drop counter names
The commit 1cfd45ae0b ("realtek: Add debugfs support for RTL9300") caused
previously an out of bounds access on the array holding the names of drop
counters (and incorrect names in the output) fur RTL839x because of a
missing comma. To avoid such situation in the future, calculate the size of
the array during compilation. And to ensure that this count matches the
actual number of counters in HW, compare this number during compile time
with the expected value.
Suggested-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Link: https://github.com/openwrt/openwrt/pull/20905
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
abb7bbb64a
commit
4dab2a9405
@ -205,22 +205,26 @@ static ssize_t drop_counter_read(struct file *filp, char __user *buffer, size_t
|
||||
case RTL8380_FAMILY_ID:
|
||||
d = rtl838x_drop_cntr;
|
||||
offset = RTL838X_STAT_PRVTE_DROP_COUNTERS;
|
||||
num = 40;
|
||||
num = ARRAY_SIZE(rtl838x_drop_cntr);
|
||||
BUILD_BUG_ON(num != 40);
|
||||
break;
|
||||
case RTL8390_FAMILY_ID:
|
||||
d = rtl839x_drop_cntr;
|
||||
offset = RTL839X_STAT_PRVTE_DROP_COUNTERS;
|
||||
num = 45;
|
||||
num = ARRAY_SIZE(rtl839x_drop_cntr);
|
||||
BUILD_BUG_ON(num != 45);
|
||||
break;
|
||||
case RTL9300_FAMILY_ID:
|
||||
d = rtl930x_drop_cntr;
|
||||
offset = RTL930X_STAT_PRVTE_DROP_COUNTERS;
|
||||
num = 85;
|
||||
num = ARRAY_SIZE(rtl930x_drop_cntr);
|
||||
BUILD_BUG_ON(num != 85);
|
||||
break;
|
||||
case RTL9310_FAMILY_ID:
|
||||
d = rtl931x_drop_cntr;
|
||||
offset = RTL931X_STAT_PRVTE_DROP_COUNTERS;
|
||||
num = 81;
|
||||
num = ARRAY_SIZE(rtl931x_drop_cntr);
|
||||
BUILD_BUG_ON(num != 81);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user