Re: Fwd: CFI violation when reading amd_pstate/status

From: Nick Desaulniers
Date: Mon Aug 07 2023 - 12:15:30 EST


On Sun, Aug 6, 2023 at 11:21 PM Jannik Glückert
<jannik.glueckert@xxxxxxxxx> wrote:
>
> Hi Greg,
>
> our kernel uses the Fedora config and has a homeopathic patchset on
> top of upstream - see
> https://gitweb.gentoo.org/proj/linux-patches.git/tree/?h=6.4 except
> the 50** patches.
> Namely we don't touch cpufreq or pm.
>
> > Comm: cat Tainted: P
>
> I am not using any out of tree modules, the kernel switches to
> Tainted: P on the first CFI violation.

Thanks for the report.
Let's track this in
https://github.com/ClangBuiltLinux/linux/issues/1901
(You can use the MAINTAINERS file to see issue trackers via the `B:`
symbol used by various parts of the tree).

>
> Regards
> Jannik
>
> Am Mo., 7. Aug. 2023 um 08:03 Uhr schrieb Greg Kroah-Hartman
> <gregkh@xxxxxxxxxxxxxxxxxxx>:
> >
> > On Mon, Aug 07, 2023 at 06:55:49AM +0700, Bagas Sanjaya wrote:
> > > Hi,
> > >
> > > I notice a bug report on Bugzilla [1]. Quoting from it:
> > >
> > > > On kernel 6.4.7, with amd_pstate=active, with a Ryzen 7700X
> > > > I get a Clang CFI violation when reading /sys/devices/system/cpu/amd_pstate/status
> > > >
> > > > This is reproduceable with every read, I have only tried with amd_pstate=active
> > > >
> > > > With the following CFI and Clang configs, Clang 16.0.6
> > > > CONFIG_CFI_CLANG=y
> > > > CONFIG_CFI_PERMISSIVE=y
> > > > CONFIG_LTO_CLANG=y
> > > > CONFIG_LTO_CLANG_THIN=y
> > > >
> > > > Below is the full call trace, let me know if you need a trace with debug info.
> > > >
> > > > [ 4947.849350] CFI failure at dev_attr_show+0x24/0x60 (target: show_status+0x0/0x70; expected type: 0x8651b1de)
> > > > [ 4947.849358] WARNING: CPU: 2 PID: 16519 at dev_attr_show+0x24/0x60
> > > > [ 4947.849360] Modules linked in: binfmt_misc nf_conntrack_netbios_ns nf_conntrack_broadcast wireguard curve25519_x86_64 libcurve25519_generic ip6_udp_tunnel udp_tunnel snd_seq_dummy snd_hrtimer snd_seq rfcomm joydev uhid xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_nat_tftp nf_conntrack_tftp nft_fib_inet nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_reject_inet nf_reject_ipv6 nf_reject_ipv4 nft_reject nft_ct nft_chain_nat bridge 8021q mrp garp stp llc nf_tables ebtable_nat ebtable_broute ip6table_nat ip6table_mangle ip6table_raw ip6table_security iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_raw iptable_security ip_set nfnetlink ebtable_filter ebtables ip6table_filter ip6_tables iptable_filter ip_tables bnep vfat fat amdgpu snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec_hdmi snd_hda_intel mt7921e vfio_pci intel_rapl_msr mt7921_common intel_rapl_common mt76_connac_lib edac_mce_amd vfio_pci_core mt76 vfio_iommu_type1 vfio kvm_amd iommufd iommu_v2 snd_usb_audio
> > > > [ 4947.849379] snd_intel_dspcfg gpu_sched snd_intel_sdw_acpi mac80211 drm_suballoc_helper snd_usbmidi_lib i2c_algo_bit drm_ttm_helper snd_hda_codec btusb ttm btrtl libarc4 btmtk snd_hda_core snd_rawmidi kvm snd_seq_device drm_display_helper btintel snd_hwdep mc btbcm irqbypass cfg80211 cec snd_pcm asus_nb_wmi bluetooth eeepc_wmi snd_timer asus_wmi drm_kms_helper ledtrig_audio sparse_keymap snd gpio_amdpt platform_profile gpio_generic drm_buddy rfkill soundcore rapl i2c_piix4 wmi_bmof pcspkr k10temp lm92 nct6775_core hwmon_vid fuse loop dm_crypt crct10dif_pclmul polyval_clmulni polyval_generic ghash_clmulni_intel nvme sp5100_tco ccp r8169 nvme_core nvme_common video wmi sunrpc
> > > > [ 4947.849398] CPU: 2 PID: 16519 Comm: cat Tainted: P 6.4.7-gentoo-dist-hardened #1
> >
> > Can't do much about this kernel, we don't know what's really in it,
> > sorry.
> >
> > greg k-h



--
Thanks,
~Nick Desaulniers