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

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

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

Kees Cook
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 <[hidden email]>
---
 fs/ntfs/namei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ntfs/namei.c b/fs/ntfs/namei.c
index 358258364616..4690cd75d8d7 100644
--- a/fs/ntfs/namei.c
+++ b/fs/ntfs/namei.c
@@ -159,7 +159,7 @@ static struct dentry *ntfs_lookup(struct inode *dir_ino, struct dentry *dent,
  PTR_ERR(dent_inode));
  kfree(name);
  /* Return the error code. */
- return (struct dentry *)dent_inode;
+ return ERR_CAST(dent_inode);
  }
  /* It is guaranteed that @name is no longer allocated at this point. */
  if (MREF_ERR(mref) == -ENOENT) {
--
2.7.4


--
Kees Cook
Pixel Security

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linux-NTFS-Dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/linux-ntfs-dev
Loading...