Skip to content
  • Greg Kurz's avatar
    a4d99854
    virtio-9p: message header is 7-byte long · a4d99854
    Greg Kurz authored
    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: default avatarGreg Kurz <groug@kaod.org>
    Acked-by: default avatarStefano Stabellini <sstabellini@kernel.org>
    a4d99854
    virtio-9p: message header is 7-byte long
    Greg Kurz authored
    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: default avatarGreg Kurz <groug@kaod.org>
    Acked-by: default avatarStefano Stabellini <sstabellini@kernel.org>
Loading