Skip to content
Snippets Groups Projects
  1. Feb 20, 2017
  2. Jan 31, 2017
  3. Jan 27, 2017
  4. Jan 12, 2017
  5. Jan 10, 2017
  6. Dec 24, 2016
  7. Nov 01, 2016
  8. Oct 30, 2016
  9. Oct 28, 2016
  10. Oct 24, 2016
  11. Oct 17, 2016
  12. Sep 22, 2016
    • Lin Ma's avatar
      msmouse: Fix segfault caused by free the chr before chardev cleanup. · 9e14037f
      Lin Ma authored
      
      Segfault happens when leaving qemu with msmouse backend:
      
       #0  0x00007fa8526ac975 in raise () at /lib64/libc.so.6
       #1  0x00007fa8526add8a in abort () at /lib64/libc.so.6
       #2  0x0000558be78846ab in error_exit (err=16, msg=0x558be799da10 ...
       #3  0x0000558be7884717 in qemu_mutex_destroy (mutex=0x558be93be750) at ...
       #4  0x0000558be7549951 in qemu_chr_free_common (chr=0x558be93be750) at ...
       #5  0x0000558be754999c in qemu_chr_free (chr=0x558be93be750) at ...
       #6  0x0000558be7549a20 in qemu_chr_delete (chr=0x558be93be750) at ...
       #7  0x0000558be754a8ef in qemu_chr_cleanup () at qemu-char.c:4643
       #8  0x0000558be755843e in main (argc=5, argv=0x7ffe925d7118, ...
      
      The chr was freed by msmouse close callback before chardev cleanup,
      Then qemu_mutex_destroy triggered raise().
      
      Because freeing chr is handled by qemu_chr_free_common, Remove the free from
      msmouse_chr_close to avoid double free.
      
      Fixes: c1111a24
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarLin Ma <lma@suse.com>
      Message-Id: <20160915143158.4796-1-lma@suse.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      9e14037f
  13. Sep 14, 2016
  14. Sep 13, 2016
    • Daniel P. Berrangé's avatar
      hw: replace most use of qemu_chr_fe_write with qemu_chr_fe_write_all · 6ab3fc32
      Daniel P. Berrangé authored
      The qemu_chr_fe_write method will return -1 on EAGAIN if the
      chardev backend write would block. Almost no callers of the
      qemu_chr_fe_write() method check the return value, instead
      blindly assuming data was successfully sent. In most cases
      this will lead to silent data loss on interactive consoles,
      but in some cases (eg RNG EGD) it'll just cause corruption
      of the protocol being spoken.
      
      We unfortunately can't fix the virtio-console code, due to
      a bug in the Linux guest drivers, which would cause the
      entire Linux kernel to hang if we delay processing of the
      incoming data in any way. Fixing this requires first fixing
      the guest driver to not hold spinlocks while writing to the
      hvc device backend.
      
      Fixes bug: https://bugs.launchpad.net/qemu/+bug/1586756
      
      
      
      Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
      Message-Id: <1473170165-540-4-git-send-email-berrange@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      6ab3fc32
  15. Aug 02, 2016
  16. Jul 13, 2016
Loading