lkml.org 
[lkml]   [2016]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 3.10 007/180] netfilter: x_tables: validate targets of jumps
    Willy Tarreau <w@1wt.eu> wrote:
    > On Sun, Aug 21, 2016 at 05:28:57PM +0200, Willy Tarreau wrote:
    > > From: Florian Westphal <fw@strlen.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.

    \
     
     \ /
      Last update: 2016-09-17 09:57    [W:4.088 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site