Re: [PATCH] nfs4: fix a typo of NFS_ATTR_FATTR_GROUP_NAME

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2017-03-06 at 17:49 +0800, Kinglong Mee wrote:
> This typo cause a memory leak, and a bad client's group id.
> unreferenced object 0xffff96d8073998d0 (size 8):
>   comm "kworker/0:3", pid 34224, jiffies 4295361338 (age 761.752s)
>   hex dump (first 8 bytes):
>     30 00 39 07 d8 96 ff ff                          0.9.....
>   backtrace:
>     [<ffffffffb883212a>] kmemleak_alloc+0x4a/0xa0
>     [<ffffffffb8237bc0>] __kmalloc+0x140/0x220
>     [<ffffffffc05c921c>] xdr_stream_decode_string_dup+0x7c/0x110
> [sunrpc]
>     [<ffffffffc08edcf0>] decode_getfattr_attrs+0x940/0x1630 [nfsv4]
>     [<ffffffffc08eea7b>]
> decode_getfattr_generic.constprop.108+0x9b/0x100 [nfsv4]
>     [<ffffffffc08eebaf>] nfs4_xdr_dec_open+0xcf/0x100 [nfsv4]
>     [<ffffffffc05bf9c7>] rpcauth_unwrap_resp+0xa7/0xe0 [sunrpc]
>     [<ffffffffc05afc70>] call_decode+0x1e0/0x810 [sunrpc]
>     [<ffffffffc05bc64d>] __rpc_execute+0x8d/0x420 [sunrpc]
>     [<ffffffffc05bc9f2>] rpc_async_schedule+0x12/0x20 [sunrpc]
>     [<ffffffffb80bb077>] process_one_work+0x197/0x430
>     [<ffffffffb80bb35e>] worker_thread+0x4e/0x4a0
>     [<ffffffffb80c1d41>] kthread+0x101/0x140
>     [<ffffffffb8839a5c>] ret_from_fork+0x2c/0x40
>     [<ffffffffffffffff>] 0xffffffffffffffff
> 
> Fixes: 686a816ab6 ("NFSv4: Clean up owner/group attribute decode")
> Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx>
> ---
>  fs/nfs/nfs4xdr.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
> index f0369e3..80ce289 100644
> --- a/fs/nfs/nfs4xdr.c
> +++ b/fs/nfs/nfs4xdr.c
> @@ -3942,7 +3942,7 @@ static int decode_attr_group(struct xdr_stream
> *xdr, uint32_t *bitmap,
>  		if (len <= 0)
>  			goto out;
>  		dprintk("%s: name=%s\n", __func__, group_name-
> >data);
> -		return NFS_ATTR_FATTR_OWNER_NAME;
> +		return NFS_ATTR_FATTR_GROUP_NAME;
>  	} else {
>  		len = xdr_stream_decode_opaque_inline(xdr, (void
> **)&p,
>  				XDR_MAX_NETOBJ);

Doh! Thanks for fixing this. I wonder why it didn't register on
testing?

-- 
Trond Myklebust
Linux NFS client maintainer, PrimaryData
trond.myklebust@xxxxxxxxxxxxxxx
��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux