[PATCH] genetlink: prevent memory leak in netlbl_unlabel_defconf
Paul Moore
paul at paul-moore.com
Wed Sep 25 23:27:16 UTC 2019
On Wed, Sep 25, 2019 at 6:10 PM Navid Emamdoost
<navid.emamdoost at gmail.com> wrote:
>
> In netlbl_unlabel_defconf if netlbl_domhsh_add_default fails the
> allocated entry should be released.
>
> Signed-off-by: Navid Emamdoost <navid.emamdoost at gmail.com>
> ---
> 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 at paul-moore.com>
> 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
More information about the Linux-security-module-archive
mailing list