All of lore.kernel.org
 help / color / mirror / Atom feed
From: Phil Sutter <phil@nwl.cc>
To: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: Arturo Borrero Gonzalez <arturo@debian.org>,
	Jeremy Sowden <jeremy@azazel.net>,
	netfilter-devel@vger.kernel.org, fw@strlen.de
Subject: Re: [RFC] nftables 1.0.6 -stable backports
Date: Fri, 3 Nov 2023 10:59:25 +0100	[thread overview]
Message-ID: <ZUTEfXMw2e5kMJ5A@orbyte.nwl.cc> (raw)
In-Reply-To: <ZUQTWSEXbw2paJ3v@calendula>

On Thu, Nov 02, 2023 at 10:23:37PM +0100, Pablo Neira Ayuso wrote:
> On Thu, Nov 02, 2023 at 01:27:26PM +0100, Phil Sutter wrote:
> > On Thu, Nov 02, 2023 at 12:34:14PM +0100, Pablo Neira Ayuso wrote:
> > > On Thu, Oct 19, 2023 at 05:23:15PM +0200, Phil Sutter wrote:
> > > > Kindly find attached my collect_backports.sh. I keep it in an unused
> > > > sub-directory (~/git/nftables/stable_tooling), but it's not necessary.
> > > > It creates $(dirname $0)/backports directory containing a list of
> > > > potential backports for each tag in the range defined by the variables
> > > > in the script's header.
> > > 
> > > I have integrated the pending fixes identified by your script. I have
> > > refreshed 1.0.6.y branch and pushed it out.
> > 
> > Thanks for doing this!
> > 
> > > If anyone find more candidates to be merged into 1.0.6, Let me know.
> > 
> > My script found two missing ones. Not sure if they came in late or if
> > you explicitly omitted them:
> > 
> > - 8519ab031d8022999603a69ee9f18e8cfb06645d
> 
> I could not trigger the bug that this fixes here, I tried several
> rules but I failed. It was deliberate to skip it.

I can reproduce it on current 1.0.6.y branch (HEAD at 3bd7fec6245f):

| # nft -f - <<EOF
| p ipfoo {
| 	map y {
| 		type ipv4_addr : ipv4_addr . inet_service
| 		elements = { 192.168.7.2 : 10.1.1.1 . 4242 }
| 	}
| 
| 	chain c {
| 	}
| }
| # valgrind --leak-check=full nft add rule ip ipfoo c dnat to ip daddr map @y

It reports:

| ==10404== 187 (104 direct, 83 indirect) bytes in 1 blocks are definitely lost in loss record 3 of 3
| ==10404==    at 0x48456FF: calloc (vg_replace_malloc.c:1554)
| ==10404==    by 0x48A33CD: xmalloc (utils.c:36)
| ==10404==    by 0x48A33CD: xzalloc (utils.c:75)
| ==10404==    by 0x487A3EB: dtype_alloc (datatype.c:1102)
| ==10404==    by 0x487A3EB: concat_type_alloc (datatype.c:1185)
| ==10404==    by 0x4880A0F: stmt_evaluate_nat_map (evaluate.c:3562)
| ==10404==    by 0x4880A0F: stmt_evaluate_nat (evaluate.c:3668)
| ==10404==    by 0x4880A0F: stmt_evaluate (evaluate.c:4222)
| ==10404==    by 0x488200E: rule_evaluate (evaluate.c:4728)
| ==10404==    by 0x48AD562: nft_evaluate (libnftables.c:537)
| ==10404==    by 0x48AE5FF: nft_run_cmd_from_buffer (libnftables.c:573)
| ==10404==    by 0x10AA17: main (main.c:521)

> > - f65b2d12236174d477c55e96c4027cd51185ba5e
> 
> I am currently run tests for git/HEAD on this 1.0.6.y, but I can
> collect it too if you like. So not very useful for my approach.

Oh, indeed, this is non-sense. I doubt the Fixes: tag is appropriate even.

