mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
net: bcmasp: Prevent array undereflow in bcmasp_netfilt_get_init()
The "loc" value comes from the user and it can be negative leading to an
an array underflow when we check "priv->net_filters[loc].claimed". Fix
this by changing the type to u32.
Fixes: c5d511c495 ("net: bcmasp: Add support for wake on net filters")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Justin Chen <justin.chen@broadcom.com>
Link: https://lore.kernel.org/r/b3b47b25-01fc-4d9f-a6c3-e037ad4d71d7@moroto.mountain
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
c0256168d1
commit
48d17c517a
|
|
@ -640,7 +640,7 @@ bool bcmasp_netfilt_check_dup(struct bcmasp_intf *intf,
|
|||
* If no more open filters return NULL
|
||||
*/
|
||||
struct bcmasp_net_filter *bcmasp_netfilt_get_init(struct bcmasp_intf *intf,
|
||||
int loc, bool wake_filter,
|
||||
u32 loc, bool wake_filter,
|
||||
bool init)
|
||||
{
|
||||
struct bcmasp_net_filter *nfilter = NULL;
|
||||
|
|
|
|||
|
|
@ -566,7 +566,7 @@ void bcmasp_disable_all_filters(struct bcmasp_intf *intf);
|
|||
void bcmasp_core_clock_set_intf(struct bcmasp_intf *intf, bool en);
|
||||
|
||||
struct bcmasp_net_filter *bcmasp_netfilt_get_init(struct bcmasp_intf *intf,
|
||||
int loc, bool wake_filter,
|
||||
u32 loc, bool wake_filter,
|
||||
bool init);
|
||||
|
||||
bool bcmasp_netfilt_check_dup(struct bcmasp_intf *intf,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user