net: add sanity check in proto_register()
authorEric Dumazet <edumazet@google.com>
Wed, 16 Feb 2022 17:18:01 +0000 (09:18 -0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 18 Feb 2022 04:06:06 +0000 (20:06 -0800)
prot->memory_allocated should only be set if prot->sysctl_mem
is also set.

This is a followup of commit 25206111512d ("crypto: af_alg - get
rid of alg_memory_allocated").

Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20220216171801.3604366-1-eric.dumazet@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/sock.c

index 09d31a7..d76218a 100644 (file)
@@ -3718,6 +3718,10 @@ int proto_register(struct proto *prot, int alloc_slab)
 {
        int ret = -ENOBUFS;
 
+       if (prot->memory_allocated && !prot->sysctl_mem) {
+               pr_err("%s: missing sysctl_mem\n", prot->name);
+               return -EINVAL;
+       }
        if (alloc_slab) {
                prot->slab = kmem_cache_create_usercopy(prot->name,
                                        prot->obj_size, 0,