Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libnvidia-egl-wayland for 
openSUSE:Factory checked in at 2024-11-07 16:25:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libnvidia-egl-wayland (Old)
 and      /work/SRC/openSUSE:Factory/.libnvidia-egl-wayland.new.2020 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libnvidia-egl-wayland"

Thu Nov  7 16:25:54 2024 rev:14 rq:1221803 version:1.1.16

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/libnvidia-egl-wayland/libnvidia-egl-wayland.changes  
    2024-10-08 17:22:57.785408694 +0200
+++ 
/work/SRC/openSUSE:Factory/.libnvidia-egl-wayland.new.2020/libnvidia-egl-wayland.changes
    2024-11-07 16:25:55.854007847 +0100
@@ -1,0 +2,8 @@
+Wed Nov  6 15:53:40 UTC 2024 - Stefan Dirsch <sndir...@suse.com>
+
+- 0001-egl-wayland-enable-CI-with-github-actions.patch
+  0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
+  0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch
+  * apply latest fixes from git
+
+-------------------------------------------------------------------

New:
----
  0001-egl-wayland-enable-CI-with-github-actions.patch
  0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
  0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch

BETA DEBUG BEGIN:
  New:
- 0001-egl-wayland-enable-CI-with-github-actions.patch
  0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
  New:- 0001-egl-wayland-enable-CI-with-github-actions.patch
  0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
  0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch
  New:  0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
  0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch
  * apply latest fixes from git
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libnvidia-egl-wayland.spec ++++++
--- /var/tmp/diff_new_pack.C6lv7h/_old  2024-11-07 16:25:56.454032813 +0100
+++ /var/tmp/diff_new_pack.C6lv7h/_new  2024-11-07 16:25:56.454032813 +0100
@@ -37,6 +37,9 @@
 Patch7:         0007-egl-wayland-fix-device-name-case-where-only-wl_drm-e.patch
 Patch8:         0008-Add-ICD-json-file.patch
 Patch9:         0009-egl-wayland-Fix-roundtrip-eating-wl_drm-events-in-ge.patch
+Patch11:        0001-egl-wayland-enable-CI-with-github-actions.patch
+Patch12:        0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
+Patch13:        0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch
 BuildRequires:  gcc-c++
 BuildRequires:  meson >= 0.50
 BuildRequires:  ninja

++++++ 0001-egl-wayland-enable-CI-with-github-actions.patch ++++++
>From 40e835f197178e7e4387a042acc8f1dc42f810ee Mon Sep 17 00:00:00 2001
From: Austin Shafer <asha...@nvidia.com>
Date: Wed, 9 Oct 2024 14:53:52 -0400
Subject: [PATCH 1/3] egl-wayland: enable CI with github actions

This enables CI for github actions builds, aimed for helping verify
new pull requests. This adds tests for the meson and autotools builds
on ubuntu 24.04. Other distros are apparently not supported by default
so we aren't able to expand testing this way.
---
 .github/workflows/arch-build.yml       | 16 ++++++++++++++++
 .github/workflows/autoconf-build.yml   | 14 ++++++++++++++
 .github/workflows/meson-build.yml      | 14 ++++++++++++++
 .github/workflows/meson-llvm-build.yml | 17 +++++++++++++++++
 4 files changed, 61 insertions(+)
 create mode 100644 .github/workflows/arch-build.yml
 create mode 100644 .github/workflows/autoconf-build.yml
 create mode 100644 .github/workflows/meson-build.yml
 create mode 100644 .github/workflows/meson-llvm-build.yml

