Orangefs: don't propogate whacky error codes
authorMike Marshall <hubcap@omnibond.com>
Thu, 25 Jan 2018 19:43:28 +0000 (14:43 -0500)
committerMike Marshall <hubcap@omnibond.com>
Tue, 6 Feb 2018 21:38:12 +0000 (16:38 -0500)
When we get an error return code from userspace (the client-core)
we check to make sure it is a valid code.

This patch maps the whacky return code to -EINVAL instead of
propagating garbage back up the call chain potentially resulting
in a hard-to-find train-wreck.

The client-core doesn't have any business returning whacky return
codes, but if it does, we don't want the kernel to crash as a result.

Signed-off-by: Mike Marshall <hubcap@omnibond.com>
fs/orangefs/orangefs-utils.c

index 3098c2ee7b5f1cf1b228e05908959967f770d0b3..ccddfcab7fc0f3a3bc34f0a802ad4f613ddcf323 100644 (file)
@@ -537,6 +537,7 @@ int orangefs_normalize_to_errno(__s32 error_code)
         */
        } else {
                gossip_err("orangefs: orangefs_normalize_to_errno: got error code which is not from ORANGEFS.\n");
+               error_code = -EINVAL;
        }
        return error_code;
 }