All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] (try3-resend) Fix nfs_compat_user_ino64 so it doesn't cause problems if bit 31 or 63 are set in fileid
@ 2010-12-02 19:31 Frank Filz
       [not found] ` <1291318283.4140.6.camel-LVD8ZR29O+mrIzol8Bc5pA@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Frank Filz @ 2010-12-02 19:31 UTC (permalink / raw)
  To: NFS List, Trond Myklebust; +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..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] 2+ messages in thread

* Re: [PATCH] (try3-resend) Fix nfs_compat_user_ino64 so it doesn't cause problems if bit 31 or 63 are set in fileid
       [not found] ` <1291318283.4140.6.camel-LVD8ZR29O+mrIzol8Bc5pA@public.gmane.org>
@ 2011-02-01 14:54   ` Jeff Layton
  0 siblings, 0 replies; 2+ messages in thread
From: Jeff Layton @ 2011-02-01 14:54 UTC (permalink / raw)
  To: Frank Filz; +Cc: NFS List, Trond Myklebust, ffilz

On Thu, 02 Dec 2010 11:31:23 -0800
Frank Filz <ffilzlnx@us.ibm.com> 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..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;

Looks like this patch fell through the cracks during the merge window?

In any case, it looks sane enough to me...

Reviewed-by: Jeff Layton <jlayton@redhat.com>

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

end of thread, other threads:[~2011-02-01 14:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-02 19:31 [PATCH] (try3-resend) Fix nfs_compat_user_ino64 so it doesn't cause problems if bit 31 or 63 are set in fileid Frank Filz
     [not found] ` <1291318283.4140.6.camel-LVD8ZR29O+mrIzol8Bc5pA@public.gmane.org>
2011-02-01 14:54   ` Jeff Layton

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.