aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-05-11 18:01:51 -0400
committerSage Weil <sage@newdream.net>2010-05-11 18:17:40 -0400
commit45c6ceb547ad2d98215351974a4686bf8cb13e14 (patch)
treef7d5dc6b7900faebef1a29a5e0af5ac263a64337
parent9abf82b8bc93dd904738a71ca69aa5df356d4d24 (diff)
ceph: zero unused message header, footer fields
We shouldn't leak any prior memory contents to other parties. And random data, particularly in the 'version' field, can cause problems down the line. Signed-off-by: Sage Weil <sage@newdream.net>
-rw-r--r--fs/ceph/messenger.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/ceph/messenger.c b/fs/ceph/messenger.c
index 509f57d9ccb3..a3a8f368845b 100644
--- a/fs/ceph/messenger.c
+++ b/fs/ceph/messenger.c
@@ -2085,15 +2085,19 @@ struct ceph_msg *ceph_msg_new(int type, int front_len,
2085 kref_init(&m->kref); 2085 kref_init(&m->kref);
2086 INIT_LIST_HEAD(&m->list_head); 2086 INIT_LIST_HEAD(&m->list_head);
2087 2087
2088 m->hdr.tid = 0;
2088 m->hdr.type = cpu_to_le16(type); 2089 m->hdr.type = cpu_to_le16(type);
2090 m->hdr.priority = cpu_to_le16(CEPH_MSG_PRIO_DEFAULT);
2091 m->hdr.version = 0;
2089 m->hdr.front_len = cpu_to_le32(front_len); 2092 m->hdr.front_len = cpu_to_le32(front_len);
2090 m->hdr.middle_len = 0; 2093 m->hdr.middle_len = 0;
2091 m->hdr.data_len = cpu_to_le32(page_len); 2094 m->hdr.data_len = cpu_to_le32(page_len);
2092 m->hdr.data_off = cpu_to_le16(page_off); 2095 m->hdr.data_off = cpu_to_le16(page_off);
2093 m->hdr.priority = cpu_to_le16(CEPH_MSG_PRIO_DEFAULT); 2096 m->hdr.reserved = 0;
2094 m->footer.front_crc = 0; 2097 m->footer.front_crc = 0;
2095 m->footer.middle_crc = 0; 2098 m->footer.middle_crc = 0;
2096 m->footer.data_crc = 0; 2099 m->footer.data_crc = 0;
2100 m->footer.flags = 0;
2097 m->front_max = front_len; 2101 m->front_max = front_len;
2098 m->front_is_vmalloc = false; 2102 m->front_is_vmalloc = false;
2099 m->more_to_follow = false; 2103 m->more_to_follow = false;