Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 88380fe6 authored by Andreas Gruenbacher's avatar Andreas Gruenbacher Committed by Eric Paris
Browse files

fanotify: remove fanotify.h declarations



fanotify_mark_validate functions are all needlessly declared in headers as
static inlines.  Instead just do the checks where they are needed for code
readability.

Signed-off-by: default avatarAndreas Gruenbacher <agruen@suse.de>
Signed-off-by: default avatarEric Paris <eparis@redhat.com>
parent f3640192
Loading
Loading
Loading
Loading
+0 −25
Original line number Diff line number Diff line
@@ -6,31 +6,6 @@

extern const struct fsnotify_ops fanotify_fsnotify_ops;

static inline bool fanotify_mark_flags_valid(unsigned int flags)
{
	/* must be either and add or a remove */
	if (!(flags & (FAN_MARK_ADD | FAN_MARK_REMOVE)))
		return false;

	/* cannot be both add and remove */
	if ((flags & FAN_MARK_ADD) &&
	    (flags & FAN_MARK_REMOVE))
		return false;

	/* cannot have more flags than we know about */
	if (flags & ~FAN_ALL_MARK_FLAGS)
		return false;

	return true;
}

static inline bool fanotify_mask_valid(__u32 mask)
{
	if (mask & ~((__u32)FAN_ALL_INCOMING_EVENTS))
		return false;
	return true;
}

static inline __u32 fanotify_outgoing_mask(__u32 mask)
{
	return mask & FAN_ALL_OUTGOING_EVENTS;
+10 −15
Original line number Diff line number Diff line
@@ -430,20 +430,6 @@ static int fanotify_add_inode_mark(struct fsnotify_group *group,
	return 0;
}

static bool fanotify_mark_validate_input(int flags,
					 __u32 mask)
{
	pr_debug("%s: flags=%x mask=%x\n", __func__, flags, mask);

	/* are flags valid of this operation? */
	if (!fanotify_mark_flags_valid(flags))
		return false;
	/* is the mask valid? */
	if (!fanotify_mask_valid(mask))
		return false;
	return true;
}

/* fanotify syscalls */
SYSCALL_DEFINE3(fanotify_init, unsigned int, flags, unsigned int, event_f_flags,
		unsigned int, priority)
@@ -505,7 +491,16 @@ SYSCALL_DEFINE(fanotify_mark)(int fanotify_fd, unsigned int flags,
	if (mask & ((__u64)0xffffffff << 32))
		return -EINVAL;

	if (!fanotify_mark_validate_input(flags, mask))
	if (flags & ~FAN_ALL_MARK_FLAGS)
		return -EINVAL;
	switch (flags & (FAN_MARK_ADD | FAN_MARK_REMOVE)) {
	case FAN_MARK_ADD:
	case FAN_MARK_REMOVE:
		break;
	default:
		return -EINVAL;
	}
	if (mask & ~(FAN_ALL_EVENTS | FAN_EVENT_ON_CHILD))
		return -EINVAL;

	filp = fget_light(fanotify_fd, &fput_needed);
+0 −7
Original line number Diff line number Diff line
@@ -47,13 +47,6 @@
			FAN_CLOSE |\
			FAN_OPEN)

/*
 * All legal FAN bits userspace can request (although possibly not all
 * at the same time.
 */
#define FAN_ALL_INCOMING_EVENTS	(FAN_ALL_EVENTS |\
				 FAN_EVENT_ON_CHILD)

#define FAN_ALL_OUTGOING_EVENTS	(FAN_ALL_EVENTS |\
				 FAN_Q_OVERFLOW)