selinux: cleanup return codes in avtab_read_item()
authorDan Carpenter <error27@gmail.com>
Sat, 12 Jun 2010 18:50:35 +0000 (20:50 +0200)
committerJames Morris <jmorris@namei.org>
Mon, 2 Aug 2010 05:35:01 +0000 (15:35 +1000)
commit9e0bd4cba4460bff64fb07cfb07849cdfd4d325a
treefeebec6167012e461d286c02ae45348ad0b2d3a1
parentdce3a3d2ee038d230323fe06b061dbaace6b8f94
selinux: cleanup return codes in avtab_read_item()

The avtab_read_item() function tends to return -1 as a default error
code which is wrong (-1 means -EPERM).  I modified it to return
appropriate error codes which is -EINVAL or the error code from
next_entry() or insertf().

next_entry() returns -EINVAL.
insertf() is a function pointer to either avtab_insert() or
cond_insertf().
avtab_insert() returns -EINVAL, -ENOMEM, and -EEXIST.
cond_insertf() currently returns -1, but I will fix it in a later patch.

There is code in avtab_read() which translates the -1 returns from
avtab_read_item() to -EINVAL. The translation is no longer needed, so I
removed it.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Stephen D. Smalley <sds@tycho.nsa.gov>
Signed-off-by: James Morris <jmorris@namei.org>
security/selinux/ss/avtab.c