diff --git a/33738.patch b/33738.patch new file mode 100644 index 0000000..58ab604 --- /dev/null +++ b/33738.patch @@ -0,0 +1,37 @@ +From 69c5d6bea7cc2168a2a483d232aa9a77202173f0 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Tue, 16 Jul 2024 17:46:09 +0200 +Subject: [PATCH] rules: Add uaccess tag to /dev/udmabuf + +In some cases userspace may need to create dmabuffers from userspace +on such example is the software ISP part of libcamera which needs to +allocate dma-buffers for the output of the software ISP. + +At first the plan was to allow console users access to /dev/dma_heap/*, +this was discussed with various kernel folks here: +https://lore.kernel.org/all/bb372250-e8b8-4458-bc99-dd8365b06991@redhat.com/ + +Giving console users access to the dma_heap's was deemed a bad idea +because memory allocated this way is not accounted in cgroup limits. + +Giving access to /dev/udmabuf OTOH was deemed acceptable so that +is what this patch adds. + +Resolves: #32662 +--- + rules.d/70-uaccess.rules.in | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/rules.d/70-uaccess.rules.in b/rules.d/70-uaccess.rules.in +index b82ce04a39d38..e683bb1114461 100644 +--- a/rules.d/70-uaccess.rules.in ++++ b/rules.d/70-uaccess.rules.in +@@ -34,6 +34,8 @@ SUBSYSTEM=="sound", TAG+="uaccess", \ + SUBSYSTEM=="video4linux", TAG+="uaccess" + SUBSYSTEM=="dvb", TAG+="uaccess" + SUBSYSTEM=="media", TAG+="uaccess" ++# libcamera software ISP used with some cams requires udmabuf access ++KERNEL=="udmabuf", TAG+="uaccess" + + # industrial cameras, some webcams, camcorders, set-top boxes, TV sets, audio devices, and more + SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_MIDI}=="1", TAG+="uaccess" diff --git a/systemd.spec b/systemd.spec index 1d9bdc9..7f2dbe3 100644 --- a/systemd.spec +++ b/systemd.spec @@ -104,13 +104,16 @@ GIT_DIR=../../src/systemd/.git git diffab -M v233..master@{2017-06-15} -- hwdb/[ # applying upstream pull requests. %if %{without upstream} -%if ! (0%{?fedora} >= 40 || 0%{?rhel} >= 10) +%if 0%{?fedora} < 40 && 0%{?rhel} < 10 # Work-around for dracut issue: run generators directly when we are in initrd # https://bugzilla.redhat.com/show_bug.cgi?id=2164404 # Drop when dracut-060 is available. Patch0010: https://github.com/systemd/systemd/pull/26494.patch %endif +# Requested in https://bugzilla.redhat.com/show_bug.cgi?id=2298422 +Patch0011: https://github.com/systemd/systemd/pull/33738.patch + Patch0020: 0001-meson-rename-libbasic-to-libbasic_static.patch Patch0021: 0002-meson-build-libsystemd-core-via-an-intermediate-stat.patch Patch0022: 0003-meson-add-option-to-build-systemd-executor-staticall.patch @@ -177,7 +180,7 @@ BuildRequires: openssl-devel-engine %if %{with gnutls} BuildRequires: gnutls-devel %endif -%if %{undefined rhel} +%if 0%{?fedora} BuildRequires: qrencode-devel %endif BuildRequires: libmicrohttpd-devel @@ -205,7 +208,7 @@ BuildRequires: python3-devel BuildRequires: python3dist(jinja2) BuildRequires: python3dist(lxml) BuildRequires: python3dist(pefile) -%if %{undefined rhel} +%if 0%{?fedora} BuildRequires: python3dist(pillow) BuildRequires: python3dist(pytest-flakes) %endif @@ -313,7 +316,7 @@ Recommends: libidn2.so.0(IDN2_0.0.0)%{?elf_bits} Recommends: libpcre2-8.so.0%{?elf_suffix} Recommends: libpwquality.so.1%{?elf_suffix} Recommends: libpwquality.so.1(LIBPWQUALITY_1.0)%{?elf_bits} -%if %{undefined rhel} +%if 0%{?fedora} Recommends: libqrencode.so.4%{?elf_suffix} %endif Recommends: libbpf.so.1%{?elf_suffix} @@ -485,7 +488,7 @@ Requires: %{name} = %{version}-%{release} Requires: systemd-boot Requires: python3dist(pefile) -%if %{undefined rhel} +%if 0%{?fedora} Requires: python3dist(zstd) %endif Requires: python3dist(cryptography)