about summary refs log tree commit diff
path: root/debian/patches
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2021-01-11 18:07:03 +0100
committerSebastien Bacher <seb128@ubuntu.com>2021-01-11 18:15:57 +0100
commit2567f558da3eb9911678227d4aeb15162e707d89 (patch)
tree13c80b0e091c8ba585b14b966cda998f95f1936d /debian/patches
parent02d99ffd62ede29cffcb45fcbe33d044b7406d3a (diff)
parentf54032b30e1ddd84f10a339e0caf493772e049a7 (diff)
Merge branch 'debian/master' into ubuntu/master
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/Force-online-state-with-unmanaged-devices.patch258
-rw-r--r--debian/patches/Update-dnsmasq-parameters.patch76
-rw-r--r--debian/patches/series3
-rw-r--r--debian/patches/systemd-basic-missing_syscall-fix-syscall-numbers-for-x32.patch124
4 files changed, 292 insertions, 169 deletions
diff --git a/debian/patches/Force-online-state-with-unmanaged-devices.patch b/debian/patches/Force-online-state-with-unmanaged-devices.patch
index 8c031b1c..f8bc3398 100644
--- a/debian/patches/Force-online-state-with-unmanaged-devices.patch
+++ b/debian/patches/Force-online-state-with-unmanaged-devices.patch
@@ -12,7 +12,7 @@ Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=512286
  1 file changed, 115 insertions(+)
 
 diff --git a/src/nm-manager.c b/src/nm-manager.c
-index 778e3b9..d0cc527 100644
+index 46f81c7..3465be4 100644
 --- a/src/nm-manager.c
 +++ b/src/nm-manager.c
 @@ -52,6 +52,8 @@
