Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1637753 > unrolled thread

[PATCH] ocfs2: Use ERR_CAST() to avoid cross-structure cast

Started byKees Cook <keescook@chromium.org>
First post2017-05-09 00:00 +0200
Last post2017-05-09 00:00 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH] ocfs2: Use ERR_CAST() to avoid cross-structure cast Kees Cook <keescook@chromium.org> - 2017-05-09 00:00 +0200

#1637753 — [PATCH] ocfs2: Use ERR_CAST() to avoid cross-structure cast

FromKees Cook <keescook@chromium.org>
Date2017-05-09 00:00 +0200
Subject[PATCH] ocfs2: Use ERR_CAST() to avoid cross-structure cast
Message-ID<tEYRc-ZP-5@gated-at.bofh.it>
When trying to propegate 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.

Signed-off-by: Kees Cook <keescook@chromium.org>
---
 fs/ocfs2/export.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ocfs2/export.c b/fs/ocfs2/export.c
index 827fc9809bc2..9f88188060db 100644
--- a/fs/ocfs2/export.c
+++ b/fs/ocfs2/export.c
@@ -119,7 +119,7 @@ static struct dentry *ocfs2_get_dentry(struct super_block *sb,
 
 	if (IS_ERR(inode)) {
 		mlog_errno(PTR_ERR(inode));
-		result = (void *)inode;
+		result = ERR_CAST(inode);
 		goto bail;
 	}
 
-- 
2.7.4


-- 
Kees Cook
Pixel Security

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web