Skip to content

Commit

Permalink
apparmor: cleanup: simplify code to get ns symlink name
Browse files Browse the repository at this point in the history
ns_get_name() is called in only one place and can be folded in.

Signed-off-by: John Johansen <john.johansen@canonical.com>
  • Loading branch information
John Johansen committed Feb 9, 2018
1 parent cf91600 commit a078120
Showing 1 changed file with 6 additions and 19 deletions.
25 changes: 6 additions & 19 deletions security/apparmor/apparmorfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,7 @@ static int aafs_count;

static int aafs_show_path(struct seq_file *seq, struct dentry *dentry)
{
struct inode *inode = d_inode(dentry);

seq_printf(seq, "%s:[%lu]", AAFS_NAME, inode->i_ino);
seq_printf(seq, "%s:[%lu]", AAFS_NAME, d_inode(dentry)->i_ino);
return 0;
}

Expand Down Expand Up @@ -2392,29 +2390,18 @@ static const char *policy_get_link(struct dentry *dentry,
return NULL;
}

static int ns_get_name(char *buf, size_t size, struct aa_ns *ns,
struct inode *inode)
{
int res = snprintf(buf, size, "%s:[%lu]", AAFS_NAME, inode->i_ino);

if (res < 0 || res >= size)
res = -ENOENT;

return res;
}

static int policy_readlink(struct dentry *dentry, char __user *buffer,
int buflen)
{
struct aa_ns *ns;
char name[32];
int res;

ns = aa_get_current_ns();
res = ns_get_name(name, sizeof(name), ns, d_inode(dentry));
if (res >= 0)
res = snprintf(name, sizeof(name), "%s:[%lu]", AAFS_NAME,
d_inode(dentry)->i_ino);
if (res > 0 && res < sizeof(name))
res = readlink_copy(buffer, buflen, name);
aa_put_ns(ns);
else
res = -ENOENT;

return res;
}
Expand Down

0 comments on commit a078120

Please sign in to comment.