From: Arnd Bergmann <a...@arndb.de>

[ Upstream commit d9594e0409651a237903a13c9718df889f43d43b ]

clang warns about additions on NULL pointers being undefined in C:

security/tomoyo/securityfs_if.c:226:59: warning: arithmetic on a null pointer 
treated as a cast from integer to pointer is a GNU extension 
[-Wnull-pointer-arithmetic]
        securityfs_create_file(name, mode, parent, ((u8 *) NULL) + key,

Change the code to instead use a cast through uintptr_t to avoid
the warning.

Signed-off-by: Arnd Bergmann <a...@arndb.de>
Signed-off-by: Tetsuo Handa <penguin-ker...@i-love.sakura.ne.jp>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 security/tomoyo/securityfs_if.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/security/tomoyo/securityfs_if.c b/security/tomoyo/securityfs_if.c
index 546281c5b233a..065f4941c4d8c 100644
--- a/security/tomoyo/securityfs_if.c
+++ b/security/tomoyo/securityfs_if.c
@@ -131,8 +131,8 @@ static const struct file_operations tomoyo_self_operations 
= {
  */
 static int tomoyo_open(struct inode *inode, struct file *file)
 {
-       const int key = ((u8 *) file_inode(file)->i_private)
-               - ((u8 *) NULL);
+       const u8 key = (uintptr_t) file_inode(file)->i_private;
+
        return tomoyo_open_control(key, file);
 }
 
@@ -223,7 +223,7 @@ static const struct file_operations tomoyo_operations = {
 static void __init tomoyo_create_entry(const char *name, const umode_t mode,
                                       struct dentry *parent, const u8 key)
 {
-       securityfs_create_file(name, mode, parent, ((u8 *) NULL) + key,
+       securityfs_create_file(name, mode, parent, (void *) (uintptr_t) key,
                               &tomoyo_operations);
 }
 
-- 
2.27.0

Reply via email to