diff mbox

pnfsd: Correct the buffer size of ds_list in dlm_device_entry

Message ID 1357296223-5796-1-git-send-email-ycnian@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

ycnian@gmail.com Jan. 4, 2013, 10:43 a.m. UTC
From: Yanchuan Nian <ycnian@gmail.com>

In nfsd4_set_pnfs_dlm_device(), if there is a device with the same disk_name as
the new device, pnfsd will clear the memory of ds_list, and then update it with
ds list from the new device. The size of ds_list in struct dlm_device_entry is
NFSD_DLM_DS_LIST_MAX, but not DISK_NAME_LEN.

Signed-off-by: Yanchuan Nian <ycnian@gmail.com>
---
 fs/nfsd/nfs4pnfsdlm.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Benny Halevy Jan. 7, 2013, 1:19 p.m. UTC | #1
On Fri, Jan 4, 2013 at 12:43 PM,  <ycnian@gmail.com> wrote:
> From: Yanchuan Nian <ycnian@gmail.com>
>
> In nfsd4_set_pnfs_dlm_device(), if there is a device with the same disk_name as
> the new device, pnfsd will clear the memory of ds_list, and then update it with
> ds list from the new device. The size of ds_list in struct dlm_device_entry is
> NFSD_DLM_DS_LIST_MAX, but not DISK_NAME_LEN.
>
> Signed-off-by: Yanchuan Nian <ycnian@gmail.com>

Thanks. committed

Benny

> ---
>  fs/nfsd/nfs4pnfsdlm.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/fs/nfsd/nfs4pnfsdlm.c b/fs/nfsd/nfs4pnfsdlm.c
> index e8423e0..c138d41 100644
> --- a/fs/nfsd/nfs4pnfsdlm.c
> +++ b/fs/nfsd/nfs4pnfsdlm.c
> @@ -187,7 +187,7 @@ nfsd4_set_pnfs_dlm_device(char *pnfs_dlm_device, int len)
>                 dprintk("%s pnfs_dlm_device %s:%s already in cache "
>                         " replace ds_list with new ds_list %s\n", __func__,
>                         found->disk_name, found->ds_list, new->ds_list);
> -               memset(found->ds_list, 0, DISK_NAME_LEN);
> +               memset(found->ds_list, 0, NFSD_DLM_DS_LIST_MAX);
>                 memcpy(found->ds_list, new->ds_list, strlen(new->ds_list));
>                 found->num_ds = new->num_ds;
>                 kfree(new);
> --
> 1.7.4.4
>
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/nfsd/nfs4pnfsdlm.c b/fs/nfsd/nfs4pnfsdlm.c
index e8423e0..c138d41 100644
--- a/fs/nfsd/nfs4pnfsdlm.c
+++ b/fs/nfsd/nfs4pnfsdlm.c
@@ -187,7 +187,7 @@  nfsd4_set_pnfs_dlm_device(char *pnfs_dlm_device, int len)
 		dprintk("%s pnfs_dlm_device %s:%s already in cache "
 			" replace ds_list with new ds_list %s\n", __func__,
 			found->disk_name, found->ds_list, new->ds_list);
-		memset(found->ds_list, 0, DISK_NAME_LEN);
+		memset(found->ds_list, 0, NFSD_DLM_DS_LIST_MAX);
 		memcpy(found->ds_list, new->ds_list, strlen(new->ds_list));
 		found->num_ds = new->num_ds;
 		kfree(new);