All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Rajat Gupta <rajat.gupta@oss.qualcomm.com>,
	netdev@vger.kernel.org, davem@davemloft.net, edumazet@google.com,
	pabeni@redhat.com, horms@kernel.org, jiri@resnulli.us,
	yimingqian591@gmail.com, keenanat2000@gmail.com,
	2045gemini@gmail.com, rollkingzzc@gmail.com
Subject: Re: [PATCH net] net/sched: fix pedit partial COW leading to page cache corruption
Date: Mon, 25 May 2026 08:39:32 -0700	[thread overview]
Message-ID: <20260525083932.234f26df@kernel.org> (raw)
In-Reply-To: <CAM0EoMmOeqdwZnxAf0LNJSVVnJwJg=G5Ao3zqvC12J72WQeMtw@mail.gmail.com>

On Sat, 23 May 2026 12:57:08 -0400 Jamal Hadi Salim wrote:
> On Sat, May 23, 2026 at 12:46 PM Jakub Kicinski <kuba@kernel.org> wrote:
> >
> > On Sat, 23 May 2026 08:13:21 -0400 Jamal Hadi Salim wrote:  
>  [...]  
>  [...]  
> > >
> > > The other thing (i may be over thinking) with pskb_may_pull is: if the
> > > data is already linear (in a clone), wouldn't we corrupt the shared
> > > linear data of the clone?  
> >
> > I said
> >
> >   for the portion of the problem that's "we are writing to frags"
> >
> > IOW not replacing the rest of the patch (assuming we care).  
> 
> So as an alternative to the piece i posted? i.e this:
> 
> diff --git a/net/sched/act_pedit.c b/net/sched/act_pedit.c
> index 79921b8d89ba..8f0f84b50c85 100644
> --- a/net/sched/act_pedit.c
> +++ b/net/sched/act_pedit.c
> @@ -474,6 +474,12 @@ TC_INDIRECT_SCOPE int tcf_pedit_act(struct sk_buff *skb,
>                 if (write_offset < 0) {
>                         if (skb_cow(skb, -write_offset))
>                                 goto bad;
> +                       if (write_offset + (int)sizeof(hdata) > 0) {
> +                               if (skb_ensure_writable(skb,
> +                                               min_t(int, skb->len,
> +                                                     write_offset + (int)sizeof(hdata))))
> +                                       goto bad;
> +                       }
>                 } else {
>                         if (unlikely(check_add_overflow(write_offset,
>                                                         (int)sizeof(hdata),

Yup! Even better.

  reply	other threads:[~2026-05-25 15:39 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-18  1:30 [PATCH net] net/sched: fix pedit partial COW leading to page cache Rajat Gupta
2026-05-18 13:10 ` Han Guidong
2026-05-18 13:31 ` Jamal Hadi Salim
2026-05-19  3:39   ` [PATCH net] net/sched: fix pedit partial COW leading to page cache corruption Rajat Gupta
2026-05-19 11:18     ` Toke Høiland-Jørgensen
2026-05-19 15:10     ` Han Guidong
2026-05-20  9:12       ` Jamal Hadi Salim
2026-05-20 10:04         ` Han Guidong
2026-05-20 10:36         ` Han Guidong
2026-05-20 11:40           ` Jamal Hadi Salim
2026-05-20  9:23     ` Jamal Hadi Salim
2026-05-20 20:00       ` Jamal Hadi Salim
2026-05-21  9:53         ` Jamal Hadi Salim
2026-05-21 10:15           ` Jamal Hadi Salim
2026-05-21 14:35             ` Jakub Kicinski
2026-05-21 15:16               ` Jamal Hadi Salim
2026-05-21 15:46                 ` Jakub Kicinski
2026-05-22 11:47                   ` Jamal Hadi Salim
2026-05-22 15:46                     ` Jakub Kicinski
2026-05-22 16:37                       ` Jamal Hadi Salim
2026-05-22 17:01                         ` Jamal Hadi Salim
2026-05-23  0:55                           ` Jakub Kicinski
2026-05-23 12:07                             ` Jamal Hadi Salim
2026-05-23 12:13                               ` Jamal Hadi Salim
2026-05-23 16:46                                 ` Jakub Kicinski
2026-05-23 16:57                                   ` Jamal Hadi Salim
2026-05-25 15:39                                     ` Jakub Kicinski [this message]
2026-05-25 16:22                                       ` Jamal Hadi Salim
2026-05-25 17:34                                         ` Jakub Kicinski
2026-05-25 19:03                                           ` Jamal Hadi Salim
2026-05-26  2:06                                             ` Rajat Gupta
2026-05-26  9:48                                     ` David Laight
2026-05-26 11:57                                       ` Jamal Hadi Salim
2026-05-26 13:08                                         ` David Laight
2026-05-26 14:22                                           ` Jamal Hadi Salim
     [not found]               ` <CAKa-r6soz=iMBiYG0Grhhc12yhdw9vMNV+XjjEPCmtgKK6+rhA@mail.gmail.com>
2026-05-21 15:56                 ` Jakub Kicinski
2026-05-22 11:49                 ` Jamal Hadi Salim
2026-05-22 12:00                   ` Toke Høiland-Jørgensen
2026-05-22 14:49                   ` Davide Caratti
2026-05-22  7:49             ` Han Guidong
2026-05-26  9:53     ` David Laight
2026-05-26 12:01       ` Jamal Hadi Salim
2026-05-26 12:47         ` David Laight
2026-05-26 12:48           ` Jamal Hadi Salim

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=20260525083932.234f26df@kernel.org \
    --to=kuba@kernel.org \
    --cc=2045gemini@gmail.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=jhs@mojatatu.com \
    --cc=jiri@resnulli.us \
    --cc=keenanat2000@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=rajat.gupta@oss.qualcomm.com \
    --cc=rollkingzzc@gmail.com \
    --cc=yimingqian591@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 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.