diff options
author | Sage Weil <sage@newdream.net> | 2010-05-11 15:01:51 -0700 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-05-11 15:17:40 -0700 |
commit | 45c6ceb547ad2d98215351974a4686bf8cb13e14 (patch) | |
tree | f7d5dc6b7900faebef1a29a5e0af5ac263a64337 /fs | |
parent | 9abf82b8bc93dd904738a71ca69aa5df356d4d24 (diff) | |
download | lwn-45c6ceb547ad2d98215351974a4686bf8cb13e14.tar.gz lwn-45c6ceb547ad2d98215351974a4686bf8cb13e14.zip |
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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ceph/messenger.c | 6 |
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, kref_init(&m->kref); INIT_LIST_HEAD(&m->list_head); + m->hdr.tid = 0; m->hdr.type = cpu_to_le16(type); + m->hdr.priority = cpu_to_le16(CEPH_MSG_PRIO_DEFAULT); + m->hdr.version = 0; m->hdr.front_len = cpu_to_le32(front_len); m->hdr.middle_len = 0; m->hdr.data_len = cpu_to_le32(page_len); m->hdr.data_off = cpu_to_le16(page_off); - m->hdr.priority = cpu_to_le16(CEPH_MSG_PRIO_DEFAULT); + m->hdr.reserved = 0; m->footer.front_crc = 0; m->footer.middle_crc = 0; m->footer.data_crc = 0; + m->footer.flags = 0; m->front_max = front_len; m->front_is_vmalloc = false; m->more_to_follow = false; |