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 70B75C433F5 for ; Fri, 28 Jan 2022 21:26:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CC53C6B00F4; Fri, 28 Jan 2022 16:26:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C746D6B00F6; Fri, 28 Jan 2022 16:26:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B14786B00F7; Fri, 28 Jan 2022 16:26:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0231.hostedemail.com [216.40.44.231]) by kanga.kvack.org (Postfix) with ESMTP id 9C4076B00F4 for ; Fri, 28 Jan 2022 16:26:09 -0500 (EST) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 64D62181DF741 for ; Fri, 28 Jan 2022 21:26:09 +0000 (UTC) X-FDA: 79080978858.30.5971C09 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf27.hostedemail.com (Postfix) with ESMTP id EF15C4004C for ; Fri, 28 Jan 2022 21:26:08 +0000 (UTC) Received: by mail-pl1-f180.google.com with SMTP id i1so7293044pla.9 for ; Fri, 28 Jan 2022 13:26:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=cfMRAmoR1rDJZPsZIg2Mf9Md2XIapwAEopIEQIY7W8o=; b=D/F0HH3RAZHiHTuozAEIgdDuk7xHYPKxs8Vsjpdy/MFb1HGPaFzlxZb8fCK4DdpA8y pI45IeTGmWtsXn4dIC4UhI8jozVDWvoR+1B0XR/i5lZbVC8jHYh7vs45sQxt4r0iRhtJ l2GxQmIkfwFexUzY10Weo1sC04Y334JFLOTIGroXmvc+ic+mUqpxZAXCbYzE/u3M8QBo njNyaDcokUOJ6Dy5OY+Zc5CRNOc9mA6k80CI5QeI2UXk8udpMWloPkXMBTFHUfAxHe5k nsqPYWSxJ3Ga/azdEdsaIFTfQJW78K3dc3tAuRx++vURQpeh4rYNNc6m1GBHG/dvQYjt Hf2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=cfMRAmoR1rDJZPsZIg2Mf9Md2XIapwAEopIEQIY7W8o=; b=NFLObSTLz1/jRkMaD0Iteu/OnWHaIkEvAFN5rzG6ZGs7NpEKlNKCev4A6/a0k1vIaE khyoGGtpzdB+vCWjI7ut6ESHPFUeuZI0VAaPMbCKr/eBxkACSIzsjceBV1CHpsZnp6Nx +rbWWDGie/Z3KukHbYnHKsaJOHmRKSj6HvEZk6HWLGMoMlqqc8QLZUAvXd2vJ99/LSib ovCZPct1ssa7/ULKTu/pewRHGZbPKWne9GFMCRPB+ClTuAH84LvX2oF8tgqRPZIb4Las gGapcwWhsHufy4Km0tEWfjnQgp/AosrEmbWvnOq5pUcQiBbgOXRN2W1NOsUQqbDUsYag INpg== X-Gm-Message-State: AOAM533aURoSg8lBIssPwLas21B4iSqNh8nPXjgHc2cs9TJEUELQmlpS 4H729w8oxSoJVS450jjFnLw= X-Google-Smtp-Source: ABdhPJw2AbvTvknknuXeuDh9LX3olrj3jJ7bS4VvE9PCD9vElbzT59DmeU04zqG8l/DJMEQy7+q2ig== X-Received: by 2002:a17:902:ecd0:: with SMTP id a16mr9965255plh.64.1643405167909; Fri, 28 Jan 2022 13:26:07 -0800 (PST) Received: from [10.1.1.24] (222-155-5-102-adsl.sparkbb.co.nz. [222.155.5.102]) by smtp.gmail.com with ESMTPSA id u18sm10656761pfk.14.2022.01.28.13.26.03 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 28 Jan 2022 13:26:07 -0800 (PST) Subject: Re: [PATCH] m68k: mm: Remove check for VM_IO to fix deferred I/O To: Geert Uytterhoeven , linux-m68k@lists.linux-m68k.org References: <20220128173006.1713210-1-geert@linux-m68k.org> Cc: Andrew Morton , linux-mm@kvack.org, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, Finn Thain From: Michael Schmitz Message-ID: Date: Sat, 29 Jan 2022 10:26:01 +1300 User-Agent: Mozilla/5.0 (X11; Linux ppc; rv:45.0) Gecko/20100101 Icedove/45.4.0 MIME-Version: 1.0 In-Reply-To: <20220128173006.1713210-1-geert@linux-m68k.org> Content-Type: text/plain; charset=iso-8859-15; format=flowed Content-Transfer-Encoding: 7bit Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="D/F0HH3R"; spf=pass (imf27.hostedemail.com: domain of schmitzmic@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=schmitzmic@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspam-User: nil X-Rspamd-Queue-Id: EF15C4004C X-Stat-Signature: zxwa8faynhqk8t5emudbhig8cn1gqgdh X-Rspamd-Server: rspam12 X-HE-Tag: 1643405168-53973 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: Hi Geert, for hwregs_present(), the exception fixup will handle any access error (through send_fault_sig()), so this should continue to work. Why the special handling of VM_IO pages? Maybe hp300 had marked all IO register pages VM_IO to distinguish IO faults from VM faults... The only other area I can imagine this might have an impact is the Mac's pseudo-DMA - FInn might want to give this some testing. Cheers, Michael Am 29.01.2022 um 06:30 schrieb Geert Uytterhoeven: > When an application accesses a mapped frame buffer backed by deferred > I/O, it receives a segmentation fault. Fix this by removing the check > for VM_IO in do_page_fault(). > > Signed-off-by: Geert Uytterhoeven > --- > This check was never present in a fault handler on any other > architecture than m68k. > Some digging revealed that it was added in v2.1.106, but I couldn't find > an email with a patch adding it. That same kernel version extended the > use of the hwreg_present() helper to HP9000/300, so the check might have > been needed there, perhaps only during development? > The Atari kernel relies heavily on hwreg_present() (both the success and > failure cases), and these still work, at least on ARAnyM. > --- > arch/m68k/mm/fault.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/arch/m68k/mm/fault.c b/arch/m68k/mm/fault.c > index 1493cf5eac1e7a39..71aa9f6315dc8028 100644 > --- a/arch/m68k/mm/fault.c > +++ b/arch/m68k/mm/fault.c > @@ -93,8 +93,6 @@ int do_page_fault(struct pt_regs *regs, unsigned long address, > vma = find_vma(mm, address); > if (!vma) > goto map_err; > - if (vma->vm_flags & VM_IO) > - goto acc_err; > if (vma->vm_start <= address) > goto good_area; > if (!(vma->vm_flags & VM_GROWSDOWN)) >