Projects
Mega:24.03
nftables
_service:tar_scm:backport-exthdr-prefer-raw_typ...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-exthdr-prefer-raw_type-instead-of-desc-type.patch of Package nftables
From 574fa55c2e70449887c7714d7b043f4e8b6d28da Mon Sep 17 00:00:00 2001 From: Florian Westphal <fw@strlen.de> Date: Fri, 14 Jul 2023 16:53:57 +0200 Subject: [PATCH] exthdr: prefer raw_type instead of desc->type On ancient kernels desc can be NULL, because such kernels do not understand NFTA_EXTHDR_TYPE. Thus they don't include it in the reverse dump, so the tcp/ip option gets treated like an ipv6 exthdr, but no matching description will be found. This then gives a crash due to the null deref. Just use the raw value here, this avoid a crash and at least print *something*, e.g.: unknown-exthdr unknown & 0xf0 [invalid type] == 0x0 [invalid type] Signed-off-by: Florian Westphal <fw@strlen.de> --- src/exthdr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/exthdr.c b/src/exthdr.c index f5527ddb..0358005b 100644 --- a/src/exthdr.c +++ b/src/exthdr.c @@ -405,7 +405,7 @@ bool exthdr_find_template(struct expr *expr, const struct expr *mask, unsigned i found = tcpopt_find_template(expr, off, mask_len - mask_offset); break; case NFT_EXTHDR_OP_IPV6: - exthdr_init_raw(expr, expr->exthdr.desc->type, + exthdr_init_raw(expr, expr->exthdr.raw_type, off, mask_len - mask_offset, expr->exthdr.op, 0); /* still failed to find a template... Bug. */ -- 2.33.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2