Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client

Pull Ceph fixes form Sage Weil:
"There are two fixes in the messenger code, one that can trigger a NULL
dereference, and one that error in refcounting (extra put). There is
also a trivial fix that in the fs client code that is triggered by NFS
reexport."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
ceph: fix dentry reference leak in encode_fh()
libceph: avoid NULL kref_put when osd reset races with alloc_msg
rbd: reset BACKOFF if unable to re-queue

+6 -2
+2
fs/ceph/export.c
··· 90 90 *max_len = handle_length; 91 91 type = 255; 92 92 } 93 + if (dentry) 94 + dput(dentry); 93 95 return type; 94 96 } 95 97
+4 -2
net/ceph/messenger.c
··· 2300 2300 mutex_unlock(&con->mutex); 2301 2301 return; 2302 2302 } else { 2303 - con->ops->put(con); 2304 2303 dout("con_work %p FAILED to back off %lu\n", con, 2305 2304 con->delay); 2305 + set_bit(CON_FLAG_BACKOFF, &con->flags); 2306 2306 } 2307 + goto done; 2307 2308 } 2308 2309 2309 2310 if (con->state == CON_STATE_STANDBY) { ··· 2750 2749 msg = con->ops->alloc_msg(con, hdr, skip); 2751 2750 mutex_lock(&con->mutex); 2752 2751 if (con->state != CON_STATE_OPEN) { 2753 - ceph_msg_put(msg); 2752 + if (msg) 2753 + ceph_msg_put(msg); 2754 2754 return -EAGAIN; 2755 2755 } 2756 2756 con->in_msg = msg;