Add CFI-ICALL to needed PipeWire methods

Adds missing RTC_NO_SANITIZE("cfi-icall") attributes to a few needed
functions for PipeWire initialization. These are methods that call (or
call methods that end up inlined and call) function pointers as a result
of dlopen'ing a lib. For ShareScreencastStream, the generated
InitializeStubs method appears to trigger this; while the egl_dmabuf
destructor appears to need this due to the EglDestroyContext and
EglTerminate calls that it makes.

Bug: webrtc:13659
Change-Id: Idb4af985293224957a50d17d9042524af2b66138
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250702
Auto-Submit: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35918}
This commit is contained in:
Alex Cooper 2022-02-04 12:51:10 -08:00 committed by WebRTC LUCI CQ
parent 5b5fa3b9c0
commit e4d34b1e3b
2 changed files with 3 additions and 0 deletions

View File

@ -418,6 +418,7 @@ EglDmaBuf::EglDmaBuf() {
egl_initialized_ = true;
}
RTC_NO_SANITIZE("cfi-icall")
EglDmaBuf::~EglDmaBuf() {
if (gbm_device_) {
gbm_device_destroy(gbm_device_);

View File

@ -26,6 +26,7 @@
#include "modules/desktop_capture/linux/wayland/egl_dmabuf.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/sanitizer.h"
#include "rtc_base/string_encode.h"
#include "rtc_base/string_to_number.h"
#include "rtc_base/synchronization/mutex.h"
@ -422,6 +423,7 @@ SharedScreenCastStreamPrivate::~SharedScreenCastStreamPrivate() {
}
}
RTC_NO_SANITIZE("cfi-icall")
bool SharedScreenCastStreamPrivate::StartScreenCastStream(
uint32_t stream_node_id,
int fd) {