On 5/5/22 19:18, Joseph Salisbury wrote:
Hello,
I ran into a build failure after applying the rt40 real-time
patches[0] to an Ubuntu 22.04 kernel. The Ubuntu kernel is based on
upstream stable 5.15.y(5.15.34 currently). I believe this patch is
the specific one that introduces the build issue:
0086-locking-Allow-to-include-asm-spinlock_types.h-from-l.patch.
After a bisect, the following commit was identified as the cause for
the build failure:
b50854eca0e0 ("x86/pkru: Remove useless include")
This commit was added to mainline as of 5.16-rc1 and not Cc'd to
stable, so it should not exist in 5.15.y. However, it was purposely
added to the Ubuntu kernel to enable x86 AMX support[1].
The real-time kernel build failure can be resolved by reverting commit
b50854eca0e0. The failure seems to be due to the removal of an
include of xstate.h from pkru.h and caused spinlock_t to not be
defined. The commit would only be reverted for the real-time kernel
and not any other kernels. I wanted to see if reverting the commit is
the proper approach, or if cherry-picking additional commits might be
a better solution in preparation for additional changes that might be
coming in the future?
Any suggestions would be greatly appreciated.
Thanks,
Joe
[0]
https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.15/older/patches-5.15.34-rt40.tar.gz
[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1967750
Also, the following is the build failure that happens:
arch/x86/include/asm/pgtable.h:55:8: error: unknown type name 'spinlock_t'
55 | extern spinlock_t pgd_lock;
| ^~~~~~~~~~