diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/dlm/lock.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c index 1b1146670c4b..e223a911a834 100644 --- a/fs/dlm/lock.c +++ b/fs/dlm/lock.c | |||
@@ -2038,8 +2038,8 @@ static void set_lvb_lock_pc(struct dlm_rsb *r, struct dlm_lkb *lkb, | |||
2038 | b = dlm_lvb_operations[lkb->lkb_grmode + 1][lkb->lkb_rqmode + 1]; | 2038 | b = dlm_lvb_operations[lkb->lkb_grmode + 1][lkb->lkb_rqmode + 1]; |
2039 | if (b == 1) { | 2039 | if (b == 1) { |
2040 | int len = receive_extralen(ms); | 2040 | int len = receive_extralen(ms); |
2041 | if (len > DLM_RESNAME_MAXLEN) | 2041 | if (len > r->res_ls->ls_lvblen) |
2042 | len = DLM_RESNAME_MAXLEN; | 2042 | len = r->res_ls->ls_lvblen; |
2043 | memcpy(lkb->lkb_lvbptr, ms->m_extra, len); | 2043 | memcpy(lkb->lkb_lvbptr, ms->m_extra, len); |
2044 | lkb->lkb_lvbseq = ms->m_lvbseq; | 2044 | lkb->lkb_lvbseq = ms->m_lvbseq; |
2045 | } | 2045 | } |
@@ -3893,8 +3893,8 @@ static int receive_lvb(struct dlm_ls *ls, struct dlm_lkb *lkb, | |||
3893 | if (!lkb->lkb_lvbptr) | 3893 | if (!lkb->lkb_lvbptr) |
3894 | return -ENOMEM; | 3894 | return -ENOMEM; |
3895 | len = receive_extralen(ms); | 3895 | len = receive_extralen(ms); |
3896 | if (len > DLM_RESNAME_MAXLEN) | 3896 | if (len > ls->ls_lvblen) |
3897 | len = DLM_RESNAME_MAXLEN; | 3897 | len = ls->ls_lvblen; |
3898 | memcpy(lkb->lkb_lvbptr, ms->m_extra, len); | 3898 | memcpy(lkb->lkb_lvbptr, ms->m_extra, len); |
3899 | } | 3899 | } |
3900 | return 0; | 3900 | return 0; |