From 7b080b4c1c419e792e286c74de457522e2246335 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Mon, 9 Feb 2004 19:19:39 -0800 Subject: [PATCH] Fix bogus mode bit testing by smbfs. The S_IFxxxx macros aren't bits to be tested, they are values of the S_IFMT field. --- fs/smbfs/proc.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/fs/smbfs/proc.c b/fs/smbfs/proc.c index 20a12e8033836..23396aaaaa0b6 100644 --- a/fs/smbfs/proc.c +++ b/fs/smbfs/proc.c @@ -560,19 +560,19 @@ static int smb_filetype_to_mode(u32 filetype) static u32 smb_filetype_from_mode(int mode) { - if (mode & S_IFREG) + if (S_ISREG(mode)) return UNIX_TYPE_FILE; - if (mode & S_IFDIR) + if (S_ISDIR(mode)) return UNIX_TYPE_DIR; - if (mode & S_IFLNK) + if (S_ISLNK(mode)) return UNIX_TYPE_SYMLINK; - if (mode & S_IFCHR) + if (S_ISCHR(mode)) return UNIX_TYPE_CHARDEV; - if (mode & S_IFBLK) + if (S_ISBLK(mode)) return UNIX_TYPE_BLKDEV; - if (mode & S_IFIFO) + if (S_ISFIFO(mode)) return UNIX_TYPE_FIFO; - if (mode & S_IFSOCK) + if (S_ISSOCK(mode)) return UNIX_TYPE_SOCKET; return UNIX_TYPE_UNKNOWN; } -- 2.53.0