public inbox for linux-fsdevel@vger.kernel.org
 help / color / mirror / Atom feed
* fanotify: surprising chain reaction -> deadlock
@ 2019-03-27 12:08 Marko Rauhamaa
  2019-03-29 14:40 ` Jan Kara
  0 siblings, 1 reply; 2+ messages in thread
From: Marko Rauhamaa @ 2019-03-27 12:08 UTC (permalink / raw)
  To: linux-fsdevel


Just an observation of an fanotify complication...

We have just managed to analyze an interesting vicious circle
(simplified):

 * disable IPv6 in the kernel

 * start a file monitor

 * during its initialization, the file monitor

    1. marks file systems with OPEN_PERM

    2. calls socket(PF_INET6)

 * the kernel executes this piece of code (socket.c):

#ifdef CONFIG_MODULES
	/* Attempt to load a protocol module if the find failed.
	 *
	 * 12/09/1996 Marcin: But! this makes REALLY only sense, if the user
	 * requested real, full-featured networking support upon configuration.
	 * Otherwise module support will break!
	 */
	if (rcu_access_pointer(net_families[family]) == NULL)
		request_module("net-pf-%d", family);
#endif

 * request_module spawns "modprobe" in the user space

 * opening "modprobe" is blocked by OPEN_PERM; however, the file monitor
   is still blocked in the socket(2) system call and can't release the
   "modprobe" process

I'm not sure if there is a bug somewhere here but a surprising
interaction nonetheless.


Marko

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-03-29 14:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-27 12:08 fanotify: surprising chain reaction -> deadlock Marko Rauhamaa
2019-03-29 14:40 ` Jan Kara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox