From: Jamal Hadi Salim <jhs@mojatatu.com>
To: Craig Dillabaugh <cdillaba@mojatatu.com>, davem@davemloft.net
Cc: netdev@vger.kernel.org, kernel@mojatatu.com,
xiyou.wangcong@gmail.com, jiri@resnulli.us
Subject: Re: [PATCH net 1/1] net sched actions: fix dumping which requires several messages to user space
Date: Tue, 27 Mar 2018 07:26:16 -0400 [thread overview]
Message-ID: <19661df7-bb9e-0157-0327-dfeeaa2e6fdb@mojatatu.com> (raw)
In-Reply-To: <1522090712-9154-1-git-send-email-cdillaba@mojatatu.com>
On 18-03-26 02:58 PM, Craig Dillabaugh wrote:
> Fixes a bug in the tcf_dump_walker function that can cause some actions
> to not be reported when dumping a large number of actions. This issue
> became more aggrevated when cookies feature was added. In particular
> this issue is manifest when large cookie values are assigned to the
> actions and when enough actions are created that the resulting table
> must be dumped in multiple batches.
>
> The number of actions returned in each batch is limited by the total
> number of actions and the memory buffer size. With small cookies
> the numeric limit is reached before the buffer size limit, which avoids
> the code path triggering this bug. When large cookies are used buffer
> fills before the numeric limit, and the erroneous code path is hit.
>
> For example after creating 32 csum actions with the cookie
> aaaabbbbccccdddd
>
> $ tc actions ls action csum
> total acts 26
>
> action order 0: csum (tcp) action continue
> index 1 ref 1 bind 0
> cookie aaaabbbbccccdddd
>
> .....
>
> action order 25: csum (tcp) action continue
> index 26 ref 1 bind 0
> cookie aaaabbbbccccdddd
> total acts 6
>
> action order 0: csum (tcp) action continue
> index 28 ref 1 bind 0
> cookie aaaabbbbccccdddd
>
> ......
>
> action order 5: csum (tcp) action continue
> index 32 ref 1 bind 0
> cookie aaaabbbbccccdddd
>
> Note that the action with index 27 is omitted from the report.
>
> Fixes: 4b3550ef530c ("[NET_SCHED]: Use nla_nest_start/nla_nest_end")"
> Signed-off-by: Craig Dillabaugh <cdillaba@mojatatu.com>
Good catch.
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
cheers,
jamal
next prev parent reply other threads:[~2018-03-27 11:26 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-26 18:58 [PATCH net 1/1] net sched actions: fix dumping which requires several messages to user space Craig Dillabaugh
2018-03-27 11:26 ` Jamal Hadi Salim [this message]
2018-03-27 14:59 ` David Miller
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=19661df7-bb9e-0157-0327-dfeeaa2e6fdb@mojatatu.com \
--to=jhs@mojatatu.com \
--cc=cdillaba@mojatatu.com \
--cc=davem@davemloft.net \
--cc=jiri@resnulli.us \
--cc=kernel@mojatatu.com \
--cc=netdev@vger.kernel.org \
--cc=xiyou.wangcong@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox