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 4FDE3C433FE for ; Wed, 9 Mar 2022 20:48:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D41E68D0002; Wed, 9 Mar 2022 15:48:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CF0F78D0001; Wed, 9 Mar 2022 15:48:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BB9308D0002; Wed, 9 Mar 2022 15:48:24 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.27]) by kanga.kvack.org (Postfix) with ESMTP id AA9DE8D0001 for ; Wed, 9 Mar 2022 15:48:24 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay12.hostedemail.com (Postfix) with ESMTP id 81569120C77 for ; Wed, 9 Mar 2022 20:48:24 +0000 (UTC) X-FDA: 79226035728.13.BDE2B9F Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) by imf09.hostedemail.com (Postfix) with ESMTP id B02D6140013 for ; Wed, 9 Mar 2022 20:48:23 +0000 (UTC) Received: by mail-lj1-f176.google.com with SMTP id q5so4923558ljb.11 for ; Wed, 09 Mar 2022 12:48:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=zGqeo2LtdIlvNqnd6R2s5eetiuT+hRt9mmDkO0Tckbg=; b=PWCsZlVycSx5+VU2FvKPokNaZvFARLZhdR+NloChOOsE5FG1pZlOARqcts3qtbEfiV Jac1mG8KWnbOw9MoSqlVRYlGu7wFIW/+vbmcBNGZj0T73vPlbfb4IVtymATFS/oyXcfM wPhJl5v4zoMSVNsy37CGUm/kJgR6HBdYc0ick= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=zGqeo2LtdIlvNqnd6R2s5eetiuT+hRt9mmDkO0Tckbg=; b=W7PsFeJ7R3yOC0dOiwOtjmKKXGa7xzbioAf3wF0Q+crEfHPmKIB+OqI7AQvpun/c9p UvS33q2ejuC2oAP15WskX/mWBtJrkVeN4chhoxvkJxML6+7jvaQjsDNd+eRNSQHwYqgg B76KNp8MjSfu+wmXMJx/oMp4zwkbJdRaJdjJnN+s/oxlO9WPgHdReKdvr9z1ffaWim1R AzQejJoddWZplRBQVSMUbJak2XrIrDEM6gAjwgE65Nh1HLt34t683y7veMGbYev1UBUz jB5o/ffKDoruWe3cP+JU3DyiNJfynCgySkcq4VOdt/uehW1CmeYdVo0v1HDHFJJexcZu UK+A== X-Gm-Message-State: AOAM530Pm62Amd5fx0spm6s7HfxID/og1LEIvte5bFfEA50bcGbCrPoz 0aJG8oLnnjh/TXSZi0EM9+LtFZ3XG8iOXbPnOQA= X-Google-Smtp-Source: ABdhPJw5xzvL6p65oJWCdzJEtLIRfQRzy277mH5Tiq17wUzJ31qBR4XqNjuWFFOa+tcfnQJB98ybZA== X-Received: by 2002:a2e:a547:0:b0:247:f66f:2e2d with SMTP id e7-20020a2ea547000000b00247f66f2e2dmr857950ljn.369.1646858901340; Wed, 09 Mar 2022 12:48:21 -0800 (PST) Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com. [209.85.167.52]) by smtp.gmail.com with ESMTPSA id 206-20020a2e09d7000000b00247eb27d491sm604419ljj.103.2022.03.09.12.48.19 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 09 Mar 2022 12:48:19 -0800 (PST) Received: by mail-lf1-f52.google.com with SMTP id z11so5841573lfh.13 for ; Wed, 09 Mar 2022 12:48:19 -0800 (PST) X-Received: by 2002:ac2:41cf:0:b0:448:1eaa:296c with SMTP id d15-20020ac241cf000000b004481eaa296cmr917150lfi.52.1646858899041; Wed, 09 Mar 2022 12:48:19 -0800 (PST) MIME-Version: 1.0 References: <20220309184238.1583093-1-agruenba@redhat.com> In-Reply-To: From: Linus Torvalds Date: Wed, 9 Mar 2022 12:48:02 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Buffered I/O broken on s390x with page faults disabled (gfs2) To: Andreas Gruenbacher Cc: Catalin Marinas , David Hildenbrand , Alexander Viro , linux-s390 , Linux-MM , linux-fsdevel , linux-btrfs Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: B02D6140013 X-Stat-Signature: p9496n3rpix5x7f4hccii4tpdz17ipmt Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=PWCsZlVy; spf=pass (imf09.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.176 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none X-HE-Tag: 1646858903-460100 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 Wed, Mar 9, 2022 at 12:37 PM Andreas Gruenbacher wrote: > > It's a moot point now, but I don't think handle_mm_fault would have > returned VM_FAULT_RETRY without FAULT_FLAG_ALLOW_RETRY, so there > wouldn't have been any NULL pointer accesses. No, it really does - FAULT_FLAG_KILLABLE will trigger the code in page_lock_or_retry() (->__folio_lock_or_retry) even without FAULT_FLAG_ALLOW_RETRY. So lock_page_or_retry() will drop the mmap_sem and return false, and then you have locked = lock_page_or_retry(page, vma->vm_mm, vmf->flags); if (!locked) { ret |= VM_FAULT_RETRY; goto out_release; } for the swapin case. And mm/filemap.c has essentially the same logic in lock_folio_maybe_drop_mmap(), although the syntax is quite different. Basically FAULT_FLAG_KILLABLE implies a kind of "half-way ALLOW_RETRY" - allow aborting, but only for the fatal signal case. Linus