> > As you know, my script relies upon Fixes: tags. I use git-notes to help
> > it here and there. This way I added extra Fixes: tags with correct
> > hashes for:
> > 
> > - 818cc223b052b9a3b0bc3fc28a4b7036b5898408
> > - 8a9f48515fb8f9aed0af04e05f4528aa0e32116f
> > - b4c9900c895fd55788912d62063cf107a27b68e0
> > - b593378b9b2470213af1892053af519801053a7e
> > 
> > (The list may very well be incomplete.)
> > 
> > Another case for git-notes is missing Fixes: tags in fixing commits.
> > They are important in two ways:
> > 
> > - Without a Fixes: tag, the script won't find the backport candidate.
> > - If backported manually, the script won't find potential follow-ups
> >   (fixes may have fixes, too).
> > 
> > In 1.0.6.y, I see 33 commits having no Fixes: tag. Did you solve this
> > locally with git-notes?
> 
> No, I did not.
> 
> > Assuming history rewriting is allowed in the stable branch, one
> > could update the backports with Fixes: tags as needed and write a
> > custom collect_backports.sh which operates on the stable branch
> > directly.
> 
> That requires looking for each of those 33 commits that got no Fixes:
> tag in first place, mangle original patches in such way.

Yes, this is the script taking its toll. ;)

> Maybe modify the script to parse the
> 
>         commit ID upstream.
> 
> text to track down this dependencies?

That alone is not enough: The script works based on tags, i.e. for each tag it
checks if origin/master has a commit with a Fixes: tag referencing a commit
contained in that tag or in the list of potential backports identified via the
same method.

One would have to change it to work based on *.y branches and the actual
commits in there. I'll give it a quick try, shouldn't be too hard
indeed.

Cheers, Phil

  reply	other threads:[~2023-11-03  9:59 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-09 10:44 [RFC] nftables 1.0.6 -stable backports Pablo Neira Ayuso
2023-10-09 10:50 ` Florian Westphal
2023-10-09 11:05 ` Arturo Borrero Gonzalez
2023-10-09 11:15   ` Florian Westphal
2023-10-09 11:41     ` Pablo Neira Ayuso
2023-10-10  8:39       ` Phil Sutter
2023-10-10 10:37         ` Pablo Neira Ayuso
2023-10-10 13:30           ` Phil Sutter
2023-10-10 11:53         ` Jan Engelhardt
2023-10-10 15:24         ` Arturo Borrero Gonzalez
2023-10-09 11:44   ` Jeremy Sowden
2023-10-09 11:36 ` [RFC] nftables 0.9.8 " Pablo Neira Ayuso
2023-10-09 11:50   ` Jeremy Sowden
2023-10-10  8:54   ` Pablo Neira Ayuso
2023-10-10 20:08     ` Jeremy Sowden
2023-10-10 22:21       ` Pablo Neira Ayuso
2023-10-11  9:46         ` Jeremy Sowden
2023-10-11 10:01           ` Pablo Neira Ayuso
2024-02-17 20:11   ` Jeremy Sowden
2024-02-18 13:56     ` Jeremy Sowden
2023-10-11  8:01 ` [RFC] nftables 1.0.6 " Pablo Neira Ayuso
2023-10-11 15:25   ` Phil Sutter
2023-10-11 15:49     ` Pablo Neira Ayuso
2023-10-19 14:27       ` Pablo Neira Ayuso
2023-10-19 15:23         ` Phil Sutter
2023-11-02 11:34           ` Pablo Neira Ayuso
2023-11-02 12:27             ` Phil Sutter
2023-11-02 21:23               ` Pablo Neira Ayuso
2023-11-03  9:59                 ` Phil Sutter [this message]
2023-11-03 10:44                   ` Phil Sutter
2023-11-03 10:49                     ` Pablo Neira Ayuso
2023-11-03 10:56                       ` Phil Sutter
2023-11-03 11:29                         ` Pablo Neira Ayuso
2023-11-03 12:11                           ` Pablo Neira Ayuso
2023-11-03 15:02                           ` Phil Sutter
2023-11-03 15:15                             ` Pablo Neira Ayuso

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZUTEfXMw2e5kMJ5A@orbyte.nwl.cc \
    --to=phil@nwl.cc \
    --cc=arturo@debian.org \
    --cc=fw@strlen.de \
    --cc=jeremy@azazel.net \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=pablo@netfilter.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.