(jsc#PED-8734, util-linux-lib-netlink.patch and util-linux-agetty-netlink.patch) and upstream fixes (util-linux-lib-netlink-fix1.patch, util-linux-lib-netlink-fix2.patch, util-linux-lib-netlink-fix3.patch and util-linux-agetty-netlink-fix4.patch). - Fix configs library use in agetty (replace util-linux-issuedir-usr-lib.patch by upstream util-linux-lib-configs-fix1.patch, add util-linux-lib-configs-fix2.patch, util-linux-lib-configs-fix3.patch, util-linux-lib-configs-fix4.patch, util-linux-lib-configs-fix5.patch and util-linux-lib-configs-fix6.patch). - Fix agetty erase of escape characters (relevant to bsc#1194818, util-linux-agetty-escape-erase.patch). - Own /usr/lib/issue.d directory. - Perform migration from issue-generator (jsc#PED-8734). - Drop util-linux-agetty-ssh-host-keys.patch. This feature is not used in MicroOS any more. - Remove Provides/Obsoletes for s390-32, upgrade from SLE11 SP1 is no more supported. OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=607
49 lines
1.5 KiB
Diff
49 lines
1.5 KiB
Diff
From a5db8d0a9ed63969381feeee1eb0c3b39d32876b Mon Sep 17 00:00:00 2001
|
|
From: Stanislav Brabec <sbrabec@suse.cz>
|
|
Date: Sun, 5 Oct 2025 02:29:00 +0200
|
|
Subject: [PATCH 3/6] ul_nl_addr_dup(): Fix address comparison
|
|
|
|
When duplicating struct ul_nl_addr, set address to ifa_local, if it is set
|
|
to ifa_local in the source. This fixes the address for PtP IPv4 network
|
|
interfaces and avoids UL_NL_SOFT_ERROR during address removal.
|
|
|
|
Signed-off-by: Stanislav Brabec <sbrabec@suse.cz>
|
|
---
|
|
lib/netlink.c | 6 +++---
|
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/lib/netlink.c b/lib/netlink.c
|
|
index 3def42e50..f8ac2c4c8 100644
|
|
--- a/lib/netlink.c
|
|
+++ b/lib/netlink.c
|
|
@@ -328,7 +328,7 @@ int ul_nl_close(struct ul_nl_data *nl) {
|
|
return close(nl->fd);
|
|
}
|
|
|
|
-struct ul_nl_addr *ul_nl_addr_dup (struct ul_nl_addr *addr) {
|
|
+struct ul_nl_addr *ul_nl_addr_dup(struct ul_nl_addr *addr) {
|
|
struct ul_nl_addr *newaddr;
|
|
newaddr = calloc(1, sizeof(struct ul_nl_addr));
|
|
if (!newaddr)
|
|
@@ -348,7 +348,7 @@ struct ul_nl_addr *ul_nl_addr_dup (struct ul_nl_addr *addr) {
|
|
memcpy(newaddr->ifa_local, addr->ifa_local,
|
|
addr->ifa_local_len);
|
|
}
|
|
- if (&(addr->ifa_address) == &(addr->ifa_local))
|
|
+ if (addr->address == addr->ifa_local)
|
|
newaddr->address = newaddr->ifa_local;
|
|
else
|
|
newaddr->address = newaddr->ifa_address;
|
|
@@ -360,7 +360,7 @@ error:
|
|
return NULL;
|
|
}
|
|
|
|
-void ul_nl_addr_free (struct ul_nl_addr *addr) {
|
|
+void ul_nl_addr_free(struct ul_nl_addr *addr) {
|
|
if (addr) {
|
|
free(addr->ifa_address);
|
|
free(addr->ifa_local);
|
|
--
|
|
2.48.1
|
|
|