Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp3839914pxu; Wed, 9 Dec 2020 01:45:52 -0800 (PST) X-Google-Smtp-Source: ABdhPJyiQ5ta6A1aA2zKoy4Uov5QyWp8w+ObMaY+EJ+UgOrvSlCQohuQbIgWM+zTG0Wo8sh/1IGU X-Received: by 2002:a50:d553:: with SMTP id f19mr1136956edj.323.1607507151907; Wed, 09 Dec 2020 01:45:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607507151; cv=none; d=google.com; s=arc-20160816; b=g14vzkd0PL6wn6yfF2Lf1Z8TBTKcftV2p0ksn/DwmWEYYfVwFWY9ukJCQyiSY362Ez CvWWV5M9/AGimlz4QD9rdE+iK4goQHQd4AByRIaqpoQ06jVRPEZWi96XSQePAGaCkBzs zoqoz923gM7DYm8EdiNkmuPiGP7RxOYriGc3lK6Fsxf2+VvAtHVbkmiS+ioqPJU8Vy5S FHrE30WdXaWdgK5Vu7cVQXl7v+UzcRxZv72ZZZnE8gxkOVmR/1i3S0aiwTujqy8zfgRh Tg7e0PvlAXYyVDQ4nv2GayIN+rGS57bsPKO97ZN51JAZd2vwu1Xh9aaIFIvVCSw7C/g5 yabQ== 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; bh=8c54gAR0NU5bNZOimvqM4ONdDC98rPhKJ41xJ/dqMSY=; b=jqw3ayVhPgkAr4lLWhEAC7d7Q1jswRWtY1DJs910RVx2Jt1BiMS0QUtYOPfZYUUeaY aZ4KBdr08WinkU3shdJx5dKRlmewwYEnE8qteGZvlJ2BuXlpX51CgQR/MbLsdesP0o7t NgSUiJHcZSx7kO5hmM88jWrd9NN9ZfrUiJ6OxUnjXNR5oG0xt8pz+ar2HZ36LYSWmLlp cGqMRpZ6fuRiGYF0/lnBYA2KXYP8vetVzyDgjrd/z0K0vgr4OLxSqRxHU9hpZBSlMyo6 cY27x1zoJp/RZ5MJwvw62kGIaD3jFPsBorfg+Uck9IQEnfObSbvR4APlPiGhZuBJSlzX WlnA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id qp17si478525ejb.516.2020.12.09.01.45.28; Wed, 09 Dec 2020 01:45:51 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729425AbgLIJl1 (ORCPT + 99 others); Wed, 9 Dec 2020 04:41:27 -0500 Received: from youngberry.canonical.com ([91.189.89.112]:47380 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728634AbgLIJl1 (ORCPT ); Wed, 9 Dec 2020 04:41:27 -0500 Received: from ip5f5af0a0.dynamic.kabel-deutschland.de ([95.90.240.160] helo=wittgenstein) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kmvxf-0006TM-Ro; Wed, 09 Dec 2020 09:40:39 +0000 Date: Wed, 9 Dec 2020 10:40:39 +0100 From: Christian Brauner To: "Michael Kerrisk (man-pages)" Cc: Stephen Kitt , linux-man , Alejandro Colomar , lkml Subject: Re: [patch] close_range.2: new page documenting close_range(2) Message-ID: <20201209094039.ksqlt7g5mq7mp4mq@wittgenstein> References: <20201208215133.30575-1-steve@sk2.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Dec 09, 2020 at 09:50:38AM +0100, Michael Kerrisk (man-pages) wrote: > Hello Stephen > > Thank you for writing this page! Some comments/questions below. > > On Tue, 8 Dec 2020 at 22:51, Stephen Kitt wrote: > > > > This documents close_range(2) based on information in > > 278a5fbaed89dacd04e9d052f4594ffd0e0585de and > > 60997c3d45d9a67daf01c56d805ae4fec37e0bd8. > > (Thanks for noting these commit IDs.) > > > Signed-off-by: Stephen Kitt > > --- > > man2/close_range.2 | 112 +++++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 112 insertions(+) > > create mode 100644 man2/close_range.2 > > > > diff --git a/man2/close_range.2 b/man2/close_range.2 > > new file mode 100644 > > index 000000000..62167d9b0 > > --- /dev/null > > +++ b/man2/close_range.2 > > @@ -0,0 +1,112 @@ > > +.\" Copyright (c) 2020 Stephen Kitt > > +.\" > > +.\" %%%LICENSE_START(VERBATIM) > > +.\" Permission is granted to make and distribute verbatim copies of this > > +.\" manual provided the copyright notice and this permission notice are > > +.\" preserved on all copies. > > +.\" > > +.\" Permission is granted to copy and distribute modified versions of this > > +.\" manual under the conditions for verbatim copying, provided that the > > +.\" entire resulting derived work is distributed under the terms of a > > +.\" permission notice identical to this one. > > +.\" > > +.\" Since the Linux kernel and libraries are constantly changing, this > > +.\" manual page may be incorrect or out-of-date. The author(s) assume no > > +.\" responsibility for errors or omissions, or for damages resulting from > > +.\" the use of the information contained herein. The author(s) may not > > +.\" have taken the same level of care in the production of this manual, > > +.\" which is licensed free of charge, as they might when working > > +.\" professionally. > > +.\" > > +.\" Formatted or processed versions of this manual, if unaccompanied by > > +.\" the source, must acknowledge the copyright and authors of this work. > > +.\" %%%LICENSE_END > > +.\" > > +.TH CLOSE_RANGE 2 2020-12-08 "Linux" "Linux Programmer's Manual" > > +.SH NAME > > +close_range \- close all file descriptors in a given range > > +.SH SYNOPSIS > > +.nf > > +.B #include > > +.PP > > +.BI "int close_range(int " first ", int " last ", unsigned int " flags ); > > +.fi > > +.SH DESCRIPTION > > +The > > +.BR close_range () > > +system call closes all open file descriptors from > > +.I first > > +to > > +.IR last > > +(included). > > +.PP > > +Errors closing a given file descriptor are currently ignored. > > +.PP > > +.I flags > > +can be set to > > +.B CLOSE_RANGE_UNSHARE > > +to unshare the range of file descriptors from any other processes, > > +.I instead > > +of closing them. > > Really "instead of closing them"? I had supposed that rather that this > should be "before closing them". That's also how the kernel code reads > to me, from a quick glance. It's also mentioned in the commit message. Basically setting CLOSE_RANGE_UNSHARE is equivalent to: unshare(CLONE_FILES); close_range(, ); Christian