From: Ulrich Weigand Date: Mon, 2 Sep 2019 19:25:54 +0000 (+0200) Subject: async,crimson: Add missing init_le calls X-Git-Tag: v14.2.5~173^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4c26428f101508e2342d35fd5ac37067c97232a2;p=ceph.git async,crimson: Add missing init_le calls Add calls to init_le16/32/64 to properly byte-swap values on big-endian systems when assigning to ceph_le16/32/64 variables. Fixes (partially): https://tracker.ceph.com/issues/41605 Signed-off-by: Ulrich Weigand (cherry picked from commit 62def3ec70434694fcf918c00666ba0e5f9325c2) Changes from cherry-picked commit: - Omitted changes to src/crimson/net/ProtocolV2.cc (file does not yet exist in nautilus). Signed-off-by: Ulrich Weigand --- diff --git a/src/msg/async/ProtocolV2.cc b/src/msg/async/ProtocolV2.cc index 5666b24c7a29..4b03f5ebcf46 100644 --- a/src/msg/async/ProtocolV2.cc +++ b/src/msg/async/ProtocolV2.cc @@ -502,8 +502,8 @@ ssize_t ProtocolV2::write_message(Message *m, bool more) { ceph_msg_header2 header2{header.seq, header.tid, header.type, header.priority, header.version, - 0, header.data_off, - ack_seq, + init_le32(0), header.data_off, + init_le64(ack_seq), footer.flags, header.compat_version, header.reserved}; @@ -1385,15 +1385,16 @@ CtPtr ProtocolV2::handle_message() { current_header.type, current_header.priority, current_header.version, - msg_frame.front_len(), - msg_frame.middle_len(), - msg_frame.data_len(), + init_le32(msg_frame.front_len()), + init_le32(msg_frame.middle_len()), + init_le32(msg_frame.data_len()), current_header.data_off, peer_name, current_header.compat_version, current_header.reserved, - 0}; - ceph_msg_footer footer{0, 0, 0, 0, current_header.flags}; + init_le32(0)}; + ceph_msg_footer footer{init_le32(0), init_le32(0), + init_le32(0), init_le64(0), current_header.flags}; Message *message = decode_message(cct, 0, header, footer, msg_frame.front(),