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 2DE23D66B82 for ; Tue, 26 Nov 2024 22:20:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8E0DB6B0085; Tue, 26 Nov 2024 17:20:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 891746B008C; Tue, 26 Nov 2024 17:20:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 765AE6B0092; Tue, 26 Nov 2024 17:20:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 50EE06B0085 for ; Tue, 26 Nov 2024 17:20:00 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id CFBE5A068D for ; Tue, 26 Nov 2024 22:19:59 +0000 (UTC) X-FDA: 82829664834.16.4C289BB Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) by imf04.hostedemail.com (Postfix) with ESMTP id C2BAD40004 for ; Tue, 26 Nov 2024 22:19:51 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=jQbt2nkJ; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf04.hostedemail.com: domain of jannh@google.com designates 209.85.208.48 as permitted sender) smtp.mailfrom=jannh@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732659595; a=rsa-sha256; cv=none; b=lV+jVd2R6ubZPaqQykgLrxZ4g7bWau15POeQGxBeDtFyTJEYe6iMs6fY8sJKFMxdQz8+Pl 4Uc/+t8NiMT21of/mqd+Iocprf8e343/WtxaMnsgfaEnfu0Z4KOtWtGh5/t7IESjoIhbca CT87tqwCR4l/z4RkBl3jyO420zyC8dc= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=jQbt2nkJ; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf04.hostedemail.com: domain of jannh@google.com designates 209.85.208.48 as permitted sender) smtp.mailfrom=jannh@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732659595; 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=lGY7QwodFNYUHclakP/2Adi3pmyV0Lark245Z598Wx0=; b=EMzt9oHePwOmd5qc4eufNWMrwsiv2MfwtI1MNani2gOcVdS3uhS2HCCS4TGTzF5eNyDnFh NgcmSIWWcq+OuWFPEJ7tY2W7j/upBVlULMO4ujICCoEARMayywF/ax7H5pQSz4wQNaL+he WH09AmasTek+FUxh0rYhTUw3giyKmNw= Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5d027dc53ccso866a12.1 for ; Tue, 26 Nov 2024 14:19:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1732659596; x=1733264396; 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=lGY7QwodFNYUHclakP/2Adi3pmyV0Lark245Z598Wx0=; b=jQbt2nkJNqur7icDAfWeTA5XH9U2nWMC5Fi34VLlnOM1Wympk2EB15eERwza8qhj/+ /zuOZgH5D4bSvKfi8Y9uvL074bG+8LqI7YEguyqLDMoEuqjxsh4GI0RW1TbelJqiHyw6 gidbNmY5F0czYZwFvfoJRXTZJ40hkK9/MkQt17nxMY4MqKhU4EfylpuPsex+MXXgFvV6 KeXI+CXJQU41LefMi0xUIJtKLhN1jLE5m+qb9I0fZoQRs/pPb2cbqaVUa2+rUD3IQ9Gx caHTk9kSxt3DIVg10f6pSRnMRc+UzkI1UQxRPLBrsnvQqsHw/wbLRiL1ps8z0Q0x6bkV OWXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732659596; x=1733264396; 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=lGY7QwodFNYUHclakP/2Adi3pmyV0Lark245Z598Wx0=; b=p1JgqWRI8VZpr8D/lWcsQySm+TxTZUir7R4u/ZnHneB0ecrS7vKUvQ2MxfQ4FOTwTH Uw1jJVuKf6YriYNibdyapzfrP6jD0JXFhnxXNs/4ogGC27yfb9/pI3393yd/iRnNyTAG C/Sg+cUupow+19Gb02xZ5EG6uCd5fjftrzkJq5lYsHs8g0KZmsHwxCbKf93TagLuQIg4 0WchvWBL3hY7tEdilLRZdxgbbwARWwI6LbyDqOg+tG2cXCZ32nYuhvNm8tlt1GjRmJUj t4bs61ADfxtkOUFmgeCy2+8HHC8FSuoSplf2v7TOcjK5TNLNh4ZmhvuVYN48p2QkbeDN b+bA== X-Forwarded-Encrypted: i=1; AJvYcCWEsmy2nhHYAeqx+HvSqahJ1OWNy+JVUWbRi6YjgIbqVVV+kZKUzEGuFtwQVfuyAlOjNekql8ZhoA==@kvack.org X-Gm-Message-State: AOJu0YxAFRfM53xBgoMPzwC196oJjny2eY7lssrxH5mRj21VSBQXjULb Ez4N6N62hZbeC4hHJExh5XAEsU1ogDOFV3uBwp4WEjS0A4oaVRLuuLrXjE5B+CSGsLCMZBRsLN4 Kh+zWeUoOGwv5M9xk8abOr9HuGbA+kP882M0j X-Gm-Gg: ASbGnctaVubukHiQ8bIhmKWRiUjYillsOKAafvzuyP3HwBlUdX70nK3unf7QG+eq3JQ 0TMdU/3nxESHqpGcAU5KUhrlEefs6iM4/Vn7Uf4LpzoyxbinhxPGWAn3xVbI= X-Google-Smtp-Source: AGHT+IGghalrCXpABL/y3u0zloXzVTx5bHkDBo/FoL8D++lML0LriucShqcXgM/1fJ70ZztUyHF/HnMjC7+FhnM8r9k= X-Received: by 2002:a50:d4c2:0:b0:5cf:ab12:1aab with SMTP id 4fb4d7f45d1cf-5d0810a95e4mr30644a12.0.1732659595892; Tue, 26 Nov 2024 14:19:55 -0800 (PST) MIME-Version: 1.0 References: <20241122035922.3321100-1-andrii@kernel.org> <20241122035922.3321100-2-andrii@kernel.org> In-Reply-To: <20241122035922.3321100-2-andrii@kernel.org> From: Jann Horn Date: Tue, 26 Nov 2024 23:19:19 +0100 Message-ID: Subject: Re: [PATCH v5 tip/perf/core 1/2] uprobes: simplify find_active_uprobe_rcu() VMA checks To: Andrii Nakryiko Cc: linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org, akpm@linux-foundation.org, peterz@infradead.org, mingo@kernel.org, torvalds@linux-foundation.org, oleg@redhat.com, rostedt@goodmis.org, mhiramat@kernel.org, bpf@vger.kernel.org, linux-kernel@vger.kernel.org, jolsa@kernel.org, paulmck@kernel.org, willy@infradead.org, surenb@google.com, mjguzik@gmail.com, brauner@kernel.org, mhocko@kernel.org, vbabka@suse.cz, shakeel.butt@linux.dev, hannes@cmpxchg.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, david@redhat.com, arnd@arndb.de, viro@zeniv.linux.org.uk, hca@linux.ibm.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: C2BAD40004 X-Stat-Signature: ofoyag1arkzaw458nbahr6xtktan3uhk X-HE-Tag: 1732659591-512995 X-HE-Meta: U2FsdGVkX19S3GhITrcgvNxG5Jpg9B79sQmA74lCI5gf5sk9LLyZ7ViONfsMxzcgZQgJaf8o0RGF1VvrMxQJ4Yuk4wd/fq7O0SvOC+Z7yyy9ExLer4io+x61fMHtGB1gLplg/UGLq5h4kzdnlXS4bCOcTZCcpWvxliRU14Lo2hKXjRV+Jr5r01Arce1K4HPai7mdstCCM/Re9/X5Qk5s/G4HWMz5lk9NCB9YDiQBda6Lb+C4VWeHHxPy8hrOGKmWSRn5VS1slCvZpey3nCpB578L1OWj7JmXpyhQ1v8d0g0803watj8T5r9g3ybCg/OrSp6+DenxrT3fXFfLG4fVNhxf4sEopBPnhkeabn2ReuCBiCzRC+Hh6py47NoMKMfpQiAQOf/JIjE2GigdY+gMgJzUmxlUgfN85yGEOZ2hy3DNWOUW2tetQkx0YEADjDmaS99/JgkorzmJ4OiCrPHW2QD46OTkVkWxvlvNZ0KkJ05JHjMDQuXDPlHjeDQnzXUzEuzgH7cSetQowJ3z2PX/UCNGXZj7Msz81T4jWKnbXjylH3uO3yX3+ebXUW3gCgRBzOGXDBlT+v2cAvBz7T9p5VQLBHADuAPdDY0Uad5PV7gtpaBtqDKg16k20wbZjJwFD83CPRtx/qLllGoh2JKA1ETI71vv8Xf9h5lvmZXdrxGizwqZpcfiBnQiYgNHzInLKroi4+uCiVWOiwjcZ35EmYQiOENoXytnWRGp6bM02M1Y9elLkeh7qm9Et8G+g+f29Kkp0U/Q9cLIm6HhZX21ade12BOTX62fOE7dOyT12YThxHcd+Vy3QQ+kgy1CfQYCmF0BMGU6hg5Hqxg/43howMghlMLncOdycp4nF6w5jNaRWL5n9ak84DQHT6t6e5Q+pFGdra+OiEVEo+bawPBZ7szJJanYGHAhak8Z77td+G9v025aukjT82Tl3zjzcMoSHpfP2hE6ezL4RfqXos7 RdAy2/uR RhomMszteH93rtEjGEQsUx8RaOGsqHgtwdahDjWawanwr0B6Dkjt1dcnJP40SIYXEAXPr7TwYQba59FNP7U+nrByPsZX2UnuSbVfW9JuNXt+HC/zGhyp1U47uhTdY71Wiaq7unm5WBxnAsVGCHWnzBPJIOwinA1wkA3uL1r39pdOL9tKTEiIq0O43Lo83cmGDZv45BbwkXjcSBDGOD3yOfdldfID31FZVVSqBgCGVt6Z6raPDHP8fd0t/BLy4nZDfWwXBq0DaaBQQljMrDOLlAA+ui9GYOQfePX2F 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 Fri, Nov 22, 2024 at 4:59=E2=80=AFAM Andrii Nakryiko = wrote: > At the point where find_active_uprobe_rcu() is used we know that VMA in > question has triggered software breakpoint, so we don't need to validate > vma->vm_flags. Keep only vma->vm_file NULL check. How do we know that the VMA we find triggered a software breakpoint? Between the time a software breakpoint was hit and the time we took the mmap_read_lock(), the VMA could have been replaced with an entirely different one, right? I don't know this code well, and your change looks like it's probably fine (since the file is just used to look up its inode in some tree, and therefore for incompatible files, the lookup is guaranteed to fail and nothing will happen). But I think the commit message looks dodgy. > Reviewed-by: Masami Hiramatsu (Google) > Acked-by: Oleg Nesterov > Suggested-by: Oleg Nesterov > Signed-off-by: Andrii Nakryiko > --- > kernel/events/uprobes.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c > index a76ddc5fc982..c4da8f741f3a 100644 > --- a/kernel/events/uprobes.c > +++ b/kernel/events/uprobes.c > @@ -2305,7 +2305,7 @@ static struct uprobe *find_active_uprobe_rcu(unsign= ed long bp_vaddr, int *is_swb > mmap_read_lock(mm); > vma =3D vma_lookup(mm, bp_vaddr); > if (vma) { > - if (valid_vma(vma, false)) { > + if (vma->vm_file) { > struct inode *inode =3D file_inode(vma->vm_file); > loff_t offset =3D vaddr_to_offset(vma, bp_vaddr); > > -- > 2.43.5 >