diff --git a/.github/workflows/arch-build.yml b/.github/workflows/arch-build.yml
new file mode 100644
index 0000000..3f56616
--- /dev/null
+++ b/.github/workflows/arch-build.yml
@@ -0,0 +1,16 @@
+name: Arch Build
+on: [push, pull_request]
+jobs:
+  Meson-Build:
+    runs-on: ubuntu-24.04
+    container:
+      image: archlinux:latest
+    steps:
+      - uses: actions/checkout@v4
+      - run: pacman --noconfirm -Syy
+      - run: pacman --noconfirm -S wayland-protocols libdrm libglvnd pkgconf
+      - run: pacman --noconfirm -S wayland eglexternalplatform
+      - run: pacman --noconfirm -S meson ninja gcc
+      - run: meson build
+      - run: ninja -C build
+      - run: ninja -C build install
diff --git a/.github/workflows/autoconf-build.yml 
b/.github/workflows/autoconf-build.yml
new file mode 100644
index 0000000..c52ed92
--- /dev/null
+++ b/.github/workflows/autoconf-build.yml
@@ -0,0 +1,14 @@
+name: Autotools GCC Build
+on: [push, pull_request]
+jobs:
+  Meson-Build:
+    runs-on: ubuntu-24.04
+    steps:
+      - uses: actions/checkout@v4
+      - run: sudo apt update
+      - run: sudo apt install -y wayland-protocols libdrm-dev libegl-dev
+      - run: sudo apt install -y libwayland-dev libwayland-egl-backend-dev 
eglexternalplatform-dev
+      - run: sudo apt install -y meson ninja-build gcc
+      - run: ./autogen.sh
+      - run: make
+      - run: sudo make install
diff --git a/.github/workflows/meson-build.yml 
b/.github/workflows/meson-build.yml
new file mode 100644
index 0000000..ca070d6
--- /dev/null
+++ b/.github/workflows/meson-build.yml
@@ -0,0 +1,14 @@
+name: Meson GCC Build
+on: [push, pull_request]
+jobs:
+  Meson-Build:
+    runs-on: ubuntu-24.04
+    steps:
+      - uses: actions/checkout@v4
+      - run: sudo apt update
+      - run: sudo apt install -y wayland-protocols libdrm-dev libegl-dev
+      - run: sudo apt install -y libwayland-dev libwayland-egl-backend-dev 
eglexternalplatform-dev
+      - run: sudo apt install -y meson ninja-build gcc
+      - run: meson build
+      - run: ninja -C build
+      - run: sudo ninja -C build install
diff --git a/.github/workflows/meson-llvm-build.yml 
b/.github/workflows/meson-llvm-build.yml
new file mode 100644
index 0000000..83a8dbe
--- /dev/null
+++ b/.github/workflows/meson-llvm-build.yml
@@ -0,0 +1,17 @@
+name: Meson LLVM Build
+on: [push, pull_request]
+jobs:
+  Meson-Build:
+    runs-on: ubuntu-24.04
+    steps:
+      - uses: actions/checkout@v4
+      - run: sudo apt update
+      - run: sudo apt install -y wayland-protocols libdrm-dev libegl-dev
+      - run: sudo apt install -y libwayland-dev libwayland-egl-backend-dev 
eglexternalplatform-dev
+      - run: sudo apt install -y meson ninja-build clang
+      - name: meson build
+        run: meson build
+        env:
+          CC: clang
+      - run: ninja -C build
+      - run: sudo ninja -C build install
-- 
2.43.0


++++++ 0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch ++++++
>From 0cd471dcfd46e6cb8b71eceddb20cc02eadabf61 Mon Sep 17 00:00:00 2001
From: Robin Ebert <ebertrobin2...@gmail.com>
Date: Tue, 15 Oct 2024 16:26:05 +0200
Subject: [PATCH 2/3] egl-wayland: Fix use after free in library teardown

---
 src/wayland-egldisplay.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/wayland-egldisplay.c b/src/wayland-egldisplay.c
index 7089271..edd79c4 100644
--- a/src/wayland-egldisplay.c
+++ b/src/wayland-egldisplay.c
@@ -729,10 +729,10 @@ static EGLBoolean terminateDisplay(WlEglDisplay *display, 
EGLBoolean globalTeard
      * destroy the display connection itself */
     wlEglDestroyAllSurfaces(display);
 
-    wlEglDestroyFormatSet(&display->formatSet);
-    wlEglDestroyFeedback(&display->defaultFeedback);
-
     if (!globalTeardown || display->ownNativeDpy) {
+        wlEglDestroyFormatSet(&display->formatSet);
+        wlEglDestroyFeedback(&display->defaultFeedback);
+
         if (display->wlRegistry) {
             wl_registry_destroy(display->wlRegistry);
             display->wlRegistry = NULL;
-- 
2.43.0


++++++ 0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch ++++++
>From 218f67846472c9310355210ee9a7e1fabed95062 Mon Sep 17 00:00:00 2001
From: shiningdracon <shiningdra...@gmail.com>
Date: Sun, 8 Sep 2024 19:34:26 -0700
Subject: [PATCH 3/3] egl-wayland: Handle failure to acquire image in
 wlEglSendDamageEvent

The image parameter of send_explicit_sync_points is assumed not to be
null, however this is a case the rest of the code handles. This causes
sporadic problems on KDE when running overnight as the image will not
be valid at some point, causing us to crash.

Fixes #143
---
 src/wayland-eglsurface.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/wayland-eglsurface.c b/src/wayland-eglsurface.c
index 4e4dcff..ae6cafc 100644
--- a/src/wayland-eglsurface.c
+++ b/src/wayland-eglsurface.c
@@ -265,11 +265,13 @@ wlEglSendDamageEvent(WlEglSurface *surface,
         }
 
         image = pop_acquired_image(surface);
-        if (image) {
-            surface->ctx.currentBuffer = image->buffer;
-            image->attached = EGL_TRUE;
+        if (!image) {
+            return EGL_FALSE;
         }
 
+        surface->ctx.currentBuffer = image->buffer;
+        image->attached = EGL_TRUE;
+
         /*
          * Send our explicit sync acquire and release points. This needs to be 
done
          * as part of the surface attach as it is a protocol error to specify 
these
-- 
2.43.0

Reply via email to