kernel need TPM 2.0 support

General support questions
Post Reply
shagun
Posts: 43
Joined: 2016/11/04 12:30:30

kernel need TPM 2.0 support

Post by shagun » 2017/10/12 04:59:46

Hi,

kernel-3.10.0-514.21.1 would crash when it detects TPM 2.0.
The following traceback is provided.

--------------------------------------------------------------------------------------------------------------------------------
Feb 11 01:09:05 localhost systemd: Started udev Kernel Device Manager.
Feb 11 01:09:05 localhost lvm: 2 logical volume(s) in volume group "vg_nfv" monitored
Feb 11 01:09:05 localhost systemd: Started Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling.
Feb 11 01:09:05 localhost systemd: Started Rebuild Hardware Database.
Feb 11 01:09:05 localhost systemd: Starting udev Coldplug all Devices...
Feb 11 01:09:05 localhost systemd: Started udev Coldplug all Devices.
Feb 11 01:09:06 localhost kernel: wmi: Mapper loaded
Feb 11 01:09:06 localhost kernel: ioremap: invalid physical address 9c401da1f000320e
Feb 11 01:09:06 localhost kernel: -----------[ cut here ]-----------
Feb 11 01:09:06 localhost kernel: WARNING: at arch/x86/mm/ioremap.c:99 __ioremap_caller+0x343/0x370()
Feb 11 01:09:06 localhost kernel: ipmi message handler version 39.2
Feb 11 01:09:06 localhost kernel: Modules linked in: acpi_cpufreq tpm_crb pcc_cpufreq wmi nfsd auth_rpcgss nfs_acl lockd grace sunrpc ip_tables ext4 mbcache jbd2 sr_mod cdrom sd_mod crc_t10dif crct10dif_generic crct10dif_pclmul crct10dif_common mgag200 syscopyarea sysfillrect crc32c_intel sysimgblt drm_kms_helper ahci ttm libahci libata i40e(OE) vxlan ip6_udp_tunnel udp_tunnel drm usb_storage igb(OE) ptp pps_core dca i2c_algo_bit i2c_core dm_mirror dm_region_hash dm_log dm_mod
Feb 11 01:09:06 localhost kernel: CPU: 0 PID: 596 Comm: systemd-udevd Tainted: G OE ------------ 3.10.0-327.36.3.el7.x86_64 #1
Feb 11 01:09:06 localhost kernel: Hardware name: Cisco Systems, Inc. ENCS5406/K9/ENCS5406/K9, BIOS ENCS54_1.1.103120161723 10/31/2016
Feb 11 01:09:06 localhost kernel: 0000000000000000 000000005e3acb46 ffff880467a53ae0 ffffffff81636431
Feb 11 01:09:06 localhost kernel: ffff880467a53b18 ffffffff8107b260 0000000000000000 9c401da2e0006473
Feb 11 01:09:06 localhost kernel: 9c401da2e0006474 ffff8804686149f0 00000000f0003266 ffff880467a53b28
Feb 11 01:09:06 localhost kernel: Call Trace:
Feb 11 01:09:06 localhost kernel: [<ffffffff81636431>] dump_stack+0x19/0x1b
Feb 11 01:09:06 localhost kernel: [<ffffffff8107b260>] warn_slowpath_common+0x70/0xb0
Feb 11 01:09:06 localhost kernel: [<ffffffff8107b3aa>] warn_slowpath_null+0x1a/0x20
Feb 11 01:09:06 localhost kernel: [<ffffffff8105fe83>] __ioremap_caller+0x343/0x370
Feb 11 01:09:06 localhost kernel: [<ffffffff811c41c8>] ? __kmalloc_track_caller+0x1e8/0x230
Feb 11 01:09:06 localhost kernel: [<ffffffff81309f3a>] ? devm_ioremap_nocache+0x2a/0x80
Feb 11 01:09:06 localhost kernel: [<ffffffff8105fec7>] ioremap_nocache+0x17/0x20
Feb 11 01:09:06 localhost kernel: [<ffffffff81309f4d>] devm_ioremap_nocache+0x3d/0x80
Feb 11 01:09:06 localhost kernel: [<ffffffffa023a253>] crb_acpi_add+0x123/0x2c0 [tpm_crb]
Feb 11 01:09:06 localhost kernel: [<ffffffff81362c63>] acpi_device_probe+0x41/0xee
Feb 11 01:09:06 localhost kernel: [<ffffffff813f6907>] driver_probe_device+0x87/0x390
Feb 11 01:09:06 localhost kernel: [<ffffffff813f6ce3>] __driver_attach+0x93/0xa0
Feb 11 01:09:06 localhost kernel: [<ffffffff813f6c50>] ? __device_attach+0x40/0x40
Feb 11 01:09:06 localhost kernel: [<ffffffff813f4673>] bus_for_each_dev+0x73/0xc0
Feb 11 01:09:06 localhost kernel: [<ffffffff813f635e>] driver_attach+0x1e/0x20
Feb 11 01:09:06 localhost kernel: [<ffffffff813f5eb0>] bus_add_driver+0x200/0x2d0
Feb 11 01:09:06 localhost kernel: [<ffffffffa00e7000>] ? 0xffffffffa00e6fff
Feb 11 01:09:06 localhost kernel: [<ffffffff813f7364>] driver_register+0x64/0xf0
Feb 11 01:09:06 localhost kernel: [<ffffffff8136375e>] acpi_bus_register_driver+0x3b/0x43
Feb 11 01:09:06 localhost kernel: [<ffffffffa00e7010>] crb_acpi_driver_init+0x10/0x1000 [tpm_crb]
Feb 11 01:09:06 localhost kernel: [<ffffffff810020e8>] do_one_initcall+0xb8/0x230
Feb 11 01:09:06 localhost kernel: [<ffffffff810ed74e>] load_module+0x134e/0x1b50
Feb 11 01:09:06 localhost kernel: [<ffffffff81316b50>] ? ddebug_proc_write+0xf0/0xf0
Feb 11 01:09:06 localhost kernel: [<ffffffff810e99e3>] ? copy_module_from_fd.isra.42+0x53/0x150
Feb 11 01:09:06 localhost kernel: [<ffffffff810ee106>] SyS_finit_module+0xa6/0xd0
Feb 11 01:09:06 localhost kernel: [<ffffffff81646b49>] system_call_fastpath+0x16/0x1b
Feb 11 01:09:06 localhost kernel: --[ end trace 6ab1e28a6ec53328 ]
--------------------------------------------------------------------------------------------------------------------------------

