pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/sysutils



Module Name:    pkgsrc
Committed By:   bouyer
Date:           Tue Oct 21 13:14:33 UTC 2025

Modified Files:
        pkgsrc/sysutils/xenkernel418: Makefile distinfo
        pkgsrc/sysutils/xenkernel420: Makefile distinfo
Added Files:
        pkgsrc/sysutils/xenkernel418/patches: patch-xsa475-1 patch-xsa475-2
        pkgsrc/sysutils/xenkernel420/patches: patch-xsa475-1 patch-xsa475-2

Log Message:
xenkernel418, xenkernel420: add upstream patches fixing xsa475.
Bump PKGREVISION


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 pkgsrc/sysutils/xenkernel418/Makefile
cvs rdiff -u -r1.8 -r1.9 pkgsrc/sysutils/xenkernel418/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/sysutils/xenkernel418/patches/patch-xsa475-1 \
    pkgsrc/sysutils/xenkernel418/patches/patch-xsa475-2
cvs rdiff -u -r1.1 -r1.2 pkgsrc/sysutils/xenkernel420/Makefile \
    pkgsrc/sysutils/xenkernel420/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/sysutils/xenkernel420/patches/patch-xsa475-1 \
    pkgsrc/sysutils/xenkernel420/patches/patch-xsa475-2

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/sysutils/xenkernel418/Makefile
diff -u pkgsrc/sysutils/xenkernel418/Makefile:1.5 pkgsrc/sysutils/xenkernel418/Makefile:1.6
--- pkgsrc/sysutils/xenkernel418/Makefile:1.5   Tue Jul  1 16:55:06 2025
+++ pkgsrc/sysutils/xenkernel418/Makefile       Tue Oct 21 13:14:33 2025
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.5 2025/07/01 16:55:06 bouyer Exp $
+# $NetBSD: Makefile,v 1.6 2025/10/21 13:14:33 bouyer Exp $
 # VERSION is set in version.mk as it is shared with other packages
-#PKGREVISION=        1
+
+PKGREVISION=        1
 
 XENKERNEL:=
 .include        "../../sysutils/xentools418/version.mk"

Index: pkgsrc/sysutils/xenkernel418/distinfo
diff -u pkgsrc/sysutils/xenkernel418/distinfo:1.8 pkgsrc/sysutils/xenkernel418/distinfo:1.9
--- pkgsrc/sysutils/xenkernel418/distinfo:1.8   Tue Jul  1 16:55:06 2025
+++ pkgsrc/sysutils/xenkernel418/distinfo       Tue Oct 21 13:14:33 2025
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.8 2025/07/01 16:55:06 bouyer Exp $
+$NetBSD: distinfo,v 1.9 2025/10/21 13:14:33 bouyer Exp $
 
 BLAKE2s (xen418/xen-438bb1285f470e2f385c0ea917ac9787d56aa8d3.tar.gz) = 8855fa3b76ab86c24949a2862231fba25c9c6877ef6f9628ee6dff96be8c7094
 SHA512 (xen418/xen-438bb1285f470e2f385c0ea917ac9787d56aa8d3.tar.gz) = 3147bec66da25757885b8561f578d1267801c04c5b0d85493c2856aa17f01b4bd29d924e611b3aabd39a5b3c51f6374474d5768c13d54f0fb3e98f6b053f9aeb
@@ -12,3 +12,5 @@ SHA1 (patch-xen_arch_x86_extable.c) = f6
 SHA1 (patch-xen_arch_x86_mm_p2m.c) = 6e9b84dc8448eca9677f184e720bbfcb3c6d314e
 SHA1 (patch-xen_arch_x86_traps.c) = 9548d6476e2fb5898d2958c10eaf2fd1e424d9c5
 SHA1 (patch-xen_tools_check-endbr.sh) = a7268ee5ff11f21fdc5b0bc213498a1923b693be
+SHA1 (patch-xsa475-1) = 7211ad0099e1c1554aed49169ef0949d0304073e
+SHA1 (patch-xsa475-2) = 9d0bd2fbf9ff446df229bc47d54951098278577c

