Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752879AbbL1VSR (ORCPT ); Mon, 28 Dec 2015 16:18:17 -0500 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:43816 "EHLO out4-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752798AbbL1VSP (ORCPT ); Mon, 28 Dec 2015 16:18:15 -0500 X-Sasl-enc: qL4yMWt9+ctqPTdLRW60FiPHFTr/nwgRIjBlPenX0chl 1451337494 Date: Mon, 28 Dec 2015 13:17:53 -0800 From: Greg Kroah-Hartman To: Rajat Jain Cc: "linux-kernel@vger.kernel.org" , linux-newbie@vger.kernel.org Subject: Re: debugfs_remove_recursive() while a file is in use by userspace Message-ID: <20151228211753.GB24118@kroah.com> References: <20151228203121.GA19753@kroah.com> <20151228205833.GA20955@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2027 Lines: 50 On Mon, Dec 28, 2015 at 01:11:53PM -0800, Rajat Jain wrote: > On Mon, Dec 28, 2015 at 12:58 PM, Greg Kroah-Hartman wrote: > > On Mon, Dec 28, 2015 at 12:51:32PM -0800, Rajat Jain wrote: > >> Thanks Greg and Al for the quick turnaround. > >> > >> Essentially I have a device that supports something called "contexts" > >> that can be "created" and "destroyed" during the life of the device. I > >> want to expose some debug files for the context when it is created, > >> and destroy the files when the context is destroyed. However, I'm not > >> sure how do I ensure that the user is not in the middle of reading / > >> writing / mmaping to those files. Also how do I know that user is > >> still not holding a reference to the file structure. > > > > You don't. > > > >> It seems like debugfs is currently not a good choice for this? Would > >> you recommend me to any other fs or subsystem that I should use for > >> this? > > > > What exactly do you need to export to userspace and for what purpose? > > For debugging-only stuff, sure, use debugfs, but don't rely on it for > > any "real" tools, only your own debugging. > > I'm actually writing a driver that would expose a "dummy device" to a > real driver. The dummy driver relies on user space to feed in the > device attributes (no of supported contexts etc). That sounds "odd". Why not configfs? > I am now thinking that a character device interface to user space may > actually be a better choice. Not really, you would now have to parse things in a character driver write() callback, not very good or robust. > Question: Does cdev_del() ensure that all references to the file are > dropped before it returns? No, but when the reference is dropped, everything cleans up properly. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/