!303 1. Don't set AlternativeNamesPolicy by default; 2. fix systemd-journald coredump
From: @hongjinghao Reviewed-by: @openeuler-basic Signed-off-by: @openeuler-basic
This commit is contained in:
commit
c55744cc83
26
Don-t-set-AlternativeNamesPolicy-by-default.patch
Normal file
26
Don-t-set-AlternativeNamesPolicy-by-default.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From 1e3f74b7ca5ead53c10e5b37cf8660651f32d181 Mon Sep 17 00:00:00 2001
|
||||||
|
From: xujing <xujing125@huawei.com>
|
||||||
|
Date: Thu, 11 Aug 2022 19:53:35 +0800
|
||||||
|
Subject: [PATCH] Don't set AlternativeNamesPolicy by default
|
||||||
|
|
||||||
|
When a network adapter is renamed, the altname of the network adapter may be
|
||||||
|
set based on AlternativeNamesPolicy. As a result, the network adapter name
|
||||||
|
fails to be restored. For example, after enp4s0 is renamed tmp, udev sets the
|
||||||
|
altname of tmp to enp4s0. If you want to restore tmp to enp4s0, it will fail.
|
||||||
|
---
|
||||||
|
network/99-default.link | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/network/99-default.link b/network/99-default.link
|
||||||
|
index 31aee37..db48c4d 100644
|
||||||
|
--- a/network/99-default.link
|
||||||
|
+++ b/network/99-default.link
|
||||||
|
@@ -12,5 +12,4 @@ OriginalName=*
|
||||||
|
|
||||||
|
[Link]
|
||||||
|
NamePolicy=keep kernel database onboard slot path
|
||||||
|
-AlternativeNamesPolicy=database onboard slot path
|
||||||
|
MACAddressPolicy=none
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
244
backport-journal-Only-move-to-objects-when-necessary.patch
Normal file
244
backport-journal-Only-move-to-objects-when-necessary.patch
Normal file
@ -0,0 +1,244 @@
|
|||||||
|
From 57ba83ddd33d8ed5e8cee6a35f6ee780532a7a0d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daan De Meyer <daan.j.demeyer@gmail.com>
|
||||||
|
Date: Tue, 25 Jan 2022 11:50:40 +0000
|
||||||
|
Subject: [PATCH] journal: Only move to objects when necessary
|
||||||
|
|
||||||
|
Conflict:don't modify journal_file_read_object because 117e2112 isn't merged;
|
||||||
|
don't modify generic_array_get because 8d801e35cb isn't merged; adapt context
|
||||||
|
Reference:https://github.com/systemd/systemd/commit/ded10e3a5f4c9a9fca9a57f5feb7e77db4155dbd
|
||||||
|
|
||||||
|
Let's make sure we only move to objects when it's required. If "ret"
|
||||||
|
is NULL, the caller isn't interested in the actual object and the
|
||||||
|
function being called shouldn't move to it unless it has to
|
||||||
|
inspect/modify the object itself.
|
||||||
|
---
|
||||||
|
src/libsystemd/sd-journal/journal-file.c | 99 +++++++++--------------
|
||||||
|
1 file changed, 39 insertions(+), 60 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/libsystemd/sd-journal/journal-file.c b/src/libsystemd/sd-journal/journal-file.c
|
||||||
|
index e3e926b..efc5018 100644
|
||||||
|
--- a/src/libsystemd/sd-journal/journal-file.c
|
||||||
|
+++ b/src/libsystemd/sd-journal/journal-file.c
|
||||||
|
@@ -931,7 +931,6 @@ int journal_file_move_to_object(JournalFile *f, ObjectType type, uint64_t offset
|
||||||
|
uint64_t s;
|
||||||
|
|
||||||
|
assert(f);
|
||||||
|
- assert(ret);
|
||||||
|
|
||||||
|
/* Objects may only be located at multiple of 64 bit */
|
||||||
|
if (!VALID64(offset))
|
||||||
|
@@ -986,7 +985,9 @@ int journal_file_move_to_object(JournalFile *f, ObjectType type, uint64_t offset
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
- *ret = o;
|
||||||
|
+ if (ret)
|
||||||
|
+ *ret = o;
|
||||||
|
+
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1584,19 +1585,11 @@ static int journal_file_append_field(
|
||||||
|
|
||||||
|
hash = journal_file_hash_data(f, field, size);
|
||||||
|
|
||||||
|
- r = journal_file_find_field_object_with_hash(f, field, size, hash, &o, &p);
|
||||||
|
+ r = journal_file_find_field_object_with_hash(f, field, size, hash, ret, ret_offset);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
- if (r > 0) {
|
||||||
|
-
|
||||||
|
- if (ret)
|
||||||
|
- *ret = o;
|
||||||
|
-
|
||||||
|
- if (ret_offset)
|
||||||
|
- *ret_offset = p;
|
||||||
|
-
|
||||||
|
+ if (r > 0)
|
||||||
|
return 0;
|
||||||
|
- }
|
||||||
|
|
||||||
|
osize = offsetof(Object, field.payload) + size;
|
||||||
|
r = journal_file_append_object(f, OBJECT_FIELD, osize, &o, &p);
|
||||||
|
@@ -1610,20 +1603,20 @@ static int journal_file_append_field(
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
- /* The linking might have altered the window, so let's
|
||||||
|
- * refresh our pointer */
|
||||||
|
- r = journal_file_move_to_object(f, OBJECT_FIELD, p, &o);
|
||||||
|
- if (r < 0)
|
||||||
|
- return r;
|
||||||
|
+ /* The linking might have altered the window, so let's only pass the offset to hmac which will
|
||||||
|
+ * move to the object again if needed. */
|
||||||
|
|
||||||
|
#if HAVE_GCRYPT
|
||||||
|
- r = journal_file_hmac_put_object(f, OBJECT_FIELD, o, p);
|
||||||
|
+ r = journal_file_hmac_put_object(f, OBJECT_FIELD, NULL, p);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- if (ret)
|
||||||
|
- *ret = o;
|
||||||
|
+ if (ret) {
|
||||||
|
+ r = journal_file_move_to_object(f, OBJECT_FIELD, p, ret);
|
||||||
|
+ if (r < 0)
|
||||||
|
+ return r;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (ret_offset)
|
||||||
|
*ret_offset = p;
|
||||||
|
@@ -1647,19 +1640,11 @@ static int journal_file_append_data(
|
||||||
|
|
||||||
|
hash = journal_file_hash_data(f, data, size);
|
||||||
|
|
||||||
|
- r = journal_file_find_data_object_with_hash(f, data, size, hash, &o, &p);
|
||||||
|
+ r = journal_file_find_data_object_with_hash(f, data, size, hash, ret, ret_offset);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
- if (r > 0) {
|
||||||
|
-
|
||||||
|
- if (ret)
|
||||||
|
- *ret = o;
|
||||||
|
-
|
||||||
|
- if (ret_offset)
|
||||||
|
- *ret_offset = p;
|
||||||
|
-
|
||||||
|
+ if (r > 0)
|
||||||
|
return 0;
|
||||||
|
- }
|
||||||
|
|
||||||
|
osize = offsetof(Object, data.payload) + size;
|
||||||
|
r = journal_file_append_object(f, OBJECT_DATA, osize, &o, &p);
|
||||||
|
@@ -1693,17 +1678,16 @@ static int journal_file_append_data(
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
-#if HAVE_GCRYPT
|
||||||
|
- r = journal_file_hmac_put_object(f, OBJECT_DATA, o, p);
|
||||||
|
+ /* The linking might have altered the window, so let's refresh our pointer. */
|
||||||
|
+ r = journal_file_move_to_object(f, OBJECT_DATA, p, &o);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
- /* The linking might have altered the window, so let's
|
||||||
|
- * refresh our pointer */
|
||||||
|
- r = journal_file_move_to_object(f, OBJECT_DATA, p, &o);
|
||||||
|
+#if HAVE_GCRYPT
|
||||||
|
+ r = journal_file_hmac_put_object(f, OBJECT_DATA, o, p);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
if (!data)
|
||||||
|
eq = NULL;
|
||||||
|
@@ -2307,20 +2290,15 @@ static int generic_array_get_plus_one(
|
||||||
|
uint64_t i,
|
||||||
|
Object **ret, uint64_t *ret_offset) {
|
||||||
|
|
||||||
|
- Object *o;
|
||||||
|
-
|
||||||
|
assert(f);
|
||||||
|
|
||||||
|
if (i == 0) {
|
||||||
|
int r;
|
||||||
|
|
||||||
|
- r = journal_file_move_to_object(f, OBJECT_ENTRY, extra, &o);
|
||||||
|
+ r = journal_file_move_to_object(f, OBJECT_ENTRY, extra, ret);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
- if (ret)
|
||||||
|
- *ret = o;
|
||||||
|
-
|
||||||
|
if (ret_offset)
|
||||||
|
*ret_offset = extra;
|
||||||
|
|
||||||
|
@@ -2349,7 +2327,7 @@ static int generic_array_bisect(
|
||||||
|
|
||||||
|
uint64_t a, p, t = 0, i = 0, last_p = 0, last_index = UINT64_MAX;
|
||||||
|
bool subtract_one = false;
|
||||||
|
- Object *o, *array = NULL;
|
||||||
|
+ Object *array = NULL;
|
||||||
|
int r;
|
||||||
|
ChainCacheItem *ci;
|
||||||
|
|
||||||
|
@@ -2537,12 +2515,11 @@ found:
|
||||||
|
else
|
||||||
|
p = le64toh(array->entry_array.items[i]);
|
||||||
|
|
||||||
|
- r = journal_file_move_to_object(f, OBJECT_ENTRY, p, &o);
|
||||||
|
- if (r < 0)
|
||||||
|
- return r;
|
||||||
|
-
|
||||||
|
- if (ret)
|
||||||
|
- *ret = o;
|
||||||
|
+ if (ret) {
|
||||||
|
+ r = journal_file_move_to_object(f, OBJECT_ENTRY, p, ret);
|
||||||
|
+ if (r < 0)
|
||||||
|
+ return r;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (ret_offset)
|
||||||
|
*ret_offset = p;
|
||||||
|
@@ -2567,7 +2544,6 @@ static int generic_array_bisect_plus_one(
|
||||||
|
|
||||||
|
int r;
|
||||||
|
bool step_back = false;
|
||||||
|
- Object *o;
|
||||||
|
|
||||||
|
assert(f);
|
||||||
|
assert(test_object);
|
||||||
|
@@ -2610,12 +2586,11 @@ static int generic_array_bisect_plus_one(
|
||||||
|
return r;
|
||||||
|
|
||||||
|
found:
|
||||||
|
- r = journal_file_move_to_object(f, OBJECT_ENTRY, extra, &o);
|
||||||
|
- if (r < 0)
|
||||||
|
- return r;
|
||||||
|
-
|
||||||
|
- if (ret)
|
||||||
|
- *ret = o;
|
||||||
|
+ if (ret) {
|
||||||
|
+ r = journal_file_move_to_object(f, OBJECT_ENTRY, extra, ret);
|
||||||
|
+ if (r < 0)
|
||||||
|
+ return r;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (ret_offset)
|
||||||
|
*ret_offset = extra;
|
||||||
|
@@ -3088,7 +3063,6 @@ int journal_file_move_to_entry_by_monotonic_for_data(
|
||||||
|
* exists in both bisection arrays */
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
|
- Object *qo;
|
||||||
|
uint64_t p, q;
|
||||||
|
|
||||||
|
r = journal_file_move_to_object(f, OBJECT_DATA, data_offset, &d);
|
||||||
|
@@ -3117,14 +3091,18 @@ int journal_file_move_to_entry_by_monotonic_for_data(
|
||||||
|
p,
|
||||||
|
test_object_offset,
|
||||||
|
direction,
|
||||||
|
- &qo, &q, NULL);
|
||||||
|
+ NULL, &q, NULL);
|
||||||
|
|
||||||
|
if (r <= 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
if (p == q) {
|
||||||
|
- if (ret)
|
||||||
|
- *ret = qo;
|
||||||
|
+ if (ret) {
|
||||||
|
+ r = journal_file_move_to_object(f, OBJECT_ENTRY, q, ret);
|
||||||
|
+ if (r < 0)
|
||||||
|
+ return r;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (ret_offset)
|
||||||
|
*ret_offset = q;
|
||||||
|
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
@ -20,7 +20,7 @@
|
|||||||
Name: systemd
|
Name: systemd
|
||||||
Url: https://www.freedesktop.org/wiki/Software/systemd
|
Url: https://www.freedesktop.org/wiki/Software/systemd
|
||||||
Version: 249
|
Version: 249
|
||||||
Release: 32
|
Release: 33
|
||||||
License: MIT and LGPLv2+ and GPLv2+
|
License: MIT and LGPLv2+ and GPLv2+
|
||||||
Summary: System and Service Manager
|
Summary: System and Service Manager
|
||||||
|
|
||||||
@ -74,6 +74,7 @@ Patch0025: check-whether-command_prev-is-null-before-assigning-.patch
|
|||||||
Patch0026: print-the-real-reason-for-link-update.patch
|
Patch0026: print-the-real-reason-for-link-update.patch
|
||||||
Patch0027: core-skip-change-device-to-dead-in-manager_catchup-d.patch
|
Patch0027: core-skip-change-device-to-dead-in-manager_catchup-d.patch
|
||||||
Patch0028: revert-rpm-restart-services-in-posttrans.patch
|
Patch0028: revert-rpm-restart-services-in-posttrans.patch
|
||||||
|
Patch0029: Don-t-set-AlternativeNamesPolicy-by-default.patch
|
||||||
|
|
||||||
#backport
|
#backport
|
||||||
Patch6000: backport-core-fix-free-undefined-pointer-when-strdup-failed-i.patch
|
Patch6000: backport-core-fix-free-undefined-pointer-when-strdup-failed-i.patch
|
||||||
@ -107,6 +108,7 @@ Patch6027: backport-unit-coldplug-both-job-and-nop_job-if-possible.patch
|
|||||||
Patch6028: backport-meson.build-change-operator-combining-bools-from-to-.patch
|
Patch6028: backport-meson.build-change-operator-combining-bools-from-to-.patch
|
||||||
Patch6029: backport-Avoid-tmp-being-mounted-as-tmpfs-without-the-user-s-.patch
|
Patch6029: backport-Avoid-tmp-being-mounted-as-tmpfs-without-the-user-s-.patch
|
||||||
Patch6030: backport-core-replace-slice-dependencies-as-they-get-added.patch
|
Patch6030: backport-core-replace-slice-dependencies-as-they-get-added.patch
|
||||||
|
Patch6031: backport-journal-Only-move-to-objects-when-necessary.patch
|
||||||
|
|
||||||
BuildRequires: gcc, gcc-c++
|
BuildRequires: gcc, gcc-c++
|
||||||
BuildRequires: libcap-devel, libmount-devel, pam-devel, libselinux-devel
|
BuildRequires: libcap-devel, libmount-devel, pam-devel, libselinux-devel
|
||||||
@ -1510,6 +1512,10 @@ fi
|
|||||||
%{_libdir}/security/pam_systemd.so
|
%{_libdir}/security/pam_systemd.so
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Sep 1 2022 hongjinghao<hongjinghao@huawei.com> - 249-33
|
||||||
|
- 1. Don't set AlternativeNamesPolicy by default
|
||||||
|
2. fix systemd-journald coredump
|
||||||
|
|
||||||
* Tue Aug 02 2022 zhukeqian<zhukeqian1@huawei.com> -249-32
|
* Tue Aug 02 2022 zhukeqian<zhukeqian1@huawei.com> -249-32
|
||||||
- core: replace slice dependencies as they get added
|
- core: replace slice dependencies as they get added
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user