From: Pablo Neira Ayuso Date: Mon, 2 Sep 2024 23:06:58 +0000 (+0200) Subject: netfilter: nf_tables: reject expiration higher than timeout X-Git-Tag: v6.6.54~499 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9431e5eddcc153bb55d0fd73fd3ac75969e7c99a;p=thirdparty%2Fkernel%2Fstable.git netfilter: nf_tables: reject expiration higher than timeout [ Upstream commit c0f38a8c60174368aed1d0f9965d733195f15033 ] Report ERANGE to userspace if user specifies an expiration larger than the timeout. Fixes: 8e1102d5a159 ("netfilter: nf_tables: support timeouts larger than 23 days") Signed-off-by: Pablo Neira Ayuso Signed-off-by: Sasha Levin --- diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index 8bb61fb62a2b6..842c9ac6e2341 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -6705,6 +6705,9 @@ static int nft_add_set_elem(struct nft_ctx *ctx, struct nft_set *set, &expiration); if (err) return err; + + if (expiration > timeout) + return -ERANGE; } if (nla[NFTA_SET_ELEM_EXPR]) {