]> Git Repo - linux.git/commitdiff
ocfs2: Use ERR_CAST() to avoid cross-structure cast
authorKees Cook <[email protected]>
Mon, 8 May 2017 21:49:27 +0000 (14:49 -0700)
committerKees Cook <[email protected]>
Sun, 28 May 2017 17:11:49 +0000 (10:11 -0700)
When trying to propagate an error result, the error return path attempts
to retain the error, but does this with an open cast across very different
types, which the upcoming structure layout randomization plugin flags as
being potentially dangerous in the face of randomization. This is a false
positive, but what this code actually wants to do is use ERR_CAST() to
retain the error value.

Cc: Mark Fasheh <[email protected]>
Cc: Joel Becker <[email protected]>
Signed-off-by: Kees Cook <[email protected]>
fs/ocfs2/export.c

index 827fc9809bc271f09b2c3b7abf4019c31d0e1636..9f88188060db9c7fa59e6882ecf33b55cf921788 100644 (file)
@@ -119,7 +119,7 @@ check_err:
 
        if (IS_ERR(inode)) {
                mlog_errno(PTR_ERR(inode));
-               result = (void *)inode;
+               result = ERR_CAST(inode);
                goto bail;
        }
 
This page took 0.054369 seconds and 4 git commands to generate.