@@ -24,165 +24,165 @@ index 778e3b9..d0cc527 100644
  /*****************************************************************************/
  
  typedef struct {
-@@ -187,6 +189,10 @@ typedef struct {
- 	GFileMonitor *fw_monitor;
- 	guint fw_changed_id;
+@@ -186,6 +188,10 @@ typedef struct {
+     GFileMonitor *fw_monitor;
+     guint         fw_changed_id;
  
-+	/* ifupdown state file monitor */
-+	GFileMonitor *ifstate_monitor;
-+	gboolean ifstate_force_online;
++    /* ifupdown state file monitor */
++    GFileMonitor *ifstate_monitor;
++    gboolean      ifstate_force_online;
 +
- 	guint timestamp_update_id;
+     guint timestamp_update_id;
  
- 	guint devices_inited_id;
-@@ -1430,6 +1436,27 @@ find_best_device_state (NMManager *manager)
- 	return best_state;
+     guint devices_inited_id;
+@@ -1433,6 +1439,27 @@ find_best_device_state(NMManager *manager)
+     return best_state;
  }
  
 +static NMState
-+find_unmanaged_state (NMManager *self, NMState current_state)
++find_unmanaged_state(NMManager *self, NMState current_state)
 +{
-+	NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self);
-+	NMState new_state = current_state;
-+	NMDevice *device;
-+
-+	c_list_for_each_entry (device, &priv->devices_lst_head, devices_lst) {
-+		NMDeviceState state = nm_device_get_state (device);
-+
-+		if (state == NM_DEVICE_STATE_UNMANAGED) {
-+			const char *iface = nm_device_get_ip_iface (device);
-+			if (priv->ifstate_force_online) {
-+				new_state = NM_STATE_CONNECTED_GLOBAL;
-+				nm_log_dbg (LOGD_CORE, "Unmanaged device found: %s; state CONNECTED forced.", iface);
-+			}
-+		}
-+	}
-+	return new_state;
++    NMManagerPrivate *priv      = NM_MANAGER_GET_PRIVATE(self);
++    NMState           new_state = current_state;
++    NMDevice         *device;
++
++    c_list_for_each_entry(device, &priv->devices_lst_head, devices_lst) {
++        NMDeviceState state = nm_device_get_state(device);
++
++        if (state == NM_DEVICE_STATE_UNMANAGED) {
++            const char *iface = nm_device_get_ip_iface(device);
++            if (priv->ifstate_force_online) {
++                new_state = NM_STATE_CONNECTED_GLOBAL;
++                nm_log_dbg(LOGD_CORE, "Unmanaged device found: %s; state CONNECTED forced.", iface);
++            }
++        }
++    }
++    return new_state;
 +}
 +
  static void
- nm_manager_update_metered (NMManager *self)
+ nm_manager_update_metered(NMManager *self)
  {
-@@ -1476,6 +1503,9 @@ nm_manager_update_state (NMManager *self)
- 	else
- 		new_state = find_best_device_state (self);
+@@ -1479,6 +1506,9 @@ nm_manager_update_state(NMManager *self)
+     else
+         new_state = find_best_device_state(self);
  
-+	if (new_state != NM_STATE_CONNECTED_GLOBAL)
-+		new_state = find_unmanaged_state (self, new_state);
-+
- 	if (   new_state >= NM_STATE_CONNECTED_LOCAL
- 	    && priv->connectivity_state == NM_CONNECTIVITY_FULL) {
- 		new_state = NM_STATE_CONNECTED_GLOBAL;
-@@ -6566,6 +6596,62 @@ impl_manager_check_connectivity (NMDBusObject *obj,
- 	nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_NETWORK_CONTROL, TRUE);
++    if (new_state != NM_STATE_CONNECTED_GLOBAL)
++        new_state = find_unmanaged_state(self, new_state);
++
+     if (new_state >= NM_STATE_CONNECTED_LOCAL && priv->connectivity_state == NM_CONNECTIVITY_FULL) {
+         new_state = NM_STATE_CONNECTED_GLOBAL;
+     }
+@@ -6587,6 +6617,62 @@ impl_manager_set_logging(NMDBusObject *                     obj,
+         g_dbus_method_invocation_return_value(invocation, NULL);
  }
  
 +static void
-+check_ifstate_file (gpointer user_data)
++check_ifstate_file(gpointer user_data)
 +{
-+	NMManager *self = NM_MANAGER (user_data);
-+	NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self);
-+	GIOChannel *channel;
-+	gchar *line;
-+	gboolean online = FALSE;
-+
-+	channel = g_io_channel_new_file (IFUPDOWN_STATE_FILE, "r", NULL);
-+	if (!channel) {
-+		nm_log_warn (LOGD_CORE, "Error: failed to open %s", IFUPDOWN_STATE_FILE);
-+		return;
-+	}
-+
-+	while (g_io_channel_read_line (channel, &line, NULL, NULL, NULL)
-+	       != G_IO_STATUS_EOF && !online) {
-+		g_strstrip (line);
-+		if (strlen (line) > 0 && g_strcmp0 (line, "lo=lo") != 0) {
-+			online = TRUE;
-+		}
-+		g_free (line);
-+	}
-+
-+	g_io_channel_shutdown (channel, FALSE, NULL);
-+	g_io_channel_unref (channel);
-+
-+	if (priv->ifstate_force_online != online) {
-+		priv->ifstate_force_online = online;
-+		nm_manager_update_state (self);
-+	}
++    NMManager        *self   = NM_MANAGER(user_data);
++    NMManagerPrivate *priv   = NM_MANAGER_GET_PRIVATE(self);
++    GIOChannel       *channel;
++    gchar            *line;
++    gboolean          online = FALSE;
++
++    channel = g_io_channel_new_file(IFUPDOWN_STATE_FILE, "r", NULL);
++    if (!channel) {
++        nm_log_warn(LOGD_CORE, "Error: failed to open %s", IFUPDOWN_STATE_FILE);
++        return;
++    }
++
++    while (g_io_channel_read_line(channel, &line, NULL, NULL, NULL)
++           != G_IO_STATUS_EOF && !online) {
++        g_strstrip(line);
++        if (strlen(line) > 0 && g_strcmp0(line, "lo=lo") != 0) {
++            online = TRUE;
++        }
++        g_free(line);
++    }
++
++    g_io_channel_shutdown(channel, FALSE, NULL);
++    g_io_channel_unref(channel);
++
++    if (priv->ifstate_force_online != online) {
++        priv->ifstate_force_online = online;
++        nm_manager_update_state(self);
++    }
 +}
 +
 +static void
-+ifstate_file_changed (GFileMonitor *monitor,
-+                      GFile *file,
-+                      GFile *other_file,
-+                      GFileMonitorEvent event_type,
-+                      gpointer user_data)
++ifstate_file_changed(GFileMonitor      *monitor,
++                     GFile             *file,
++                     GFile             *other_file,
++                     GFileMonitorEvent  event_type,
++                     gpointer           user_data)
 +{
-+	switch (event_type) {
-+//	case G_FILE_MONITOR_EVENT_CREATED:
++    switch (event_type) {
++//  case G_FILE_MONITOR_EVENT_CREATED:
 +//#if GLIB_CHECK_VERSION(2,23,4)
-+//	case G_FILE_MONITOR_EVENT_MOVED:
++//  case G_FILE_MONITOR_EVENT_MOVED:
 +//#endif
-+//	case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED:
-+	case G_FILE_MONITOR_EVENT_CHANGED:
-+	case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
-+		nm_log_dbg (LOGD_CORE, "ifupdown state file %s was changed", IFUPDOWN_STATE_FILE);
-+		check_ifstate_file (user_data);
-+		break;
-+	default:
-+		break;
-+	}
++//  case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED:
++    case G_FILE_MONITOR_EVENT_CHANGED:
++    case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
++        nm_log_dbg(LOGD_CORE, "ifupdown state file %s was changed", IFUPDOWN_STATE_FILE);
++        check_ifstate_file(user_data);
++        break;
++    default:
++        break;
++    }
 +}
 +
  static void
- start_factory (NMDeviceFactory *factory, gpointer user_data)
- {
-@@ -6749,6 +6835,9 @@ nm_manager_start (NMManager *self, GError **error)
- 	nm_clear_g_source (&priv->devices_inited_id);
- 	priv->devices_inited_id = g_idle_add_full (G_PRIORITY_LOW + 10, devices_inited_cb, self, NULL);
+ impl_manager_get_logging(NMDBusObject *                     obj,
+                          const NMDBusInterfaceInfoExtended *interface_info,
+@@ -6916,6 +7002,9 @@ nm_manager_start(NMManager *self, GError **error)
+     nm_clear_g_source(&priv->devices_inited_id);
+     priv->devices_inited_id = g_idle_add_full(G_PRIORITY_LOW + 10, devices_inited_cb, self, NULL);
  
-+	/* Trigger ifupdown state file check */
-+	check_ifstate_file (self);
++    /* Trigger ifupdown state file check */
++    check_ifstate_file(self);
 +
- 	return TRUE;
+     return TRUE;
  }
  
-@@ -7603,6 +7692,22 @@ nm_manager_init (NMManager *self)
- 		       KERNEL_FIRMWARE_DIR);
- 	}
- 
-+	/* Monitor the ifupdown state file */
-+	file = g_file_new_for_path (IFUPDOWN_STATE_FILE);
-+	priv->ifstate_monitor = g_file_monitor_file (file, G_FILE_MONITOR_NONE, NULL, NULL);
-+	g_object_unref (file);
-+
-+	if (priv->ifstate_monitor) {
-+		g_signal_connect (priv->ifstate_monitor, "changed",
-+		                  G_CALLBACK (ifstate_file_changed),
-+		                  self);
-+		nm_log_info (LOGD_CORE, "monitoring ifupdown state file '%s'.",
-+		             IFUPDOWN_STATE_FILE);
-+	} else {
-+		nm_log_warn (LOGD_CORE, "failed to monitor ifupdown state file '%s'.",
-+		             IFUPDOWN_STATE_FILE);
-+	}
-+
- 	/* Update timestamps in active connections */
- 	priv->timestamp_update_id = g_timeout_add_seconds (300, (GSourceFunc) periodic_update_active_connection_timestamps, self);
+@@ -7795,6 +7884,22 @@ nm_manager_init(NMManager *self)
+         _LOGW(LOGD_CORE, "failed to monitor kernel firmware directory '%s'.", KERNEL_FIRMWARE_DIR);
+     }
  
