Received: by 2002:a05:6358:111d:b0:dc:6189:e246 with SMTP id f29csp2074071rwi; Thu, 3 Nov 2022 12:18:18 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5dWuwX7tYHtBJBNqt823H0jFaQzFbyTBsseRmgLiASgPMIJutwo0BqMOBt5blrM3HWwNA8 X-Received: by 2002:a63:8942:0:b0:46e:c02e:2eaf with SMTP id v63-20020a638942000000b0046ec02e2eafmr27770849pgd.394.1667503098582; Thu, 03 Nov 2022 12:18:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667503098; cv=none; d=google.com; s=arc-20160816; b=s+ZCmOLoUWPO2MZuz5XpTtnM037emIh+0Pn98hPGgiasmjBPBg+iRqMOIWn6v9tM5z uG9ouAtOrl1LONR9mSz2tiEHGsyMsWmP62YoIUDjgv7uYdT6vOUwkWGYYSPHgew64VK+ yX10AmI5oI28mMbTmOysXf6oI+EkQboNntwrTIsvoLoKXJjwNwca2c0tPjzvYbqdMAos 5E+CAsuZw87X+EiTMSEL/IlGqdW8eO+VIz88uPpeFNrp68yeOO0d5Yk5z8cS3+dY3R7J qMdWsmt86ueCcVPO6ouaX/7CRiNa1ou+yRgVLH5jEwnQjcpVkLK3DsqI1Vwv3aUlx/0J lVDA== 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=f/uQDfkK2fUmucYfX1Ucf/NpEisb9X/K5BNzLRcbNjk=; b=sCoUYEB3o1GCyuuexGkOB4Rz30aSGX7hA+CDCpWLV79BHhLa0N304ZQ/T6DUgVFgC7 ctPv3cC1q2Sbz0BTsOy7BqOVJ2N3A5ZFASc83DaIuTMvGmIFr8A2j8srPfg5CFRjmX01 R0c6zA2uqYeUQXAUsP8nzxGU8P/LzfO6PoTvD1CpM+fFiyRP2d9CR8314NYFAipUiilU lZYirD+jjEtkv1gWkae1AqjeFmXCJMaXsMvhUp/qyPlJ599BPUuuPDIIG9Z72jAoAoQB 6YbFRL0CUQpLAcLN8bFFA+XcuXKt4n6xwo3CQL/U8l/5DEmANXiGendaVjySiIWB3PO6 Luvg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@szeredi.hu header.s=google header.b=eo4aBmsy; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=szeredi.hu Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h6-20020a056a00230600b0056783062eaasi2001741pfh.23.2022.11.03.12.18.03; Thu, 03 Nov 2022 12:18:18 -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=@szeredi.hu header.s=google header.b=eo4aBmsy; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=szeredi.hu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231374AbiKCTMR (ORCPT + 98 others); Thu, 3 Nov 2022 15:12:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53886 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230203AbiKCTMM (ORCPT ); Thu, 3 Nov 2022 15:12:12 -0400 Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1A20E1D673 for ; Thu, 3 Nov 2022 12:12:10 -0700 (PDT) Received: by mail-ed1-x52a.google.com with SMTP id r14so4537128edc.7 for ; Thu, 03 Nov 2022 12:12:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=szeredi.hu; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=f/uQDfkK2fUmucYfX1Ucf/NpEisb9X/K5BNzLRcbNjk=; b=eo4aBmsyG+UGDjjhp9wAYAA+8+Qu8opXzwXo5CWtTljOkJVb/P8ecj+xE+UxJ37lU5 YlmhZVx/5EOsCvfLzlLhh/eLXaEJ4vntWDavSok5uhr2/K3IHPoWx2oy5uFd/knc+qfz kXTO0VO9jHOelgutoziifaqvazkEKEWXTsjm0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=f/uQDfkK2fUmucYfX1Ucf/NpEisb9X/K5BNzLRcbNjk=; b=cZfEn91VVqDMOj38Pxu3uYrNINrULLpKDgRZlzUtYvAcUVhRyKqrcclqidujQpmM// YiigHCnHuL0wID0yNqqtHcFZHsWr50ujnUXNSlnvTGJBolEXy6ohaRvAuTIGlOsDPPxV FfGKrebzShVqkcCRA+I77kAJpY8NbbWQ6fGeD77kiUkktKeoXiZgcVphenPOnwyKhUTv 4DQHVcJ5ivlwHpaVKT64Oo4S+lT3Udp5dodxOgyjHxQ/RIehxQaXGpRrMQ2s9crZ9VOO G5g2BLbQROa025hbqTN0k8zuiT5DuPJiRZK+QPpvElP+SsVLa98SQLYq1Nyud+yuGLBn Mg4A== X-Gm-Message-State: ACrzQf3QJMo1aOuAkiosDPRoeiqP6m75/70rv9bvhft9hUkx++2WzV8+ I9bC5JyYhzE0vonG9Q5gs10slfo5Wij7hsxD1DHhpQ== X-Received: by 2002:a05:6402:370c:b0:453:9fab:1b53 with SMTP id ek12-20020a056402370c00b004539fab1b53mr32536090edb.28.1667502728713; Thu, 03 Nov 2022 12:12:08 -0700 (PDT) MIME-Version: 1.0 References: <20221103170210.464155-1-peter.griffin@linaro.org> In-Reply-To: <20221103170210.464155-1-peter.griffin@linaro.org> From: Miklos Szeredi Date: Thu, 3 Nov 2022 20:11:57 +0100 Message-ID: Subject: Re: [PATCH] vfs: vfs_tmpfile: ensure O_EXCL flag is enforced To: Peter Griffin Cc: Alexander Viro , Miklos Szeredi , stable@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Will McVicker , Peter Griffin Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham 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 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 >