From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A1613CFC505 for ; Tue, 15 Oct 2024 01:51:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E63D38D0002; Mon, 14 Oct 2024 21:51:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E12C58D0001; Mon, 14 Oct 2024 21:51:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CB33A8D0002; Mon, 14 Oct 2024 21:51:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id ADD1B8D0001 for ; Mon, 14 Oct 2024 21:51:05 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 3976A406BC for ; Tue, 15 Oct 2024 01:51:00 +0000 (UTC) X-FDA: 82674158196.03.9648183 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by imf16.hostedemail.com (Postfix) with ESMTP id D420E180008 for ; Tue, 15 Oct 2024 01:50:56 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mfnZPxJJ; spf=pass (imf16.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.167.47 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728956990; a=rsa-sha256; cv=none; b=6B6Lf/bYfgM4KUIN3zFKvN5Oj5w8PuB2KtWqXaEZGKPq7tgVWUTYVkPbW0oOLkSFLocguX TZPNiSzuLym4h/rlhXQqn0UhllyQh8cb8LJ8CDLLn07ZDqYjwYKw0G0ag0jYWe4EFayrF5 OveKtz3G7nar6acERCcV5/NXW0CZsss= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mfnZPxJJ; spf=pass (imf16.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.167.47 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728956990; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=02Gfy097cBATSbI9NhMC35aEt2ved6+GUP+8QGcOcPM=; b=7Dnh3ab9vVjyHF/2+vLn+ss2yzUt2HIQ3ZSRiZG4joAloVHwyEx8pQ/qhnu1Pf/Qh9y7A9 2Iw+fLqLRatfv6CiIilyrBTMRMWNha5io33p3zO3+O00tgH0TaZ8ANocXE4giDZdd8MgnN 5DZEFZZlJgtWLgZhOeTYt0OcRnELK4M= Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-539f4d8ef66so2137337e87.1 for ; Mon, 14 Oct 2024 18:51:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1728957062; x=1729561862; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=02Gfy097cBATSbI9NhMC35aEt2ved6+GUP+8QGcOcPM=; b=mfnZPxJJ8pALsw2N/9TXY6JHqn0/HXV9BpCW4+o3rFvZDUDtz3dcPUx63aL16uc9wl nqzMCBStnCZogFFoOu3bxBhuyuUu1Vh2PQnzBHScPyvmRleJWqx/ett4JUoaf2Mrd+4Q V0e7nZMIKim32bC2Syg3moaWn9Zy3QnS/khbUNosZ6MVbKzYFlPhxHUOaloKh6pdvIKt 6UlQamwb7vEzWHqB+dUda3eFbaheQLi1nL4V+ysrp+YXb8nwYPBFrCTKw3wKnKiiWGwu /ie3Zv4g1USI7x9ZKJLdMBT/w+cA4XIj4tYcCwVBnAcWIRXegij8SCl7KrR7jhVm2Put ncEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728957062; x=1729561862; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=02Gfy097cBATSbI9NhMC35aEt2ved6+GUP+8QGcOcPM=; b=ROPMd5gwRhqeKXOK/SB/DP3UVUGF1gcdn0OEBqNIPk0Z7nlGZfUFb7LfnJR3jCN1Qb vVTWt9mJvJKaEnrEuArEAcNsOSr3Zkz5idmtDMIJsExyCwvsTR7hgV/eh23yrGMeUQ3Z xHK3phpHJjVFlBtYM8OrdmAJcafSFjZDG3I5F9O9caDdNMkIDX6IOMb66c17Knp8plyT ZWch3aDJSMdmIBXlFWEDuGHwETjQoBWk0wxBKXsVTkgQb/rvO0GnM1ibPFllkIbbkrnk wB77Ab1DqSmUZo4NhwvWN7KbcZH1kBFfzW9ol7i7UcR3D6j4Nm5YWbTWr/CLhdh0TM4Z xbKg== X-Forwarded-Encrypted: i=1; AJvYcCWwLRBTyzJ9wgz+YZfZWv8YGZRV6zcUd8WO32Zyf4ACzC4BhanxghhhV/JdhGIb2n05CYfRc4disw==@kvack.org X-Gm-Message-State: AOJu0YwpuBIw8h8bZadcOwi2HNQxtklnPa0L8RvNb9udXX3JcoOX1itO 2iq8Jp2UyM/vW1goPOHb0EnAG3ScZ9KjdbwWb/cvIWAxeqWN/RsA+ZuoEKYQYOyl0hFzttgZSck lHZR37R3Wstc9gegdj+0iavnxjYE= X-Google-Smtp-Source: AGHT+IFNXDz7XtpoW0u02EyF1k2FMQR2obG+2kYi5v28p6msYznYvNymTlqU8wsKSjpTOIbKtZSnIrHv60wbcmMsBEI= X-Received: by 2002:ac2:4e10:0:b0:536:9ef0:d829 with SMTP id 2adb3069b0e04-539da565caamr6568571e87.44.1728957061435; Mon, 14 Oct 2024 18:51:01 -0700 (PDT) MIME-Version: 1.0 References: <20241010232505.1339892-1-namhyung@kernel.org> <20241010232505.1339892-3-namhyung@kernel.org> In-Reply-To: From: Alexei Starovoitov Date: Mon, 14 Oct 2024 18:50:49 -0700 Message-ID: Subject: Re: [PATCH v5 bpf-next 2/3] mm/bpf: Add bpf_get_kmem_cache() kfunc To: Namhyung Kim Cc: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , LKML , bpf , Andrew Morton , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, linux-mm , Arnaldo Carvalho de Melo , Kees Cook , "Paul E. McKenney" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: oisk9udrtc9ujzq3nc3ut8wdrhtr981m X-Rspamd-Queue-Id: D420E180008 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1728957056-309860 X-HE-Meta: U2FsdGVkX19dl6BVlDflPsL5xlCPCmyRC4QnFAnjfNReW1/bDwMoe/AfdQwd3NAhoLFmkKcyuVzHxu6qwnS5Dsyu5muVZrAUMCTJ2UjLVOw07ibxoqN7PVpVro1WpQsDP2Uukttsi5eesBE2kjHyujjIBCyN/jQ4Pkr9kKw10J5MPIxpb2B4QNpixDlZBFKqqdnt60g5vmpqFFu8W2uNkt6a9xdNQh8Canov8YA5g8aXvOL50aduymOzyEht/fCFvH2JjnPPXvC7LLlDvu7oNLoB1QV8iDNWpd4ekL8B2X5aZ4KvMhPntpLsy1Xa9I3b41giJdguvr8Ou3I9fi+RYT/F/KnwaS/Yej/mzFFkATUmIH6pHG5WJoSISDd7Id4VBCd+94JoTnM7fz+UMV35gC71+u1ceTSuGkv8M6oyT9qi24V7uFrD0i9CJmnH1b19AK7PwlUZHF1EO4hjbaJZznLZcZadtPfHQy9r5Ze02a/lZalxc3Okrfti9gwUwyScrC+nw1k9Casa9k8S67IX/QrLgbZ1uC4MRGiZNsDPEi69QOFqfuLYEsQQB9dQLRu8THrlnCAVwQQJiixG3FQ9kuTIGQX30OvlX+xc4fN7iq6k5ELeIQFGoTM14m+N578lqNQtFfm0vCIgDcHD0Kh7lX7ffRTm7quOjqb8tDlBTDeZ/eKma3bSMPnEqTFnNC94nO/Mu0mRDZiqA+9XJQZqBge03qtXvSjj3Iw3Zu5YX/NjTdbDgwRTznGcb0On4Kg8dlh0TZlsDRuflHvyq+RALgkB+tqvQzEM57MlDMD1PXcb9sxz2Qpq7mbbEZKRcmQ3HBNAP9/UloWsIS3EoYbvRysUNAfw7+BR78msR7xL3NtwAcznRTM9uOVWJwttDd/Q905FhQxo88FKvKXI6cjZOo6isZusQezvB7Z6OtL9WgTUXQW6aJmNVyJmrhbiaXNV9KXyJLDcztzdZDVUBXg +4GYTjmN mchISDGr18cY1kxYlJKAM58qTLCcQ5LfvcW5608PvQGtwap30Bx0IVa1hTY90vSwNzhCODsP9F25j2nvO++8Mf/klRNJaCjAt8nQw/2Wfejo1mpfi4uADNJx+VMpbaOubK0r1DhRaMMijHmAdNP+s/5JFYEKLHbBDrr8Nc0pO1AlXfpSL2mocEp2x/wMnO6gcX5U4yEWqBf++JQ8XP8A0EVaA6xjS5h5nlujt8na43wcG1psqBcqmoLcrZf7gi8OphmGJ+FrT63XpOJIO3L64AkORB8gNeDPd/AFc1Ye3KxuDIKuUBtWrMOdCLXCZHfJE09mkg2lkFNZVNBKS9WiQDO7pAtPCx1NADEE2Yu5LwCH5BzVAR0k1NVl85y2XsddmVs0cdRBzUF82bqD7fmCE4j54CW87rQuKVnWTi9z3Da697LF9BiwGIj0+1NuAUAwSqcw02efatL7f+NSz9ngt1csZJRsSRCEO3hdMTZkTBpvdCEQ= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Oct 14, 2024 at 11:13=E2=80=AFAM Namhyung Kim = wrote: > > Hi Alexei, > > On Fri, Oct 11, 2024 at 12:14:14PM -0700, Namhyung Kim wrote: > > On Fri, Oct 11, 2024 at 11:35:27AM -0700, Alexei Starovoitov wrote: > > > On Thu, Oct 10, 2024 at 4:25=E2=80=AFPM Namhyung Kim wrote: > > > > > > > > The bpf_get_kmem_cache() is to get a slab cache information from a > > > > virtual address like virt_to_cache(). If the address is a pointer > > > > to a slab object, it'd return a valid kmem_cache pointer, otherwise > > > > NULL is returned. > > > > > > > > It doesn't grab a reference count of the kmem_cache so the caller i= s > > > > responsible to manage the access. The returned point is marked as > > > > PTR_UNTRUSTED. And the kfunc has KF_RCU_PROTECTED as the slab obje= ct > > > > might be protected by RCU. > > > > > > ... > > > > +BTF_ID_FLAGS(func, bpf_get_kmem_cache, KF_RCU_PROTECTED) > > > > > > This flag is unnecessary. PTR_UNTRUSTED can point to absolutely any m= emory. > > > In this case it likely points to a valid kmem_cache, but > > > the verifier will guard all accesses with probe_read anyway. > > > > > > I can remove this flag while applying. > > > > Ok, I'd be happy if you would remove it. > > You will need to update the bpf_rcu_read_lock/unlock() in the test code > (patch 3). I can send v6 with that and Vlastimil's Ack if you want. Fixed all that while applying. Could you please follow up with an open-coded iterator version of the same slab iterator ? So that progs can iterate slabs as a normal for/while loop ?