Received: by 2002:a05:6358:111d:b0:dc:6189:e246 with SMTP id f29csp2116673rwi; Thu, 3 Nov 2022 12:53:45 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4ldCgci5v0aA9cOhDCbnY1dN/fOxvv4Da6xSMXt2RL1ZzvfLFtAgxhZbvhan3dfdzzGH6H X-Received: by 2002:a17:906:9b92:b0:791:9355:cb89 with SMTP id dd18-20020a1709069b9200b007919355cb89mr30466038ejc.498.1667505225161; Thu, 03 Nov 2022 12:53:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667505225; cv=none; d=google.com; s=arc-20160816; b=vwooDpK0/jSJmPF1RDlCDGmIaciKGS9vW5KbNb9fJZSl1QexNGB0taRZ4p49tiilIO 23uPxdY29Yy3OP+kW3W1UI3DX+bSOYxVuLtiYjwo44LZ97YI7sKoH4fBSuftMfGSfalA gd6c9SkLzoJVYpoVpVBsFkeNPzt1+7+QjWbtR4EZD6VW8QlHsR1LHuP567/frUyEUQ8b KQy1xWemdabUWWcHetr344sqyAXPLLJ4nn+JKaFeAxve6pE9rZWKXVMgaBBRrWlBPX0X M4+hhiMe/b7alupO56iA5VWjr+Vr3WItcGlBHrSZWgvXhpvdNCA6rGnS//hizhZTF3BW P3yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=xgoPm2R0CuXdxGNaslW+xJKWGXjLoyPWOa1UTKM+sws=; b=jVPc4jkxc8M/KUHVseEag/6HwuLIOTNG/0gAH2KmU4un9skMeEyazEmrRCElf9z58I pL+fkD3v+opla/hUKcL3FMTj+TdKtBczO7WQziBkBbckkl8Dh3D8jvIy4IrbSx1G0xHj hzKRCDaBkRRZ5ICv1iXJbGCoqLAE11ZxekKTRNgc7tg/FSZ9fK/WiL3WNP/DbAmX8XKi ATob1Wo7mFudEKaMMp9R7kdgsKq5lxvPTK/VqZOb9NweT4iZbTBSt1Ew8vgov+3gHLvp 1VdDhnaqSJYqNzMGBm01u/vF97Avww2S4hGhRgXBjiBAK/5flluIyXhG7r5f+cH92OhC W2IA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="W9yQ/Ff5"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q5-20020a056402248500b00456d901922bsi2061371eda.510.2022.11.03.12.53.21; Thu, 03 Nov 2022 12:53:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="W9yQ/Ff5"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229485AbiKCTdZ (ORCPT + 97 others); Thu, 3 Nov 2022 15:33:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229745AbiKCTdV (ORCPT ); Thu, 3 Nov 2022 15:33:21 -0400 Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3818C1F9D9 for ; Thu, 3 Nov 2022 12:33:19 -0700 (PDT) Received: by mail-pj1-x1033.google.com with SMTP id d13-20020a17090a3b0d00b00213519dfe4aso2764953pjc.2 for ; Thu, 03 Nov 2022 12:33:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=xgoPm2R0CuXdxGNaslW+xJKWGXjLoyPWOa1UTKM+sws=; b=W9yQ/Ff5mdNs0R2WWJko8a6svdLviE6byfEsP7bJ1qScSHAPnjD3FQYPSGabReYHUf 8hWY/DAuxcVeepbuv/604qduGYF5eAp/d12XaaMMowmcLMNHWlro4iDaQFMZnm5x11vV vDo6Y3brtEypKl93OUolMAW6yU2sYBtY64xjHfR6DiBjtkOmDmMwu4299hNKRTMsx7LA x5XfkX/6K2w0eIVfYXx3pYjKOF1NW5g+o2Bzjhkf5K3deAiBZ8Dv1wFaBXeFUVo7Voro XG0Gy5efNXAK67/6rdindLAb8gHcud4AQMMdi0RWNVF04j8YwjWS8UTZ2FQI3Vr1yeJ5 aL3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=xgoPm2R0CuXdxGNaslW+xJKWGXjLoyPWOa1UTKM+sws=; b=G1+XK+QN300ECdfy/0obS5QIs1q0yO7jT3JLAlMiunFCRZNQ9V1o+4gh+O+iuea2Nq cJuBK/GdfANGhZ9+oh2hnX7Gk2M/S6yt+373SWM2h9EbcXOEt41JDGc9lIgWeM/mTJii X5MzKpw30UC973mcJmvBvi/1ibi4xDQGNZ5NVD2heflp1nFG2zSKkfjeE7xXAd2YVhla eUe2o4nwyISHY8u44tHBqkIyCT/IYqmpoiNill7O13qXeEOZdMpeiMh/TLe/mwz5D4UQ 5XLDbMqGhQlOSPcy4CLRgVb84N7w2WUKztWAi7IlOdhJibEJbnNf9VB+shtmK6Ieba+T a0wg== X-Gm-Message-State: ACrzQf038h7HXCPkFLDWv4UHFHrVTYwwGrEaUPBSaQqa1QMqeQO9fySh 7TQyex2s2OE0OHI/i/lPjR1Kbg== X-Received: by 2002:a17:90b:1c0c:b0:213:1455:131f with SMTP id oc12-20020a17090b1c0c00b002131455131fmr50133537pjb.129.1667503998609; Thu, 03 Nov 2022 12:33:18 -0700 (PDT) Received: from google.com (13.65.82.34.bc.googleusercontent.com. [34.82.65.13]) by smtp.gmail.com with ESMTPSA id a7-20020aa794a7000000b00553d573222fsm1072563pfl.199.2022.11.03.12.33.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Nov 2022 12:33:17 -0700 (PDT) Date: Thu, 3 Nov 2022 12:33:14 -0700 From: William McVicker To: Peter Griffin Cc: Peter Griffin , Alexander Viro , Miklos Szeredi , stable@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Peter Griffin Subject: Re: [PATCH] vfs: vfs_tmpfile: ensure O_EXCL flag is enforced Message-ID: References: <20221103170210.464155-1-peter.griffin@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-15.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,FSL_HELO_FAKE,HK_RANDOM_ENVFROM,HK_RANDOM_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL, USER_IN_DEF_SPF_WL autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/03/2022, Miklos Szeredi wrote: > On Thu, 3 Nov 2022 at 18:04, Peter Griffin wrote: > > > > If O_EXCL is *not* specified, then linkat() can be > > used to link the temporary file into the filesystem. > > If O_EXCL is specified then linkat() should fail (-1). > > > > After commit 863f144f12ad ("vfs: open inside ->tmpfile()") > > the O_EXCL flag is no longer honored by the vfs layer for > > tmpfile, which means the file can be linked even if O_EXCL > > flag is specified, which is a change in behaviour for > > userspace! > > > > The open flags was previously passed as a parameter, so it > > was uneffected by the changes to file->f_flags caused by > > finish_open(). This patch fixes the issue by storing > > file->f_flags in a local variable so the O_EXCL test > > logic is restored. > > > > This regression was detected by Android CTS Bionic fcntl() > > tests running on android-mainline [1]. > > > > [1] https://android.googlesource.com/platform/bionic/+/ > > refs/heads/master/tests/fcntl_test.cpp#352 > > Looks good. > > Acked-by: Miklos Szeredi > > Thanks, > Miklos > > Thanks Peter for tracking this down! I tested this on the android-mainline version of 6.1-rc3 on a Pixel 6 device. Tested-by: Will McVicker Regards, Will