!381 [sync] PR-380: backport patches from upstream and add patchs
From: @openeuler-sync-bot Reviewed-by: @licunlong Signed-off-by: @licunlong
This commit is contained in:
commit
6f0b01e01e
@ -0,0 +1,79 @@
|
|||||||
|
From b7e5e6e85048c1a71632bc2d5efe57fb1bfe7472 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Michal=20Koutn=C3=BD?= <mkoutny@suse.com>
|
||||||
|
Date: Wed, 18 Jan 2023 23:20:31 +0100
|
||||||
|
Subject: [PATCH] core: mount namespaces: Remove auxiliary bind mounts
|
||||||
|
directory after unit termination
|
||||||
|
|
||||||
|
Unit that requires its own mount namespace creates a temporary directory
|
||||||
|
to implement dynamic bind mounts (org.freedesktop.systemd1.Manager.BindMountUnit).
|
||||||
|
However, this directory is never removed and they will accumulate for
|
||||||
|
each unique unit (e.g. templated units of systemd-coredump@).
|
||||||
|
|
||||||
|
Attach the auxiliary runtime directory existence to lifetime of other
|
||||||
|
"runtime" only per-unit directories.
|
||||||
|
|
||||||
|
(cherry picked from commit b9f976fb45635e09cd709dbedd0afb03d4b73c05)
|
||||||
|
(cherry picked from commit 80e8340ec49d0da3744cdf81f82202e13b0fad3b)
|
||||||
|
(cherry picked from commit fd260cb37e3441b851c7fee4825d5b6af17f66ca)
|
||||||
|
(cherry picked from commit ff542dcd1a8c2c7cdc96b9f4b9889774b9474c26)
|
||||||
|
---
|
||||||
|
src/core/execute.c | 17 +++++++++++++++++
|
||||||
|
src/core/execute.h | 1 +
|
||||||
|
src/core/unit.c | 1 +
|
||||||
|
3 files changed, 19 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/core/execute.c b/src/core/execute.c
|
||||||
|
index 37f63a9378..6844b1d28f 100644
|
||||||
|
--- a/src/core/execute.c
|
||||||
|
+++ b/src/core/execute.c
|
||||||
|
@@ -4978,6 +4978,23 @@ int exec_context_destroy_credentials(const ExecContext *c, const char *runtime_p
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+int exec_context_destroy_mount_ns_dir(Unit *u) {
|
||||||
|
+ _cleanup_free_ char *p = NULL;
|
||||||
|
+
|
||||||
|
+ if (!u || !MANAGER_IS_SYSTEM(u->manager))
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+ p = path_join("/run/systemd/propagate/", u->id);
|
||||||
|
+ if (!p)
|
||||||
|
+ return -ENOMEM;
|
||||||
|
+
|
||||||
|
+ /* This is only filled transiently (see mount_in_namespace()), should be empty or even non-existent*/
|
||||||
|
+ if (rmdir(p) < 0 && errno != ENOENT)
|
||||||
|
+ log_unit_debug_errno(u, errno, "Unable to remove propagation dir '%s', ignoring: %m", p);
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void exec_command_done(ExecCommand *c) {
|
||||||
|
assert(c);
|
||||||
|
|
||||||
|
diff --git a/src/core/execute.h b/src/core/execute.h
|
||||||
|
index 47349a69a2..f1f0ee4186 100644
|
||||||
|
--- a/src/core/execute.h
|
||||||
|
+++ b/src/core/execute.h
|
||||||
|
@@ -422,6 +422,7 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix);
|
||||||
|
|
||||||
|
int exec_context_destroy_runtime_directory(const ExecContext *c, const char *runtime_root);
|
||||||
|
int exec_context_destroy_credentials(const ExecContext *c, const char *runtime_root, const char *unit);
|
||||||
|
+int exec_context_destroy_mount_ns_dir(Unit *u);
|
||||||
|
|
||||||
|
const char* exec_context_fdname(const ExecContext *c, int fd_index);
|
||||||
|
|
||||||
|
diff --git a/src/core/unit.c b/src/core/unit.c
|
||||||
|
index 0e8a01966a..0f44ea8bcd 100644
|
||||||
|
--- a/src/core/unit.c
|
||||||
|
+++ b/src/core/unit.c
|
||||||
|
@@ -5700,6 +5700,7 @@ void unit_destroy_runtime_data(Unit *u, const ExecContext *context) {
|
||||||
|
exec_context_destroy_runtime_directory(context, u->manager->prefix[EXEC_DIRECTORY_RUNTIME]);
|
||||||
|
|
||||||
|
exec_context_destroy_credentials(context, u->manager->prefix[EXEC_DIRECTORY_RUNTIME], u->id);
|
||||||
|
+ exec_context_destroy_mount_ns_dir(u);
|
||||||
|
}
|
||||||
|
|
||||||
|
int unit_clean(Unit *u, ExecCleanMask mask) {
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
@ -0,0 +1,32 @@
|
|||||||
|
From ccbb0b48c48f80a3121ff9d99f395b642a0090b5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: jcg <jiangchuangang@huawei.com>
|
||||||
|
Date: Fri, 9 Dec 2022 20:45:39 +0800
|
||||||
|
Subject: [PATCH] mount-setup: don't need to mount /sys/fs/pstore if there is
|
||||||
|
no ENABLE_PSTORE
|
||||||
|
|
||||||
|
(cherry picked from commit 5e5fce3e918ebba5d0cbf0b64bb97f0eaeae70a3)
|
||||||
|
(cherry picked from commit 613994c10b19f02c0764aa1d5865730f3af99267)
|
||||||
|
(cherry picked from commit 46a7e30cb9f274763657d40193c2a03a02c687ab)
|
||||||
|
(cherry picked from commit 0e96d07e8c03e543816702b13db891924b485951)
|
||||||
|
---
|
||||||
|
src/shared/mount-setup.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/shared/mount-setup.c b/src/shared/mount-setup.c
|
||||||
|
index ef3527e9a7..8c7c390854 100644
|
||||||
|
--- a/src/shared/mount-setup.c
|
||||||
|
+++ b/src/shared/mount-setup.c
|
||||||
|
@@ -102,8 +102,10 @@ static const MountPoint mount_table[] = {
|
||||||
|
cg_is_legacy_wanted, MNT_IN_CONTAINER },
|
||||||
|
{ "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||||
|
cg_is_legacy_wanted, MNT_FATAL|MNT_IN_CONTAINER },
|
||||||
|
+#if ENABLE_PSTORE
|
||||||
|
{ "pstore", "/sys/fs/pstore", "pstore", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||||
|
NULL, MNT_NONE },
|
||||||
|
+#endif
|
||||||
|
#if ENABLE_EFI
|
||||||
|
{ "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
|
||||||
|
is_efi_boot, MNT_NONE },
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
36
backport-nspawn-guard-acl_free-with-a-NULL-check.patch
Normal file
36
backport-nspawn-guard-acl_free-with-a-NULL-check.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
From 1d0921354ab975910c44ac0d646661323bca8717 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Fri, 6 Jan 2023 12:30:36 +0100
|
||||||
|
Subject: [PATCH] nspawn: guard acl_free() with a NULL check
|
||||||
|
|
||||||
|
Inspired by #25957 there's one other place where we don't guard
|
||||||
|
acl_free() calls with a NULL check.
|
||||||
|
|
||||||
|
Fix that.
|
||||||
|
|
||||||
|
(cherry picked from commit 34680637e838415204850f77c93ca6ca219abaf1)
|
||||||
|
(cherry picked from commit 4dabf90526d4573144a51bdd87c1203b25265b33)
|
||||||
|
(cherry picked from commit d8b4ac7a1783a29435cb3dfee3dfdee37c1b1ac8)
|
||||||
|
(cherry picked from commit 3a9fe8e7687ed3b2b563c6b2237d2b62a79f79e6)
|
||||||
|
---
|
||||||
|
src/nspawn/nspawn-patch-uid.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/nspawn/nspawn-patch-uid.c b/src/nspawn/nspawn-patch-uid.c
|
||||||
|
index 785332e091..321caf066b 100644
|
||||||
|
--- a/src/nspawn/nspawn-patch-uid.c
|
||||||
|
+++ b/src/nspawn/nspawn-patch-uid.c
|
||||||
|
@@ -189,7 +189,9 @@ static int patch_acls(int fd, const char *name, const struct stat *st, uid_t shi
|
||||||
|
|
||||||
|
if (S_ISDIR(st->st_mode)) {
|
||||||
|
acl_free(acl);
|
||||||
|
- acl_free(shifted);
|
||||||
|
+
|
||||||
|
+ if (shifted)
|
||||||
|
+ acl_free(shifted);
|
||||||
|
|
||||||
|
acl = shifted = NULL;
|
||||||
|
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
@ -0,0 +1,37 @@
|
|||||||
|
From 3aa1cf93ad9eff91e8d26fb4628ac33b620b6b28 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Fri, 6 Jan 2023 11:27:17 +0100
|
||||||
|
Subject: [PATCH] sd-event: don't mistake USEC_INFINITY passed in for overflow
|
||||||
|
|
||||||
|
Let's pass USEC_INFINITY from sd_event_source_set_time_relative() to
|
||||||
|
sd_event_source_set_time() instead of raising EOVERFLOW.
|
||||||
|
|
||||||
|
We should raise EOVERFLOW only if your addition fails, but not if the
|
||||||
|
input already is USEC_INFINITY, since it's an entirely valid operation
|
||||||
|
to have an infinite time-out, and we should support that.
|
||||||
|
|
||||||
|
(cherry picked from commit ef8591951aefccb668201f24aa481aa6cda834da)
|
||||||
|
(cherry picked from commit 9769d84fe51573b4f2d5cb8f76664e886c7daf88)
|
||||||
|
(cherry picked from commit 5fe49d0fb88b779d5096713627ce54757bff70b2)
|
||||||
|
(cherry picked from commit 33036c403225ad0c88c9e5a9058aea69ff6ed9bc)
|
||||||
|
---
|
||||||
|
src/libsystemd/sd-event/sd-event.c | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c
|
||||||
|
index 4ba7151050..19e7680687 100644
|
||||||
|
--- a/src/libsystemd/sd-event/sd-event.c
|
||||||
|
+++ b/src/libsystemd/sd-event/sd-event.c
|
||||||
|
@@ -2611,6 +2611,9 @@ _public_ int sd_event_source_set_time_relative(sd_event_source *s, uint64_t usec
|
||||||
|
assert_return(s, -EINVAL);
|
||||||
|
assert_return(EVENT_SOURCE_IS_TIME(s->type), -EDOM);
|
||||||
|
|
||||||
|
+ if (usec == USEC_INFINITY)
|
||||||
|
+ return sd_event_source_set_time(s, USEC_INFINITY);
|
||||||
|
+
|
||||||
|
r = sd_event_now(s->event, event_source_type_to_clock(s->type), &t);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
From b369b5884d52e5fd5fde0de78323d16a969df9d5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||||
|
Date: Mon, 19 Dec 2022 14:36:08 +0100
|
||||||
|
Subject: [PATCH] sd-event: never pass negative errnos as signalfd to signalfd
|
||||||
|
|
||||||
|
We treat any negative value as "invalid fd", but signalfd only
|
||||||
|
accepts -1.
|
||||||
|
|
||||||
|
(cherry picked from commit cbff793ffb280d9d11e5d7b1dc3964276491bee8)
|
||||||
|
(cherry picked from commit 54c840ea58c578060e941f754a4fed2931483820)
|
||||||
|
(cherry picked from commit 4178457f0ec07452f856894988e5490bbc91cc36)
|
||||||
|
(cherry picked from commit 0accce1b1c5d67e4183cb67f0bbbaaf7fc50c9f6)
|
||||||
|
---
|
||||||
|
src/libsystemd/sd-event/sd-event.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c
|
||||||
|
index 20ffd38eff..4ba7151050 100644
|
||||||
|
--- a/src/libsystemd/sd-event/sd-event.c
|
||||||
|
+++ b/src/libsystemd/sd-event/sd-event.c
|
||||||
|
@@ -649,7 +649,9 @@ static int event_make_signal_data(
|
||||||
|
ss_copy = d->sigset;
|
||||||
|
assert_se(sigaddset(&ss_copy, sig) >= 0);
|
||||||
|
|
||||||
|
- r = signalfd(d->fd, &ss_copy, SFD_NONBLOCK|SFD_CLOEXEC);
|
||||||
|
+ r = signalfd(d->fd >= 0 ? d->fd : -1, /* the first arg must be -1 or a valid signalfd */
|
||||||
|
+ &ss_copy,
|
||||||
|
+ SFD_NONBLOCK|SFD_CLOEXEC);
|
||||||
|
if (r < 0) {
|
||||||
|
r = -errno;
|
||||||
|
goto fail;
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
From 316382fb90c7018b5309bacf66c5f18488c2a3c4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Tardon <dtardon@redhat.com>
|
||||||
|
Date: Mon, 12 Dec 2022 16:21:30 +0100
|
||||||
|
Subject: [PATCH] swap: tell swapon to reinitialize swap if needed
|
||||||
|
|
||||||
|
If the page size of a swap space doesn't match the page size of the
|
||||||
|
currently running kernel, swapon will fail. Let's instruct it to
|
||||||
|
reinitialize the swap space instead.
|
||||||
|
|
||||||
|
(cherry picked from commit cc137d53e36da5e57b060be5e621864f572b2cac)
|
||||||
|
(cherry picked from commit a0ac79bce9255cf33b0f208b18d888f0f700133c)
|
||||||
|
(cherry picked from commit 8be5a12c7170ed7e7b4303c16573e463ef997e23)
|
||||||
|
(cherry picked from commit f8201271fdaef4e3a68efac8a21e9f195e4e4a6b)
|
||||||
|
---
|
||||||
|
src/core/swap.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/swap.c b/src/core/swap.c
|
||||||
|
index 3843b19500..83e77d24ae 100644
|
||||||
|
--- a/src/core/swap.c
|
||||||
|
+++ b/src/core/swap.c
|
||||||
|
@@ -836,7 +836,7 @@ static void swap_enter_activating(Swap *s) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- r = exec_command_set(s->control_command, "/sbin/swapon", NULL);
|
||||||
|
+ r = exec_command_set(s->control_command, "/sbin/swapon", "--fixpgsz", NULL);
|
||||||
|
if (r < 0)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
57
backport-tmpfiles-avoid-null-free-for-acl-attributes.patch
Normal file
57
backport-tmpfiles-avoid-null-free-for-acl-attributes.patch
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
From 85e06ba8753e767d9f28550bf9f6b0d2e971b296 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Sam James <sam@gentoo.org>
|
||||||
|
Date: Fri, 6 Jan 2023 10:58:32 +0000
|
||||||
|
Subject: [PATCH] tmpfiles: avoid null free() for acl attributes
|
||||||
|
|
||||||
|
When built with ACL support, we might be processing a tmpfiles
|
||||||
|
entry where there's no cause for us to call parse_acls_from_arg,
|
||||||
|
then we get to the end of parse_line without having ever populated
|
||||||
|
i.{acl_access, acl_default}.
|
||||||
|
|
||||||
|
Then we pass a null pointer into acl_free().
|
||||||
|
|
||||||
|
From UBSAN w/ GCC 13.0.0_pre20230101:
|
||||||
|
```
|
||||||
|
$ systemd-tmpfiles --clean
|
||||||
|
/var/tmp/portage/sys-apps/acl-2.3.1-r1/work/acl-2.3.1/libacl/acl_free.c:44:14: runtime error: applying non-zero offset 18446744073709551608 to null pointer
|
||||||
|
#0 0x7f65d868b482 in acl_free /var/tmp/portage/sys-apps/acl-2.3.1-r1/work/acl-2.3.1/libacl/acl_free.c:44
|
||||||
|
#1 0x55fe7e592249 in item_free_contents ../systemd-9999/src/tmpfiles/tmpfiles.c:2855
|
||||||
|
#2 0x55fe7e5a347a in parse_line ../systemd-9999/src/tmpfiles/tmpfiles.c:3158
|
||||||
|
#3 0x55fe7e5a347a in read_config_file ../systemd-9999/src/tmpfiles/tmpfiles.c:3897
|
||||||
|
#4 0x55fe7e590c61 in read_config_files ../systemd-9999/src/tmpfiles/tmpfiles.c:3985
|
||||||
|
#5 0x55fe7e590c61 in run ../systemd-9999/src/tmpfiles/tmpfiles.c:4157
|
||||||
|
#6 0x55fe7e590c61 in main ../systemd-9999/src/tmpfiles/tmpfiles.c:4218
|
||||||
|
#7 0x7f65d7ebe289 (/usr/lib64/libc.so.6+0x23289)
|
||||||
|
#8 0x7f65d7ebe344 in __libc_start_main (/usr/lib64/libc.so.6+0x23344)
|
||||||
|
#9 0x55fe7e591900 in _start (/usr/bin/systemd-tmpfiles+0x11900)
|
||||||
|
```
|
||||||
|
|
||||||
|
(cherry picked from commit 9f804ab04d566ff745849e1c4ced680a0447cf76)
|
||||||
|
(cherry picked from commit a11a949c43def70ec5d3f57f561884c3f652603e)
|
||||||
|
(cherry picked from commit 455193605d22a171c0f9b599a105be9ac18f433f)
|
||||||
|
(cherry picked from commit 0e711b7c06fc8b1290adcd38b4bb8faaa49ab764)
|
||||||
|
---
|
||||||
|
src/tmpfiles/tmpfiles.c | 7 +++++--
|
||||||
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
|
||||||
|
index 1bfb1cbe16..461dfe5a5f 100644
|
||||||
|
--- a/src/tmpfiles/tmpfiles.c
|
||||||
|
+++ b/src/tmpfiles/tmpfiles.c
|
||||||
|
@@ -2683,8 +2683,11 @@ static void item_free_contents(Item *i) {
|
||||||
|
strv_free(i->xattrs);
|
||||||
|
|
||||||
|
#if HAVE_ACL
|
||||||
|
- acl_free(i->acl_access);
|
||||||
|
- acl_free(i->acl_default);
|
||||||
|
+ if (i->acl_access)
|
||||||
|
+ acl_free(i->acl_access);
|
||||||
|
+
|
||||||
|
+ if (i->acl_default)
|
||||||
|
+ acl_free(i->acl_default);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
12
systemd.spec
12
systemd.spec
@ -21,7 +21,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: 46
|
Release: 47
|
||||||
License: MIT and LGPLv2+ and GPLv2+
|
License: MIT and LGPLv2+ and GPLv2+
|
||||||
Summary: System and Service Manager
|
Summary: System and Service Manager
|
||||||
|
|
||||||
@ -440,6 +440,13 @@ Patch6392: backport-mount-util-fix-error-code.patch
|
|||||||
Patch6393: backport-analyze-add-forgotten-return-statement.patch
|
Patch6393: backport-analyze-add-forgotten-return-statement.patch
|
||||||
Patch6394: backport-shared-condition-avoid-nss-lookup-in-PID1.patch
|
Patch6394: backport-shared-condition-avoid-nss-lookup-in-PID1.patch
|
||||||
Patch6395: backport-logind-fix-getting-property-OnExternalPower-via-D-Bu.patch
|
Patch6395: backport-logind-fix-getting-property-OnExternalPower-via-D-Bu.patch
|
||||||
|
Patch6396: backport-mount-setup-don-t-need-to-mount-sys-fs-pstore-if-the.patch
|
||||||
|
Patch6397: backport-swap-tell-swapon-to-reinitialize-swap-if-needed.patch
|
||||||
|
Patch6398: backport-sd-event-never-pass-negative-errnos-as-signalfd-to.patch
|
||||||
|
Patch6399: backport-sd-event-don-t-mistake-USEC_INFINITY-passed-in-for.patch
|
||||||
|
Patch6400: backport-tmpfiles-avoid-null-free-for-acl-attributes.patch
|
||||||
|
Patch6401: backport-nspawn-guard-acl_free-with-a-NULL-check.patch
|
||||||
|
Patch6402: backport-core-mount-namespaces-Remove-auxiliary-bind-mounts.patch
|
||||||
|
|
||||||
Patch9001: update-rtc-with-system-clock-when-shutdown.patch
|
Patch9001: update-rtc-with-system-clock-when-shutdown.patch
|
||||||
Patch9002: udev-add-actions-while-rename-netif-failed.patch
|
Patch9002: udev-add-actions-while-rename-netif-failed.patch
|
||||||
@ -1910,6 +1917,9 @@ fi
|
|||||||
%{_libdir}/security/pam_systemd.so
|
%{_libdir}/security/pam_systemd.so
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Mar 6 2023 hongjinghao <hongjinghao@huawei.com> -249-47
|
||||||
|
- backport patches from upstream and add patches
|
||||||
|
|
||||||
* Thu Jan 19 2023 yangmingtai <yangmingtai@huawei.com> -249-46
|
* Thu Jan 19 2023 yangmingtai <yangmingtai@huawei.com> -249-46
|
||||||
- delete unused patch files
|
- delete unused patch files
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user