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.12-rc1~232^2~76^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c0f38a8c60174368aed1d0f9965d733195f15033;p=thirdparty%2Fkernel%2Flinux.git netfilter: nf_tables: reject expiration higher than timeout 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 --- diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index da75bc1de4668..6c0c6f8a08a83 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -6930,6 +6930,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]) {