Linux host OS IBT: Virtualbox cannot run

Discussions related to using VirtualBox on Linux hosts.
Post Reply
scottgus1
Site Moderator
Posts: 20945
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Linux host OS IBT: Virtualbox cannot run

Post by scottgus1 »

EDIT: Virtualbox 7.0.10 is reported to work with IBT enabled on the host OS.

Some Linux distros have begun using "IBT" indirect branch tracking. Virtualbox doesn't support IBT yet. The developers are working on it.

Meanwhile, if your Linux host OS updates its kernel, then suddenly your Virtualbox VMs don't start, it might be that the new kernel is now using IBT.

If IBT is enabled, be aware that there are some security reasons for having it enabled. For now, Virtualbox requires it to be disabled.

If you decide to disable IBT, add this to the Linux host OS boot loader:

ibt=off
scottgus1
Site Moderator
Posts: 20945
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Virtualbox cannot run when Linux host OS uses IBT

Post by scottgus1 »

Testing to see if IBT has been enabled from within the running Linux host OS is a little fuzzy depending on what distro is being used. Try these suggestions from:

Forum Admin Klaus:
klaus wrote: 20. Jun 2023, 20:08 Suspect the only way to find out is checking the kernel build config, and finding it halfway reliably is already tricky business:
https://www.baeldung.com/linux/kernel-config

When the kernel config is found then it's a matter of checking X86_KERNEL_IBT - if the config file contains a line "X86_KERNEL_IBT=y" then it is enabled.
Forum guru fth0:
fth0 wrote: 20. Jun 2023, 22:10 I'd suggest to use the following command inside a Linux terminal:

Code: Select all

grep X86_KERNEL_IBT /boot/config-$(uname -r)
If you prefer another command, make sure to search for a substring match, since the config file often (always?) contains CONFIG_X86_KERNEL_IBT=y when IBT is supported.
Forum user marmel:
marmel wrote: 21. Jun 2023, 00:58 Determine if IBT is supported/available, enabled by default?:

Code: Select all

$ zgrep IBT= /proc/config.gz
CONFIG_CC_HAS_IBT=y
CONFIG_X86_KERNEL_IBT=y
Is IBT disabled in the running kernel?:

Code: Select all

$ grep ibt /proc/cmdline 
initrd=\intel-ucode.img initrd=\initramfs-linux.img root=UUID=xxx nvidia_drm.modeset=1 module_blacklist=snd_hda_intel ibt=off
fth0
Volunteer
Posts: 5678
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Linux host OS IBT: Virtualbox cannot run

Post by fth0 »

Use of IBT support (CONFIG_X86_KERNEL_IBT) known to me:
marmel
Posts: 75
Joined: 1. Nov 2013, 03:44

Re: Linux host OS IBT: Virtualbox cannot run

Post by marmel »

And, importantly:
  • Upstream Linux kernel: Linux 6.2* (Feb, 2023)
[*] https://git.kernel.org/pub/scm/linux/ke ... 48ee0b4bfd
fth0
Volunteer
Posts: 5678
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Linux host OS IBT: Virtualbox cannot run

Post by fth0 »

This issue (IBT support) should be fixed in the upcoming VirtualBox 7.0.10 release update.

Regarding the upcoming VirtualBox 6.1.46 release update, the issue should be fixed only in the distribution-specific Linux installers, but not in the distribution-agnostic .run package. Additionally, the VirtualBox 6.1.46 Extension Pack will also not be fixed (especially the USB 2.0 EHCI and 3.0 xHCI controllers and the NVMe support).

I'd expect both VirtualBox release updates around 2023-07-18.
marmel
Posts: 75
Joined: 1. Nov 2013, 03:44

Re: Linux host OS IBT: Virtualbox cannot run

Post by marmel »

I can confirm that Virtualbox 7.0.10 is running with IBT enabled.

The devs closed the relevant ticked as it's been resolved:
https://www.virtualbox.org/ticket/21435
Post Reply