diff -Nru ceph-0.80.11/debian/changelog ceph-0.80.11/debian/changelog --- ceph-0.80.11/debian/changelog 2017-09-25 20:48:18.000000000 +0000 +++ ceph-0.80.11/debian/changelog 2018-11-12 07:01:00.000000000 +0000 @@ -1,3 +1,11 @@ +ceph (0.80.11-0ubuntu1.14.04.4) trusty; urgency=medium + + * Don't truncate message sequence to 32-bit (LP: #1798081). + - d/p/msg-don-t-truncate-message-sequence-to-32-bits.patch: + use uint64_t for message seq instead of 32 bits. + + -- dongdong tao Mon, 12 Nov 2018 15:01:00 +0800 + ceph (0.80.11-0ubuntu1.14.04.3) trusty-security; urgency=medium * SECURITY UPDATE: DoS in handle_command function diff -Nru ceph-0.80.11/debian/patches/msg-don-t-truncate-message-sequence-to-32-bits.patch ceph-0.80.11/debian/patches/msg-don-t-truncate-message-sequence-to-32-bits.patch --- ceph-0.80.11/debian/patches/msg-don-t-truncate-message-sequence-to-32-bits.patch 1970-01-01 00:00:00.000000000 +0000 +++ ceph-0.80.11/debian/patches/msg-don-t-truncate-message-sequence-to-32-bits.patch 2018-11-12 07:01:00.000000000 +0000 @@ -0,0 +1,49 @@ +Description: msg: don't truncate message sequence to 32-bits + +Message sequence is 64-bits number, but the upper 32-bits get lost +when setting/getting message sequence. This causes messenger to +malfunction after receiving 1^32 messages +I have modified this patch to fit for trusty ceph as there are sections +for xio and Async messengers does not exist + +Bug: http://tracker.ceph.com/issues/16122 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/1798081 +Origin: https://github.com/ceph/ceph/pull/9456/commits/d52832d498e2364a38f49bad67d300f0773f889d +From: Yan, Zheng +Date: Thu Jun 2 20:04:38 2016 +0800 +--- + src/msg/Message.h | 4 ++-- + src/msg/Pipe.h | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/msg/Message.h b/src/msg/Message.h +index a69944f..e056b01 100644 +--- a/src/msg/Message.h ++++ b/src/msg/Message.h +@@ -484,8 +484,8 @@ public: + uint64_t get_tid() const { return header.tid; } + void set_tid(uint64_t t) { header.tid = t; } + +- unsigned get_seq() const { return header.seq; } +- void set_seq(unsigned s) { header.seq = s; } ++ uint64_t get_seq() const { return header.seq; } ++ void set_seq(uint64_t s) { header.seq = s; } + + unsigned get_priority() const { return header.priority; } + void set_priority(__s16 p) { header.priority = p; } +diff --git a/src/msg/Pipe.h b/src/msg/Pipe.h +index 468a6a5..2851fa1 100644 +--- a/src/msg/Pipe.h ++++ b/src/msg/Pipe.h +@@ -222,7 +222,7 @@ class DispatchQueue; + static const Pipe& Server(int s); + static const Pipe& Client(const entity_addr_t& pi); + +- __u32 get_out_seq() { return out_seq; } ++ uint64_t get_out_seq() { return out_seq; } + + bool is_queued() { return !out_q.empty() || send_keepalive || send_keepalive_ack; } + +-- +1.9.1 + diff -Nru ceph-0.80.11/debian/patches/series ceph-0.80.11/debian/patches/series --- ceph-0.80.11/debian/patches/series 2017-09-25 20:44:10.000000000 +0000 +++ ceph-0.80.11/debian/patches/series 2018-11-12 07:01:00.000000000 +0000 @@ -6,3 +6,4 @@ CVE-2016-7031.patch CVE-2016-8626.patch CVE-2016-9579.patch +msg-don-t-truncate-message-sequence-to-32-bits.patch