• Jorgen Hansen's avatar
    VMCI: Fix two UVA mapping bugs · a1d88436
    Jorgen Hansen authored
    (this is a resend of this patch. Originally sent last year, but post
     appears to have been lost)
    
    This change fixes two bugs in the VMCI host driver related to mapping
    the notify boolean from user space into kernel space:
    - the actual UVA was rounded up to the next page boundary - resulting
      in memory corruption in the calling process whenever notifications
      would be signalled. This has been fixed by just removing the
      PAGE_ALIGN part, since get_user_pages_fast can figure this out on
      its own
    - the mapped page wasn't stored anywhere, so it wasn't unmapped and
      put back when a VMCI context was destroyed. Fixed this by
      remembering the page.
    Acked-by: default avatarAndy King <acking@vmware.com>
    Acked-by: default avatarDarius Davis <darius@vmware.com>
    Signed-off-by: default avatarJorgen Hansen <jhansen@vmware.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    a1d88436
vmci_host.c 27.6 KB