Kernel PTI not enabled by default on Atom C3558 in latest 2.4.4RC
-
@stephenw10 OK, I missed that about loader.conf.local.
This was a clean installation from scratch on a brand-new box. I had installed a copy of FreeBSD 11.2 to check out the hardware, but I wiped the SSD and changed the format from UFS to ZFS when I installed pfSense.
From the first time I brought up the dashboard, it has read "Kernel PTI: Disabled". Using sysctl at the command line confirmed it.
-
Hmm, what I expect to see on a clean install is:
The check box is unchecked.
The dashboard reports Kernel PTI is enabled.
The sysctl is set to 1.
There is no loader line.If you check the box that is reversed and the loader line setting it to 0 is added.
Steve
-
I'm sorry for the confusion, I had the state of the checkbox backwards in my report. The "Disable KPTI" box was unchecked by default. But KPTI was not enabled. That's the only difference from what you describe.
The box is a SuperMicro SYS-E9-200A. It uses their A2SDi-4C-HLN4F motherboard.
-
Make sure you have a BIOS with the required microcode update, AFAIK Kernel PTI will not self-activate without it.
-
I have the latest BIOS on this system, version 1.1, dated 8/28/2018.
-
@stephenw10 /boot/loader.conf.local was NOT preserved when I upgraded to 2.4.4 RELEASE.
This is a bug.
Fortunately KPTI is enabled by default this time.
-
Please open a bug report and give as much detail as possible. https://redmine.pfsense.org
Steve
-
I have the same issue on my Netgate XG-7100 here:
- Hardware: XG-7100
- CPU: C3558
- BIOS: ADI_PLCC-01.00.00.10
- 2.4.4-RELEASE
The kernel PTI checkbox is unchecked and the dashboard says Kernel PTI is disabled.
/boot/loader.conf
doesn't containvm.pmap.pti: 1
. -
Was that after upgrading to 2.4.4 or a clean install?
Steve
-
I thought that Atom C3xxx support was added with FreeBSD 11.2, so at some point it would have been a clean install of 2.4.4... though it could have been an upgrade from beta to release...
BTW, I have the same SuperMicro board as the OP, with the same BIOS update, and I'm still not seeing PTI enabled, even after checking and unchecking the advanced setting box. I haven't tried forcing it myself with loader.conf.local. My system was running 2.4.4 snapshots, and is currently running 2.4.4 release, though it was an upgrade from the RC version.
-
If PTI defaults to off, congratulations, your CPU is not affected by Meltdown and does not need PTI.
Some extra clarification text here: https://redmine.pfsense.org/issues/9026
-
It was for C3000 in general but we backported the drivers for our XG-7100 into 2.4.3.
However looking into this kernel pti can be disabled by default if the CPU indicates it is not required using the IA32_ARCH_CAP_RDCL_NO bit:
https://github.com/freebsd/freebsd/blob/master/sys/x86/x86/identcpu.c#L1627So if you have a new enough CPU you may see this.
We have put in some changes to indicate that. The checkbox is effectively 'forced disabled' or default. There is no force enabled option currently.
Steve
-
@virgiliomi As of 2.4.4 release, my system is showing KPTI enabled on the dashboard.