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 689CBC10F1A for ; Thu, 9 May 2024 11:05:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 841DF6B0082; Thu, 9 May 2024 07:05:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7F1B76B0083; Thu, 9 May 2024 07:05:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B9626B0085; Thu, 9 May 2024 07:05:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 4D9706B0082 for ; Thu, 9 May 2024 07:05:43 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id C8D0D1614F0 for ; Thu, 9 May 2024 11:05:42 +0000 (UTC) X-FDA: 82098576924.12.B4580B3 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by imf26.hostedemail.com (Postfix) with ESMTP id E086E14000A for ; Thu, 9 May 2024 11:05:40 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=lTpvfaHd; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf26.hostedemail.com: domain of vdonnefort@google.com designates 209.85.218.48 as permitted sender) smtp.mailfrom=vdonnefort@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715252741; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=if+Id8ngxnktCMRBldLjA3n7XZopNpgwUvJ4D4xVr5Y=; b=O8dh9h4OkRbjCtTXinYiayPbKWX+v47kFbmtcog78RoAhqr447zeK1pr+rMOmUCmIrhgMe QtcGZVe2p5bLGQ1vCiKb//bNus2JkNuV2VG8Xs5UpGgNPzXnILMDn4RuUHXZVemxAvpReu pCX3uFe3vVe+iR+hREQQGxfR/vv/iZg= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=lTpvfaHd; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf26.hostedemail.com: domain of vdonnefort@google.com designates 209.85.218.48 as permitted sender) smtp.mailfrom=vdonnefort@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715252741; a=rsa-sha256; cv=none; b=ugWQqJsPy9RUB40dRIDkn82BztIomaLSQ5oWviBIbtEYE9FpyWvfOy6Nx7uXmPGq+TykEB h/UQF0HdLdwtqoccO3AAuop8h8/2K8L1FSv9HTjMIrfqS2iBsAMvixO7bar43E/0/kBqNb j0T8gtPPVBKQeXQ9sUsF7hl1c8pkYAk= Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-a5a1054cf61so171857166b.1 for ; Thu, 09 May 2024 04:05:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1715252739; x=1715857539; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=if+Id8ngxnktCMRBldLjA3n7XZopNpgwUvJ4D4xVr5Y=; b=lTpvfaHd1uAtPRg76eV43dUf/jNSwoJ8NAirWm7/64L8e4Vnij96F6louqkKg8zYP9 hgK2LaCzKTjoNb3rKmS5TLmppxrJx0LCjBRohoYMbQqtq+Hjq7e0F2ifF4n3GbUpTYqB uw5y+lVBBuKh/eTWiGNNkTpu5vjZhjCBTE4Ocgt5trth+Ke9gtw0NICSnp1WcIE5hFg2 o5YTIK3QJ+m1+bsVXqXsSNjtYDjC8NxM3FNaWYwvetlHy3UhYOI9d1omnJZPrFLOuUWG 3VX7spA/diAS+xAeY7fxexWYSVIucZYtVjknWvNs+BfCcQsk+ESqoda8djahNiCuiGS4 ntkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715252739; x=1715857539; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=if+Id8ngxnktCMRBldLjA3n7XZopNpgwUvJ4D4xVr5Y=; b=F1XNEDynVtJUA9/K2dOJsRY8xsDLAconns6MY1xzFLnWUfpQ9KnJZ/J3FqnIFEBoFM 17s9Bqi700wXqKXmeXsFsN4fnibRS3ksJFuu4gJdEYqCpthtc4fGh1C3HJidigRcsqVb WmP34750rLKP4xmOD3ArOone6ucv10PpO6aPmi4oC+Y3NfYvfOOaIdeeyFKYD9ajT+y0 OAyQDYzp0u++sCt+m7JR48RAFF2q/LFEEdHxzOLcP93D49X5MVkeWic5e5P5IIHhZAoq E6/gT8Mex7T1uPtiXk4UK4koak8bX4SEI6PuyCaSBW7flqnger4DK/yUmESXBB8b9UF4 Le/Q== X-Forwarded-Encrypted: i=1; AJvYcCUK+ust6G8K1t68Ms4wBUC8FBOLgJ8W3SZSA5e6edBP01BMYik+ijc2sEUBfObv7p0tHLKVeG43lLozU2x+hQ+R05g= X-Gm-Message-State: AOJu0YynuysJLTRugHh6dBrdPuIfIaNxLfnXLGuWeWy37Zu8rIxHfM8c 1b2kROD0fismtUXAOh8CWbRnI0O4+cxwhUQwBM4cGT9i+5tlT9GAaaZeKZnJbQ== X-Google-Smtp-Source: AGHT+IE0nAIbR0Q+rxqoyGrg+GpqFGhchDBkR0I2Wpg9W7zOo88pRNhNnSdEOFZc6wJp37mJt0hKEg== X-Received: by 2002:a17:907:7084:b0:a59:a64d:c5b9 with SMTP id a640c23a62f3a-a59fb9dcd97mr514760566b.76.1715252738913; Thu, 09 May 2024 04:05:38 -0700 (PDT) Received: from google.com (88.140.78.34.bc.googleusercontent.com. [34.78.140.88]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a5a17b17555sm61158766b.189.2024.05.09.04.05.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 May 2024 04:05:38 -0700 (PDT) Date: Thu, 9 May 2024 12:05:30 +0100 From: Vincent Donnefort To: Steven Rostedt Cc: mhiramat@kernel.org, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, mathieu.desnoyers@efficios.com, kernel-team@android.com, rdunlap@infradead.org, rppt@kernel.org, david@redhat.com, linux-mm@kvack.org Subject: Re: [PATCH v22 2/5] ring-buffer: Introducing ring-buffer mapping functions Message-ID: References: <20240430111354.637356-1-vdonnefort@google.com> <20240430111354.637356-3-vdonnefort@google.com> <20240507223402.206d6ddc@rorschach.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240507223402.206d6ddc@rorschach.local.home> X-Stat-Signature: 1ounkax4cy8i8eceouo9qj1uufimfgja X-Rspamd-Queue-Id: E086E14000A X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1715252740-689241 X-HE-Meta: U2FsdGVkX1/8BKPpDJE8Y5CJKG5g960naWHYC7Bk6nHuTxGwrxuTIx/GYSmdUJeqDd2Vs6Blal/lFniZPH+FPnJznvx2kxIb/OS1n1thrBKcqBSto14eyIk0RDWKJtW85jyJOetQCvrsWv0KC11I7saxI4AJADyHwWdbe3P+zj0kvzJw2zR85w8NsHiFO+xzGZSVozy0wt2JTlVMUMW1OvXRMac5JS4Utv5oLTLF23XkClKJOz4DnaB7NI5+01XrJvuIpBOnXQgl/A1dF4ovNeOr5BbybFh0HhU24EuqOF5yodFbHYlgeB0HB9J3RMb4fWwdwh1MG7uXwVbym0QqRpv3+lZvKPRlL9I6W2F+Nx6WbeNcFcvOLjOD6w9Qvdl7pgZju9FaA3fDySKOjREy7Gnx+L47BHVIzc+SkpmfRzCbX5QZ9YSc2bD0s+4XitnJnVPNuNI1rSzA7Q7hSIj+9vrYwsH5Jq14FJhOYmQrxUwTHkVyARyfCarKOBunGgmCFN5F2G8BQSTNMZ8J+zpsQzWQtd7MTZ+1AB16/20CIrglkEtAOiMAi1pvu3R4zWJmCYDBCLWEx8oCEkpYC/nommy5hPu7OAz/ilbvD76ePpkwqtheNQfSa9vpr1PjgVTCdSAaS6nui6z6w7Me7ZHleR4i7LYdh/PWI1ZHpu6U9U42QHrxDXin1S5521Pg2qNheOXZ9Hc+6O1RKDMdNKOb/4+ORm5nyQxRNxisoH+MiC5nsZSw2Gs/DnGBVbN+ttqDILDfCaTLNxjzk0mkqE02OpLvwtOiI9fUH0fCAmFI29jgR3n0yheVi5jCp9tqNFNCSs2jq4iMkChpeY7pLYh0zWsnHd9eQDDfqfeCg1IT4fT/7e+F8w5djSI1h8bOjC5/N1biur4BHVX8dmiKqBkxl0bPjLU9vkHbFW+MVEXkvxPxb3R4/vHpiBspWp5NTMvTKlD4H3NdF7tEisrmXs3 +TLa6c+j j6yhRtdcmtQVXpnuXiMJr1hLUsoBqVX+WLqI7GSxuRVxbwQDbhz6Wh9Jn0OkeHP/Dp2UtgIFeyWQqwgxiNKYo9iLg/r5TETtwY9xPaAeVRhVsvYboeE5ekpxjXGQ9AlWNUb9lhR9Wn7IfKcTIa9bpqKFv0wqjRHwbIxaciob+bqKDgg9TGEYtUEyNOlh2RVgZVVy19M9OtJ+9IsjD4D0BaO7Oc9D7bQSJRSa2qBuZLgrUBcDI7rVAyXUoeHIjeq0yosMyV5IGAPwouW1lNYO9lhT2kj/TwKRdn0gOT/asz4ezLX6rOlwENKKAC1OuQ8NR7YvDH/cOLaz4RFsrBbgzrFOTTZmMUHWPt4mQUOYfY/IUH2lg6pjqz0ohpw== 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 Tue, May 07, 2024 at 10:34:02PM -0400, Steven Rostedt wrote: > On Tue, 30 Apr 2024 12:13:51 +0100 > Vincent Donnefort wrote: > > > +#ifdef CONFIG_MMU > > +static int __rb_map_vma(struct ring_buffer_per_cpu *cpu_buffer, > > + struct vm_area_struct *vma) > > +{ > > + unsigned long nr_subbufs, nr_pages, vma_pages, pgoff = vma->vm_pgoff; > > + unsigned int subbuf_pages, subbuf_order; > > + struct page **pages; > > + int p = 0, s = 0; > > + int err; > > + > > + /* Refuse MP_PRIVATE or writable mappings */ > > + if (vma->vm_flags & VM_WRITE || vma->vm_flags & VM_EXEC || > > + !(vma->vm_flags & VM_MAYSHARE)) > > + return -EPERM; > > + > > + /* > > + * Make sure the mapping cannot become writable later. Also tell the VM > > + * to not touch these pages (VM_DONTCOPY | VM_DONTEXPAND). Finally, > > + * prevent migration, GUP and dump (VM_IO). > > + */ > > + vm_flags_mod(vma, VM_DONTCOPY | VM_DONTEXPAND | VM_IO, VM_MAYWRITE); > > Do we really need the VM_IO? > > When testing this in gdb, I would get: > > (gdb) p tmap->map->subbuf_size > Cannot access memory at address 0x7ffff7fc2008 > > It appears that you can't ptrace IO memory. When I removed that flag, > gdb has no problem reading that memory. Yeah, VM_IO indeed implies DONTDUMP. VM_IO was part of Linus recommendations. But perhaps, VM_DONTEXPAND and MIXEDMAP (implicitely set by vm_insert_pages) are enough protection? I don't see how anything could use GUP there and as David pointed-out on the previous version, it doesn't event prevent the GUP-fast path. > > I think we should drop that flag. > > Can you send a v23 with that removed, Shuah's update, and also the > change below: Ack. [...]