Skip to content
Snippets Groups Projects
  1. Jan 13, 2022
    • Dmitry Petrov's avatar
      ui/input-legacy: pass horizontal scroll information · 17f6315e
      Dmitry Petrov authored
      
      This code seems to be used by vmport hack, passing these values allows
      to implement horizontal scroll support even when using vmport.
      In case it's not supported horizontal scroll will act as a vertical one.
      
      Signed-off-by: default avatarDmitry Petrov <dpetroff@gmail.com>
      Message-Id: <20220108153947.171861-6-dpetroff@gmail.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      17f6315e
    • Dmitry Petrov's avatar
      ui/sdl2: pass horizontal scroll information to the device code · ed80f503
      Dmitry Petrov authored
      
      Signed-off-by: default avatarDmitry Petrov <dpetroff@gmail.com>
      Message-Id: <20220108153947.171861-5-dpetroff@gmail.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      ed80f503
    • Dmitry Petrov's avatar
      ui/gtk: pass horizontal scroll information to the device code · 13cb360f
      Dmitry Petrov authored
      
      Signed-off-by: default avatarDmitry Petrov <dpetroff@gmail.com>
      Message-Id: <20220108153947.171861-4-dpetroff@gmail.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      13cb360f
    • Dmitry Petrov's avatar
      ui/cocoa: pass horizontal scroll information to the device code · d70a5de4
      Dmitry Petrov authored
      
      Signed-off-by: default avatarDmitry Petrov <dpetroff@gmail.com>
      Message-Id: <20220108153947.171861-3-dpetroff@gmail.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      d70a5de4
    • Marc-André Lureau's avatar
      ui: fix gtk clipboard clear assertion · 87800d94
      Marc-André Lureau authored
      
      When closing the QEMU Gtk display window, it can occasionaly warn:
      qemu-system-x86_64: Gtk: gtk_clipboard_set_with_data: assertion 'targets != NULL' failed
      
      #3  0x00007ffff4f02f22 in gtk_clipboard_set_with_data (clipboard=<optimized out>, targets=<optimized out>, n_targets=<optimized out>, get_func=<optimized out>, clear_func=<optimized out>, user_data=<optimized out>) at /usr/src/debug/gtk3-3.24.30-4.fc35.x86_64/gtk/gtkclipboard.c:672
      #4  0x00007ffff552cd75 in gd_clipboard_update_info (gd=0x5555579a9e00, info=0x555557ba4b50) at ../ui/gtk-clipboard.c:98
      #5  0x00007ffff552ce00 in gd_clipboard_notify (notifier=0x5555579aaba8, data=0x7fffffffd720) at ../ui/gtk-clipboard.c:128
      #6  0x000055555603e0ff in notifier_list_notify (list=0x555556657470 <clipboard_notifiers>, data=0x7fffffffd720) at ../util/notify.c:39
      #7  0x000055555594e8e0 in qemu_clipboard_update (info=0x555557ba4b50) at ../ui/clipboard.c:54
      #8  0x000055555594e840 in qemu_clipboard_peer_release (peer=0x55555684a5b0, selection=QEMU_CLIPBOARD_SELECTION_PRIMARY) at ../ui/clipboard.c:40
      #9  0x000055555594e786 in qemu_clipboard_peer_unregister (peer=0x55555684a5b0) at ../ui/clipboard.c:19
      #10 0x000055555595f044 in vdagent_disconnect (vd=0x55555684a400) at ../ui/vdagent.c:852
      #11 0x000055555595f262 in vdagent_chr_fini (obj=0x55555684a400) at ../ui/vdagent.c:908
      
      Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20211216083233.1166504-1-marcandre.lureau@redhat.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      87800d94
    • Marc-André Lureau's avatar
      ui/dbus: fix buffer-overflow detected by ASAN · fc94d115
      Marc-André Lureau authored
      
      On the last added dbus patch, I left a tiny BO:
      
      ==441487==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000025a70 at pc 0x7f0817bb764c bp 0x7ffde672ae60 sp 0x7ffde672ae58
      WRITE of size 8 at 0x611000025a70 thread T0
          #0 0x7f0817bb764b in dbus_vc_class_init ../ui/dbus.c:401
      
      A cookie for ASAN! not you C :)
      
      Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Fixes: 7f767ca3 ("ui/dbus: register D-Bus VC handler")
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-Id: <20211222144032.443424-1-marcandre.lureau@redhat.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      fc94d115
    • Rao Lei's avatar
      ui/vnc.c: Fixed a deadlock bug. · 1dbbe6f1
      Rao Lei authored
      
      The GDB statck is as follows:
      (gdb) bt
      0  __lll_lock_wait (futex=futex@entry=0x56211df20360, private=0) at lowlevellock.c:52
      1  0x00007f263caf20a3 in __GI___pthread_mutex_lock (mutex=0x56211df20360) at ../nptl/pthread_mutex_lock.c:80
      2  0x000056211a757364 in qemu_mutex_lock_impl (mutex=0x56211df20360, file=0x56211a804857 "../ui/vnc-jobs.h", line=60)
          at ../util/qemu-thread-posix.c:80
      3  0x000056211a0ef8c7 in vnc_lock_output (vs=0x56211df14200) at ../ui/vnc-jobs.h:60
      4  0x000056211a0efcb7 in vnc_clipboard_send (vs=0x56211df14200, count=1, dwords=0x7ffdf1701338) at ../ui/vnc-clipboard.c:138
      5  0x000056211a0f0129 in vnc_clipboard_notify (notifier=0x56211df244c8, data=0x56211dd1bbf0) at ../ui/vnc-clipboard.c:209
      6  0x000056211a75dde8 in notifier_list_notify (list=0x56211afa17d0 <clipboard_notifiers>, data=0x56211dd1bbf0) at ../util/notify.c:39
      7  0x000056211a0bf0e6 in qemu_clipboard_update (info=0x56211dd1bbf0) at ../ui/clipboard.c:50
      8  0x000056211a0bf05d in qemu_clipboard_peer_release (peer=0x56211df244c0, selection=QEMU_CLIPBOARD_SELECTION_CLIPBOARD)
          at ../ui/clipboard.c:41
      9  0x000056211a0bef9b in qemu_clipboard_peer_unregister (peer=0x56211df244c0) at ../ui/clipboard.c:19
      10 0x000056211a0d45f3 in vnc_disconnect_finish (vs=0x56211df14200) at ../ui/vnc.c:1358
      11 0x000056211a0d4c9d in vnc_client_read (vs=0x56211df14200) at ../ui/vnc.c:1611
      12 0x000056211a0d4df8 in vnc_client_io (ioc=0x56211ce70690, condition=G_IO_IN, opaque=0x56211df14200) at ../ui/vnc.c:1649
      13 0x000056211a5b976c in qio_channel_fd_source_dispatch
          (source=0x56211ce50a00, callback=0x56211a0d4d71 <vnc_client_io>, user_data=0x56211df14200) at ../io/channel-watch.c:84
      14 0x00007f263ccede8e in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
      15 0x000056211a77d4a1 in glib_pollfds_poll () at ../util/main-loop.c:232
      16 0x000056211a77d51f in os_host_main_loop_wait (timeout=958545) at ../util/main-loop.c:255
      17 0x000056211a77d630 in main_loop_wait (nonblocking=0) at ../util/main-loop.c:531
      18 0x000056211a45bc8e in qemu_main_loop () at ../softmmu/runstate.c:726
      19 0x000056211a0b45fa in main (argc=69, argv=0x7ffdf1701778, envp=0x7ffdf17019a8) at ../softmmu/main.c:50
      
      From the call trace, we can see it is a deadlock bug.
      vnc_disconnect_finish will acquire the output_mutex.
      But, the output_mutex will be acquired again in vnc_clipboard_send.
      Repeated locking will cause deadlock. So, I move
      qemu_clipboard_peer_unregister() behind vnc_unlock_output();
      
      Fixes: 0bf41cab ("ui/vnc: clipboard support")
      Signed-off-by: default avatarLei Rao <lei.rao@intel.com>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20220105020808.597325-1-lei.rao@intel.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      1dbbe6f1
  2. Dec 21, 2021
  3. Nov 22, 2021
  4. Nov 19, 2021
  5. Nov 08, 2021
  6. Nov 05, 2021
Loading