Re: WARNING: CPU: 1 PID: 0 at arch/x86/mm/tlb.c:237 initialize_tlbstate_and_flush+0x120/0x130

From: Andy Lutomirski
Date: Fri Sep 15 2017 - 13:04:15 EST


On Fri, Sep 15, 2017 at 2:25 AM, Paul Menzel <pmenzel@xxxxxxxxxxxxx> wrote:
> Dear Andy,
>
>
> On 09/10/17 19:42, Andy Lutomirski wrote:
>>
>> On Sat, Sep 9, 2017 at 11:48 PM, Paul Menzel <pmenzel@xxxxxxxxxxxxx>
>> wrote:
>
>
>>> With Linux built from commit 4dfc2788033d (Merge tag
>>> 'iommu-updates-v4.14'
>>> of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu), I get the
>>> warning below on a Lenovo X60t with a 32-bit CPU.
>>
>>
>> Indeed. I sent a patch this morning. The warning is harmless -- the
>> warning condition has a typo.
>
>
> I am still seeing this with commit 711aab1dbb32 (vfs: constify path argument
> to kernel_read_file_from_path), which is the latest from Linusâ master
> branch.
>
> ```
> [ 0.004000] ------------[ cut here ]------------
> [ 0.004000] WARNING: CPU: 1 PID: 0 at arch/x86/mm/tlb.c:257
> initialize_tlbstate_and_flush+0x120/0x130
> [ 0.004000] Modules linked in:
> [ 0.004000] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.13.0+ #132
> [ 0.004000] Hardware name: LENOVO 636338U/636338U, BIOS CBET4000 TIMELESS
> 01/01/1970
> [ 0.004000] task: f4113380 task.stack: f4118000
> [ 0.004000] EIP: initialize_tlbstate_and_flush+0x120/0x130
> [ 0.004000] EFLAGS: 00210006 CPU: 1
> [ 0.004000] EAX: 159bd000 EBX: d5892d00 ECX: d59c0000 EDX: 159c0000
> [ 0.004000] ESI: 00000000 EDI: 00000000 EBP: f4119f60 ESP: f4119f50
> [ 0.004000] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
> [ 0.004000] CR0: 80050033 CR2: 00000000 CR3: 159bd000 CR4: 00000690
> [ 0.004000] Call Trace:
> [ 0.004000] cpu_init+0xc3/0x260
> [ 0.004000] start_secondary+0x33/0x1c0
> [ 0.004000] startup_32_smp+0x164/0x166
> [ 0.004000] Code: 04 00 00 00 00 89 c8 50 9d 8d 74 26 00 83 c3 10 81 fb
> 4c 50 9b d5 75 c9 58 5b 5e 5f 5d c3 90 8d 74 26 00 0f ff e9 3c ff ff ff 90
> <0f> ff e9 13 ff ff ff 89 f6 8d bc 27 00 00 00 00 3e 8d 74 26 00
> [ 0.004000] ---[ end trace 17f2b31512589856 ]---
> ```

I can reproduce this on a 32-bit build. The code is Obviously Correct
(tm), so I'm adding tracing to figure out what's going on. Stay
tuned...