Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp768758ybz; Wed, 22 Apr 2020 07:40:54 -0700 (PDT) X-Google-Smtp-Source: APiQypI5imeUE+Mgqkq3cgBnpwlE1GxceC6lJ6nKDXsx7xf4gRetr3M3bJN+04x9GJgevvHcb6bc X-Received: by 2002:a17:906:1502:: with SMTP id b2mr26589957ejd.359.1587566454140; Wed, 22 Apr 2020 07:40:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587566454; cv=none; d=google.com; s=arc-20160816; b=NvWL5ivsudTR3Oul9pnT89YvVtqxcg2gzMNIjkT9PGnCM0kolWCS/Y3XC360pvwnk+ 8c2xkH8takKYwQQ8AOsswABfvR+MjmM0ONsq1SkFcEG5GG8sT6PsIV73dR1a9pQBeLDJ UmdMLjCxdVi3FDYIYqaDjk63HjHhUViMq6SUyCdC2Gp8b/+4sTraz3Z4Gj1M3TVDU8TR 0o2oVP41AzP//nR6N3MawWiIeI0Q58ZChigI5Ng0CK4epy5AoKXA3yvkbw96e1kSrLfn Zt2Nt4DNxbED7cSXQ0J5m9L5RCdmmHDJl9Q3bVKztJKo9CsZu4pzDDvVBGFXimJ5mdpH gR/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :dkim-signature:dkim-signature; bh=/K7vU4wbGvgpvLSdLki26INGLnRWfZfV+o45ltQAf9w=; b=xvprf4hWq1+mgtIIWgbN8j79PQOtWVi2597hxZr+qq62MSPlfNH1qZfRqxAGeGrBbz Kiq2JiM71xIZfgQT0mYrtUBM2/peP5/rRfml3A79ojbNw/Nx5gEtpri4DMCwXJFmKH3z NZxoGbPrgRpRy2Qig/MDBS6e1FVoOni29b7XjCEWc2QFee/ERVdA9oOWt+Vp30rwKHGb z/kUuzfsq/QOiKEGhNJEn1Z67MjWw3WOsJ6qoDCUbxgTT3x2DMqgPYNwTaHjWKc29e3L ff/+5/2T9lOlslkjfBjMwEMzh4qgTxw1D9Qqt3CIdBo19eHVt9SzkFFA1RgoqktGAppm wh6g== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@hansenpartnership.com header.s=20151216 header.b=WrO5XdhM; dkim=fail header.i=@hansenpartnership.com header.s=20151216 header.b=aAZ5k2Gj; 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=fail (p=NONE sp=NONE dis=NONE) header.from=hansenpartnership.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m13si3628076eja.163.2020.04.22.07.40.24; Wed, 22 Apr 2020 07:40:54 -0700 (PDT) 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=fail header.i=@hansenpartnership.com header.s=20151216 header.b=WrO5XdhM; dkim=fail header.i=@hansenpartnership.com header.s=20151216 header.b=aAZ5k2Gj; 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=fail (p=NONE sp=NONE dis=NONE) header.from=hansenpartnership.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727089AbgDVOdB (ORCPT + 99 others); Wed, 22 Apr 2020 10:33:01 -0400 Received: from bedivere.hansenpartnership.com ([66.63.167.143]:57460 "EHLO bedivere.hansenpartnership.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725935AbgDVOdA (ORCPT ); Wed, 22 Apr 2020 10:33:00 -0400 Received: from localhost (localhost [127.0.0.1]) by bedivere.hansenpartnership.com (Postfix) with ESMTP id 659B38EE19C; Wed, 22 Apr 2020 07:32:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=hansenpartnership.com; s=20151216; t=1587565978; bh=M6gdDcbuW+flffcj7MyeO+/4m9VT7LtFOrK/yRp2scQ=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=WrO5XdhMaAlNqj3XroFFwRez3dqb7oiOPLPHX+STuA7bKkQXrqzCXeilgs2vj62a8 dtN7T5MWew9GQ5rEfY3QG2jfw0MOZBCAFJlqWm5balqonOlZMl8LgK+o1HHZ9yL/RJ P7q+a4hsvlPez4qWuCoGEOS2WFTgBuelCsScuJJc= Received: from bedivere.hansenpartnership.com ([127.0.0.1]) by localhost (bedivere.hansenpartnership.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ne34ZMO5wtea; Wed, 22 Apr 2020 07:32:58 -0700 (PDT) Received: from [153.66.254.194] (unknown [50.35.76.230]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bedivere.hansenpartnership.com (Postfix) with ESMTPSA id CC09D8EE0CE; Wed, 22 Apr 2020 07:32:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=hansenpartnership.com; s=20151216; t=1587565977; bh=M6gdDcbuW+flffcj7MyeO+/4m9VT7LtFOrK/yRp2scQ=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=aAZ5k2GjVbhrgCgDYq1cHevIi1wz2C1YDR0Di2NdAIIxxOPJgzetvPaxqQm67/dYG 86owFnqs87t+/+AP5VxJwVX3igQ/oLPNgJMsTtVpgYHpb3YGP/du4FoU7UbDGe5Pio X+J541MSFakK8AyKXdxMyDl6K4CCsOgkMu6rgb3k= Message-ID: <1587565975.3485.5.camel@HansenPartnership.com> Subject: Re: Implement close-on-fork From: James Bottomley To: Nate Karstens , Alexander Viro , Jeff Layton , "J. Bruce Fields" , Arnd Bergmann , Richard Henderson , Ivan Kokshaysky , Matt Turner , Helge Deller , "David S. Miller" , Jakub Kicinski , linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-alpha@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Changli Gao Date: Wed, 22 Apr 2020 07:32:55 -0700 In-Reply-To: <20200420071548.62112-1-nate.karstens@garmin.com> References: <20200420071548.62112-1-nate.karstens@garmin.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.26.6 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2020-04-20 at 02:15 -0500, Nate Karstens wrote: > Series of 4 patches to implement close-on-fork. Tests have been > published to https://github.com/nkarstens/ltp/tree/close-on-fork. > > close-on-fork addresses race conditions in system(), which > (depending on the implementation) is non-atomic in that it > first calls a fork() and then an exec(). Why is this a problem? I get that there's a time between fork and exec when you have open file descriptors, but they should still be running in the binary context of the programme that called fork, i.e. under your control. The security problems don't seem to occur until you exec some random binary, which close on exec covers. So what problem would close on fork fix? > This functionality was approved by the Austin Common Standards > Revision Group for inclusion in the next revision of the POSIX > standard (see issue 1318 in the Austin Group Defect Tracker). URL? Does this standard give a reason why the functionality might be useful. James