Index: pkgsrc/sysutils/xenkernel420/Makefile
diff -u pkgsrc/sysutils/xenkernel420/Makefile:1.1 pkgsrc/sysutils/xenkernel420/Makefile:1.2
--- pkgsrc/sysutils/xenkernel420/Makefile:1.1   Fri Aug 22 09:00:11 2025
+++ pkgsrc/sysutils/xenkernel420/Makefile       Tue Oct 21 13:14:33 2025
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.1 2025/08/22 09:00:11 bouyer Exp $
+# $NetBSD: Makefile,v 1.2 2025/10/21 13:14:33 bouyer Exp $
 # VERSION is set in version.mk as it is shared with other packages
-#PKGREVISION=        1
+
+PKGREVISION=        1
 
 XENKERNEL:=
 .include        "../../sysutils/xentools420/version.mk"
Index: pkgsrc/sysutils/xenkernel420/distinfo
diff -u pkgsrc/sysutils/xenkernel420/distinfo:1.1 pkgsrc/sysutils/xenkernel420/distinfo:1.2
--- pkgsrc/sysutils/xenkernel420/distinfo:1.1   Fri Aug 22 09:00:11 2025
+++ pkgsrc/sysutils/xenkernel420/distinfo       Tue Oct 21 13:14:33 2025
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.1 2025/08/22 09:00:11 bouyer Exp $
+$NetBSD: distinfo,v 1.2 2025/10/21 13:14:33 bouyer Exp $
 
 BLAKE2s (xen420/xen-ea5025554e982bd377f85b899b6d151e5ef33d1e.tar.gz) = 6732d2e90841860347e6b7a86b0ebd6cc6073aa8140ce0f61a8fbe6c7d7f4ad0
 SHA512 (xen420/xen-ea5025554e982bd377f85b899b6d151e5ef33d1e.tar.gz) = b02e57832885b45f7795ef47b5f518d2da2f649fa5f019da73b2846dd1546fedbe61c5c4c91404fe851449ad9b4e8df0336b26a9a2363620648e13658d07afa3
