diff options
author | Troy Lee <troy_lee@aspeedtech.com> | 2021-08-26 07:03:08 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2021-08-26 14:45:33 +0300 |
commit | 7ef2a87b8c3906651e70ef5d6b678076e222ee87 (patch) | |
tree | 71ce3f0b860e9f35424bb65ec97ad9a24c86be78 /meta-phosphor/recipes-graphics/libvncserver | |
parent | 6b2472a0b397c403f08a70392f5891051b608221 (diff) | |
download | openbmc-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/libvncserver')
-rw-r--r-- | meta-phosphor/recipes-graphics/libvncserver/libvncserver_%.bbappend | 2 |
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 fa15047d79..76d915c245 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" |