Your message dated Sat, 10 Sep 2022 13:36:19 +0100
with message-id 
<92fe43e7805e82e43100a6471ccbf91cd9a12944.ca...@adam-barratt.org.uk>
and subject line Closing requests for updates in 11.5
has caused the Debian Bug report #1016786,
regarding bullseye-pu: package systemd/247.3-7+deb11u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1016786: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1016786
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: pkg-systemd-maintain...@lists.alioth.debian.org

Hi,

I'd like to make a stable upload for systemd fixing two issues in
systemd-detect-virt

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1013342
 systemd - Please backport support for Hyper-V on arm64 to stable

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1016157
 systemd-detect-virt fails to detect Openstack on arm64

All changes are cherry-picks from upstream Git and are already in
unstable/testing.


While at it, I also pulled a patch to fix build failures when systemd is
built against newer kernel headers (>= 5.14).

debdiff is attached.

Regards,
Michael
diff --git a/debian/changelog b/debian/changelog
index ddb3701..b1b7f43 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+systemd (247.3-7+deb11u1) bullseye; urgency=medium
+
+  * Drop bundled copy of linux/if_arp.h.
+    Fixes build failures with newer kernel headers.
+  * virt: support detection for ARM64 Hyper-V guests (Closes: #1013342)
+  * virt: detect OpenStack instance as KVM on arm (Closes: #1016157)
+
+ -- Michael Biebl <bi...@debian.org>  Sun, 07 Aug 2022 15:25:09 +0200
+
 systemd (247.3-7) bullseye; urgency=medium
 
   * Switch debian-branch to debian/bullseye
diff --git a/debian/patches/Drop-bundled-copy-of-linux-if_arp.h.patch 
b/debian/patches/Drop-bundled-copy-of-linux-if_arp.h.patch
new file mode 100644
index 0000000..83a6f2c
--- /dev/null
+++ b/debian/patches/Drop-bundled-copy-of-linux-if_arp.h.patch
@@ -0,0 +1,219 @@
+From: =?utf-8?q?Zbigniew_J=C4=99drzejewski-Szmek?= <zbys...@in.waw.pl>
+Date: Wed, 15 Sep 2021 16:33:05 +0200
+Subject: Drop bundled copy of linux/if_arp.h
+MIME-Version: 1.0
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: 8bit
+
+As far as I can see, we use this to get a list of ARPHRD_* defines (used in
+particular for Type= in .link files). If we drop our copy, and build against
+old kernel headers, the user will have a shorter list of types available.  This
+seems OK, and I don't think it's worth carrying our own version of this file
+just to have newest possible entries.
+
+7c5b9952c4f6e2b72f90edbe439982528b7cf223 recently updated this file, but we'd
+have to update it every time the kernel adds new entries. But if we look at
+the failure carefully:
+
+src/basic/arphrd-from-name.gperf:65:16: error: ‘ARPHRD_MCTP’ undeclared (first 
use in this function); did you mean ‘ARPHRD_FCPP’?
+   65 | MCTP, ARPHRD_MCTP
+      |                ^~
+      |                ARPHRD_FCPP
+
+we see that the list we were generating was from the system headers, so it was
+only as good as the system headers anyway, without the newer entries in our
+bundled copy, if there were any. So let's make things simpler by always using
+system headers.
+
+And if somebody wants to fix things so that we always have the newest list,
+then we should just generate and store the converted list, not the full header.
+
+(cherry picked from commit e7f46ee3ae1cc66a94b293957721d68dc09d7449)
+---
+ src/basic/linux/if_arp.h | 164 -----------------------------------------------
+ src/basic/meson.build    |   1 -
+ 2 files changed, 165 deletions(-)
+ delete mode 100644 src/basic/linux/if_arp.h
+
+diff --git a/src/basic/linux/if_arp.h b/src/basic/linux/if_arp.h
+deleted file mode 100644
+index c3cc5a9..0000000
+--- a/src/basic/linux/if_arp.h
++++ /dev/null
+@@ -1,164 +0,0 @@
+-/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
+-/*
+- * INET               An implementation of the TCP/IP protocol suite for the 
LINUX
+- *            operating system.  INET is implemented using the  BSD Socket
+- *            interface as the means of communication with the user level.
+- *
+- *            Global definitions for the ARP (RFC 826) protocol.
+- *
+- * Version:   @(#)if_arp.h    1.0.1   04/16/93
+- *
+- * Authors:   Original taken from Berkeley UNIX 4.3, (c) UCB 1986-1988
+- *            Portions taken from the KA9Q/NOS (v2.00m PA0GRI) source.
+- *            Ross Biro
+- *            Fred N. van Kempen, <wal...@uwalt.nl.mugnet.org>
+- *            Florian La Roche,
+- *            Jonathan Layes <la...@loran.com>
+- *            Arnaldo Carvalho de Melo <a...@conectiva.com.br> ARPHRD_HWX25
+- *
+- *            This program is free software; you can redistribute it and/or
+- *            modify it under the terms of the GNU General Public License
+- *            as published by the Free Software Foundation; either version
+- *            2 of the License, or (at your option) any later version.
+- */
+-#ifndef _UAPI_LINUX_IF_ARP_H
+-#define _UAPI_LINUX_IF_ARP_H
+-
+-#include <linux/netdevice.h>
+-
+-/* ARP protocol HARDWARE identifiers. */
+-#define ARPHRD_NETROM 0               /* from KA9Q: NET/ROM pseudo    */
+-#define ARPHRD_ETHER  1               /* Ethernet 10Mbps              */
+-#define       ARPHRD_EETHER   2               /* Experimental Ethernet        
*/
+-#define       ARPHRD_AX25     3               /* AX.25 Level 2                
*/
+-#define       ARPHRD_PRONET   4               /* PROnet token ring            
*/
+-#define       ARPHRD_CHAOS    5               /* Chaosnet                     
*/
+-#define       ARPHRD_IEEE802  6               /* IEEE 802.2 Ethernet/TR/TB    
*/
+-#define       ARPHRD_ARCNET   7               /* ARCnet                       
*/
+-#define       ARPHRD_APPLETLK 8               /* APPLEtalk                    
*/
+-#define ARPHRD_DLCI   15              /* Frame Relay DLCI             */
+-#define ARPHRD_ATM    19              /* ATM                          */
+-#define ARPHRD_METRICOM       23              /* Metricom STRIP (new IANA id) 
*/
+-#define       ARPHRD_IEEE1394 24              /* IEEE 1394 IPv4 - RFC 2734    
*/
+-#define ARPHRD_EUI64  27              /* EUI-64                       */
+-#define ARPHRD_INFINIBAND 32          /* InfiniBand                   */
+-
+-/* Dummy types for non ARP hardware */
+-#define ARPHRD_SLIP   256
+-#define ARPHRD_CSLIP  257
+-#define ARPHRD_SLIP6  258
+-#define ARPHRD_CSLIP6 259
+-#define ARPHRD_RSRVD  260             /* Notional KISS type           */
+-#define ARPHRD_ADAPT  264
+-#define ARPHRD_ROSE   270
+-#define ARPHRD_X25    271             /* CCITT X.25                   */
+-#define ARPHRD_HWX25  272             /* Boards with X.25 in firmware */
+-#define ARPHRD_CAN    280             /* Controller Area Network      */
+-#define ARPHRD_PPP    512
+-#define ARPHRD_CISCO  513             /* Cisco HDLC                   */
+-#define ARPHRD_HDLC   ARPHRD_CISCO
+-#define ARPHRD_LAPB   516             /* LAPB                         */
+-#define ARPHRD_DDCMP    517           /* Digital's DDCMP protocol     */
+-#define ARPHRD_RAWHDLC        518             /* Raw HDLC                     
*/
+-#define ARPHRD_RAWIP    519           /* Raw IP                       */
+-
+-#define ARPHRD_TUNNEL 768             /* IPIP tunnel                  */
+-#define ARPHRD_TUNNEL6        769             /* IP6IP6 tunnel                
*/
+-#define ARPHRD_FRAD   770             /* Frame Relay Access Device    */
+-#define ARPHRD_SKIP   771             /* SKIP vif                     */
+-#define ARPHRD_LOOPBACK       772             /* Loopback device              
*/
+-#define ARPHRD_LOCALTLK 773           /* Localtalk device             */
+-#define ARPHRD_FDDI   774             /* Fiber Distributed Data Interface */
+-#define ARPHRD_BIF      775             /* AP1000 BIF                   */
+-#define ARPHRD_SIT    776             /* sit0 device - IPv6-in-IPv4   */
+-#define ARPHRD_IPDDP  777             /* IP over DDP tunneller        */
+-#define ARPHRD_IPGRE  778             /* GRE over IP                  */
+-#define ARPHRD_PIMREG 779             /* PIMSM register interface     */
+-#define ARPHRD_HIPPI  780             /* High Performance Parallel Interface 
*/
+-#define ARPHRD_ASH    781             /* Nexus 64Mbps Ash             */
+-#define ARPHRD_ECONET 782             /* Acorn Econet                 */
+-#define ARPHRD_IRDA   783             /* Linux-IrDA                   */
+-/* ARP works differently on different FC media .. so  */
+-#define ARPHRD_FCPP   784             /* Point to point fibrechannel  */
+-#define ARPHRD_FCAL   785             /* Fibrechannel arbitrated loop */
+-#define ARPHRD_FCPL   786             /* Fibrechannel public loop     */
+-#define ARPHRD_FCFABRIC       787             /* Fibrechannel fabric          
*/
+-      /* 787->799 reserved for fibrechannel media types */
+-#define ARPHRD_IEEE802_TR 800         /* Magic type ident for TR      */
+-#define ARPHRD_IEEE80211 801          /* IEEE 802.11                  */
+-#define ARPHRD_IEEE80211_PRISM 802    /* IEEE 802.11 + Prism2 header  */
+-#define ARPHRD_IEEE80211_RADIOTAP 803 /* IEEE 802.11 + radiotap header */
+-#define ARPHRD_IEEE802154       804
+-#define ARPHRD_IEEE802154_MONITOR 805 /* IEEE 802.15.4 network monitor */
+-
+-#define ARPHRD_PHONET 820             /* PhoNet media type            */
+-#define ARPHRD_PHONET_PIPE 821                /* PhoNet pipe header           
*/
+-#define ARPHRD_CAIF   822             /* CAIF media type              */
+-#define ARPHRD_IP6GRE 823             /* GRE over IPv6                */
+-#define ARPHRD_NETLINK        824             /* Netlink header               
*/
+-#define ARPHRD_6LOWPAN        825             /* IPv6 over LoWPAN             
*/
+-#define ARPHRD_VSOCKMON       826             /* Vsock monitor header         
*/
+-
+-#define ARPHRD_VOID     0xFFFF        /* Void type, nothing is known */
+-#define ARPHRD_NONE     0xFFFE        /* zero header length */
+-
+-/* ARP protocol opcodes. */
+-#define       ARPOP_REQUEST   1               /* ARP request                  
*/
+-#define       ARPOP_REPLY     2               /* ARP reply                    
*/
+-#define       ARPOP_RREQUEST  3               /* RARP request                 
*/
+-#define       ARPOP_RREPLY    4               /* RARP reply                   
*/
+-#define       ARPOP_InREQUEST 8               /* InARP request                
*/
+-#define       ARPOP_InREPLY   9               /* InARP reply                  
*/
+-#define       ARPOP_NAK       10              /* (ATM)ARP NAK                 
*/
+-
+-
+-/* ARP ioctl request. */
+-struct arpreq {
+-      struct sockaddr arp_pa;         /* protocol address              */
+-      struct sockaddr arp_ha;         /* hardware address              */
+-      int             arp_flags;      /* flags                         */
+-      struct sockaddr arp_netmask;    /* netmask (only for proxy arps) */
+-      char            arp_dev[IFNAMSIZ];
+-};
+-
+-struct arpreq_old {
+-      struct sockaddr arp_pa;         /* protocol address              */
+-      struct sockaddr arp_ha;         /* hardware address              */
+-      int             arp_flags;      /* flags                         */
+-      struct sockaddr arp_netmask;    /* netmask (only for proxy arps) */
+-};
+-
+-/* ARP Flag values. */
+-#define ATF_COM               0x02            /* completed entry (ha valid)   
*/
+-#define       ATF_PERM        0x04            /* permanent entry              
*/
+-#define       ATF_PUBL        0x08            /* publish entry                
*/
+-#define       ATF_USETRAILERS 0x10            /* has requested trailers       
*/
+-#define ATF_NETMASK     0x20            /* want to use a netmask (only
+-                                         for proxy entries) */
+-#define ATF_DONTPUB   0x40            /* don't answer this addresses  */
+-
+-/*
+- *    This structure defines an ethernet arp header.
+- */
+-
+-struct arphdr {
+-      __be16          ar_hrd;         /* format of hardware address   */
+-      __be16          ar_pro;         /* format of protocol address   */
+-      unsigned char   ar_hln;         /* length of hardware address   */
+-      unsigned char   ar_pln;         /* length of protocol address   */
+-      __be16          ar_op;          /* ARP opcode (command)         */
+-
+-#if 0
+-       /*
+-        *      Ethernet looks like this : This bit is variable sized 
however...
+-        */
+-      unsigned char           ar_sha[ETH_ALEN];       /* sender hardware 
address      */
+-      unsigned char           ar_sip[4];              /* sender IP address    
        */
+-      unsigned char           ar_tha[ETH_ALEN];       /* target hardware 
address      */
+-      unsigned char           ar_tip[4];              /* target IP address    
        */
+-#endif
+-
+-};
+-
+-
+-#endif /* _UAPI_LINUX_IF_ARP_H */
+diff --git a/src/basic/meson.build b/src/basic/meson.build
+index 1183ea8..2c13cf4 100644
+--- a/src/basic/meson.build
++++ b/src/basic/meson.build
+@@ -98,7 +98,6 @@ basic_sources = files('''
+         linux/hdlc/ioctl.h
+         linux/if.h
+         linux/if_addr.h
+-        linux/if_arp.h
+         linux/if_bonding.h
+         linux/if_bridge.h
+         linux/if_ether.h
diff --git a/debian/patches/series b/debian/patches/series
index e41de0e..d0ebfa1 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -24,6 +24,10 @@ 
machine-basic-factor-out-helper-function-to-add-airlocked.patch
 machine-adjust-error-message-to-use-normalized-instead-of.patch
 shared-mount-util-use-namespace_fork-utils.patch
 machine-enter-target-PID-namespace-when-adding-a-live-mou.patch
+Drop-bundled-copy-of-linux-if_arp.h.patch
+virt-Support-detection-for-ARM64-Hyper-V-guests.patch
+virt-Fix-the-detection-for-Hyper-V-VMs.patch
+virt-detect-OpenStack-Nova-instance.patch
 debian/Use-Debian-specific-config-files.patch
 debian/Bring-tmpfiles.d-tmp.conf-in-line-with-Debian-defaul.patch
 debian/Make-run-lock-tmpfs-an-API-fs.patch
diff --git a/debian/patches/virt-Fix-the-detection-for-Hyper-V-VMs.patch 
b/debian/patches/virt-Fix-the-detection-for-Hyper-V-VMs.patch
new file mode 100644
index 0000000..9757987
--- /dev/null
+++ b/debian/patches/virt-Fix-the-detection-for-Hyper-V-VMs.patch
@@ -0,0 +1,38 @@
+From: Boqun Feng <boqun.f...@gmail.com>
+Date: Tue, 23 Nov 2021 15:09:26 +0800
+Subject: virt: Fix the detection for Hyper-V VMs
+
+Use product_version instead of product_name in DMI table and the string
+"Hyper-V" to avoid misdetection.
+
+Fixes: #21468
+
+Signed-off-by: Boqun Feng <boqun.f...@gmail.com>
+(cherry picked from commit 76eec0649936d9ae2f9087769f463feaf0cf5cb4)
+---
+ src/basic/virt.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/basic/virt.c b/src/basic/virt.c
+index 0d45ee6..54befd9 100644
+--- a/src/basic/virt.c
++++ b/src/basic/virt.c
+@@ -140,7 +140,8 @@ static int detect_vm_dmi(void) {
+                 "/sys/class/dmi/id/product_name", /* Test this before 
sys_vendor to detect KVM over QEMU */
+                 "/sys/class/dmi/id/sys_vendor",
+                 "/sys/class/dmi/id/board_vendor",
+-                "/sys/class/dmi/id/bios_vendor"
++                "/sys/class/dmi/id/bios_vendor",
++                "/sys/class/dmi/id/product_version" /* For Hyper-V VMs test */
+         };
+ 
+         static const struct {
+@@ -158,7 +159,7 @@ static int detect_vm_dmi(void) {
+                 { "Parallels",           VIRTUALIZATION_PARALLELS },
+                 /* https://wiki.freebsd.org/bhyve */
+                 { "BHYVE",               VIRTUALIZATION_BHYVE     },
+-                { "Microsoft",           VIRTUALIZATION_MICROSOFT },
++                { "Hyper-V",             VIRTUALIZATION_MICROSOFT },
+         };
+         unsigned i;
+         int r;
diff --git 
a/debian/patches/virt-Support-detection-for-ARM64-Hyper-V-guests.patch 
b/debian/patches/virt-Support-detection-for-ARM64-Hyper-V-guests.patch
new file mode 100644
index 0000000..373a77f
--- /dev/null
+++ b/debian/patches/virt-Support-detection-for-ARM64-Hyper-V-guests.patch
@@ -0,0 +1,28 @@
+From: Boqun Feng <boqun.f...@gmail.com>
+Date: Wed, 13 Oct 2021 11:32:09 +0800
+Subject: virt: Support detection for ARM64 Hyper-V guests
+
+The detection of Microsoft Hyper-V VMs is done by cpuid currently,
+however there is no cpuid on ARM64. And since ARM64 is now a supported
+architecture for Microsoft Hyper-V guests[1], then use DMI tables to
+detect a Hyper-V guest, which is more generic and works for ARM64.
+
+[1]: 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7aff79e297ee1aa0126924921fd87a4ae59d2467
+
+(cherry picked from commit 506bbc8569014253ea8614b680ccbc4fc2513a87)
+---
+ src/basic/virt.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/basic/virt.c b/src/basic/virt.c
+index 7d78a40..0d45ee6 100644
+--- a/src/basic/virt.c
++++ b/src/basic/virt.c
+@@ -158,6 +158,7 @@ static int detect_vm_dmi(void) {
+                 { "Parallels",           VIRTUALIZATION_PARALLELS },
+                 /* https://wiki.freebsd.org/bhyve */
+                 { "BHYVE",               VIRTUALIZATION_BHYVE     },
++                { "Microsoft",           VIRTUALIZATION_MICROSOFT },
+         };
+         unsigned i;
+         int r;
diff --git a/debian/patches/virt-detect-OpenStack-Nova-instance.patch 
b/debian/patches/virt-detect-OpenStack-Nova-instance.patch
new file mode 100644
index 0000000..87686b2
--- /dev/null
+++ b/debian/patches/virt-detect-OpenStack-Nova-instance.patch
@@ -0,0 +1,21 @@
+From: Michael Biebl <bi...@debian.org>
+Date: Sun, 7 Aug 2022 15:21:12 +0200
+Subject: virt: detect OpenStack Nova instance
+
+(cherry picked from commit 01d9fbccddd694bc584aed24eaa0543f831dc929)
+---
+ src/basic/virt.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/basic/virt.c b/src/basic/virt.c
+index 54befd9..78ee1b8 100644
+--- a/src/basic/virt.c
++++ b/src/basic/virt.c
+@@ -149,6 +149,7 @@ static int detect_vm_dmi(void) {
+                 int id;
+         } dmi_vendor_table[] = {
+                 { "KVM",                 VIRTUALIZATION_KVM       },
++                { "OpenStack",           VIRTUALIZATION_KVM       }, /* 
Detect OpenStack instance as KVM in non x86 architecture */
+                 { "QEMU",                VIRTUALIZATION_QEMU      },
+                 { "VMware",              VIRTUALIZATION_VMWARE    }, /* 
https://kb.vmware.com/s/article/1009458 */
+                 { "VMW",                 VIRTUALIZATION_VMWARE    },

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 11.5

Hi,

The updates referred to in each of these bugs were included in today's
11.5 point release.

Regards,

Adam

--- End Message ---

Reply via email to