[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160821201616.GA23675@breakpoint.cc>
Date: Sun, 21 Aug 2016 22:16:16 +0200
From: Florian Westphal <fw@...len.de>
To: Willy Tarreau <w@....eu>
Cc: linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Florian Westphal <fw@...len.de>,
Pablo Neira Ayuso <pablo@...filter.org>,
Jay <MyMailClone@...nline.de>
Subject: Re: [PATCH 3.10 007/180] netfilter: x_tables: validate targets of
jumps
Willy Tarreau <w@....eu> wrote:
> On Sun, Aug 21, 2016 at 05:28:57PM +0200, Willy Tarreau wrote:
> > From: Florian Westphal <fw@...len.de>
> >
> > commit 36472341017529e2b12573093cc0f68719300997 upstream.
> >
> > When we see a jump also check that the offset gets us to beginning of
> > a rule (an ipt_entry).
> (...)
>
> Sorry, this patch is bad and causes performance issues, I didn't notice
> that 3.14 had a different version, below. Thanks to Jay for reporting
> the problem to me. I'll push 3.10.103-rc2 after some cool down period.
Please either hold this one back or also queue
commit f4dc77713f8016d2e8a3295e1c9c53a21f296def
netfilter: x_tables: speed up jump target validation
It supersedes this one.
> +static bool find_jump_target(const struct xt_table_info *t,
> + const void *entry0,
> + const struct arpt_entry *target)
> +{
> + struct arpt_entry *iter;
> +
> + xt_entry_foreach(iter, entry0, t->size) {
> + if (iter == target)
> + return true;
> + }
This linear search works but its too slow with large rule sets.
Powered by blists - more mailing lists