Received: by 2002:a89:2c3:0:b0:1ed:23cc:44d1 with SMTP id d3csp820629lqs; Tue, 5 Mar 2024 19:04:37 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXBSBl7ndJgXLA2rRs9/ydRScT86oABARyZa/tNEhPpRnvgKz1OljAQan3F2Nx4I1EE3XuayaTDByjQM7NvLlDiLssCvdQt6DtYrcExxA== X-Google-Smtp-Source: AGHT+IFmZXMxIzoo0/nEMF6UnYsDBoz9c5H/C4zZNBP+uvi9CF7cvhC1+bus/f0gULWmSfXKZUto X-Received: by 2002:a05:6402:176b:b0:566:9437:c89c with SMTP id da11-20020a056402176b00b005669437c89cmr9692730edb.22.1709694277386; Tue, 05 Mar 2024 19:04:37 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709694277; cv=pass; d=google.com; s=arc-20160816; b=0HpGtOpd5Nnh1fAVADB0NSR33+9by74PVMfR4HCgsdezG7VDi+LPOstiC8wSqgpVZl rMHId6lOBK32hx9LJm/9kvXceq9uqsWI2Zh9cdZE61uRoWWGbCAfPERzY4ItkFMpSLSf 6GoM5NmnJP0NX53gbdu/wQB3qiu1nV7hycTmPe9oJGMKOlL4il5NQT0XlwnKqNMsmLBc IqlgjL7Shxk71j3281l90XPh2VGVhdxjG2ekV4IzRk/Q1w+HWbbjZOnxqLoHh4CB31wg 6PcUAXRntKZlQ1E0o4gYmoyMpmFIf6IsuoLXpOzAi//PP5MyrDSlv6srvSAe5qIo0vNG 75iA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :subject:cc:to:from:date:dkim-signature; bh=M81xZ8Yygk+8jrRbZ8XTA0NRgMTVSAnbU7y/Y1YDlHQ=; fh=2n3TC7iW56PDzLWFAZdUsEArXTv7jM84dAjXSMNgQHE=; b=B1GOzn+LrNLayT9lGrWteG/Tf8dpriWYTcl6/3ufwRWHbWWDOo2e6CVdZieNi/xOPb ROIrHbcHFFQw721dm10TTotb4HD6qmQesG1dB2WA40gV0pD7HpaLIqMI4f+ckQKzMYM3 yaHSdeffP9Al6VU1oV6mY0p7md8MKLtgcFp15i+jjLh+1/ae1JI9/roSZUF/oK+UZQpV U/S7fiJlPGBD1HRmrgdQRi5+3uFJYu7GclSfCfwyJFsXHFVa+n+q1AY2cXHxebql0pqH BtJxBp2vXn3Fd779y7/SFnu27KTeXhsY5bcjHAL4z05XXi3/hn5Z3m6S1AUphg8AZMuK o/nQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=HSvKHA3B; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-93260-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-93260-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id a3-20020a05640213c300b0056765cfc822si2028826edx.107.2024.03.05.19.04.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Mar 2024 19:04:37 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-93260-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=HSvKHA3B; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-93260-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-93260-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id D7C031F254BD for ; Wed, 6 Mar 2024 03:04:36 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1BEF111CAB; Wed, 6 Mar 2024 03:04:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="HSvKHA3B" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3FD53D52E; Wed, 6 Mar 2024 03:04:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709694269; cv=none; b=Uhj76//huJoWmmSeR05909kuubpqJaguskJYrUP24hS4X4ovO3qmkzJ+shz1CUkjn98AFhSMSzKxRSZQJmUhd9B46Jev407BbAQ652qORDMDEEYaaOnWlKJKu4dNkh9fh+vmu9yJKV/9bWxpz9QhBuQTv85uXG0ElutD1g/Da/w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709694269; c=relaxed/simple; bh=M81xZ8Yygk+8jrRbZ8XTA0NRgMTVSAnbU7y/Y1YDlHQ=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=p6d01fODoxGx3pvRazmswdlQyxUT4LFAru4HTxwsqyDixeXQwWuFJ5zC3yhtuHi/t7KkYMQ0rIGR9AZxrR34gLZjabHhZLjP2GRe8SabM4H6cir7shwYgtDYQEJKv/DyEup0j2bF/uQf3BVNqKrgGFc8AnsvrRUUNrmkSOQhxWg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HSvKHA3B; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2A584C433F1; Wed, 6 Mar 2024 03:04:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709694268; bh=M81xZ8Yygk+8jrRbZ8XTA0NRgMTVSAnbU7y/Y1YDlHQ=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=HSvKHA3BBqEbXscEbQhIYWKBGdhNdJVlA8+2oogswRqnFNtxqAUvCILMaD5ATtdH7 F1QPh6C8NZugdFE6NXMlq+8n8jjMGNGDIk6lyYHW3zloU0WNbOPydIGGPcxRxxU4vl fdCOqKHlTPcv+4UCstI5M+CvLpzqrQmBXlVCEd2Pxf61/z/d7DQ4tii+TEBztevuHZ Vuk0uTWhD7bqUgs8EjBp2UpJUs/N15dzfSYQ/O2VT+eamzx7ulBoQBv53QlFGz+1qu dDTMTqljd8pJcgBLePm0WYP1c4IBES7f5g1rTIbMExzRQgjd+XMk77CJ899Fh52P+d g9Me8IS9cLZzA== Date: Tue, 5 Mar 2024 19:04:27 -0800 From: Jakub Kicinski To: Dragos Tatulea Cc: Steffen Klassert , Herbert Xu , "David S. Miller" , "David Ahern" , Eric Dumazet , Paolo Abeni , , , "Anatoli N . Chechelnickiy" , Ian Kumlien , , , Mina Almasry Subject: Re: [RFC] net: esp: fix bad handling of pages from page_pool Message-ID: <20240305190427.757b92b8@kernel.org> In-Reply-To: <20240304094950.761233-1-dtatulea@nvidia.com> References: <20240304094950.761233-1-dtatulea@nvidia.com> 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 Mon, 4 Mar 2024 11:48:52 +0200 Dragos Tatulea wrote: > When the skb is reorganized during esp_output (!esp->inline), the pages > coming from the original skb fragments are supposed to be released back > to the system through put_page. But if the skb fragment pages are > originating from a page_pool, calling put_page on them will trigger a > page_pool leak which will eventually result in a crash. So it just does: skb_shinfo(skb)->nr_frags = 1; and assumes that's equivalent to owning a page ref on all the frags? Fix looks more or less good, we would need a new wrapper to avoid build issues without PAGE_POOL, but I wonder if we wouldn't be better off changing the other side. Instead of "cutting off" the frags - walking them and dealing with various page types. Because Mina and co. will step onto this landmine as well.