Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp19922pxb; Mon, 1 Feb 2021 20:45:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJwP1GCToAzFqvWE7etmF7G+OYUh0MsEVCZiRjY+YitCgszR/3DXTqo9357SsWdAG/FdqxJY X-Received: by 2002:a17:907:724a:: with SMTP id ds10mr20439770ejc.28.1612241142448; Mon, 01 Feb 2021 20:45:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612241142; cv=none; d=google.com; s=arc-20160816; b=Fj0+Nori+YB9W/0oq4fFx1AYfxIXcysJuVlXtt78cow+M04Ygw70a4VI9nx5Y0Whbx IIjYOgEv/jMR1M7q4XRg4GR18DNuCyNE/kOCSAHGV0cD/0V60I1S6fhb8w+tZ7vBJBRL rJJcU0Ed8hMDcs7LO38i6V0UeRnmdvv6/ybRhsKpM1a7LRnEzpPXWGXwPspwoAJETPvj azSa+by2tEQ9kn3fQX49zbZ1WBWRxBpTZrXaHLgT37frSHDum5JokWgn0HwQInv9S/jp fmVaWBdbI/E45+/4uMziJXfJjjF28vm7y6cAX5/wzBfvTQNvf/3/VDsFIZSd4dT3E8L2 OHIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=MBCQ7Q6cWzN4LfSYwiKVV6naAhJ/eWiU4w1zoJGeoB0=; b=zs3YMjsDyW2hBXTk90N/1XMJfuVeHdGZ+W5rIO1h1B4a663hUe8Bb7S/Nxvcf6/QxU jsgp20fwnfb83Ij3qi6sLtyOmJiXIeKqgD77BlQ0gRFB74HAoKXLvqAvv3pd61xV9z70 ZhBTMnSUZlRPYubbMJXgjMTeXaAFWxXXOWdLwZ/U2fMGYgtSSi3heyyCBH2n98NMJR1c sfk9JciNFWQoL4hriF1nfj7dwm8RZFywoXVCWZHnEhJUHvOkIu2b9hqdIvUZZ15V7p2T Cl7mzDaM3WRPEgh6dwU8bMStmU2bK9t9XcfOhBfUTeq+MYSLG/adF1yIQRGzZ6QeYDlV ltWQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fOdk9Y5S; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dn22si11024edb.268.2021.02.01.20.45.18; Mon, 01 Feb 2021 20:45:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fOdk9Y5S; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231826AbhBBEnK (ORCPT + 99 others); Mon, 1 Feb 2021 23:43:10 -0500 Received: from mail.kernel.org ([198.145.29.99]:34348 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231758AbhBBEnG (ORCPT ); Mon, 1 Feb 2021 23:43:06 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5092864ED3; Tue, 2 Feb 2021 04:42:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1612240945; bh=tYCsOmxa9vAOxS56RR54t3aluwDqJ5tlt5Hhdw54r8k=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=fOdk9Y5SuX9ktsk46981mYflp1qJKiAokcln8Q/J3wVTJnutGlKVsy1EnDPRJlUBP X3o3M6Iv3wKxVgi5crlhoLWj8OuCLg0XieRBmSYOgyuvG8X/oMKZMM02DE4oyH382Z yeGJcKqcmcf9/IkeM+cgkPJoMeEQwDltqkV56JgFocaCdAn1CK63SaOlxtIn1XFPW/ NFIyibw9DbmGrOci2/mKRjZLg8WmY+GZVE7u69C5o/Ad7lLirYGRkKMQnH1m3tpVXj 0UHVuh19Yb5t3LIFQ2ZSJukhafQKV3CBfAWbnN06DNwsBMxPk2AFoe4kqBi/ZWHnDw idPLMeS3faKsg== Date: Mon, 1 Feb 2021 20:42:24 -0800 From: Jakub Kicinski To: Xie He Cc: Julian Wiedmann , "David S. Miller" , Linux X25 , Linux Kernel Network Developers , LKML , Martin Schiller Subject: Re: [PATCH net] net: lapb: Copy the skb before sending a packet Message-ID: <20210201204224.4872ce23@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> In-Reply-To: References: <20210201055706.415842-1-xie.he.0141@gmail.com> <4d1988d9-6439-ae37-697c-d2b970450498@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 1 Feb 2021 08:14:31 -0800 Xie He wrote: > On Mon, Feb 1, 2021 at 6:10 AM Julian Wiedmann wrote: > > This sounds a bit like you want skb_cow_head() ... ? > > Calling "skb_cow_head" before we call "skb_clone" would indeed solve > the problem of writes to our clones affecting clones in other parts of > the system. But since we are still writing to the skb after > "skb_clone", it'd still be better to replace "skb_clone" with > "skb_copy" to avoid interference between our own clones. Why call skb_cow_head() before skb_clone()? skb_cow_head should be called before the data in skb head is modified. I'm assuming you're only modifying "front" of the frame, right? skb_cow_head() should do nicely in that case.