Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp2428180pxu; Mon, 14 Dec 2020 01:59:09 -0800 (PST) X-Google-Smtp-Source: ABdhPJw7jBul/UlicHAp2u9v0gqdldofa8GHrzT7MLjcTOR41qlXQ2rcZ5tKVpQJIGF/o+4Hj1DO X-Received: by 2002:a50:d2c8:: with SMTP id q8mr23140178edg.375.1607939949374; Mon, 14 Dec 2020 01:59:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607939949; cv=none; d=google.com; s=arc-20160816; b=t97jJHd1b/kOa5/YxsNFYttTNpM4WA/CNlZbs3Ik7PqTtQ4b18bNKbVp+LWqmSfaPj 8oqRNb/bFvfyukWxFPePPhcxjMaFYedMtINKmwtOzuB9xnUCA5/Bz6XB3kF1s89Q2Qn3 Rvdr57qH0vEHI1usmsYAjcR0S1VljbYrPQ9FO7jDUY3ro+HWnNor+Og4agKtFEotk+YL vhoNW4UeHWiFIXzj+GBMzt/aAmRgnrs2XeBcCnLpXTXd8T4a4at+qWsToVMqeFSYoPTt bWF+XfHV3tyDM/AhyXk6R+MhNO1gu+dH9XVmANJj0XYxek9MKfXL/UisbkA87gFvNv+H N20g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=EzSj9ml19X1fpvFM+ibRGRWOesLE9X7twr2UcjQK6RM=; b=opKfgm36TMeRJRa/exlZX8eQAZbQu3aMk/q+mYxqZrbPR7CDlIY8GuhDZ3G+hRIIaP sRnVTQzeznkpE2oa0fjb9HnI8O5SbBxM9DcM9gtkOw5L6Emuq0DMtirLz6IZtXaYCtZo QOxVdI+YRTHdxGCtsDH2njlQZkbE3WKKErIGv7Va265+ZjWrw2aaVz9N+Av0PqgX1cs8 smXJ+rwAUVXV5wtUIITrNPJYwEkravTh+Qh1ap7DztAO/Hcn0pmNYV4BjdJTgHzpocC9 UaQsWsF8TzDkZ7nnXRkZibLpQjRw30+rCQWEkNQcd8bC0cSxts0zfhZplZnP0NqUO9Bu Ehyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Sj+btmu3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ly25si9142691ejb.326.2020.12.14.01.58.46; Mon, 14 Dec 2020 01:59:09 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Sj+btmu3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389596AbgLNFus (ORCPT + 99 others); Mon, 14 Dec 2020 00:50:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49814 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390077AbgLNFuh (ORCPT ); Mon, 14 Dec 2020 00:50:37 -0500 Received: from mail-io1-xd43.google.com (mail-io1-xd43.google.com [IPv6:2607:f8b0:4864:20::d43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0A57EC0613CF; Sun, 13 Dec 2020 21:49:57 -0800 (PST) Received: by mail-io1-xd43.google.com with SMTP id y5so15758153iow.5; Sun, 13 Dec 2020 21:49:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=EzSj9ml19X1fpvFM+ibRGRWOesLE9X7twr2UcjQK6RM=; b=Sj+btmu338yVzZf9IJdItaTlpCa9OvRugFyIo43i1GTNr2KYCS0DPEhzn4O9iCrVr+ zp3vQ/BceQD+Bha48E8zOrKmt3gAos9yHXxaUXkHNv3N3aPKZ2zVyDhMzDbkNnwE191n ri3rGSjQqbNHHCFovIokFrJwBssQv/BByMDI6bPWMeJOC2MDG04i6v7aeOrtnt7BT6Jy wQRuyXVzALlMPRXn9uUvq+L6r5Hu3Vqxh3HPRX7x6hOAuGwFIILYKvB4TD8NR0lwDi+5 /lnelvPaPz4iXG8pxaYNf4qrpDP6HkZY0u0DL+B7XmH9RyH5lJ/jYcDm0m5lo1yeriTG +fEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=EzSj9ml19X1fpvFM+ibRGRWOesLE9X7twr2UcjQK6RM=; b=DCvvoCTqiNq1JhRmtyWAbvRox97nwSn+JwLAcJOm0Z4kRJCdIAo5e6ugk7Pv6qv5qr dbP3fXCi4nmMB+RGHwGS0Jc1Q4wGMhOLYiG7FjjygeSkkSIxrax5PZIcKHskIsvd4KS4 7ZFzbargG9Gvs92ppB/pQ7epSXvh7F3tcaGO2IDn6kNI4507DMG3soM4mTVvgOaarxd2 GxMRovc/R3e4N8aIY/8hUCpH5s8UmIQybRzDAD8ykLbu292HSQlgAgtpWGIA3i9ng+P+ m6ku/IKJM5b6N1VPIkHUsmhHpvQThRkEXzcPS3PwmALcfPHvPfKFXvGp0fDmRoo8IgFh ha/w== X-Gm-Message-State: AOAM5316ETMpbx1/OZuJHQOFkg04TQhmvJ6bGiLQPT7j1JAVXGcdD7EM LqkENbf8H5s1vDymhdwgsAXnU3VTz3Mg1a61Sc4= X-Received: by 2002:a02:cc89:: with SMTP id s9mr30784713jap.81.1607924996345; Sun, 13 Dec 2020 21:49:56 -0800 (PST) MIME-Version: 1.0 References: <20201207163255.564116-1-mszeredi@redhat.com> <20201207163255.564116-9-mszeredi@redhat.com> In-Reply-To: From: Amir Goldstein Date: Mon, 14 Dec 2020 07:49:45 +0200 Message-ID: Subject: Re: [PATCH v2 08/10] ovl: do not fail because of O_NOATIME To: Miklos Szeredi Cc: Miklos Szeredi , "Eric W . Biederman" , linux-fsdevel , overlayfs , LSM List , linux-kernel Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Dec 11, 2020 at 4:44 PM Miklos Szeredi wrote: > > On Tue, Dec 8, 2020 at 12:32 PM Amir Goldstein wrote: > > > > On Mon, Dec 7, 2020 at 6:37 PM Miklos Szeredi wrote: > > > > > > In case the file cannot be opened with O_NOATIME because of lack of > > > capabilities, then clear O_NOATIME instead of failing. > > > > > > Signed-off-by: Miklos Szeredi > > > --- > > > fs/overlayfs/file.c | 5 +++-- > > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > > > diff --git a/fs/overlayfs/file.c b/fs/overlayfs/file.c > > > index dc767034d37b..d6ac7ac66410 100644 > > > --- a/fs/overlayfs/file.c > > > +++ b/fs/overlayfs/file.c > > > @@ -53,9 +53,10 @@ static struct file *ovl_open_realfile(const struct file *file, > > > err = inode_permission(realinode, MAY_OPEN | acc_mode); > > > if (err) { > > > realfile = ERR_PTR(err); > > > - } else if (!inode_owner_or_capable(realinode)) { > > > - realfile = ERR_PTR(-EPERM); > > > } else { > > > + if (!inode_owner_or_capable(realinode)) > > > + flags &= ~O_NOATIME; > > > + > > > > Isn't that going to break: > > > > flags |= OVL_OPEN_FLAGS; > > > > /* If some flag changed that cannot be changed then something's amiss */ > > if (WARN_ON((file->f_flags ^ flags) & ~OVL_SETFL_MASK)) > > > > IOW setting a flag that is allowed to change will fail because of > > missing O_ATIME in file->f_flags. > > Well spotted. I just removed those lines as a fix. The check never > triggered since its introduction in 4.19, so I guess it isn't worth > adding more complexity for. > > > > > I guess we need test coverage for SETFL. > > There might be some in ltp, haven't checked. Would be nice if the fs > related ltp tests could be integrated into xfstests. > There is some test coverage for SETFL in xfstests. The t_immutable tests for one, but those would not run if the mounter has no CAP_LINUX_IMMUTABLE, so would not have been useful to detect the problem above. fsstress also seems to have support for SETFL ops, but I am not sure in how many tests it is exercises and perhaps the relevant problem would have been covered by some stress test that is not in the 'quick' tests group. Thanks, Amir.