We did some investigation, looks like we need patch by the following link.
https://bugzilla.kernel.org/show_bug.cgi?id=98181

But this patch is not applicable on this kernel.
We also find at some sites that TPM 2.0 requires User Space Support, as well as Kernel Support and CentOS 7.3, has Kernel Support for TPM 2.0. User Space Support can be implemented by following utilities:
TPM2.0-tools
TPM2.0-TSS

and these above utilities are not present in CentOS 7.3. They are expected to be available in a future update of CentOS 7.
So, we checked in CentOS 7.4 release note and they mentioned that two new packages have been added to Red Hat Enterprise Linux as Technology Preview to support the Trusted Computing Group's Trusted Platform Module (TPM) 2.0 hardware:
The tpm2-tss package adds the Intel implementation of the TPM 2.0 System API library. This library enables programs to interact with TPM 2.0 devices.
The tpm2-tools package adds a set of utilities for management and utilization of TPM 2.0 devices from user space.

But I am confused what should be the fix for this? Can you please confirm that i am on right track or not?
Please reply.

Thanks,
Shagun

User avatar
TrevorH
Site Admin
Posts: 33216
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: kernel need TPM 2.0 support

Post by TrevorH » 2017/10/12 06:41:52

Update to 7.4.
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

shagun
Posts: 43
Joined: 2016/11/04 12:30:30

Re: kernel need TPM 2.0 support

Post by shagun » 2017/10/12 08:26:36

Need to update tpm2-tss and tpm-tools RPMs or kernel also?

Post Reply