]> git.proxmox.com Git - mirror_qemu.git/commit - hw/9pfs/9p.h
virtio-9p: message header is 7-byte long
authorGreg Kurz <groug@kaod.org>
Thu, 29 Jun 2017 13:11:50 +0000 (15:11 +0200)
committerGreg Kurz <groug@kaod.org>
Thu, 29 Jun 2017 13:11:50 +0000 (15:11 +0200)
commita4d99854505ed63f5ea67fbfefb90316472cf158
treec78a8a7e8679e234de6da16ce40dd2f2552ef30e
parent3a21fb2af07ca6d22e39a766363befbf833f86bb
virtio-9p: message header is 7-byte long

The 9p spec at http://man.cat-v.org/plan_9/5/intro reads:

 "Each 9P message begins with a four-byte size field specify-
  ing the length in bytes of the complete message including
  the four bytes of the size field itself.  The next byte is
  the message type, one of the constants in the enumeration in
  the include file <fcall.h>.  The next two bytes are an iden-
  tifying tag, described below."

ie, each message starts with a 7-byte long header.

The core 9P code already assumes this pretty much everywhere. This patch
does the following:
- makes the assumption explicit in the common 9p.h header, since it isn't
  related to the transport
- open codes the header size in handle_9p_output() and hardens the sanity
  check on the space needed for the reply message

Signed-off-by: Greg Kurz <groug@kaod.org>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
hw/9pfs/9p.h
hw/9pfs/virtio-9p-device.c