fs: lockd: avoid possible wrong NULL parameter
authorSu Hui <suhui@nfschina.com>
Fri, 4 Aug 2023 01:26:57 +0000 (09:26 +0800)
committerChuck Lever <chuck.lever@oracle.com>
Tue, 29 Aug 2023 21:45:22 +0000 (17:45 -0400)
clang's static analysis warning: fs/lockd/mon.c: line 293, column 2:
Null pointer passed as 2nd argument to memory copy function.

Assuming 'hostname' is NULL and calling 'nsm_create_handle()', this will
pass NULL as 2nd argument to memory copy function 'memcpy()'. So return
NULL if 'hostname' is invalid.

Fixes: 77a3ef33e2de ("NSM: More clean up of nsm_get_handle()")
Signed-off-by: Su Hui <suhui@nfschina.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/lockd/mon.c

index 1d9488c..87a0f20 100644 (file)
@@ -276,6 +276,9 @@ static struct nsm_handle *nsm_create_handle(const struct sockaddr *sap,
 {
        struct nsm_handle *new;
 
+       if (!hostname)
+               return NULL;
+
        new = kzalloc(sizeof(*new) + hostname_len + 1, GFP_KERNEL);
        if (unlikely(new == NULL))
                return NULL;