On Aug 1, 2015 12:44 PM, "Richard Guy Briggs" <rgb@redhat.com> wrote:
>
> Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
> ---
>  include/uapi/linux/audit.h |    2 ++
>  kernel/audit.c             |    2 +-
>  kernel/audit_watch.c       |    8 ++++----
>  kernel/auditsc.c           |    6 +++---
>  4 files changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h
> index d3475e1..971df22 100644
> --- a/include/uapi/linux/audit.h
> +++ b/include/uapi/linux/audit.h
> @@ -440,6 +440,8 @@ struct audit_tty_status {
>  };
>
>  #define AUDIT_UID_UNSET (unsigned int)-1
> +#define AUDIT_INO_UNSET (unsigned long)-1
> +#define AUDIT_DEV_UNSET (unsigned)-1

Why unsigned int in one but unsigned in the other?

>
>  /* audit_rule_data supports filter rules with both integer and string
>   * fields.  It corresponds with AUDIT_ADD_RULE, AUDIT_DEL_RULE and
> diff --git a/kernel/audit.c b/kernel/audit.c
> index 1c13e42..d546003 100644
> --- a/kernel/audit.c
> +++ b/kernel/audit.c
> @@ -1761,7 +1761,7 @@ void audit_log_name(struct audit_context *context, struct audit_names *n,
>         } else
>                 audit_log_format(ab, " name=(null)");
>
> -       if (n->ino != (unsigned long)-1)
> +       if (n->ino != AUDIT_INO_UNSET)
>                 audit_log_format(ab, " inode=%lu"
>                                  " dev=%02x:%02x mode=%#ho"
>                                  " ouid=%u ogid=%u rdev=%02x:%02x",
> diff --git a/kernel/audit_watch.c b/kernel/audit_watch.c
> index 8f123d7..c668bfc 100644
> --- a/kernel/audit_watch.c
> +++ b/kernel/audit_watch.c
> @@ -138,7 +138,7 @@ char *audit_watch_path(struct audit_watch *watch)
>
>  int audit_watch_compare(struct audit_watch *watch, unsigned long ino, dev_t dev)
>  {
> -       return (watch->ino != (unsigned long)-1) &&
> +       return (watch->ino != AUDIT_INO_UNSET) &&
>                 (watch->ino == ino) &&
>                 (watch->dev == dev);
>  }
> @@ -179,8 +179,8 @@ static struct audit_watch *audit_init_watch(char *path)
>         INIT_LIST_HEAD(&watch->rules);
>         atomic_set(&watch->count, 1);
>         watch->path = path;
> -       watch->dev = (dev_t)-1;
> -       watch->ino = (unsigned long)-1;
> +       watch->dev = AUDIT_DEV_UNSET;
> +       watch->ino = AUDIT_INO_UNSET;
>
>         return watch;
>  }
> @@ -493,7 +493,7 @@ static int audit_watch_handle_event(struct fsnotify_group *group,
>         if (mask & (FS_CREATE|FS_MOVED_TO) && inode)
>                 audit_update_watch(parent, dname, inode->i_sb->s_dev, inode->i_ino, 0);
>         else if (mask & (FS_DELETE|FS_MOVED_FROM))
> -               audit_update_watch(parent, dname, (dev_t)-1, (unsigned long)-1, 1);
> +               audit_update_watch(parent, dname, AUDIT_DEV_UNSET, AUDIT_INO_UNSET, 1);
>         else if (mask & (FS_DELETE_SELF|FS_UNMOUNT|FS_MOVE_SELF))
>                 audit_remove_parent_watches(parent);
>
> diff --git a/kernel/auditsc.c b/kernel/auditsc.c
> index 9fb9d1c..701ea5c 100644
> --- a/kernel/auditsc.c
> +++ b/kernel/auditsc.c
> @@ -180,7 +180,7 @@ static int audit_match_filetype(struct audit_context *ctx, int val)
>                 return 0;
>
>         list_for_each_entry(n, &ctx->names_list, list) {
> -               if ((n->ino != -1) &&
> +               if ((n->ino != AUDIT_INO_UNSET) &&
>                     ((n->mode & S_IFMT) == mode))
>                         return 1;
>         }
> @@ -1683,7 +1683,7 @@ static struct audit_names *audit_alloc_name(struct audit_context *context,
>                 aname->should_free = true;
>         }
>
> -       aname->ino = (unsigned long)-1;
> +       aname->ino = AUDIT_INO_UNSET;
>         aname->type = type;
>         list_add_tail(&aname->list, &context->names_list);
>
> @@ -1925,7 +1925,7 @@ void __audit_inode_child(const struct inode *parent,
>         if (inode)
>                 audit_copy_inode(found_child, dentry, inode);
>         else
> -               found_child->ino = (unsigned long)-1;
> +               found_child->ino = AUDIT_INO_UNSET;
>  }
>  EXPORT_SYMBOL_GPL(__audit_inode_child);
>
> --
> 1.7.1
>
> --
> Linux-audit mailing list
> Linux-audit@redhat.com
> https://www.redhat.com/mailman/listinfo/linux-audit