From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 8244 invoked from network); 22 Jan 2022 15:51:13 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 22 Jan 2022 15:51:13 -0000 Received: (qmail 30541 invoked by uid 550); 22 Jan 2022 15:51:11 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 30501 invoked from network); 22 Jan 2022 15:51:10 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1642866658; bh=g+rG1ytBtWbdfWQToj13axjKoQTEpJuW3OEoWQFzhos=; h=X-UI-Sender-Class:Date:From:To:Subject:References:In-Reply-To; b=Cvgi7TNOuib0l/aZEQ6ZSfR0ieDS15m5FHZkJ3CHgblUcJ3pA8PtDh3k46psA30jW lRg2HKWHFZ57TZAtfYG/64dd03iRVy+WHrx5FAgfgBb09fiS9ulN0gHtNWNEYaLWTW xMyFuzt/owCjZ7d4ddp96NWj5eAVP0wL35NI50Po= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Date: Sat, 22 Jan 2022 16:50:57 +0100 From: Markus Wichmann To: musl@lists.openwall.com Message-ID: <20220122155057.GA11883@voyager> References: <20220122145158.3779-1-ismael@iodev.co.uk> <20220122145158.3779-2-ismael@iodev.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220122145158.3779-2-ismael@iodev.co.uk> User-Agent: Mutt/1.9.4 (2018-02-28) X-Provags-ID: V03:K1:BruLuMMux+mIjUwAb8Pzyby79wFfIhq/OyxTYLeeyw6nZyouvZS toaFrXODaQh1PtJEVQT3TFUp4Ljm41wSb82ClHkT+mK/jM3fasqip1C/u3dK7Zc4/n0cg9v AFQQ8Ogoo1q3nO3Ew8MUYTm8z1XAX0tG2E73KYQigDvrfelH4zT4vbNEkmMUb7BbR4l1GBx J5neowIathrfH5ETuU3Bg== X-UI-Out-Filterresults: notjunk:1;V03:K0:VWfRpEEFSyE=:HXB7dT6ZADhMvbDguUdOKt kXMmMXiH3YEwCQgPFlinvb+cA2ypelCKOuyVUdu2BECfTaXhdrKCFXADwIwgF5POHkfHMrUAl obP8ryQO3zk5CauOTEN/K4bGcNRLY0xYGcz0PWXd26HAgolx/g+hSDNHQmmzpXwkHe75t4IHe z8MspPQJMj0HWZOT8ED4qjWeurOLMWMBSnrmtmpx7fBP6vQzTIx0Xm7F4ZxfV1LdR7xT8hIPS SxsHgzYc+HKAFYFk3SP7lVE6ZC8eXbaENqvBEhtX2jySKus/Jy1WYek9j1Wjk+q7AF3NNxPWm Wp1j8HrdjftxJk6CTBg0rz0S+ojfy6NYQqcWASz3+5hCWtKl7FmOmpbGye4pDDO4vf2vNN23I 4rVr05q4mDCljpMmbibGe/b3LWYCjrGxUU1yrHPKfVKfSa2QmnZTshMBuRCgmsAkywsHnEIJw CVasUPo+J8B8xAiFjetJG1NMXee4PGQ0aEJEDeiNYm/gBZFsUd8NYjDrCAapjekRExpVCN1H+ kUXEanm0AdKMgptCL4o0GNhocv0BzjDQlXKhmAyydRTL0RhYTO/t8b5Eow5LEUqe4z7SZIQk8 WIGLeD/dsEVFU/5Ss44zx5eB5bUAI6xHxR87As3huUiqmnZNiazHjI26GaIaxtUmZA8aW37Pu BxEmvhEGgFo5uG8JjuPxMxU/+78OHXHRaCdZ9znY5tPyS+ND0Z733Hx0zu1bwqAFwKt1K70jb 3cOAqaHajMnlrudj497fN5a0lsBrbDfPqpb9b0HzDnHGMYXVhg25XJO6Nz9YHwCalxbIijSjO mwnLiDIVHGMp7QLvRz0iLrdSC5BGvlXGZOMbF5HgVgFiD63ZX+rcexoi+tH+itnqzCt9Cs/v5 WbfQBojdRW/nBdWRX+sLCHqHL8edAKNC/OexDA+M7XZfrWOIUrpVrUMs7ExY6KCC/D9c2s6lm lIe4bbHLN/PO5Jgg9QzPF5n5UaWYjUrrHZ6zsY7pBM7MEGgsh445cNxFpDClV29xCFhl143ch 67Lkbkj6lIx8eJFjM2XwyzNIwQezki8+6hU7xqFCjx3lVFc7JCCVIeswoDZxFJwBo5OqbDZI3 bWM4nblzkXx5XM= Content-Transfer-Encoding: quoted-printable Subject: Re: [musl] [PATCH v2 1/2] nftw: implement FTW_CHDIR On Sat, Jan 22, 2022 at 03:51:58PM +0100, Ismael Luceno wrote: > @@ -133,9 +136,16 @@ int nftw(const char *path, int (*fn)(const char *, = const struct stat *, int, str > } > memcpy(pathbuf, path, l+1); > > + if (flags & FTW_CHDIR) > + orig_dfd =3D open(".", O_CLOEXEC | O_PATH); > + > pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs); > r =3D do_nftw(pathbuf, fn, fd_limit, flags, NULL); > pthread_setcancelstate(cs, 0); > + if (flags & FTW_CHDIR) { > + fchdir(orig_dfd); > + close(orig_dfd); > + } > return r; > } > > -- > 2.33.0 > Erm... maybe a dumb question, but what if either the open() or the fchdir() fails? Is anything specified for that case? Is effectively ignoring FTW_CHDIR OK in that case or would you have to signal failure? I mean, I see that there is not much you can do in either case, but to just fail silently seems wrong to me. Ciao, Markus