From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konstantin Khlebnikov Subject: [PATCH] fs: fix integer overflow in MS_NOUSER definition Date: Sat, 21 Apr 2012 09:49:49 +0400 Message-ID: <20120421054949.32549.2823.stgit@zurg> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: Alexander Viro To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Return-path: Received: from mail-lpp01m010-f46.google.com ([209.85.215.46]:57493 "EHLO mail-lpp01m010-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751425Ab2DUFty (ORCPT ); Sat, 21 Apr 2012 01:49:54 -0400 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: MS_NOUSER defined as signed int (1<<31), sb->s_flags declared as unsigned long. So (sb->s_flags & MS_NOUSER) works as (sb->s_flags & 0xffffffff80000000). Other potential bugs: git grep -w -e '1\s*<<\s*31' Signed-off-by: Konstantin Khlebnikov Cc: Alexander Viro --- include/linux/fs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/fs.h b/include/linux/fs.h index 6b71bd6..903bf00 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -217,7 +217,7 @@ struct inodes_stat_t { #define MS_NOSEC (1<<28) #define MS_BORN (1<<29) #define MS_ACTIVE (1<<30) -#define MS_NOUSER (1<<31) +#define MS_NOUSER (1u<<31) /* * Superblock flags that can be altered by MS_REMOUNT