1 |
commit: 327024d4f4606f13c70655d4b67d8b03c447b23f |
2 |
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Mar 31 16:23:53 2022 +0000 |
4 |
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Mar 31 16:24:38 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=327024d4 |
7 |
|
8 |
sys-apps/dbus: backport fix for _dbus_reset_oom_score_adj |
9 |
|
10 |
Closes: https://bugs.gentoo.org/834725 |
11 |
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org> |
12 |
|
13 |
sys-apps/dbus/dbus-1.12.22.ebuild | 6 +++-- |
14 |
sys-apps/dbus/dbus-1.14.0.ebuild | 7 +++--- |
15 |
sys-apps/dbus/files/dbus-1.12.22-check-fd.patch | 33 +++++++++++++++++++++++++ |
16 |
3 files changed, 41 insertions(+), 5 deletions(-) |
17 |
|
18 |
diff --git a/sys-apps/dbus/dbus-1.12.22.ebuild b/sys-apps/dbus/dbus-1.12.22.ebuild |
19 |
index 7427d268d82c..1caf4c88cc06 100644 |
20 |
--- a/sys-apps/dbus/dbus-1.12.22.ebuild |
21 |
+++ b/sys-apps/dbus/dbus-1.12.22.ebuild |
22 |
@@ -60,8 +60,10 @@ DOC_CONTENTS=" |
23 |
TBD="${WORKDIR}/${P}-tests-build" |
24 |
|
25 |
PATCHES=( |
26 |
- "${FILESDIR}/${PN}-enable-elogind.patch" |
27 |
- "${FILESDIR}/${PN}-daemon-optional.patch" # bug #653136 |
28 |
+ "${FILESDIR}/dbus-enable-elogind.patch" |
29 |
+ "${FILESDIR}/dbus-daemon-optional.patch" # bug #653136 |
30 |
+ |
31 |
+ "${FILESDIR}/dbus-1.12.22-check-fd.patch" |
32 |
) |
33 |
|
34 |
pkg_setup() { |
35 |
|
36 |
diff --git a/sys-apps/dbus/dbus-1.14.0.ebuild b/sys-apps/dbus/dbus-1.14.0.ebuild |
37 |
index 03e772f142c6..fa70a989b3d6 100644 |
38 |
--- a/sys-apps/dbus/dbus-1.14.0.ebuild |
39 |
+++ b/sys-apps/dbus/dbus-1.14.0.ebuild |
40 |
@@ -63,10 +63,11 @@ DOC_CONTENTS=" |
41 |
TBD="${WORKDIR}/${P}-tests-build" |
42 |
|
43 |
PATCHES=( |
44 |
- "${FILESDIR}/${PN}-enable-elogind.patch" |
45 |
- "${FILESDIR}/${PN}-daemon-optional.patch" # bug #653136 |
46 |
+ "${FILESDIR}/dbus-enable-elogind.patch" |
47 |
+ "${FILESDIR}/dbus-daemon-optional.patch" # bug #653136 |
48 |
|
49 |
- "${FILESDIR}/${P}-x-autoconf-fixes.patch" |
50 |
+ "${FILESDIR}/dbus-1.14.0-x-autoconf-fixes.patch" |
51 |
+ "${FILESDIR}/dbus-1.12.22-check-fd.patch" |
52 |
) |
53 |
|
54 |
pkg_setup() { |
55 |
|
56 |
diff --git a/sys-apps/dbus/files/dbus-1.12.22-check-fd.patch b/sys-apps/dbus/files/dbus-1.12.22-check-fd.patch |
57 |
new file mode 100644 |
58 |
index 000000000000..9038411bb13b |
59 |
--- /dev/null |
60 |
+++ b/sys-apps/dbus/files/dbus-1.12.22-check-fd.patch |
61 |
@@ -0,0 +1,33 @@ |
62 |
+From 769a0462befb9829594a76e675526aba8579317e Mon Sep 17 00:00:00 2001 |
63 |
+From: Mike Gilbert <floppym@g.o> |
64 |
+Date: Sun, 27 Mar 2022 15:09:48 -0400 |
65 |
+Subject: [PATCH] sysdeps-unix: check fd before calling |
66 |
+ _dbus_fd_set_close_on_exec() |
67 |
+ |
68 |
+If /proc/self/oom_score_adj does not exist, fd will invalid (-1). |
69 |
+Attempting to set the CLOEXEC flag will obviously fail, and we lose the |
70 |
+original errno value from open(). |
71 |
+ |
72 |
+Bug: https://bugs.gentoo.org/834725 |
73 |
+Signed-off-by: Mike Gilbert <floppym@g.o> |
74 |
+--- |
75 |
+ dbus/dbus-sysdeps-util-unix.c | 3 ++- |
76 |
+ 1 file changed, 2 insertions(+), 1 deletion(-) |
77 |
+ |
78 |
+diff --git a/dbus/dbus-sysdeps-util-unix.c b/dbus/dbus-sysdeps-util-unix.c |
79 |
+index 314ce64b..8f079cbf 100644 |
80 |
+--- a/dbus/dbus-sysdeps-util-unix.c |
81 |
++++ b/dbus/dbus-sysdeps-util-unix.c |
82 |
+@@ -1633,7 +1633,8 @@ _dbus_reset_oom_score_adj (const char **error_str_p) |
83 |
+ if (fd < 0) |
84 |
+ { |
85 |
+ fd = open ("/proc/self/oom_score_adj", O_RDWR); |
86 |
+- _dbus_fd_set_close_on_exec (fd); |
87 |
++ if (fd >= 0) |
88 |
++ _dbus_fd_set_close_on_exec (fd); |
89 |
+ } |
90 |
+ |
91 |
+ if (fd >= 0) |
92 |
+-- |
93 |
+GitLab |
94 |
+ |