All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] (updated) Fix nfs_compat_user_ino64 so it doesn't cause problems if bit 31 or 63 are set in filei
@ 2010-12-02 17:58 Frank Filz
       [not found] ` <1291312723.5075.25.camel-LVD8ZR29O+mrIzol8Bc5pA@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Frank Filz @ 2010-12-02 17:58 UTC (permalink / raw)
  To: NFS List; +Cc: ffilz

The problem was use of an int32, which when converted to a uint64
is sign extended resulting in a fileid that doesn't fit in 32 bits
even though the intent of the function is to fit the fileid into
32 bits.

Signed-off-by: Frank Filz <ffilzlnx@us.ibm.com>
---
 fs/nfs/inode.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index 314f571..7fe18a0 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -89,7 +89,11 @@ int nfs_wait_bit_killable(void *word)
  */
 u64 nfs_compat_user_ino64(u64 fileid)
 {
-	int ino;
+#ifdef CONIFG_COMPAT
+	compat_ulong_t ino;
+#else	
+	unsigned long ino;
+#endif
 
 	if (enable_ino64)
 		return fileid;
-- 
1.5.5.6




^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] (updated) Fix nfs_compat_user_ino64 so it doesn't cause problems if bit 31 or 63 are set in filei
       [not found] ` <1291312723.5075.25.camel-LVD8ZR29O+mrIzol8Bc5pA@public.gmane.org>
@ 2010-12-02 18:11   ` Trond Myklebust
       [not found]     ` <1291313468.3445.1.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Trond Myklebust @ 2010-12-02 18:11 UTC (permalink / raw)
  To: Frank Filz; +Cc: NFS List, ffilz

On Thu, 2010-12-02 at 09:58 -0800, Frank Filz wrote:
> The problem was use of an int32, which when converted to a uint64
> is sign extended resulting in a fileid that doesn't fit in 32 bits
> even though the intent of the function is to fit the fileid into
> 32 bits.
> 
> Signed-off-by: Frank Filz <ffilzlnx@us.ibm.com>
> ---
>  fs/nfs/inode.c |    6 +++++-
>  1 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
> index 314f571..7fe18a0 100644
> --- a/fs/nfs/inode.c
> +++ b/fs/nfs/inode.c
> @@ -89,7 +89,11 @@ int nfs_wait_bit_killable(void *word)
>   */
>  u64 nfs_compat_user_ino64(u64 fileid)
>  {
> -	int ino;
> +#ifdef CONIFG_COMPAT
          ^^^^^^^ typo
> +	compat_ulong_t ino;
> +#else	
> +	unsigned long ino;
> +#endif
>  
>  	if (enable_ino64)
>  		return fileid;

-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@netapp.com
www.netapp.com


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] (try3) Fix nfs_compat_user_ino64 so it doesn't cause problems if bit 31 or 63 are set in fileid
       [not found]     ` <1291313468.3445.1.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
@ 2010-12-02 19:18       ` Frank Filz
  0 siblings, 0 replies; 3+ messages in thread
From: Frank Filz @ 2010-12-02 19:18 UTC (permalink / raw)
  To: Trond Myklebust, NFS List; +Cc: ffilz

>From c501e5e10c5e5b63412c99b2b16f5978738f61c2 Mon Sep 17 00:00:00 2001
From: Frank S. Filz <ffilzlnx@us.ibm.com>
Date: Thu, 2 Dec 2010 09:48:16 -0800
Subject: [PATCH] Fix nfs_compat_user_ino64 so it doesn't cause problems if bit 31 or 63 are set in fileid

The problem was use of an int32, which when converted to a uint64
is sign extended resulting in a fileid that doesn't fit in 32 bits
even though the intent of the function is to fit the fileid into
32 bits.

Signed-off-by: Frank Filz <ffilzlnx@us.ibm.com>
---
 fs/nfs/inode.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index 314f571..bc0b938 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -89,7 +89,11 @@ int nfs_wait_bit_killable(void *word)
  */
 u64 nfs_compat_user_ino64(u64 fileid)
 {
-	int ino;
+#ifdef CONFIG_COMPAT
+	compat_ulong_t ino;
+#else	
+	unsigned long ino;
+#endif
 
 	if (enable_ino64)
 		return fileid;
-- 
1.5.5.6




^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-12-02 19:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-02 17:58 [PATCH] (updated) Fix nfs_compat_user_ino64 so it doesn't cause problems if bit 31 or 63 are set in filei Frank Filz
     [not found] ` <1291312723.5075.25.camel-LVD8ZR29O+mrIzol8Bc5pA@public.gmane.org>
2010-12-02 18:11   ` Trond Myklebust
     [not found]     ` <1291313468.3445.1.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2010-12-02 19:18       ` [PATCH] (try3) Fix nfs_compat_user_ino64 so it doesn't cause problems if bit 31 or 63 are set in fileid Frank Filz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.