aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-09-17 15:32:40 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-09-17 15:32:40 -0400
commit8e64a7331702b7888ccf84b2b9ff46ab8e167c7f (patch)
treebe794f8219470e0e982d935f3e21a6012a685451 /net
parent2e5735f4c377377cb738270024083f74ee058877 (diff)
parent335c25858218e76ef47f92ecb9d22e919d36140d (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
Pull Ceph fixes from Sage Weil: "These are both fixes to the new and improved keepalive2 behavior" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: libceph: advertise support for keepalive2 libceph: don't access invalid memory in keepalive2 path
Diffstat (limited to 'net')
-rw-r--r--net/ceph/messenger.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
index 525f454f7531..b9b0e3b5da49 100644
--- a/net/ceph/messenger.c
+++ b/net/ceph/messenger.c
@@ -1353,11 +1353,12 @@ static void prepare_write_keepalive(struct ceph_connection *con)
1353 dout("prepare_write_keepalive %p\n", con); 1353 dout("prepare_write_keepalive %p\n", con);
1354 con_out_kvec_reset(con); 1354 con_out_kvec_reset(con);
1355 if (con->peer_features & CEPH_FEATURE_MSGR_KEEPALIVE2) { 1355 if (con->peer_features & CEPH_FEATURE_MSGR_KEEPALIVE2) {
1356 struct timespec ts = CURRENT_TIME; 1356 struct timespec now = CURRENT_TIME;
1357 struct ceph_timespec ceph_ts; 1357
1358 ceph_encode_timespec(&ceph_ts, &ts);
1359 con_out_kvec_add(con, sizeof(tag_keepalive2), &tag_keepalive2); 1358 con_out_kvec_add(con, sizeof(tag_keepalive2), &tag_keepalive2);
1360 con_out_kvec_add(con, sizeof(ceph_ts), &ceph_ts); 1359 ceph_encode_timespec(&con->out_temp_keepalive2, &now);
1360 con_out_kvec_add(con, sizeof(con->out_temp_keepalive2),
1361 &con->out_temp_keepalive2);
1361 } else { 1362 } else {
1362 con_out_kvec_add(con, sizeof(tag_keepalive), &tag_keepalive); 1363 con_out_kvec_add(con, sizeof(tag_keepalive), &tag_keepalive);
1363 } 1364 }