@@ -11,3 +11,5 @@ SHA1 (patch-xen_arch_x86_boot_build32.ld
 SHA1 (patch-xen_arch_x86_extable.c) = f64b956be1167901a60bf9be1abd98dbfaffb100
 SHA1 (patch-xen_arch_x86_mm_p2m.c) = 6e9b84dc8448eca9677f184e720bbfcb3c6d314e
 SHA1 (patch-xen_tools_check-endbr.sh) = a7268ee5ff11f21fdc5b0bc213498a1923b693be
+SHA1 (patch-xsa475-1) = db692de22f07d86de8b4a692f45a646927af3fdf
+SHA1 (patch-xsa475-2) = 38adcfb0f0ea809dab99b919788a45a0b5a5c779

Added files:

Index: pkgsrc/sysutils/xenkernel418/patches/patch-xsa475-1
diff -u /dev/null pkgsrc/sysutils/xenkernel418/patches/patch-xsa475-1:1.1
--- /dev/null   Tue Oct 21 13:14:33 2025
+++ pkgsrc/sysutils/xenkernel418/patches/patch-xsa475-1 Tue Oct 21 13:14:33 2025
@@ -0,0 +1,28 @@
+$NetBSD: patch-xsa475-1,v 1.1 2025/10/21 13:14:33 bouyer Exp $
+
+From: Teddy Astie <teddy.astie%vates.tech@localhost>
+Subject: x86/viridian: Enforce bounds check in vpmask_set()
+
+Callers can pass vp/mask values which exceed the size of vpmask->mask.  Ensure
+we only set bits which are within bounds.
+
+This is XSA-475 / CVE-2025-58147.
+
+Fixes: b4124682db6e ("viridian: add ExProcessorMasks variants of the flush hypercalls")
+Signed-off-by: Teddy Astie <teddy.astie%vates.tech@localhost>
+Reviewed-by: Andrew Cooper <andrew.cooper3%citrix.com@localhost>
+
+diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
+index a41a70e37a29..41e93ef20fb2 100644
+--- xen/arch/x86/hvm/viridian/viridian.c.orig
++++ xen/arch/x86/hvm/viridian/viridian.c
+@@ -562,7 +562,8 @@ static void vpmask_set(struct hypercall_vpmask *vpmask, unsigned int vp,
+ 
+         if ( mask & 1 )
+         {
+-            ASSERT(vp < HVM_MAX_VCPUS);
++            if ( vp >= HVM_MAX_VCPUS )
++                break;
+             __set_bit(vp, vpmask->mask);
+         }
+ 
Index: pkgsrc/sysutils/xenkernel418/patches/patch-xsa475-2
diff -u /dev/null pkgsrc/sysutils/xenkernel418/patches/patch-xsa475-2:1.1
--- /dev/null   Tue Oct 21 13:14:33 2025
+++ pkgsrc/sysutils/xenkernel418/patches/patch-xsa475-2 Tue Oct 21 13:14:33 2025
@@ -0,0 +1,54 @@
+$NetBSD: patch-xsa475-2,v 1.1 2025/10/21 13:14:33 bouyer Exp $
+
+From: Teddy Astie <teddy.astie%vates.tech@localhost>
+Subject: x86/viridian: Enforce bounds check in send_ipi()
+
+Callers can pass in a vpmask which exceeds d->max_vcpus.  Prevent out-of-bound
+reads of d->vcpu[].
+
+This is XSA-475 / CVE-2025-58148.
+
+Fixes: 728acba1ba4a ("viridian: use hypercall_vpmask in hvcall_ipi()")
+Signed-off-by: Teddy Astie <teddy.astie%vates.tech@localhost>
+Reviewed-by: Andrew Cooper <andrew.cooper3%citrix.com@localhost>
+
+diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
+index 41e93ef20fb2..d45751365fde 100644
+--- xen/arch/x86/hvm/viridian/viridian.c.orig
++++ xen/arch/x86/hvm/viridian/viridian.c
+@@ -577,26 +577,6 @@ static void vpmask_fill(struct hypercall_vpmask *vpmask)
+     bitmap_fill(vpmask->mask, HVM_MAX_VCPUS);
+ }
+ 
+-static unsigned int vpmask_first(const struct hypercall_vpmask *vpmask)
+-{
+-    return find_first_bit(vpmask->mask, HVM_MAX_VCPUS);
+-}
+-
+-static unsigned int vpmask_next(const struct hypercall_vpmask *vpmask,
+-                                unsigned int vp)
+-{
+-    /*
+-     * If vp + 1 > HVM_MAX_VCPUS then find_next_bit() will return
+-     * HVM_MAX_VCPUS, ensuring the for_each_vp ( ... ) loop terminates.
+-     */
+-    return find_next_bit(vpmask->mask, HVM_MAX_VCPUS, vp + 1);
+-}
+-
+-#define for_each_vp(vpmask, vp) \
+-      for ( (vp) = vpmask_first(vpmask); \
+-            (vp) < HVM_MAX_VCPUS; \
+-            (vp) = vpmask_next(vpmask, vp) )
+-
+ static unsigned int vpmask_nr(const struct hypercall_vpmask *vpmask)
+ {
+     return bitmap_weight(vpmask->mask, HVM_MAX_VCPUS);
+@@ -813,7 +793,7 @@ static void send_ipi(struct hypercall_vpmask *vpmask, uint8_t vector)
+     if ( nr > 1 )
+         cpu_raise_softirq_batch_begin();
+ 
+-    for_each_vp ( vpmask, vp )
++    for_each_set_bit ( vp, vpmask->mask, currd->max_vcpus )
+     {
+         struct vlapic *vlapic = vcpu_vlapic(currd->vcpu[vp]);
+ 

Index: pkgsrc/sysutils/xenkernel420/patches/patch-xsa475-1
diff -u /dev/null pkgsrc/sysutils/xenkernel420/patches/patch-xsa475-1:1.1
--- /dev/null   Tue Oct 21 13:14:33 2025
+++ pkgsrc/sysutils/xenkernel420/patches/patch-xsa475-1 Tue Oct 21 13:14:33 2025
@@ -0,0 +1,28 @@
+$NetBSD: patch-xsa475-1,v 1.1 2025/10/21 13:14:33 bouyer Exp $
+
+From: Teddy Astie <teddy.astie%vates.tech@localhost>
+Subject: x86/viridian: Enforce bounds check in vpmask_set()
+
+Callers can pass vp/mask values which exceed the size of vpmask->mask.  Ensure
+we only set bits which are within bounds.
+
+This is XSA-475 / CVE-2025-58147.
+
+Fixes: b4124682db6e ("viridian: add ExProcessorMasks variants of the flush hypercalls")
+Signed-off-by: Teddy Astie <teddy.astie%vates.tech@localhost>
+Reviewed-by: Andrew Cooper <andrew.cooper3%citrix.com@localhost>
+
+diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
+index c0be24bd2210..703f9ac8bcc1 100644
+--- xen/arch/x86/hvm/viridian/viridian.c.orig
++++ xen/arch/x86/hvm/viridian/viridian.c
+@@ -562,7 +562,8 @@ static void vpmask_set(struct hypercall_vpmask *vpmask, unsigned int vp,
+ 
+         if ( mask & 1 )
+         {
+-            ASSERT(vp < HVM_MAX_VCPUS);
++            if ( vp >= HVM_MAX_VCPUS )
++                break;
+             __set_bit(vp, vpmask->mask);
+         }
+ 
Index: pkgsrc/sysutils/xenkernel420/patches/patch-xsa475-2
diff -u /dev/null pkgsrc/sysutils/xenkernel420/patches/patch-xsa475-2:1.1
--- /dev/null   Tue Oct 21 13:14:33 2025
+++ pkgsrc/sysutils/xenkernel420/patches/patch-xsa475-2 Tue Oct 21 13:14:33 2025
@@ -0,0 +1,54 @@
+$NetBSD: patch-xsa475-2,v 1.1 2025/10/21 13:14:33 bouyer Exp $
+
+From: Teddy Astie <teddy.astie%vates.tech@localhost>
+Subject: x86/viridian: Enforce bounds check in send_ipi()
+
+Callers can pass in a vpmask which exceeds d->max_vcpus.  Prevent out-of-bound
+reads of d->vcpu[].
+
+This is XSA-475 / CVE-2025-58148.
+
+Fixes: 728acba1ba4a ("viridian: use hypercall_vpmask in hvcall_ipi()")
+Signed-off-by: Teddy Astie <teddy.astie%vates.tech@localhost>
+Reviewed-by: Andrew Cooper <andrew.cooper3%citrix.com@localhost>
+
+diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
+index 703f9ac8bcc1..f79cffcb3767 100644
+--- xen/arch/x86/hvm/viridian/viridian.c.orig
++++ xen/arch/x86/hvm/viridian/viridian.c
+@@ -577,26 +577,6 @@ static void vpmask_fill(struct hypercall_vpmask *vpmask)
+     bitmap_fill(vpmask->mask, HVM_MAX_VCPUS);
+ }
+ 
+-static unsigned int vpmask_first(const struct hypercall_vpmask *vpmask)
+-{
+-    return find_first_bit(vpmask->mask, HVM_MAX_VCPUS);
+-}
+-
+-static unsigned int vpmask_next(const struct hypercall_vpmask *vpmask,
+-                                unsigned int vp)
+-{
+-    /*
+-     * If vp + 1 > HVM_MAX_VCPUS then find_next_bit() will return
+-     * HVM_MAX_VCPUS, ensuring the for_each_vp ( ... ) loop terminates.
+-     */
+-    return find_next_bit(vpmask->mask, HVM_MAX_VCPUS, vp + 1);
+-}
+-
+-#define for_each_vp(vpmask, vp) \
+-      for ( (vp) = vpmask_first(vpmask); \
+-            (vp) < HVM_MAX_VCPUS; \
+-            (vp) = vpmask_next(vpmask, vp) )
+-
+ static unsigned int vpmask_nr(const struct hypercall_vpmask *vpmask)
+ {
+     return bitmap_weight(vpmask->mask, HVM_MAX_VCPUS);
+@@ -813,7 +793,7 @@ static void send_ipi(struct hypercall_vpmask *vpmask, uint8_t vector)
+     if ( nr > 1 )
+         cpu_raise_softirq_batch_begin();
+ 
+-    for_each_vp ( vpmask, vp )
++    bitmap_for_each ( vp, vpmask->mask, currd->max_vcpus )
+     {
+         struct vlapic *vlapic = vcpu_vlapic(currd->vcpu[vp]);
+ 



Home | Main Index | Thread Index | Old Index