# SPDX-License-Identifier: GPL-2.0-only
config FANOTIFY
	bool "Filesystem wide access notification"
	select FSNOTIFY
	select EXPORTFS
	default n
	help
	   Say Y here to enable fanotify support.  fanotify is a file access
	   notification system which differs from inotify in that it sends
	   an open file descriptor to the userspace listener along with
	   the event.

	   If unsure, say Y.

config FANOTIFY_ACCESS_PERMISSIONS
	bool "fanotify permissions checking"
	depends on FANOTIFY
	depends on SECURITY
	default n
	help
	   Say Y here is you want fanotify listeners to be able to make permissions
	   decisions concerning filesystem events.  This is used by some fanotify
	   listeners which need to scan files before allowing the system access to
	   use those files.  This is used by some anti-malware vendors and by some
	   hierarchical storage management systems.

	   If unsure, say N.
