From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753188AbaI0H22 (ORCPT ); Sat, 27 Sep 2014 03:28:28 -0400 Received: from mout.gmx.net ([212.227.15.19]:52493 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752739AbaI0H20 (ORCPT ); Sat, 27 Sep 2014 03:28:26 -0400 Message-ID: <542666B2.9080700@gmx.de> Date: Sat, 27 Sep 2014 09:26:42 +0200 From: Heinrich Schuchardt User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.0 MIME-Version: 1.0 To: Andrew Morton CC: Yann Droneaud , Eric Paris , Richard Guy Briggs , Al Viro , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, stable@vger.kernel.org, linux-api@vger.kernel.org, Jan Kara , Lino Sanfilippo Subject: Re: [PATCHv8 1/6] fanotify: enable close-on-exec on events' fd when requested in fanotify_init() References: <9d050a2db4f9cf68cd6cb038f16cccb0f73c6e66.1411562410.git.ydroneaud@opteya.com> <542481B3.8070300@gmx.de> <1411721898.7778.18.camel@localhost.localdomain> In-Reply-To: <1411721898.7778.18.camel@localhost.localdomain> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:CFjx7XRCGeXy/jaCSJNzTQBxKDqyDerMAwog+rCHtslUvxLBHwm AYSKrbIBdXHUcPdWuwGDlnJlWheRLDFWBpatLxA5A1bgFCx1nVVysRVf9Nhejt6zwuJJFct fQ2cITG8fl0Ttq2R8t9IFX+TxoSleuLwW1+0etyFy9YMP2tb5KqG4CwiVsvVeqj+4/qkh0q YKPGkgaAylWWlEksVgWDQ== X-UI-Out-Filterresults: notjunk:1; Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello Andrew, please, add the patch described in https://lkml.org/lkml/2014/9/24/967 to the MM tree. I have tested kernel 3.17.0-rc6 with and without the patch and it fixes the described error. As the patch is valid independent of the rest of the patch set, there is no reason to wait for the rest to be merged. You may add Reviewed by: Heinrich Schuchardt Best regards Heinrich Schuchardt On 26.09.2014 10:58, Yann Droneaud wrote: > Hi, > > Le jeudi 25 septembre 2014 à 22:57 +0200, Heinrich Schuchardt a écrit : >> On 24.09.2014 15:11, Yann Droneaud wrote: >>> According to commit 80af258867648 ('fanotify: groups can specify >>> their f_flags for new fd'), file descriptors created as part of >>> file access notification events inherit flags from the >>> event_f_flags argument passed to syscall fanotify_init(2). >>> >>> So while it is legal for userspace to call fanotify_init() with >>> O_CLOEXEC as part of its second argument, O_CLOEXEC is currently >>> silently ignored. >>> >>> Indeed event_f_flags are only given to dentry_open(), which only >>> seems to care about O_ACCMODE and O_PATH in do_dentry_open(), >>> O_DIRECT in open_check_o_direct() and O_LARGEFILE in >>> generic_file_open(). >> >> I tested on kernel 3.17.0-rc5. I passed O_CLOEXEC in event_f_flags. >> When I called fcnt(event_metadata->fd, F_GETFD) it did not return >> FD_CLOEXEC. So I can confirm your observation that O_CLOEXEC is not >> working as expected. >> >> I found this definition >> #define get_unused_fd() get_unused_fd_flags(0) >> >> So essentially when get_unused_fd() is called for a fanotify event >> O_CLOEXEC is ignored. >> >> This is what your patch fixes. >>