Skip to content

Commit

Permalink
fanotify: remove fanotify.h declarations
Browse files Browse the repository at this point in the history
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: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Eric Paris <eparis@redhat.com>
  • Loading branch information
Andreas Gruenbacher authored and Eric Paris committed Jul 28, 2010
1 parent f364019 commit 88380fe
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 47 deletions.
25 changes: 0 additions & 25 deletions fs/notify/fanotify/fanotify.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
25 changes: 10 additions & 15 deletions fs/notify/fanotify/fanotify_user.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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);
Expand Down
7 changes: 0 additions & 7 deletions include/linux/fanotify.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down

0 comments on commit 88380fe

Please sign in to comment.