From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 35E8A22D4C3 for ; Sun, 31 May 2026 18:52:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780253543; cv=none; b=J8hQNMJPdrmFwYTdNIguTj4YHBk01Xj7nFnpGZD3msngxMOxDi4UK++/mHOcgMY6lC/8yk4a1uBhnvHKifeyzM8gTy/WUuRNMd4W+3xescgJ+hYVlHQuUVpI/e8E1OlNKLaAc05xj4qWj7/w7SvYGfmL9EuFLXi1JVAHHu72nQg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780253543; c=relaxed/simple; bh=e4MjOJtv5qcIimMFEGK1bXhy3EZIAaYH8VJGNkdHZ7E=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=HdMe+tfodZO3Ze04FsOgMXwkiKvIsmjf2mvVDSQG4sr6c80HCZvW1qSZNPvsxrO5ObSnyQSau/gK8sGIm9J39wn3O4KS1+92MMqD7z3r+EOJbvKqPhbLhMuU+kEAyOCNOXsZrOZG3qhWiwOi53kl13uHeB0r53mWP31c4V0HDKo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mxTD1jta; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mxTD1jta" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4906869f0cbso83303085e9.1 for ; Sun, 31 May 2026 11:52:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780253541; x=1780858341; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=RCdHOua92Cb5cBkKb8ei10+dLLBwvJr9VX/dMVe/tG4=; b=mxTD1jtam5a33JFZt9rcLoQYYsMSnyi8CaWTwRNYCzqFRwt7ft96vs7kbxabQYPT2M 4zVtD9AmxIXrx7QkUSOlMjJEDeW/Sk/pLJ6L/W1xSZG5mz/PzfT5e2UunnpGVYSx2ho9 uj6ORldYRugHwrhEbVR0tIzOEQuvuG37Dad/vDaZyFt1V4hZi7gFkoJHx5NLC7WOps7A G9VqSLoGY5xJNtj9n2b240j2vBFWTcOcW6gRz1ku4vBnX70ak89w1FgHCPzVt33De3Fj 2HuTGJlbsetzNOdE1KLXriHiNa7r1YKHdK1X546B3qnqcNcdIP2n2VMkuB20iFpcAHEs h00A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780253541; x=1780858341; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=RCdHOua92Cb5cBkKb8ei10+dLLBwvJr9VX/dMVe/tG4=; b=q6vfVSa6bEr1j1iBHX36ZkZJZJ0g08DVSjqpF7V6Qb/SbKXyGRvRaFnXMPp26dd+rm suzIfpvmTQg10RJsGLGu5hM81JKqjWSkJG3uqlSpyzWnQWIA6b5r9ofWzztAcz2af7HC 1wT//IZeUN/PB2Xtyi7iPpuEL/619GVUAJndO4LkC+BSZHQyIG79wWBVFoKObhSg5Rfq D6TzSnuLuIAhUontqw8nrW81OPYoLCQMbRJomQQ6Cb6x7pZgc9xnzUN7oo59F5bYjUKb AFdPYlf9M6Wr18EiC0cZU/IeMm65JrWkHzjKyFSi0E+MwYjLDLbcQW3gZDo4SKhx992W r83g== X-Forwarded-Encrypted: i=1; AFNElJ8Rx8ndmaI8q8NXUVYEQr2NvYwpaPCC317v0h6rmVtxpqZZt1UZqYoz6+P04dizh8NHxA0UBwaKlnDMEFM=@vger.kernel.org X-Gm-Message-State: AOJu0YxK8u+NAsevTW8U5yqw04vBF978+ByGOWcHpyVIhTi2f5b1nz8B Ai4lzJTOqv13EU3hEZLT0HEctSXkBHw2qGgYo4nAOrnw9aqSbN5bR1VN X-Gm-Gg: Acq92OGkMkFC8iWuPxsVwg8a7VpyADYW5IvjmwyByjxyU41Bpt2H90QGYbpuXlwFVha jkVaBrpprZD3e1E5wBXNrDM9k+E3OLMm6NsXNfXtwQ5Miw86CR47cwRARXPXtJc1As6yI/ww2l/ E3IIedIz8Zw5GccejxaODtVw0HpGYwvp3y7kZMuTWjRcXpnZfR2odmuj6PqK95Fs4GG0Qj5nr9o G+M8Ql3oq7/KtvHURl9/8McqjKc3kpD+zT5vRNECTXN1v7N4NtTJAAYvYIcS6QR3FIa4lg5Rg8R 1Cw/W89S2HrO2Ihl3kQTCNqPWUTUCIWlBEcLJsiBHnvcvJA/SRCW1D5IV5mgwW3kYG9WZ///6YE iPP9hnfW8PA7VN0UjuWvGR77Vw2VXpadkpxsg/+AaILUifKXUV+pQhVZjQGhI8bY3C0K7XNHUow 2E7o1SN5/hmpRCNuiHNM4L63KHlBithoCP7yHVwieYgkImHGI/Ew+TKrqSj0AnMoSUtIWd5g4= X-Received: by 2002:a05:600c:8b77:b0:48a:9428:5522 with SMTP id 5b1f17b1804b1-490a293a0b1mr158612245e9.16.1780253540632; Sun, 31 May 2026 11:52:20 -0700 (PDT) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45ef34bd896sm18480387f8f.14.2026.05.31.11.52.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 May 2026 11:52:20 -0700 (PDT) Date: Sun, 31 May 2026 19:52:18 +0100 From: David Laight To: Jamal Hadi Salim Cc: netdev@vger.kernel.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, horms@kernel.org, jiri@resnulli.us, victor@mojatatu.com, yimingqian591@gmail.com, keenanat2000@gmail.com, 2045gemini@gmail.com, rollkingzzc@gmail.com, toke@redhat.com, dcaratti@redhat.com, security@kernel.org, linux-kernel@vger.kernel.org, stable@kernel.org, Rajat Gupta Subject: Re: [PATCH net v5 1/1] net/sched: fix pedit partial COW leading to page cache corruption Message-ID: <20260531195218.5fe29990@pumpkin> In-Reply-To: <20260531194241.7d5d7e6e@pumpkin> References: <20260531123221.48732-1-jhs@mojatatu.com> <20260531171534.6aae381a@pumpkin> <20260531194241.7d5d7e6e@pumpkin> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Sun, 31 May 2026 19:42:41 +0100 David Laight wrote: > On Sun, 31 May 2026 13:25:36 -0400 > Jamal Hadi Salim wrote: .... > > > > > > > + goto bad; > > > > + if (skb_ensure_writable(skb, min_t(int, skb->len, > > > > + write_len))) > > You've completely missed that the above has to include the write_offset. And I've missed that write_len isn't the length you are going to write :-( This version is unreadable.... A few one line comments can make all the difference. I put these two in for a reason. It took some effort to find out exactly what they did. > > /* Ensure any needed headroom is writeable */ > > if (hoffset < 0 && skb_cow(skb, -hoffset) > > goto bad; > > /* Ensure the skb is writeable to the end of the area to be written. > > * The data is pulled into the skb header. */ -- David