From ccfdad2f499e125ce3f567b12492c176c9459927 Mon Sep 17 00:00:00 2001 From: Luca Coelho Date: Tue, 2 Apr 2019 16:08:23 +0300 Subject: backport: check for failure when allocating ops in genetlink We were not checking if the allocation failed in backport_genl_register_family(), which could lead to NULL pointer dereferences later. Fix that. Signed-off-by: Luca Coelho --- backport/compat/backport-genetlink.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'backport') diff --git a/backport/compat/backport-genetlink.c b/backport/compat/backport-genetlink.c index 885f1756..16971ec3 100644 --- a/backport/compat/backport-genetlink.c +++ b/backport/compat/backport-genetlink.c @@ -220,7 +220,11 @@ int backport_genl_register_family(struct genl_family *family) /* we append one entry to the ops to find our family pointer ... */ ops = kzalloc(sizeof(*ops) * (family->n_ops + 1), GFP_KERNEL); + if (!ops) + return -ENOMEM; + memcpy(ops, family->ops, sizeof(*ops) * family->n_ops); + /* * Remove policy to skip validation as the struct nla_policy * memory layout isn't compatible with the old version -- cgit v1.2.3