Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
208 commits
Select commit Hold shift + click to select a range
3871a3b
merge 3.0-dev into 3.0 (#8097)
nicogbg Feb 27, 2024
aa588bc
merge 3.0 dev into 3.0 (#8205)
nicogbg Mar 1, 2024
1d0b201
merge 3.0-dev into 3.0 - resolve conflict
CBL-Mariner-Bot Mar 4, 2024
19c7379
merge 3.0-dev into 3.0 (#8229)
nicogbg Mar 4, 2024
a3be956
Merge branch '3.0-dev' into 3.0
jslobodzian Mar 14, 2024
dc02b22
Updated `ca-certificates-base`. (CP #8426) (#8430)
PawelWMS Mar 18, 2024
8bd1402
Switched `core-packages` to use the preview repo. (#8387)
PawelWMS Mar 14, 2024
54f5671
containerized-rpmbuild: fix tdnf --enablerepo value for 3.0 (#8404)
tobiasb-ms Mar 14, 2024
518c8de
Add systemd-bootstrap-libs subpackage. (#8370)
dmcilvaney Mar 14, 2024
179cb4d
containerized-rpmbuild: switch default to show most stdout with a QUI…
tobiasb-ms Mar 14, 2024
b64bb2f
WALinuxAgent: address issues in systemd unit configuration (#8392)
Camelron Mar 14, 2024
437e35a
Update mozjs to v102.15.1esr for 3.0 (#8340)
corvus-callidus Mar 14, 2024
3b728b0
Remove python-toml BR from python-hatch-fancy-pypi-readme (#8411)
rikenm1 Mar 15, 2024
1811e2e
[3.0] Resolve libcgroup build break and enable ptest (#8304)
henryli001 Mar 15, 2024
f1fa3cc
Fix paths to ms-oss and ms-non-oss repositories (#8464)
jslobodzian Mar 20, 2024
7e1fb0e
Add config files to allow the iso install to connect to the network a…
sameluch Mar 20, 2024
75f000e
add network and kernel print config files to full-aarch.json (#8470)
sameluch Mar 20, 2024
b4ceeaf
Remove pcre2-doc subpackage as runtime dependency for both pcre2 and …
mbykhovtsev-ms Mar 20, 2024
c6e5173
Fix Disk Not Ejecting Post Install on Gen-1 Hyper-v VM (#8506)
sameluch Mar 21, 2024
86bbd3b
moby-engine: fix userland-proxy service failure (#8513)
hbeberman Mar 22, 2024
c891a9e
Joslobo/take rpm fix (#8551)
jslobodzian Mar 25, 2024
b836e2e
[AUTOPATCHER-kernel] Kernel upgrade to version 6.6.22.1 - branch 3.0-…
CBL-Mariner-Bot Mar 27, 2024
52c975c
Build Break: Fix bad merge
jslobodzian Mar 28, 2024
90fc83a
perl-Test-File: fix macro issue (#8598)
anphel31 Mar 28, 2024
4bd7fef
Exclude overlayfs module from main dracut package. (#8525)
liulanze Mar 22, 2024
44d2ab4
kernel: Align arm hv,xen,virtio modules with x86 to fix arm boot (#8579)
Camelron Mar 31, 2024
fe1f493
Fix build break of kernel (#8635)
jslobodzian Apr 1, 2024
dbd2a0d
Upgraded `gnupg2` to version 2.4.4. (#8621)
PawelWMS Apr 1, 2024
175c04c
moby-containerd-cc: remove obsoletes containerd (#8643)
hbeberman Apr 1, 2024
37e0d81
Fix Build Break for kernel-signed (#8650)
jslobodzian Apr 1, 2024
1750980
move busybox from core to golden container (#8559)
mandeepsplaha Mar 28, 2024
267688c
Merge commit '290f6698c656c8aa54fdc7ebeea63143c042024d' into sammeluc…
sameluch Apr 9, 2024
64ff6ca
bump azure linux release
sameluch Apr 9, 2024
9baa50e
Fix removals from old merge commit to align 3.0 and 3.0-dev
sameluch Apr 10, 2024
3f9db6c
Merge 3.0-dev into 3.0 (#8744)
jslobodzian Apr 10, 2024
d051eae
Merge commit '377b12be2e670dddf3c948f16e3ddd860f5b094b' into sammeluc…
sameluch Apr 17, 2024
a59c43e
Bump Azure Linux release version
sameluch Apr 17, 2024
80035d5
Merge 3.0-dev to 3.0 from latest 3.0-dev build (#8828)
jslobodzian Apr 17, 2024
0a8ed70
Merge commit 'fec8708f5c1c91d6b2b3c417621316ece06835a5' into sammeluc…
sameluch Apr 24, 2024
a06247a
Bump azurelinux release
sameluch Apr 24, 2024
da3ebea
Merge commit 'b7df5e9cc1f5bc1ae8c07ad286f0ef1393acdb58' into sammeluc…
sameluch Apr 26, 2024
7e9e3f3
Merge commit 'e395adcacbff687e6420d249977712894db0c356' into sammeluc…
sameluch Apr 30, 2024
bcb9a2d
Merge 3.0-dev into 3.0 (#8891)
anphel31 Apr 30, 2024
877d15d
Merge commit 'cd15d3edcaac1ff12e3335247007dde37500b094' into sammeluc…
sameluch May 9, 2024
347171e
bumper releasever for preview release
sameluch May 9, 2024
d0887f8
Merge commit '25c8c02bcedd34296d4fbd95dd0c8724f4125e55' into sammeluc…
sameluch May 10, 2024
5281d3d
Merge 3.0-dev and 3.0 (#9072)
anphel31 May 10, 2024
78f6e52
Merge commit '5e47f8cde240cb1fa2f7f49906b967055438e204' into sammeluc…
sameluch May 24, 2024
fa94a42
update azurelinux-release for preview release
sameluch May 24, 2024
3a88109
Merge 3.0-dev into 3.0 for preview update (#9220)
anphel31 May 24, 2024
b770dd3
Merge commit '6763f4f3774ae2ec5657f610985c2cf1bc863403' into sammeluc…
sameluch Jun 13, 2024
68135cb
bump azurelinux release for preview
sameluch Jun 13, 2024
609f9d0
Merge 3.0-dev into 3.0 (#9390)
anphel31 Jun 13, 2024
4209f4e
[3.0] Fix ordering issues with new preview repo handling in derivativ…
anphel31 Jun 23, 2024
beca895
Merge branch '3.0-dev' into anphel/3-pull-dev-changes-jun-23
anphel31 Jun 23, 2024
bb57b03
Merge 3.0-dev into 3.0 (#9473)
anphel31 Jun 24, 2024
09c2627
Merge commit '215e0f7e2c5802d653eb89fef03226d89565dbde' into sammeluc…
Jul 5, 2024
533488e
Bump release version for preivew
Jul 5, 2024
0249def
Merge commit '46076beaf38dc56969ac0627b70a60d9b03e1c8b' into sammeluc…
Jul 8, 2024
a10845f
Disable SELinux if it is disabled in the image config (#9687)
pebenito Jul 8, 2024
a83b76c
selinux-policy: Add udev and kmod fixes. (#9560)
pebenito Jul 8, 2024
a60ee0d
Merge 3.0-dev into 3.0 (#9619)
anphel31 Jul 9, 2024
163b079
Build kernel-uki and systemd-boot on x86_64 exclusively (#9742)
trungams Jul 11, 2024
88614d4
Cherry-Pick kernel-uki and systemd-boot fix to 3.0 (#9802)
anphel31 Jul 12, 2024
9404b50
Merge branch '3.0-dev' into 3.0
jslobodzian Jul 12, 2024
1a81cc4
[3.0] Remove MICROSOFT-METADATA-GPG-KEY (#9828)
anphel31 Jul 12, 2024
b096270
Merge branch '3.0-dev' into 3.0
jslobodzian Jul 16, 2024
8555eb0
Update Readme and associated documentation in anticipation of 3.0 GA …
jslobodzian Jul 19, 2024
db158c8
curl: upgrade version 8.5.0 -> 8.8.0 to address CVE-2024-2398 (#9833)
mfrw Jul 18, 2024
b710ed1
Fix Tensorflow Golden Container Smoke test (#9845)
rikenm1 Jul 17, 2024
fb4b6a2
Restore Core-Packages to include production repositories (#9852)
jslobodzian Jul 19, 2024
35f4dee
[3.0-dev]rapidjson: fix high CVE-2024-38517 and CVE-2024-39684 (#9870)
Xiaohong-Deng Jul 19, 2024
4f490bf
Adding cdi tools binaries to cdi package build (cdi 1.57) (#9889)
Adub17030MS Jul 19, 2024
57b2ec3
3.0-dev: move xorg-x11-server and xorg-x11-drv-libinput to SPECS-EXTE…
hideyukn88 Jul 20, 2024
5c5dc7c
bind: upgrade 9.19.21 -> 9.20.0 to address CVE-CVE-2024-0760, CVE-202…
mfrw Jul 26, 2024
6c05340
Prepare August 2024 Release (#9936)
CBL-Mariner-Bot Jul 26, 2024
887f440
Add automatic mode for DAILY_BUILD_ID (#9899)
dmcilvaney Jul 26, 2024
dcac5b8
compiler-rt: fix path issue (#9937)
anphel31 Jul 26, 2024
1bf3f8b
selinux-policy: Change unconfined to a separate module. (#9879)
pebenito Jul 18, 2024
d42aff8
selinux-policy: Clean up testing rules and add systemd fix. (#9911)
pebenito Jul 24, 2024
c841b33
[3.0] msopenjdk: update to latest prod version and add hash verificat…
anphel31 Aug 5, 2024
4ca9366
dracut: add fix for initrd not showing prompt when root device is loc…
trungams Aug 8, 2024
0f0a7df
[cherry-pick to 3.0] Add priorities to local repos (#10074)
anphel31 Aug 9, 2024
cd2eea8
Merge 3.0-dev to 3.0
jslobodzian Aug 13, 2024
9fccce3
image customizer: fix typos (#10135)
amritakohli Aug 13, 2024
205d084
Revert "image customizer: fix typos (#10135)"
jslobodzian Aug 15, 2024
0fe2276
Mandeepsplaha/fix container build failures (#10151)
mandeepsplaha Aug 15, 2024
027873e
fix function to publish containers (#10160)
mandeepsplaha Aug 16, 2024
9f8d0fa
Merge branch '3.0-dev' into 3.0
jslobodzian Aug 24, 2024
ba13b46
fix: use static search path for toolchain GPG keys during validation …
dmcilvaney Aug 27, 2024
339589c
Merge branch '3.0-dev' into anphel/3.0-prod-update-sep19
anphel31 Sep 20, 2024
e028df8
Merge branch '3.0-dev' into 3.0 (#10511)
anphel31 Sep 20, 2024
f5b49ea
Merge '3.0-dev' into '3.0' for October 2024 update
PawelWMS Oct 5, 2024
5dd8925
Build Break: Bump dracut to rebuild with latest systemd (#10638)
jslobodzian Oct 6, 2024
3fc3abd
Disable liblastlog2 for util-linux in raw toolchain build (#10661)
dmcilvaney Oct 8, 2024
a276229
Update README.md (#10824)
flora-taagen Oct 23, 2024
25d1d60
Merge branch '3.0-dev' into 3.0
jslobodzian Oct 25, 2024
47307a2
3.0: kata-containers: only build for x86_64 (#10849) (#10866)
anphel31 Oct 29, 2024
f6aa123
Merge branch '3.0-dev' into 3.0
jslobodzian Oct 30, 2024
49c865c
Image Customizer: Fix partition creation on Ubuntu build hosts. (#10897)
cwize1 Oct 31, 2024
977ae86
Revert "Image Customizer: Fix partition creation on Ubuntu build host…
cwize1 Oct 31, 2024
ec7cffe
Merge branch '3.0-dev' into 3.0
jslobodzian Nov 1, 2024
30d1349
Merge branch '3.0-dev' into 3.0
jslobodzian Nov 1, 2024
1df367d
Merge branch '3.0-dev' into 3.0
jslobodzian Nov 23, 2024
8ff742e
Merge branch '3.0-dev' into 3.0
jslobodzian Nov 23, 2024
68b8a4f
Merge branch '3.0-dev' into 3.0
jslobodzian Nov 26, 2024
6a3673d
Merge branch '3.0-dev' into 3.0
jslobodzian Nov 27, 2024
b5ee18e
Merge branch '3.0-dev' into 3.0
jslobodzian Dec 3, 2024
111d620
[3.0] Documentation: Add references to ARM64 3.0 ISO (#11328)
anphel31 Dec 6, 2024
c36b428
Release bump systemd-boot to use new keys (#11439)
dmcilvaney Dec 13, 2024
e78ca42
Provide an option not to auto-clean toolchain during daily-build (#11…
0xba1a Dec 18, 2024
dd652a9
Revert "Release bump systemd-boot to use new keys (#11439)"
jslobodzian Dec 20, 2024
78a3d9b
Update kernel-64k to have kexec signature verification (#11569)
rlmenge Dec 20, 2024
3be92e2
Reapply "Release bump systemd-boot to use new keys (#11439)"
jslobodzian Dec 20, 2024
a3ff34f
Merge branch '3.0-dev' into 3.0
jslobodzian Dec 23, 2024
2a17e48
Merge branch '3.0-dev' into 3.0
jslobodzian Dec 30, 2024
417be0b
Merge branch '3.0-dev' into 3.0
jslobodzian Jan 18, 2025
fc5b1e8
mofed and deps signed spec cleanup (#11993)
binujp Jan 18, 2025
6789a4d
Merge branch '3.0-dev' into 3.0
jslobodzian Jan 26, 2025
ec27dee
Merge branch '3.0-dev' into 3.0
jslobodzian Jan 28, 2025
3563c6d
Add LZ4 Compression Support for PostgreSQL (#11504)
udsmicrosoft Jan 29, 2025
1a3e754
Bphilip/rename mlnx ofa kernel (#12138)
binujp Jan 29, 2025
91b9b45
Merge branch '3.0-dev' into 3.0
jslobodzian Jan 29, 2025
8a62e95
Merge branch '3.0-dev' into 3.0
jslobodzian Feb 2, 2025
ac6d1fa
Merge branch '3.0-dev' into 3.0
jslobodzian Feb 2, 2025
bfd36df
Merge branch '3.0-dev' into 3.0
jslobodzian Feb 6, 2025
ebd28cb
Merge branch '3.0-dev' into 3.0
jslobodzian Feb 27, 2025
30579df
Merge branch '3.0-dev' into 3.0
jslobodzian Feb 27, 2025
99256f6
Merge branch '3.0-dev' into 3.0
jslobodzian Mar 5, 2025
ba754a3
Revert "Patch `vitess` for CVE-2025-22868 [High] (#12729)"
jslobodzian Mar 5, 2025
e6e8f15
Merge branch '3.0-dev' into 3.0
jslobodzian Mar 11, 2025
4c38084
fix: fix license ci break (#12886)
christopherco Mar 11, 2025
9651a2a
kernel(-64k): add patch to revert new UART change (#12883)
christopherco Mar 11, 2025
5244dca
Reapply "Patch `vitess` for CVE-2025-22868 [High] (#12729)"
jslobodzian Mar 27, 2025
0f6561e
Merge branch '3.0-dev' into joslobo/merge-for-april-update
jslobodzian Apr 2, 2025
39cc18a
Merge to 3.0 for April 2025 Update (#13256)
jslobodzian Apr 2, 2025
7edc702
Merge branch '3.0-dev' into anphel/3-merge-for-apr-2025-monthly
anphel31 Apr 29, 2025
806af31
Merge 3.0-dev for April 2025 monthly release (#13620)
jslobodzian Apr 29, 2025
7e483a8
Grab latest 3.0-dev to revert golang update. (#13631)
jslobodzian Apr 29, 2025
02ceb98
Merge 3.0-dev for May 2025 2 release
PawelWMS May 15, 2025
28f87c2
Latest 3.0-dec update.
PawelWMS May 15, 2025
cab4240
Merge 3.0-dev for May 2025 2 release (#13809)
jslobodzian May 15, 2025
dc78d7c
Revert "Merge 3.0-dev for May 2025 2 release" (#13833)
PawelWMS May 20, 2025
4754737
Prepare May 2025 Update 2 (#13808)
PawelWMS May 15, 2025
2251bb6
kernel-64k: enabling config options required for GB200 and GB200F dia…
sidchintamaneni May 17, 2025
696dc13
kernel-64k: Added a new patch to solve EFI slack slots issue (#13783)
sidchintamaneni May 20, 2025
1de4113
Anphel/3 mid may 2025 update b (#13839)
jslobodzian May 21, 2025
8fd0667
Revert "Anphel/3 mid may 2025 update b" (#13846)
anphel31 May 21, 2025
da84812
Revert "Revert "Merge 3.0-dev for May 2025 2 release"" (#13847)
anphel31 May 21, 2025
3d04526
Sync 3.0-dev to 3.0 as of e19b003a (#13848)
jslobodzian May 21, 2025
3cd11c5
Fixed reporting of build errors (CP: #13889) (#13897)
PawelWMS May 27, 2025
19a140b
Merge branch '3.0-dev' into joslobo/merge-for-monthly-update
jslobodzian Jun 2, 2025
64ef81a
Merge for June 2025 Update (#13935)
jslobodzian Jun 2, 2025
c4d6b31
Merge branch '3.0-dev' into mbykhovtsev/3.0-staging
mbykhovtsev-ms Jul 1, 2025
a4334d2
add install-prereqs-and-configure option, update docs (#14096)
sameluch Jul 1, 2025
94d301b
3.0 June update (#14200)
jslobodzian Jul 2, 2025
ce2f41e
Merge branch '3.0-dev' into mbykhovtsev/3.0-sync
mbykhovtsev-ms Jul 21, 2025
be5b61b
3.0 sync (#14359)
jslobodzian Jul 22, 2025
c67ff8c
Merge branch '3.0-dev' into anphel/3.0-merge-august-2025
anphel31 Jul 29, 2025
62084ef
August 2025 3.0 release merge (#14408)
anphel31 Jul 29, 2025
25ef93e
merge 3.0-dev changes for mid august release
anphel31 Aug 22, 2025
d220b7f
Merge branch '3.0-dev' into anphel/3-mid-aug-release-snap
anphel31 Aug 22, 2025
57f868f
[3.0] Merge changes for Mid-August release (#14562)
anphel31 Aug 22, 2025
ca2c71d
Merge branch '3.0-dev' into anphel/3-sep-2025-release-snap
anphel31 Sep 10, 2025
ef7f9eb
Merge changes for 3.0 Sep 2025 monthly release (#14646)
anphel31 Sep 10, 2025
4ad665b
Merge branch '3.0-dev' into anphel/3-oct-2025-snap
anphel31 Oct 21, 2025
55cb174
[3.0] Oct 2025 Monthly release (#14901)
anphel31 Oct 21, 2025
5c51b25
Adjust the conflict package name for mlnx-ofa_kernel-hwe-modules (#14…
jslobodzian Oct 29, 2025
52caab9
Prepare October 2025 Update 2 (#14975)
CBL-Mariner-Bot Oct 30, 2025
e530f31
Patch iperf3 to fix compat with openssl 3.3.5 (#14962)
corvus-callidus Oct 30, 2025
cb183a9
ca-certificates: revert adding TLS RSA Root G2 & TLS ECC Root G2 base…
anphel31 Oct 30, 2025
6911950
Merge changes for 3.0 monthly update - ca-certs & iperf3 (#14984)
jslobodzian Oct 30, 2025
fa985d5
Merge branch '3.0-dev' into pawelwi/3.0_release_merge
PawelWMS Nov 6, 2025
9ed12fd
Prepare November 2025 release (#15025)
jslobodzian Nov 6, 2025
bd3347f
merge branch '3.0-dev' into 3.0
aaruag Dec 5, 2025
950c61a
Merge changes for 3.0 monthly update (#15238)
jslobodzian Dec 5, 2025
a81282a
Merge changes for 3.0 monthly update (#15461)
dmcilvaney Jan 7, 2026
a0e1d5f
Revert "Upgrade apache-commons-compress to 1.26.1 and address depende…
anphel31 Jan 8, 2026
fbd12ff
Merge branch '3.0-dev' into anphel/3-prod-merge-jan19
anphel31 Jan 19, 2026
0698450
Merge branch '3.0-dev' into anphel/3-prod-merge-jan19
anphel31 Jan 19, 2026
77368bb
[3.0] Merge changes for Jan 2026 test build (#15531)
jslobodzian Jan 19, 2026
52dfbf6
Merge 3.0-dev into 3.0 (#15715)
jslobodzian Feb 4, 2026
6884968
Add stub workflow to trigger toml branch spec reviews (#15832) (#15844)
dmcilvaney Feb 13, 2026
8f6aae8
merge branch '3.0-dev' into aaruagrawal/monthly-update-merge-3.0
aaruag Mar 4, 2026
25bde1f
Monthly update 3.0 (#16111)
jslobodzian Mar 4, 2026
4a3f500
Monthly release merge: Monthly Release (Snapped on 2026-03-31)
CBL-Mariner-Bot Mar 31, 2026
9f3c740
Merge for 3.0 April 2026 Update (#16376)
jslobodzian Mar 31, 2026
ab3490a
Revert: Patch qemu for CVE-2025-14876, CVE-2024-8354 [MEDIUM] (#16173…
jslobodzian Apr 1, 2026
62b9480
chery-pick fix: check before copying `cfg.SrpmsDir` (#16447) (#16456)
mbykhovtsev-ms Apr 3, 2026
020c77a
Merge branch '3.0-dev' into mbykhovtsev/3.0-sync
mbykhovtsev-ms Apr 13, 2026
4cc5012
sync 3.0-dev into 3.0 (#16648)
jslobodzian Apr 14, 2026
4c1ecd6
Revise README with updated community call schedule (#16841)
flora-taagen Apr 23, 2026
0f4e823
ci: Add stub to trigger render check workflow (#16890) (#16895)
dmcilvaney Apr 26, 2026
1862cc2
May 2026 release merge
PawelWMS Apr 28, 2026
6f77b90
Add rust-afterburn 5.8.2 to core repo in azure linux (#15563)
SumitJenaHCL Apr 29, 2026
6fcd1b3
Prepare May Update (#16926)
CBL-Mariner-Bot Apr 29, 2026
2172d5c
[3.0] May 2026 monthly release (#16925)
jslobodzian Apr 29, 2026
6771885
[3.0] Fix IC golden container pip install failure under CFSClean netw…
Britel May 1, 2026
eac39b3
Merge branch '3.0-dev' into pawelwi/release_merge_3.0
PawelWMS May 5, 2026
d60b3e3
[3.0] 2nd May 2026 monthly release (#17038)
jslobodzian May 5, 2026
1b6d1a8
[AUTOPATCHER-kernel] Kernel upgrade to version 6.6.138.1 - branch 3.0…
CBL-Mariner-Bot May 10, 2026
4598d04
[AUTOPATCHER-kernel] Kernel upgrade to version 6.12.87.1 - branch 3.0…
CBL-Mariner-Bot May 10, 2026
388e46a
Prepare May 2026 Update 2 (#17113)
CBL-Mariner-Bot May 10, 2026
e86d0af
Changes for 3.0 update (#17115)
jslobodzian May 10, 2026
482bfe3
add GPU passthrough fix patch for Kubevirt
woojoong88 May 11, 2026
1817640
add kubevirt sidecar
woojoong88 Apr 29, 2026
c363c9d
Merge remote-tracking branch 'origin' into woojoongkim/test-gpu
woojoong88 May 14, 2026
445e8d9
Merge branch '3.0-dev' into woojoongkim/test-gpu
woojoong88 May 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

ARG BASE_IMAGE

FROM $BASE_IMAGE

@INCLUDE_MAIN_RUN_INSTRUCTION@

RUN useradd -u 1001 --create-home -s /bin/bash sidecar-shim
USER 1001

#simple smoke test
RUN ls /usr/bin/sidecar-shim

ENTRYPOINT [ "/usr/bin/sidecar-shim" ]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
kubevirt-sidecar-shim
4 changes: 4 additions & 0 deletions .pipelines/containerSourceData/kubevirt/sidecar-shim.pkg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
ca-certificates
kubevirt-sidecar-shim
python3
shadow-utils
Original file line number Diff line number Diff line change
@@ -0,0 +1,286 @@
From d37d3d8335a19324f372dd24e2344563559c096e Mon Sep 17 00:00:00 2001
From: Michael Henriksen <mhenriks@redhat.com>
Date: Fri, 17 Apr 2026 23:29:54 -0400
Subject: [PATCH] Fix VM with PCI hostdev failing to restart after hotplug
block volume

When a hotplug block volume is mounted into the virt-launcher pod,
allowBlockMajorMinor() calls cgroupManager.Set() to add the block
device to the cgroup allowlist. On cgroups v2, this replaces the
entire eBPF device filter program. The v2Manager rebuilds the program
from its in-memory rule cache, which is initialized from
generateDeviceRulesForVMI() and does not include devices provisioned
by device plugins. This wipes access to device-plugin-provided nodes
such as /dev/vfio/* (PCI/MDEV/GPU/SR-IOV passthrough) and
/dev/bus/usb/* (USB passthrough), causing libvirt to fail with
"pci backend driver type 'default' is not supported" when starting
the domain.

Fix by recursively scanning /dev/vfio/ and /dev/bus/usb/ inside the
container and including all discovered device rules in the initial
cache so they are preserved when the eBPF program is rebuilt.

Fixes: https://github.com/kubevirt/kubevirt/issues/17124

Signed-off-by: Michael Henriksen <mhenriks@redhat.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---
pkg/virt-handler/cgroup/BUILD.bazel | 3 +
pkg/virt-handler/cgroup/cgroup_test.go | 50 +++++++++++++++++
pkg/virt-handler/cgroup/util.go | 63 +++++++++++++++++++++
tests/storage/hotplug.go | 77 ++++++++++++++++++++++++++
4 files changed, 193 insertions(+)

diff --git a/pkg/virt-handler/cgroup/BUILD.bazel b/pkg/virt-handler/cgroup/BUILD.bazel
index ace69f1d78..4f4ec95714 100644
--- a/pkg/virt-handler/cgroup/BUILD.bazel
+++ b/pkg/virt-handler/cgroup/BUILD.bazel
@@ -40,6 +40,9 @@ go_test(
embed = [":go_default_library"],
race = "on",
deps = [
+ "//pkg/safepath:go_default_library",
+ "//pkg/virt-handler/isolation:go_default_library",
+ "//staging/src/kubevirt.io/api/core/v1:go_default_library",
"//staging/src/kubevirt.io/client-go/testutils:go_default_library",
"//vendor/github.com/onsi/ginkgo/v2:go_default_library",
"//vendor/github.com/onsi/gomega:go_default_library",
diff --git a/pkg/virt-handler/cgroup/cgroup_test.go b/pkg/virt-handler/cgroup/cgroup_test.go
index 50b5198e2a..53450e2a06 100644
--- a/pkg/virt-handler/cgroup/cgroup_test.go
+++ b/pkg/virt-handler/cgroup/cgroup_test.go
@@ -20,12 +20,20 @@
package cgroup

import (
+ "os"
+ "path/filepath"
+
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
runc_cgroups "github.com/opencontainers/runc/libcontainer/cgroups"
runc_configs "github.com/opencontainers/runc/libcontainer/configs"
"github.com/opencontainers/runc/libcontainer/devices"
"go.uber.org/mock/gomock"
+
+ v1 "kubevirt.io/api/core/v1"
+
+ "kubevirt.io/kubevirt/pkg/safepath"
+ "kubevirt.io/kubevirt/pkg/virt-handler/isolation"
)

var _ = Describe("cgroup manager", func() {
@@ -195,3 +203,45 @@ var _ = Describe("cgroup manager", func() {
),
)
})
+
+var _ = Describe("generateDeviceRulesForVMI", func() {
+ var (
+ ctrl *gomock.Controller
+ tempDir string
+ )
+
+ BeforeEach(func() {
+ ctrl = gomock.NewController(GinkgoT())
+ tempDir = GinkgoT().TempDir()
+ Expect(os.MkdirAll(filepath.Join(tempDir, "dev"), 0755)).To(Succeed())
+ })
+
+ newMockIsolationWithMountRoot := func() isolation.IsolationResult {
+ mountRoot, err := safepath.NewPathNoFollow(tempDir)
+ Expect(err).ToNot(HaveOccurred())
+
+ mockIso := isolation.NewMockIsolationResult(ctrl)
+ mockIso.EXPECT().MountRoot().Return(mountRoot, nil)
+ return mockIso
+ }
+
+ It("should not fail when /dev/vfio does not exist", func() {
+ rules, err := generateDeviceRulesForVMI(&v1.VirtualMachineInstance{}, newMockIsolationWithMountRoot(), "")
+ Expect(err).ToNot(HaveOccurred())
+ Expect(rules).To(BeEmpty())
+ })
+
+ It("should not fail when /dev/vfio exists but is empty", func() {
+ Expect(os.MkdirAll(filepath.Join(tempDir, "dev", "vfio"), 0755)).To(Succeed())
+ rules, err := generateDeviceRulesForVMI(&v1.VirtualMachineInstance{}, newMockIsolationWithMountRoot(), "")
+ Expect(err).ToNot(HaveOccurred())
+ Expect(rules).To(BeEmpty())
+ })
+
+ It("should not fail when /dev/bus/usb exists but is empty", func() {
+ Expect(os.MkdirAll(filepath.Join(tempDir, "dev", "bus", "usb"), 0755)).To(Succeed())
+ rules, err := generateDeviceRulesForVMI(&v1.VirtualMachineInstance{}, newMockIsolationWithMountRoot(), "")
+ Expect(err).ToNot(HaveOccurred())
+ Expect(rules).To(BeEmpty())
+ })
+})
diff --git a/pkg/virt-handler/cgroup/util.go b/pkg/virt-handler/cgroup/util.go
index 892113c83d..cce3ebfcac 100644
--- a/pkg/virt-handler/cgroup/util.go
+++ b/pkg/virt-handler/cgroup/util.go
@@ -191,9 +191,72 @@ func generateDeviceRulesForVMI(vmi *v1.VirtualMachineInstance, isolationRes isol
}
}

+ // Device-plugin-provisioned devices (VFIO, USB) must be in the cgroup
+ // rule cache so they survive eBPF program rebuilds during hotplug.
+ for _, devDir := range []string{
+ filepath.Join("dev", "vfio"),
+ filepath.Join("dev", "bus", "usb"),
+ } {
+ rules, err := discoverDeviceRulesInDir(mountRoot, devDir)
+ if err != nil {
+ return nil, fmt.Errorf("failed to discover device rules in %s: %v", devDir, err)
+ }
+ vmiDeviceRules = append(vmiDeviceRules, rules...)
+ }
+
return vmiDeviceRules, nil
}

+// discoverDeviceRulesInDir recursively scans a directory under the
+// container's filesystem and creates allow rules for all device nodes
+// found. These devices are provisioned by device plugins or the container
+// runtime and must be preserved in the v2 cgroup manager's rule cache so
+// they are not lost when the eBPF device filter is rebuilt by subsequent
+// Set() calls (e.g. during hotplug volume mounting).
+func discoverDeviceRulesInDir(mountRoot *safepath.Path, relPath string) ([]*devices.Rule, error) {
+ dirPath, err := safepath.JoinNoFollow(mountRoot, relPath)
+ if err != nil {
+ if errors.Is(err, os.ErrNotExist) {
+ return nil, nil
+ }
+ return nil, err
+ }
+
+ var entries []os.DirEntry
+ err = dirPath.ExecuteNoFollow(func(path string) (err error) {
+ entries, err = os.ReadDir(path)
+ return err
+ })
+ if err != nil {
+ return nil, err
+ }
+
+ var rules []*devices.Rule
+ for _, entry := range entries {
+ if entry.IsDir() {
+ subRules, err := discoverDeviceRulesInDir(mountRoot, filepath.Join(relPath, entry.Name()))
+ if err != nil {
+ return nil, err
+ }
+ rules = append(rules, subRules...)
+ continue
+ }
+ devPath, err := safepath.JoinNoFollow(dirPath, entry.Name())
+ if err != nil {
+ return nil, err
+ }
+ rule, err := newAllowedDeviceRule(devPath)
+ if err != nil {
+ return nil, fmt.Errorf("failed to create device rule for %s/%s: %v", relPath, entry.Name(), err)
+ }
+ if rule != nil {
+ log.Log.V(loggingVerbosity).Infof("device rule for %s/%s: %v", relPath, entry.Name(), rule)
+ rules = append(rules, rule)
+ }
+ }
+ return rules, nil
+}
+
func newAllowedDeviceRule(devicePath *safepath.Path) (*devices.Rule, error) {
fileInfo, err := safepath.StatAtNoFollow(devicePath)
if err != nil {
diff --git a/tests/storage/hotplug.go b/tests/storage/hotplug.go
index 00e7c9607b..fe4e5595e1 100644
--- a/tests/storage/hotplug.go
+++ b/tests/storage/hotplug.go
@@ -2265,6 +2265,83 @@ var _ = Describe(SIG("Hotplug", func() {
verifyVolumeNolongerAccessible(vmi, targets[0])
})
})
+
+ // Regression test for https://github.com/kubevirt/kubevirt/issues/17124
+ Context("with PCI hostdev", Serial, func() {
+ const deviceName = "example.org/soundcard"
+
+ BeforeEach(func() {
+ kvconfig.EnableFeatureGate(featuregate.HostDevicesGate)
+
+ kv := libkubevirt.GetCurrentKv(virtClient)
+ config := kv.Spec.Configuration
+ config.PermittedHostDevices = &v1.PermittedHostDevices{
+ PciHostDevices: []v1.PciHostDevice{
+ {
+ PCIVendorSelector: "8086:2668",
+ ResourceName: deviceName,
+ },
+ },
+ }
+ kvconfig.UpdateKubeVirtConfigValueAndWait(config)
+ })
+
+ AfterEach(func() {
+ kv := libkubevirt.GetCurrentKv(virtClient)
+ config := kv.Spec.Configuration
+ config.PermittedHostDevices = &v1.PermittedHostDevices{}
+ kvconfig.UpdateKubeVirtConfigValueAndWait(config)
+ kvconfig.DisableFeatureGate(featuregate.HostDevicesGate)
+ })
+
+ It("should restart a VM after hotplugging a block volume", decorators.RequiresBlockStorage, func() {
+ sc, exists := libstorage.GetRWOBlockStorageClass()
+ if !exists {
+ Fail("Fail test when block storage class is not available")
+ }
+
+ vmiSpec := libvmifact.NewAlpineWithTestTooling()
+ vmiSpec.Spec.Domain.Devices.HostDevices = []v1.HostDevice{
+ {Name: "sound0", DeviceName: deviceName},
+ }
+ vm, err := virtClient.VirtualMachine(testsuite.GetTestNamespace(nil)).Create(
+ context.Background(),
+ libvmi.NewVirtualMachine(vmiSpec, libvmi.WithRunStrategy(v1.RunStrategyAlways)),
+ metav1.CreateOptions{},
+ )
+ Expect(err).ToNot(HaveOccurred())
+ Eventually(matcher.ThisVM(vm)).WithTimeout(300 * time.Second).WithPolling(time.Second).Should(matcher.BeReady())
+
+ vmi, err := virtClient.VirtualMachineInstance(vm.Namespace).Get(context.Background(), vm.Name, metav1.GetOptions{})
+ Expect(err).ToNot(HaveOccurred())
+ libwait.WaitForSuccessfulVMIStart(vmi, libwait.WithTimeout(240))
+
+ dvBuilder := libdv.NewDataVolume(
+ libdv.WithBlankImageSource(),
+ libdv.WithStorage(
+ libdv.StorageWithStorageClass(sc),
+ libdv.StorageWithVolumeSize(cd.BlankVolumeSize),
+ libdv.StorageWithVolumeMode(k8sv1.PersistentVolumeBlock),
+ ),
+ )
+ dv, err := virtClient.CdiClient().CdiV1beta1().DataVolumes(testsuite.GetTestNamespace(nil)).Create(
+ context.Background(), dvBuilder, metav1.CreateOptions{})
+ Expect(err).ToNot(HaveOccurred())
+ libstorage.EventuallyDV(dv, 240, Or(matcher.HaveSucceeded(), matcher.WaitForFirstConsumer()))
+
+ By("Hotplugging a block volume to the running VM")
+ addVolumeVMWithSource(vm.Name, vm.Namespace, getAddVolumeOptions("hotplug-vol", v1.DiskBusSCSI, &v1.HotplugVolumeSource{
+ DataVolume: &v1.DataVolumeSource{Name: dv.Name},
+ }, false, false, ""))
+ verifyVolumeStatus(vmi, v1.VolumeReady, "", "hotplug-vol")
+
+ By("Restarting the VM")
+ vm = libvmops.StopVirtualMachine(vm)
+ err = virtClient.VirtualMachine(vm.Namespace).Start(context.Background(), vm.Name, &v1.StartOptions{})
+ Expect(err).ToNot(HaveOccurred())
+ Eventually(matcher.ThisVM(vm), 300*time.Second, time.Second).Should(matcher.BeReady())
+ })
+ })
}))

func verifyVolumeAndDiskVMAdded(virtClient kubecli.KubevirtClient, vm *v1.VirtualMachine, volumeNames ...string) {
--
2.34.1

22 changes: 21 additions & 1 deletion SPECS/kubevirt/kubevirt.spec
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
Summary: Container native virtualization
Name: kubevirt
Version: 1.7.1
Release: 4%{?dist}
Release: 5%{?dist}
License: ASL 2.0
Vendor: Microsoft Corporation
Distribution: Azure Linux
Expand All @@ -30,6 +30,7 @@ Source0: https://github.com/kubevirt/kubevirt/archive/refs/tags/v%{versio
Patch0: CVE-2025-11065.patch
Patch1: CVE-2026-35469.patch
Patch2: CVE-2026-33814.patch
Patch3: 0001-Fix-VM-with-PCI-hostdev-failing-to-restart-after-hot.patch

%global debug_package %{nil}
BuildRequires: swtpm-tools
Expand Down Expand Up @@ -122,6 +123,15 @@ Group: System/Packages
The pr-helper-conf package provides configuration files for persistent
reservation helper

%package sidecar-shim
Summary: Sidecar shim for kubevirt hook sidecars
Group: System/Packages

%description sidecar-shim
The sidecar-shim package provides the sidecar shim binary for kubevirt.
It handles gRPC communication between hook sidecars and the main
virt-launcher container, allowing custom modifications to VM definitions.

%package tests
Summary: Kubevirt functional tests
Group: System/Packages
Expand Down Expand Up @@ -160,6 +170,7 @@ build_tests="true" \
cmd/virt-probe \
cmd/virt-tail \
cmd/virtctl \
cmd/sidecars \
%{nil}

env DOCKER_PREFIX=$reg_path DOCKER_TAG=%{version}-%{release} KUBEVIRT_NO_BAZEL=true ./hack/build-manifests.sh
Expand All @@ -183,6 +194,7 @@ install -p -m 0755 _out/cmd/virt-tail/virt-tail %{buildroot}%{_bindir}/
install -p -m 0755 _out/cmd/virt-operator/virt-operator %{buildroot}%{_bindir}/
install -p -m 0755 _out/tests/tests.test %{buildroot}%{_bindir}/virt-tests
install -p -m 0755 cmd/virt-launcher/node-labeller/node-labeller.sh %{buildroot}%{_bindir}/
install -p -m 0755 _out/cmd/sidecars/sidecars %{buildroot}%{_bindir}/sidecar-shim

# Install network stuff
mkdir -p %{buildroot}%{_datadir}/kube-virt/virt-handler
Expand Down Expand Up @@ -260,13 +272,21 @@ install -p -m 0644 cmd/virt-launcher/qemu.conf %{buildroot}%{_datadir}/kube-virt
%dir %{_datadir}/kube-virt/pr-helper
%{_datadir}/kube-virt/pr-helper/multipath.conf

%files sidecar-shim
%license LICENSE
%doc README.md
%{_bindir}/sidecar-shim

%files tests
%license LICENSE
%doc README.md
%dir %{_datadir}/kube-virt
%{_bindir}/virt-tests

%changelog
* Wed Mar 25 2026 Woojoong Kim <woojoongkim@microsoft.com> - 1.7.1-5
- Add PCI passthrough patch

* Wed May 13 2026 Azure Linux Security Servicing Account <azurelinux-security@microsoft.com> - 1.7.1-4
- Patch for CVE-2026-33814

Expand Down
Loading