summaryrefslogtreecommitdiff
path: root/meta-phosphor/recipes-graphics
diff options
context:
space:
mode:
authorTroy Lee <troy_lee@aspeedtech.com>2021-08-26 07:03:08 +0300
committerPatrick Williams <patrick@stwcx.xyz>2021-08-26 14:45:33 +0300
commit7ef2a87b8c3906651e70ef5d6b678076e222ee87 (patch)
tree71ce3f0b860e9f35424bb65ec97ad9a24c86be78 /meta-phosphor/recipes-graphics
parent6b2472a0b397c403f08a70392f5891051b608221 (diff)
downloadopenbmc-7ef2a87b8c3906651e70ef5d6b678076e222ee87.tar.xz
libvncserver: multithread support
obmc-ikvm runs with two seprated thread to handle connection from user (bmcweb::kvm_websocket) and video device (libvncserver), however both these two thread access to rfb*() API. It leads to client socket double free issue. cl->sock has been set to RFB_INVALID_SOCKET(-1) with first clientClose call. And the second call to clientClose uses -1 in FD_CLR() generates buffer overflow. ``` obmc-ikvm[672]: 24/08/2021 08:45:11 rfbClientConnectionGone: c1=75900748 obmc-ikvm[672]: 24/08/2021 08:45:11 rfbClientConnectionGone: c1=75900748 obmc-ikvm[672]: 24/08/2021 08:45:11 rfbSendUpdateBuf: write: Broken pipe obmc-ikvm[672]: *** buffer overflow detected ***: terminated systemd[1]: start-ipkvm.service: Main process exited, code=dumped, status=6/ABRT systemd[1]: start-ipkvm.service: Failed with result 'core-dump'. systemd[1]: start-ipkvm.service: Scheduled restart job, restart counter is at 1. systemd[1]: Stopped OpenBMC ipKVM daemon. ``` Signed-off-by: Troy Lee <troy_lee@aspeedtech.com> Change-Id: I4bbe69c6d7006e44c5f4a532fb54f9ae9c9cd52b
Diffstat (limited to 'meta-phosphor/recipes-graphics')
-rw-r--r--meta-phosphor/recipes-graphics/libvncserver/libvncserver_%.bbappend2
1 files changed, 1 insertions, 1 deletions
diff --git a/meta-phosphor/recipes-graphics/libvncserver/libvncserver_%.bbappend b/meta-phosphor/recipes-graphics/libvncserver/libvncserver_%.bbappend
index fa15047d7..76d915c24 100644
--- a/meta-phosphor/recipes-graphics/libvncserver/libvncserver_%.bbappend
+++ b/meta-phosphor/recipes-graphics/libvncserver/libvncserver_%.bbappend
@@ -1 +1 @@
-PACKAGECONFIG = "jpeg lzo systemd zlib openssl"
+PACKAGECONFIG = "jpeg lzo systemd zlib openssl pthread"