Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: fix uninitialized variable for search_rsb_list callers dlm: release socket on error dlm: fix basts for granted CW waiting PR/CW dlm: check for null in device_write
This commit is contained in:
Коммит
3988ba0708
|
@ -363,6 +363,7 @@ static int search_rsb_list(struct list_head *head, char *name, int len,
|
|||
if (len == r->res_length && !memcmp(name, r->res_name, len))
|
||||
goto found;
|
||||
}
|
||||
*r_ret = NULL;
|
||||
return -EBADR;
|
||||
|
||||
found:
|
||||
|
@ -1782,7 +1783,8 @@ static void grant_pending_locks(struct dlm_rsb *r)
|
|||
|
||||
list_for_each_entry_safe(lkb, s, &r->res_grantqueue, lkb_statequeue) {
|
||||
if (lkb->lkb_bastfn && lock_requires_bast(lkb, high, cw)) {
|
||||
if (cw && high == DLM_LOCK_PR)
|
||||
if (cw && high == DLM_LOCK_PR &&
|
||||
lkb->lkb_grmode == DLM_LOCK_PR)
|
||||
queue_bast(r, lkb, DLM_LOCK_CW);
|
||||
else
|
||||
queue_bast(r, lkb, high);
|
||||
|
|
|
@ -891,8 +891,10 @@ static void tcp_connect_to_sock(struct connection *con)
|
|||
goto out_err;
|
||||
|
||||
memset(&saddr, 0, sizeof(saddr));
|
||||
if (dlm_nodeid_to_addr(con->nodeid, &saddr))
|
||||
if (dlm_nodeid_to_addr(con->nodeid, &saddr)) {
|
||||
sock_release(sock);
|
||||
goto out_err;
|
||||
}
|
||||
|
||||
sock->sk->sk_user_data = con;
|
||||
con->rx_action = receive_from_sock;
|
||||
|
|
|
@ -539,7 +539,7 @@ static ssize_t device_write(struct file *file, const char __user *buf,
|
|||
|
||||
/* do we really need this? can a write happen after a close? */
|
||||
if ((kbuf->cmd == DLM_USER_LOCK || kbuf->cmd == DLM_USER_UNLOCK) &&
|
||||
test_bit(DLM_PROC_FLAGS_CLOSING, &proc->flags))
|
||||
(proc && test_bit(DLM_PROC_FLAGS_CLOSING, &proc->flags)))
|
||||
return -EINVAL;
|
||||
|
||||
sigfillset(&allsigs);
|
||||
|
|
Загрузка…
Ссылка в новой задаче