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 2B08BC61DA4 for ; Mon, 6 Mar 2023 17:13:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A3DCB6B0071; Mon, 6 Mar 2023 12:13:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9EDDD6B0072; Mon, 6 Mar 2023 12:13:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B612280001; Mon, 6 Mar 2023 12:13:45 -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 7C05F6B0071 for ; Mon, 6 Mar 2023 12:13:45 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 1E752AAA7E for ; Mon, 6 Mar 2023 17:13:45 +0000 (UTC) X-FDA: 80539120410.20.DE8107C Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by imf01.hostedemail.com (Postfix) with ESMTP id 336824000F for ; Mon, 6 Mar 2023 17:13:42 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=lwipPy4w; spf=pass (imf01.hostedemail.com: domain of surenb@google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1678122823; 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=gj13L4BUXvytGxxa1g10XICA4jSK6uFNLJQ+EdDsYDA=; b=XhDV//22ZXRWltuCH9RiI6Pug4EXs8lNnibmn9pGVIwA+VQ/6CegJb6pavwEuzZKWDvfLF Vj+qvEqTJlZe/eEuhE+19gHu5P9nTDBlz8OjRUMcDPxdVPcfnekQz/Hz1/WDnjUzW4HeCY JXQgbQaGvNZdqg6DQqp/Q0dk2OKI1jA= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=lwipPy4w; spf=pass (imf01.hostedemail.com: domain of surenb@google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678122823; a=rsa-sha256; cv=none; b=CFoiQbewNg+PHiCnnFLj4kW8dQM6KLu/A1Zr3tx8SL1whyuBru9h+JTVJsqYVqz6FESWER 86imSHDgzVKgECzVI+Jlx5bUpnjeD6R8G3bX8eNZbLCGowv3Auk9xLvNz9PB6HZtH2BpiA NE9syACFSKubUE2ZOMKsRuQ3oeex5ok= Received: by mail-wm1-f43.google.com with SMTP id c18so6141508wmr.3 for ; Mon, 06 Mar 2023 09:13:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678122821; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=gj13L4BUXvytGxxa1g10XICA4jSK6uFNLJQ+EdDsYDA=; b=lwipPy4w6ZgFewdDOcufE0PASv0Lac+0DO0Al+fxtEKhmU+ZaF6Gsngrp7tVg8ZqvC 4vUNOFnP5F0aJ3covIEcYDCx1OOY3IFTl0MD+XPNOCKRTAwqWDTE53DQqAPmkQXWKrXn CX9QKZe5xazXf7dHa4CkurYXCPrJnqOm66mOxVSNqLQj9VspZpYvLJT6Vd0dOYrPOMsx o/AqZx8wBnf5FiHgbd0PUYsNH5QDxm6f1k4DOPlakLgaS7TnNiHpfjYwhMa+pXHN6mHe Lrkn5uXddEl5eCCKdJx+9QV1p0yeoPuOxXYAZqUpYmN2TmIrMAJlzE5fN6kA33RkEqrY UDTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678122821; h=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=gj13L4BUXvytGxxa1g10XICA4jSK6uFNLJQ+EdDsYDA=; b=AGJhWE/KUJn8ANJGPuwIL1/TmtS4dfgYInKgpTSLde7qHj9F5+QwXru8fhlWjnxInX yjSWkmriEf7KwTge+L7/hGeZIoMqsjPedPqryBfl3+WFl6fVmfSDFN3RUMBg8XlKSMsL 5j7WbmPgHW5umuPlINZ9I3C3wW8MvQYQ24rmlHKHIXnp9XqA1mvgo8tsX/c9D4cZqiAd JNG65OF6+MJ7nnjQYBfJj/3CoWuyeDHryeYu1cNmJ9ZcXy8sPr0dWAYk8z7jimYKKxso fTa1cpQJL4QIUOCTakqNj9/75jDMc/+LVU6yVf8YGIrp8qmOdxK8Y9APvsDfzLhn9Jva cpQg== X-Gm-Message-State: AO0yUKW/6mXxqyWOVE46+QZv0QWWDNNJZR7G8087viztuYBBQyVTK+Yd YVlhdKchLTgNhXd3i1IdAk8wLr6xKSyY4WEVjR/tMA== X-Google-Smtp-Source: AK7set+NlylrgXCQEd0NBIjjvBltXMJIo9VQQCn7U8WLf0FuBNSvm77ccyWMsIkMAvFmtisDe11jLksGFkRy2hy2Nek= X-Received: by 2002:a05:600c:a3a2:b0:3eb:246d:7ee6 with SMTP id hn34-20020a05600ca3a200b003eb246d7ee6mr2574115wmb.3.1678122821567; Mon, 06 Mar 2023 09:13:41 -0800 (PST) MIME-Version: 1.0 References: <20230306135520.4222-1-ldufour@linux.ibm.com> <7161f75e-9f40-f881-84b8-1eaaec0b0e3f@redhat.com> In-Reply-To: From: Suren Baghdasaryan Date: Mon, 6 Mar 2023 09:13:29 -0800 Message-ID: Subject: Re: [PATCH] powerpc/mm: fix mmap_lock bad unlock To: Laurent Dufour Cc: David Hildenbrand , linuxppc-dev@lists.ozlabs.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Sachin Sant Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 336824000F X-Stat-Signature: gfnh5m4sfjmwomctk8pk54bfpkigpjtj X-Rspam-User: X-HE-Tag: 1678122822-594608 X-HE-Meta: U2FsdGVkX1+hmkmDyYcdo4uVBq/KTGX9dGIRBoQt+rUYLi/GOBQ8zqzrm8QZwDQ7pEqmHP/9sS/20+mK2NdVuQD27ZNFwXZiVV5H/WXgj8f/dBMoZ8a3dgwDdqVrw8ebqvoslJGEEUlnAeMi8n70uYkE/L8B+Z6uddHgHEuShviiA9d7LCvLg4LW3rTA64m6KIhkZnhqupc3/yeUkR0G6/v1OXo/WXNBr0N0mijgWkmeI18onRppa5lITQ6hYHRV7Hx+450pdsYi09a6NHT/QRyElpeLWditn/4sU/GVewrwXKLLPygbrt0uA1gSUKd3Hf99hnZ/fLHzpUt7/4HuuGD0HuLILAGmU9SNgdJp70SoLj/ITx7EMtMIr0nQrSFjAYbOrkcIbjmDYbEhbXoh153p+5Pf4h49MBhirZ+hACqmLttOicrcC8/zDZaNQ78qekanT36XVZorxjDGWTPFBcBfT6K2WqFmD3mSP5X7G7c5AqWQBvTze/C16RoV0pyOVvt281X/m9FcUQPX6p/bIWuKXvvUHxnSACjWUa5DZXdzvRpj1Shj0jeO8EgzqN2RIwF6aEjVNLRyOa7b4C6/8zxGSzg8PJxDa0CFmdV9DI4pwp5B3YqQX5+Sx7mBUMByYo4smB0Jg2L5h2+fV5texm1kZfKOuBWH4PJqGRRu0cNzZdNgYjXO1gtz9yLg/aZ/m7N+IfnBgN18MS6GgZ9zdfrUuEnv0HWXwV8jJUxt6F3eZlPqoayxrUUy9G8c0tUjjwyUmIaX7m5440ufCbDeob5C3woyC9mqB/sriUyPblNbMm9xwjjdJjRS1vYp48lbdBkSLLCm1N18fccDhm6fcknacveZ97xFM3eWx9Nu601FXwWyNeesBTqshNko5wPu6WSzRrSkhSf0VlP+aeJbKkX0UIb8Z3tfI36RPSKue2+iSoLk9qGnxaHKcWb/D6b8dd60mvbXXhH9iKLbPV6 rLIVBAPx mjFmg9Oz6JO365oHGvgU166eVT6DHiStlVweQyJZb8t3zmQ/fIp5hSZGn0DxLFVfwvGyVASTpGPMlY5mhGC+eHh831k/Oz9wEdn306jztVcoaGSmFOEDfGb+qnTu3EycCdvASijg3Aes8dVz7EhmdcnvNxXw9S6zO/+v5loIxHltFHUDVMeq6iMzsAHiP2ND5fPA9RleAhE3W0//zkM5MepeS7beafOYdE+idHkFqcWcYCyfRbRvqJCNQGZ9SmvS2y8BQQB7HPu4VvPibSDCr01IYQTi8yHlU1o/KsUSnPonomYzaWR4I/SmvEcAm/N9r2fNANOK7sIlGW0vKfkMsA8Z/9YWtoKkVTP3FrTyHJQ2JTDHr+qMaHvFQCqf0qOM24iwUh+Fjek+jFZY= 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: On Mon, Mar 6, 2023 at 6:09 AM Laurent Dufour wrote: > > On 06/03/2023 15:07:26, David Hildenbrand wrote: > > On 06.03.23 14:55, Laurent Dufour wrote: > >> When page fault is tried holding the per VMA lock, bad_access_pkey() and > >> bad_access() should not be called because it is assuming the mmap_lock is > >> held. > >> In the case a bad access is detected, fall back to the default path, > >> grabbing the mmap_lock to handle the fault and report the error. > >> > >> Fixes: 169db3bb4609 ("powerc/mm: try VMA lock-based page fault handling > >> first") > >> Reported-by: Sachin Sant > >> Link: > >> https://lore.kernel.org/linux-mm/842502FB-F99C-417C-9648-A37D0ECDC9CE@linux.ibm.com > >> Cc: Suren Baghdasaryan > >> Signed-off-by: Laurent Dufour > >> --- > >> arch/powerpc/mm/fault.c | 8 ++------ > >> 1 file changed, 2 insertions(+), 6 deletions(-) > >> > >> diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c > >> index c7ae86b04b8a..e191b3ebd8d6 100644 > >> --- a/arch/powerpc/mm/fault.c > >> +++ b/arch/powerpc/mm/fault.c > >> @@ -479,17 +479,13 @@ static int ___do_page_fault(struct pt_regs *regs, > >> unsigned long address, > >> if (unlikely(access_pkey_error(is_write, is_exec, > >> (error_code & DSISR_KEYFAULT), vma))) { > >> - int rc = bad_access_pkey(regs, address, vma); > >> - > >> vma_end_read(vma); > >> - return rc; > >> + goto lock_mmap; > >> } > >> if (unlikely(access_error(is_write, is_exec, vma))) { > >> - int rc = bad_access(regs, address); > >> - > >> vma_end_read(vma); > >> - return rc; > >> + goto lock_mmap; > >> } > >> fault = handle_mm_fault(vma, address, flags | > >> FAULT_FLAG_VMA_LOCK, regs); > > > > IIUC, that commit is neither upstream not in mm-stable -- it's unstable. > > Maybe raise that as a review comment in reply to the original patch, so we > > can easily connect the dots and squash it into the original, problematic > > patch that is still under review. > > > Oh yes, I missed that. I'll reply to the Suren's thread. Thanks Laurent! Seems simple enough to patch the original change. > > Thanks, > Laurent.