From mboxrd@z Thu Jan 1 00:00:00 1970 From: greg@kroah.com (Greg KH) Date: Sat, 14 Nov 2015 17:03:44 -0800 Subject: How to get list of all files open in the system In-Reply-To: <8B70E6A77A644014ADEC93962391CDE4@userd2e90fe60c> References: <8B70E6A77A644014ADEC93962391CDE4@userd2e90fe60c> Message-ID: <20151115010344.GA1811@kroah.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org On Sat, Nov 14, 2015 at 08:13:26PM +0200, Sergei Starovoi wrote: > Hi, all. > > I'm writing a kernel module. One of its tasks requires getting full paths of > all open files in the system. That's a very odd request, why would a kernel module ever care about such a thing? And in what namespace do these files need to be in? > My first solution essentially looks like: > for_each_process_thread(process, thread) > iterate_fd(files, 0, my_callback, NULL); > my_callback calls d_path for passed file->f_path to get its full path. > > But this solution has obvious problems: > A. It will skip files which were opened directly from kernel code (using > filp_open for example); You shouldn't care about those, but then again, you aren't saying why you care about open files, so I can't judge that. thanks, greg k-h