-@@ -7882,6 +7987,16 @@ dispose (GObject *object)
- 		g_clear_object (&priv->fw_monitor);
- 	}
++    /* Monitor the ifupdown state file */
++    file = g_file_new_for_path(IFUPDOWN_STATE_FILE);
++    priv->ifstate_monitor = g_file_monitor_file(file, G_FILE_MONITOR_NONE, NULL, NULL);
++    g_object_unref(file);
++
++    if (priv->ifstate_monitor) {
++        g_signal_connect(priv->ifstate_monitor, "changed",
++                         G_CALLBACK(ifstate_file_changed),
++                         self);
++        nm_log_info(LOGD_CORE, "monitoring ifupdown state file '%s'.",
++                    IFUPDOWN_STATE_FILE);
++    } else {
++        nm_log_warn(LOGD_CORE, "failed to monitor ifupdown state file '%s'.",
++                    IFUPDOWN_STATE_FILE);
++    }
++
+     /* Update timestamps in active connections */
+     priv->timestamp_update_id =
+         g_timeout_add_seconds(300,
+@@ -8078,6 +8183,16 @@ dispose(GObject *object)
+         g_clear_object(&priv->fw_monitor);
+     }
  
-+	if (priv->ifstate_monitor) {
-+		g_signal_handlers_disconnect_by_func (priv->ifstate_monitor, ifstate_file_changed, self);
++    if (priv->ifstate_monitor) {
++        g_signal_handlers_disconnect_by_func(priv->ifstate_monitor, ifstate_file_changed, self);
 +
-+		if (priv->ifstate_force_online)
-+			g_source_remove (priv->ifstate_force_online);
++        if (priv->ifstate_force_online)
++            g_source_remove(priv->ifstate_force_online);
 +
-+		g_file_monitor_cancel (priv->ifstate_monitor);
-+		g_clear_object (&priv->ifstate_monitor);
-+	}
++        g_file_monitor_cancel(priv->ifstate_monitor);
++        g_clear_object(&priv->ifstate_monitor);
++    }
 +
