net: warn about attempts to register negative ifindex
authorJakub Kicinski <kuba@kernel.org>
Mon, 14 Aug 2023 20:56:25 +0000 (13:56 -0700)
committerJakub Kicinski <kuba@kernel.org>
Wed, 16 Aug 2023 02:18:34 +0000 (19:18 -0700)
commit956db0a13b47df7f3d6d624394e602e8bf9b057e
tree98a6379b884bb9a1986cbb8f9757034f093180c5
parentcf74eb5a5bc867258e7d0b0d1c3c4a60e1e3de2f
net: warn about attempts to register negative ifindex

Since the xarray changes we mix returning valid ifindex and negative
errno in a single int returned from dev_index_reserve(). This depends
on the fact that ifindexes can't be negative. Otherwise we may insert
into the xarray and return a very large negative value. This in turn
may break ERR_PTR().

OvS is susceptible to this problem and lacking validation (fix posted
separately for net).

Reject negative ifindex explicitly. Add a warning because the input
validation is better handled by the caller.

Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Link: https://lore.kernel.org/r/20230814205627.2914583-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/dev.c