lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 15 Jan 2017 16:45:05 +0100 From: SF Markus Elfring <elfring@...rs.sourceforge.net> To: linux-security-module@...r.kernel.org, selinux@...ho.nsa.gov, Eric Paris <eparis@...isplace.org>, James Morris <james.l.morris@...cle.com>, Paul Moore <paul@...l-moore.com>, "Serge E. Hallyn" <serge@...lyn.com>, Stephen Smalley <sds@...ho.nsa.gov>, William Roberts <william.c.roberts@...el.com> Cc: LKML <linux-kernel@...r.kernel.org>, kernel-janitors@...r.kernel.org Subject: [PATCH 45/46] selinux: Use common error handling code in sidtab_insert() From: Markus Elfring <elfring@...rs.sourceforge.net> Date: Sun, 15 Jan 2017 13:45:45 +0100 Add a jump target so that a bit of exception handling can be better reused at the end of this function. Signed-off-by: Markus Elfring <elfring@...rs.sourceforge.net> --- security/selinux/ss/sidtab.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/security/selinux/ss/sidtab.c b/security/selinux/ss/sidtab.c index f6915f257486..4130f882808c 100644 --- a/security/selinux/ss/sidtab.c +++ b/security/selinux/ss/sidtab.c @@ -35,10 +35,8 @@ int sidtab_insert(struct sidtab *s, u32 sid, struct context *context) int hvalue, rc = 0; struct sidtab_node *prev, *cur, *newnode; - if (!s) { - rc = -ENOMEM; - goto out; - } + if (!s) + goto failure_indication; hvalue = SIDTAB_HASH(sid); prev = NULL; @@ -54,15 +52,12 @@ int sidtab_insert(struct sidtab *s, u32 sid, struct context *context) } newnode = kmalloc(sizeof(*newnode), GFP_ATOMIC); - if (!newnode) { - rc = -ENOMEM; - goto out; - } + if (!newnode) + goto failure_indication; newnode->sid = sid; if (context_cpy(&newnode->context, context)) { kfree(newnode); - rc = -ENOMEM; - goto out; + goto failure_indication; } if (prev) { @@ -80,6 +75,9 @@ int sidtab_insert(struct sidtab *s, u32 sid, struct context *context) s->next_sid = sid + 1; out: return rc; +failure_indication: + rc = -ENOMEM; + goto out; } static struct context *sidtab_search_core(struct sidtab *s, u32 sid, int force) -- 2.11.0
Powered by blists - more mailing lists