- 	if (priv->rfkill_mgr) {
- 		g_signal_handlers_disconnect_by_func (priv->rfkill_mgr, rfkill_manager_rfkill_changed_cb, self);
- 		g_clear_object (&priv->rfkill_mgr);
+     if (priv->rfkill_mgr) {
+         g_signal_handlers_disconnect_by_func(priv->rfkill_mgr,
+                                              rfkill_manager_rfkill_changed_cb,
diff --git a/debian/patches/Update-dnsmasq-parameters.patch b/debian/patches/Update-dnsmasq-parameters.patch
index c0f97963..e0b89aa6 100644
--- a/debian/patches/Update-dnsmasq-parameters.patch
+++ b/debian/patches/Update-dnsmasq-parameters.patch
@@ -10,46 +10,46 @@ See also: https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-dns-resolv
  src/dns/nm-dns-manager.c | 6 +++---
  2 files changed, 5 insertions(+), 5 deletions(-)
 
-Index: network-manager-1.24.0/src/dns/nm-dns-dnsmasq.c
+Index: network-manager/src/dns/nm-dns-dnsmasq.c
 ===================================================================
---- network-manager-1.24.0.orig/src/dns/nm-dns-dnsmasq.c
-+++ network-manager-1.24.0/src/dns/nm-dns-dnsmasq.c
-@@ -494,8 +494,8 @@ _gl_pid_spawn_next_step (void)
- 	argv[argv_idx++] = "--no-hosts"; /* don't use /etc/hosts to resolve */
- 	argv[argv_idx++] = "--bind-interfaces";
- 	argv[argv_idx++] = "--pid-file=" PIDFILE;
--	argv[argv_idx++] = "--listen-address=127.0.0.1"; /* Should work for both 4 and 6 */
--	argv[argv_idx++] = "--cache-size=400";
-+	argv[argv_idx++] = "--listen-address=127.0.1.1"; /* Should work for both 4 and 6 */
-+	argv[argv_idx++] = "--cache-size=0";
- 	argv[argv_idx++] = "--clear-on-reload"; /* clear cache when dns server changes */
- 	argv[argv_idx++] = "--conf-file=/dev/null"; /* avoid loading /etc/dnsmasq.conf */
- 	argv[argv_idx++] = "--proxy-dnssec"; /* Allow DNSSEC to pass through */
-Index: network-manager-1.24.0/src/dns/nm-dns-manager.c
+--- network-manager.orig/src/dns/nm-dns-dnsmasq.c
++++ network-manager/src/dns/nm-dns-dnsmasq.c
+@@ -523,8 +523,8 @@ _gl_pid_spawn_next_step(void)
+     argv[argv_idx++] = "--no-hosts"; /* don't use /etc/hosts to resolve */
+     argv[argv_idx++] = "--bind-interfaces";
+     argv[argv_idx++] = "--pid-file=" PIDFILE;
+-    argv[argv_idx++] = "--listen-address=127.0.0.1"; /* Should work for both 4 and 6 */
+-    argv[argv_idx++] = "--cache-size=400";
++    argv[argv_idx++] = "--listen-address=127.0.1.1"; /* Should work for both 4 and 6 */
++    argv[argv_idx++] = "--cache-size=0";
+     argv[argv_idx++] = "--clear-on-reload";     /* clear cache when dns server changes */
+     argv[argv_idx++] = "--conf-file=/dev/null"; /* avoid loading /etc/dnsmasq.conf */
+     argv[argv_idx++] = "--proxy-dnssec";        /* Allow DNSSEC to pass through */
+Index: network-manager/src/dns/nm-dns-manager.c
 ===================================================================
---- network-manager-1.24.0.orig/src/dns/nm-dns-manager.c
-+++ network-manager-1.24.0/src/dns/nm-dns-manager.c
-@@ -1526,12 +1526,12 @@ plugin_skip:
- 	                            NM_CAST_STRV_CC (nameservers),
- 	                            NM_CAST_STRV_CC (options));
+--- network-manager.orig/src/dns/nm-dns-manager.c
++++ network-manager/src/dns/nm-dns-manager.c
+@@ -1696,12 +1696,12 @@ plugin_skip:;
+                                NM_CAST_STRV_CC(nameservers),
+                                NM_CAST_STRV_CC(options));
  
--	/* If caching was successful, we only send 127.0.0.1 to /etc/resolv.conf
-+	/* If caching was successful, we only send 127.0.1.1 to /etc/resolv.conf
- 	 * to ensure that the glibc resolver doesn't try to round-robin nameservers,
- 	 * but only uses the local caching nameserver.
- 	 */
- 	if (caching) {
--		const char *lladdr = "127.0.0.1";
-+		const char *lladdr = "127.0.1.1";
+-    /* If caching was successful, we only send 127.0.0.1 to /etc/resolv.conf
++    /* If caching was successful, we only send 127.0.1.1 to /etc/resolv.conf
+      * to ensure that the glibc resolver doesn't try to round-robin nameservers,
+      * but only uses the local caching nameserver.
+      */
+     if (caching) {
+-        const char *lladdr = "127.0.0.1";
++        const char *lladdr = "127.0.1.1";
  
- 		if (NM_IS_DNS_SYSTEMD_RESOLVED (priv->plugin)) {
- 			/* systemd-resolved uses a different link-local address */
-@@ -1825,7 +1825,7 @@ nm_dns_manager_stop (NMDnsManager *self)
- 	_LOGT ("stopping...");
+         if (NM_IS_DNS_SYSTEMD_RESOLVED(priv->plugin)) {
+             /* systemd-resolved uses a different link-local address */
+@@ -1982,7 +1982,7 @@ nm_dns_manager_stop(NMDnsManager *self)
+     _LOGT("stopping...");
  
- 	/* If we're quitting, leave a valid resolv.conf in place, not one
--	 * pointing to 127.0.0.1 if dnsmasq was active.  But if we haven't
-+	 * pointing to 127.0.1.1 if dnsmasq was active.  But if we haven't
- 	 * done any DNS updates yet, there's no reason to touch resolv.conf
- 	 * on shutdown.
- 	 */
+     /* If we're quitting, leave a valid resolv.conf in place, not one
+-     * pointing to 127.0.0.1 if dnsmasq was active.  But if we haven't
++     * pointing to 127.0.1.1 if dnsmasq was active.  But if we haven't
+      * done any DNS updates yet, there's no reason to touch resolv.conf
+      * on shutdown.
+      */
diff --git a/debian/patches/series b/debian/patches/series
index c25f5936..0980b69a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,6 +1,5 @@
 Force-online-state-with-unmanaged-devices.patch
-
 # Ubuntu patches
 Provide-access-to-some-of-NM-s-interfaces-to-whoopsie.patch
 Update-dnsmasq-parameters.patch
-
+systemd-basic-missing_syscall-fix-syscall-numbers-for-x32.patch
diff --git a/debian/patches/systemd-basic-missing_syscall-fix-syscall-numbers-for-x32.patch b/debian/patches/systemd-basic-missing_syscall-fix-syscall-numbers-for-x32.patch
new file mode 100644
index 00000000..75b2fd2b
--- /dev/null
+++ b/debian/patches/systemd-basic-missing_syscall-fix-syscall-numbers-for-x32.patch
@@ -0,0 +1,124 @@
+From: mirabilos <tg@debian.org>
+Date: Fri, 9 Oct 2020 15:58:48 +0200
+Subject: fixup syscall numbers for x32 vs. amd64
+
+---
+ shared/systemd/src/basic/missing_syscall.h | 28 +++++++++++++++++-----------
+ 1 file changed, 17 insertions(+), 11 deletions(-)
+
+diff --git a/shared/systemd/src/basic/missing_syscall.h b/shared/systemd/src/basic/missing_syscall.h
+index d11a77d..82daa68 100644
+--- a/shared/systemd/src/basic/missing_syscall.h
++++ b/shared/systemd/src/basic/missing_syscall.h
+@@ -15,6 +15,12 @@
+ #include <asm/sgidefs.h>
+ #endif
+ 
++#if defined(__x86_64__) && defined(__ILP32__)
++#define systemd_SC_arch_bias(x) ((x) | /* __X32_SYSCALL_BIT */ 0x40000000)
++#else
++#define systemd_SC_arch_bias(x) (x)
++#endif
++
+ #include "missing_keyctl.h"
+ #include "missing_stat.h"
+ 
+@@ -36,7 +42,7 @@ static inline int missing_pivot_root(const char *new_root, const char *put_old)
+ /* ======================================================================= */
+ 
+ #if defined __x86_64__
+-#  define systemd_NR_memfd_create 319
++#  define systemd_NR_memfd_create systemd_SC_arch_bias(319)
+ #elif defined __arm__
+ #  define systemd_NR_memfd_create 385
+ #elif defined __aarch64__
+@@ -93,7 +99,7 @@ static inline int missing_memfd_create(const char *name, unsigned int flags) {
+ /* ======================================================================= */
+ 
+ #if defined __x86_64__
+-#  define systemd_NR_getrandom 318
++#  define systemd_NR_getrandom systemd_SC_arch_bias(318)
+ #elif defined(__i386__)
+ #  define systemd_NR_getrandom 355
+ #elif defined(__arm__)
+@@ -169,7 +175,7 @@ static inline pid_t missing_gettid(void) {
+ /* ======================================================================= */
+ 
+ #if defined(__x86_64__)
+-#  define systemd_NR_name_to_handle_at 303
++#  define systemd_NR_name_to_handle_at systemd_SC_arch_bias(303)
+ #elif defined(__i386__)
+ #  define systemd_NR_name_to_handle_at 341
+ #elif defined(__arm__)
+@@ -226,7 +232,7 @@ static inline int missing_name_to_handle_at(int fd, const char *name, struct fil
+ #elif defined __arm__
+ #  define systemd_NR_setns 375
+ #elif defined(__x86_64__)
+-#  define systemd_NR_setns 308
++#  define systemd_NR_setns systemd_SC_arch_bias(308)
+ #elif defined(__i386__)
+ #  define systemd_NR_setns 346
+ #elif defined(__powerpc__)
+@@ -279,7 +285,7 @@ static inline pid_t raw_getpid(void) {
+ /* ======================================================================= */
+ 
+ #if defined __x86_64__
+-#  define systemd_NR_renameat2 316
++#  define systemd_NR_renameat2 systemd_SC_arch_bias(316)
+ #elif defined __arm__
+ #  define systemd_NR_renameat2 382
+ #elif defined __aarch64__
+@@ -388,7 +394,7 @@ static inline key_serial_t missing_request_key(const char *type, const char *des
+ /* ======================================================================= */
+ 
+ #if defined(__x86_64__)
+-#  define systemd_NR_copy_file_range 326
++#  define systemd_NR_copy_file_range systemd_SC_arch_bias(326)
+ #elif defined(__i386__)
+ #  define systemd_NR_copy_file_range 377
+ #elif defined __s390__
+@@ -440,7 +446,7 @@ static inline ssize_t missing_copy_file_range(int fd_in, loff_t *off_in,
+ #if defined __i386__
+ #  define systemd_NR_bpf 357
+ #elif defined __x86_64__
+-#  define systemd_NR_bpf 321
++#  define systemd_NR_bpf systemd_SC_arch_bias(321)
+ #elif defined __aarch64__
+ #  define systemd_NR_bpf 280
+ #elif defined __arm__
+@@ -492,7 +498,7 @@ static inline int missing_bpf(int cmd, union bpf_attr *attr, size_t size) {
+ #  if defined __i386__
+ #    define systemd_NR_pkey_mprotect 380
+ #  elif defined __x86_64__
+-#    define systemd_NR_pkey_mprotect 329
++#    define systemd_NR_pkey_mprotect systemd_SC_arch_bias(329)
+ #  elif defined __aarch64__
+ #    define systemd_NR_pkey_mprotect 288
+ #  elif defined __arm__
+@@ -545,7 +551,7 @@ assert_cc(__NR_pkey_mprotect == systemd_NR_pkey_mprotect);
+ #elif defined __sparc__
+ #  define systemd_NR_statx 360
+ #elif defined __x86_64__
+-#  define systemd_NR_statx 332
++#  define systemd_NR_statx systemd_SC_arch_bias(332)
+ #else
+ #  warning "statx() syscall number unknown for your architecture"
+ #endif
+@@ -647,7 +653,7 @@ static inline long missing_get_mempolicy(int *mode, unsigned long *nodemask,
+ #elif defined __ia64__
+ #  define systemd_NR_pidfd_send_signal (424 + 1024)
+ #else
+-#  define systemd_NR_pidfd_send_signal 424
++#  define systemd_NR_pidfd_send_signal systemd_SC_arch_bias(424)
+ #endif
+ 
+ /* may be (invalid) negative number due to libseccomp, see PR 13319 */
+@@ -691,7 +697,7 @@ static inline int missing_pidfd_send_signal(int fd, int sig, siginfo_t *info, un
+ #elif defined __ia64__
+ #  define systemd_NR_pidfd_open (434 + 1024)
+ #else
+-#  define systemd_NR_pidfd_open 434
++#  define systemd_NR_pidfd_open systemd_SC_arch_bias(434)
+ #endif
+ 
+ /* may be (invalid) negative number due to libseccomp, see PR 13319 */