]> git.ipfire.org Git - thirdparty/linux.git/commit
devlink: fix xa_alloc_cyclic() error handling
authorMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
Wed, 12 Mar 2025 09:52:49 +0000 (10:52 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Mar 2025 09:57:36 +0000 (09:57 +0000)
commitf3b97b7d4bf316c3991e5634c9f4847c2df35478
treef4d0a6c051a2a2ee4a241f32e033b58c5f07c5c6
parent9a81fc3480bf5dbe2bf80e278c440770f6ba2692
devlink: fix xa_alloc_cyclic() error handling

In case of returning 1 from xa_alloc_cyclic() (wrapping) ERR_PTR(1) will
be returned, which will cause IS_ERR() to be false. Which can lead to
dereference not allocated pointer (rel).

Fix it by checking if err is lower than zero.

This wasn't found in real usecase, only noticed. Credit to Pierre.

Fixes: c137743bce02 ("devlink: introduce object and nested devlink relationship infra")
Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/devlink/core.c