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 F367DC47258 for ; Wed, 17 Jan 2024 14:02:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 895266B009D; Wed, 17 Jan 2024 09:02:29 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 843C76B00A8; Wed, 17 Jan 2024 09:02:29 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6E5DB6B00A2; Wed, 17 Jan 2024 09:02:29 -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 57A3D8D0001 for ; Wed, 17 Jan 2024 09:02:29 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 210BC4047F for ; Wed, 17 Jan 2024 14:02:29 +0000 (UTC) X-FDA: 81688968018.09.7221B69 Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) by imf23.hostedemail.com (Postfix) with ESMTP id 1B956140036 for ; Wed, 17 Jan 2024 14:02:24 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YPzXlhJM; spf=pass (imf23.hostedemail.com: domain of olsajiri@gmail.com designates 209.85.167.41 as permitted sender) smtp.mailfrom=olsajiri@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=1705500145; 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=rwS+kUbEj1CXgTKMF4Pii0I/Gobr3HpDHcwboK5dbsc=; b=JjQAU+LmmkTNHXBu5rqynIr7FQJMVqd9c3LquvToMjHYArc10CRxG13LEgZbzpKO7hHhwf iymVCOp+a2y22l1lIq3xciCwUyBud2UAttTbbnREkaUZGN4cala/s5a1KGh/xzQ+8N00hH fTr6R5qJVtDS1DnYZFrZ5l3rdEUFg0c= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705500145; a=rsa-sha256; cv=none; b=xGHe65eRtid3ixobuRRvVYIn4ZLi8j48MTWYaGYpfHhui3Pdkqea6dQe13M6t+fIGdubvL lZy91IFG13JEhmywGvQ3KxTU2DgBjpwu4SuFmvHbZO9ZCDoJk4PZeHuLq1f/iTRWbofR+m 2UowLo4KNdAVnvhzwmHw7DrGNnkrWc4= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YPzXlhJM; spf=pass (imf23.hostedemail.com: domain of olsajiri@gmail.com designates 209.85.167.41 as permitted sender) smtp.mailfrom=olsajiri@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-50e766937ddso12508283e87.3 for ; Wed, 17 Jan 2024 06:02:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705500143; x=1706104943; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=rwS+kUbEj1CXgTKMF4Pii0I/Gobr3HpDHcwboK5dbsc=; b=YPzXlhJM2d7hYbvZlG/1UPDPq3FaL9JpOxalxgr1WpvLgd/5tdWbm2oFPrnz1PjpwV ltVhg2zkS8XhEhyvVVXJUrTTogVaQ7Mp9ePqt2qjcXuT7IwY9dXV/S3Vwqpgnfk3a9RH 7Ke7fiLcGTDjm+D26wsZ8W4DOHi5y+zQH0L7PW1xz4dNtuTr6o7czg+jxn4OrEDeqXrM Alpog3w+3nzAgcuaOaUxL7MYk/31B5xh/xGbx63tSoc58UZcNTLnDD17eKmzzVnqWjGW 83reXD2Cnrn8kFfCR7r+uioFeErwLueIXreimUDNEAARYuBWIybolBKe5fD9hBRq6ij7 xK8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705500143; x=1706104943; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=rwS+kUbEj1CXgTKMF4Pii0I/Gobr3HpDHcwboK5dbsc=; b=kWjiL8L6rA9gV2m23YKoXNGM67Arw8MEfhtkRc4c7Gtm0PLfXWj13kN2z7rotNP+sp q5a6YShtlQBVhe2ttUNLtnoId0gFRKzEPTEXyozzXgI42nIC7P5V9JbIxM2Guu8VzBrt ip1s2O8o8p3IQ292Dit1bCFpBnIakMsHlsUOaqYdQSIcZywfi6fSiSEEhA5sXr3IApXe EBuLX6ECiNTxP6qwj5VWQgvfDrz1Vs63l5Dc0oT/HMau0iwpEErUpHsK9X9Kv4788ctE yrpsanaBbo7SbqCioilM9eSkDBuhdSRkAg4oWZ/9fnTjwMOGiPSItOmg4RCBciQ0Tozt qTVg== X-Gm-Message-State: AOJu0Yy6exsM+VjS60O875fhssKwHQhhlL+AJ0CbbBv5X1noLyNpyOei ckRcoWYcaUIo4zp4/VdTIHs= X-Google-Smtp-Source: AGHT+IF/BBzzY9gEnN3f+YYZe5+56B7mSMR+czMogSauXjYzh53Ufl4NGtVeOgr/Ey+baAcGpKwEEQ== X-Received: by 2002:a05:6512:23aa:b0:50e:ab53:e3ce with SMTP id c42-20020a05651223aa00b0050eab53e3cemr5067948lfv.73.1705500142690; Wed, 17 Jan 2024 06:02:22 -0800 (PST) Received: from krava (2001-1ae9-1c2-4c00-726e-c10f-8833-ff22.ip6.tmcz.cz. [2001:1ae9:1c2:4c00:726e:c10f:8833:ff22]) by smtp.gmail.com with ESMTPSA id z9-20020a1709060f0900b00a28f6294233sm7792207eji.76.2024.01.17.06.02.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jan 2024 06:02:22 -0800 (PST) From: Jiri Olsa X-Google-Original-From: Jiri Olsa Date: Wed, 17 Jan 2024 15:02:20 +0100 To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-perf-users@vger.kernel.org, Ryan Roberts , Andrew Morton , Oleg Nesterov , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Namhyung Kim , Ian Rogers , Adrian Hunter , bpf@vger.kernel.org Subject: Re: [PATCH v1] uprobes: use pagesize-aligned virtual address when replacing pages Message-ID: References: <20240115100731.91007-1-david@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240115100731.91007-1-david@redhat.com> X-Rspamd-Queue-Id: 1B956140036 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: xcff5x7n9wjtrpsq1sdpzxdiq5wkeniz X-HE-Tag: 1705500144-923754 X-HE-Meta: U2FsdGVkX18jHvMeUprPL6Vl7BLrXqJ8QUwelBHiXW7WC0IBVZ//B4XoAB3Edl3cp1YDYvVn2/U7dr1nTz2hoXN7cViRVeT6+R+VeH6yFP5o5kk2MMgXoEbOdrcQoLGr2dQPRmOWidLpAGNrtUPOSjRXa648OuyDe9JYDx7qvOKIOoilXKiRTLBVBygVWLRh8Mr0Ivg9150pSsArkYbcF6ac2evGxdMGzJz/fBEfu7+feSuTAgcVS+HRb9OF6vd+8nhtc1siLmIo1fP4oZJhd9gK9VkqrVX3xCOLe+ixblBq7GaT9z0cKhYOvx9AiPx6Of4YZ0J1BwvHJwi7BQqajjrdQl3/fLwFGGJ9n/GSDb+yuDgxEXiueXpKhV0LJwb3o1a3HPn5H7/WLRMbL2EppzAiOPh1yIC201LSDXKegYK/JmPmK6q1lZrK4Ef5O6P/og5nZc0JhL/F90EDk6OoHRACmufSllaoeQ3/WBeMNI0/W9/u1aAc5W/BpnVIraQeJXPI7M4LPcAG6uNN9B3zmJHHhwIYtav0tGh7w1W30E7V2ejV5D6ngC87MFm3JNBbNisNUP50zRCGZLFq4JUUKAFffSGOWwDfVW69WSVsH+JgcTkwhAvNU3d8vRyz5moQ9K1iCv8oWhDcpom94hWnDPwrgJqgbC4OXHlc9rSm6oR6VOVyiZWz4WGThpE0CXl+ByGIgyZwhwbRFq+cP+iLuy+hQ0raowX9lHi6Y5gWETE548ee5J/SOv5enXK5fPSqxtlzvf1eVT1iNLhoO7JsGHt2W9M/uxDXZIldILAmZCDqt27Vkq9l5DNq59ys76xC5KiZE+uq+8gYxrnk7Fh0Glzv+TKHu6QE9zPm8j8ujw/1GRv9X9tFeZO6/jJRemgO4g3yA2bFvqZ/44ay6Rt4aZ2X3zDMOrbLnjmLaOuc08L3VhzWJeiBQj/lZXjq4Y3ii8nt1Ykf22AUwfEODan kq7QlJZ0 vdBd4UhNDLoRbKmKwgGmxa8O/XGXGjqNATXq8laJchqaj2B16zv/ETdslmPXJyEnBB7+M2E0iBjzfTTxJ+qM2q5bAy7UNQmYRNldZ1YfMP4GX0+Cs6z5Q9wEUa5vP9zSuRLJPnKDFZD/ypfNFONNjmx37ac0xXFlC+NE+X5d0pqZrMqtyb68qfNvuOv1ngmgCPegOyZxpot8pfihSDcYgfzupOEjMrO6sUtnebw5fCey/0RbOVdl6wJLTe+DNi9/OGxjDS5ueQQ3qfgwPeft3IhIjfTqqBGWChbV57h23/OePVyHW9lV0/b2ALzbLBB6rFxuRtgHVxx2C5/iWzmyHysMXLDBOm3bJ/xyjTQb0gnZRDhe+xSyC2ZKtyyBhw+HGER7fL53rVEbEmFE7fbxjnuLasu89oUynd3p2CQ/h/8kTWxcVWg2buSu26S3G8grlGZyz0RsRar7RhzG9C0YKBtldMJdsyU8ztJLJzQlOw063H6aJv0CFP6GEN8YW8U0nP5ZIj9RZ6cK0u/5tyZ6rp/jfbXMygKk66cXrrvq7GI4L7wcnAxGykpFA/K+7prLZVVJOnE4ZqMi+t+TxUaHJk4ftiefMEiPIdg0qc5/geEpwp0orMedvNYN9RWd/XslusAAGK83fbyqWGlKsdbSA5ps1lgkzP0jXiWqfVE/HpI69jpI3zVH+k4SH2ewjF4Xp6/sCJBDW69BSixpzBJZ801oBIw== 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: cc-ing bpf list jirka On Mon, Jan 15, 2024 at 11:07:31AM +0100, David Hildenbrand wrote: > uprobes passes an unaligned page mapping address to > folio_add_new_anon_rmap(), which ends up triggering a VM_BUG_ON() we > recently extended in commit 372cbd4d5a066 ("mm: non-pmd-mappable, large > folios for folio_add_new_anon_rmap()"). > > Arguably, this is uprobes code doing something wrong; however, > for the time being it would have likely worked in rmap code because > __folio_set_anon() would set folio->index to the same value. > > Looking at __replace_page(), we'd also pass slightly wrong values to > mmu_notifier_range_init(), page_vma_mapped_walk(), flush_cache_page(), > ptep_clear_flush() and set_pte_at_notify(). I suspect most of them are > fine, but let's just mark the introducing commit as the one needed > fixing. I don't think CC stable is warranted. > > We'll add more sanity checks in rmap code separately, to make sure that > we always get properly aligned addresses. > > Reported-by: Jiri Olsa > Closes: https://lkml.kernel.org/r/ZaMR2EWN-HvlCfUl@krava > Fixes: c517ee744b96 ("uprobes: __replace_page() should not use page_address_in_vma()") > Tested-by: Jiri Olsa > Reviewed-by: Ryan Roberts > Cc: Andrew Morton > Cc: Oleg Nesterov > Cc: Peter Zijlstra > Cc: Ingo Molnar > Cc: Arnaldo Carvalho de Melo > Cc: Mark Rutland > Cc: Alexander Shishkin > Cc: Jiri Olsa > Cc: Namhyung Kim > Cc: Ian Rogers > Cc: Adrian Hunter > Signed-off-by: David Hildenbrand > --- > 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 485bb0389b488..929e98c629652 100644 > --- a/kernel/events/uprobes.c > +++ b/kernel/events/uprobes.c > @@ -537,7 +537,7 @@ int uprobe_write_opcode(struct arch_uprobe *auprobe, struct mm_struct *mm, > } > } > > - ret = __replace_page(vma, vaddr, old_page, new_page); > + ret = __replace_page(vma, vaddr & PAGE_MASK, old_page, new_page); > if (new_page) > put_page(new_page); > put_old: > -- > 2.43.0 > >