From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <5716E1F5.1020109@codeaurora.org> Date: Tue, 19 Apr 2016 18:57:09 -0700 From: Nikhilesh Reddy MIME-Version: 1.0 To: linux-fsdevel , Al Viro , Greg KH , Linux Kernel Mailing List , arve@android.com, riandrews@android.com Subject: Re: Umount failing due to a file leak on 3.18 Android References: <5716DAC3.4070404@codeaurora.org> <5716DB92.2080002@codeaurora.org> In-Reply-To: <5716DB92.2080002@codeaurora.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: Adding Arve Hjønnevåg and Riley Andrews I am looking into a bug that results in umount failures ( since there is a mount ref from the leaked file that is never freed on the mount ) The issue seems to be a result of the following callstack 39.958104: <6> Call trace: 39.958108: <2> [] fput+0x1e0/0x1f8 39.958113: <2> [] filp_close+0xa0/0xb8 39.958119: <2> [] put_files_struct+0x88/0xf0 39.958123: <2> [] binder_deferred_func+0x6a8/0x704 39.958129: <2> [] process_one_work+0x238/0x3f0 39.958133: <2> [] worker_thread+0x2f8/0x418 What seems to occur is that once in a while a file ( say a.txt) is fput in the above stack right as the task is being killed And then we see that the fput schedules a delayed_fput_work on this file But when the function delayed_fput() is actually run : the file that was put i.e this a.txt is not in the delayed_fput_list Any chance you can help me get to the bottom of this leak? I dont understand why the delayed_fput_list is missing the file. Is there some sort of race condition? I will appreciate any pointers you can give me to debug this issue Thanks so much in advance for your help. -- Thanks Nikhilesh Reddy Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.