Thread (5 messages) 5 messages, 4 authors, 2019-09-27

Re: [PATCH] genetlink: prevent memory leak in netlbl_unlabel_defconf

flat view

From: Paul Moore <paul@paul-moore.com>
Date: 2019-09-25 23:27:33
Also in: lkml, netdev

On Wed, Sep 25, 2019 at 6:10 PM Navid Emamdoost
[off-list ref] wrote:
In netlbl_unlabel_defconf if netlbl_domhsh_add_default fails the
allocated entry should be released.

Signed-off-by: Navid Emamdoost <redacted>
---
 net/netlabel/netlabel_unlabeled.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
It is worth noting that netlbl_unlabel_defconf() is only called during
kernel boot by netlbl_init() and if netlbl_unlabel_defconf() returns
an error code the system panics, so this isn't currently a very
practical concern.

That said, netlbl_unlabel_defconf() *should* clean up here just on
principal if nothing else.

Acked-by: Paul Moore <paul@paul-moore.com>
quoted hunk ↗ jump to hunk
diff --git a/net/netlabel/netlabel_unlabeled.c b/net/netlabel/netlabel_unlabeled.c
index d2e4ab8d1cb1..c63ec480ee4e 100644
--- a/net/netlabel/netlabel_unlabeled.c
+++ b/net/netlabel/netlabel_unlabeled.c
@@ -1541,8 +1541,10 @@ int __init netlbl_unlabel_defconf(void)
        entry->family = AF_UNSPEC;
        entry->def.type = NETLBL_NLTYPE_UNLABELED;
        ret_val = netlbl_domhsh_add_default(entry, &audit_info);
-       if (ret_val != 0)
+       if (ret_val != 0) {
+               kfree(entry);
                return ret_val;
+       }

        netlbl_unlabel_acceptflg_set(1, &audit_info);

--
2.17.1

-- 
paul moore
www.paul-moore.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help