Message ID | 20230627033954.1181380-1-linma@zju.edu.cn (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v1] net: af_key: fix sadb_x_filter validation | expand |
On Tue, Jun 27, 2023 at 11:39:54AM +0800, Lin Ma wrote: > When running xfrm_state_walk_init(), the xfrm_address_filter being used > is okay to have a splen/dplen that equals to sizeof(xfrm_address_t)<<3. > This commit replaces >= to > to make sure the boundary checking is > correct. > > Fixes: 37bd22420f85 ("af_key: pfkey_dump needs parameter validation") > Signed-off-by: Lin Ma <linma@zju.edu.cn> Also applied, thanks!
diff --git a/net/key/af_key.c b/net/key/af_key.c index 31ab12fd720a..203131ad0dfe 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c @@ -1848,9 +1848,9 @@ static int pfkey_dump(struct sock *sk, struct sk_buff *skb, const struct sadb_ms if (ext_hdrs[SADB_X_EXT_FILTER - 1]) { struct sadb_x_filter *xfilter = ext_hdrs[SADB_X_EXT_FILTER - 1]; - if ((xfilter->sadb_x_filter_splen >= + if ((xfilter->sadb_x_filter_splen > (sizeof(xfrm_address_t) << 3)) || - (xfilter->sadb_x_filter_dplen >= + (xfilter->sadb_x_filter_dplen > (sizeof(xfrm_address_t) << 3))) { mutex_unlock(&pfk->dump_lock); return -EINVAL;
When running xfrm_state_walk_init(), the xfrm_address_filter being used is okay to have a splen/dplen that equals to sizeof(xfrm_address_t)<<3. This commit replaces >= to > to make sure the boundary checking is correct. Fixes: 37bd22420f85 ("af_key: pfkey_dump needs parameter validation") Signed-off-by: Lin Ma <linma@zju.edu.cn> --- net/key/af_key.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)