James Bottomley <jejb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> wrote
on 01/04/2017 02:05:35 PM:
> From: James Bottomley <jejb@linux.vnet.ibm.com>
> To: Stefan Berger/Watson/IBM@IBMUS
> Cc: Jarkko Sakkinen <jarkko.sakkinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
tpmdd-
> devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
> Date: 01/04/2017 02:05 PM
> Subject: Re: [tpmdd-devel] [PATCH RFC 2/4] tpm:
validate TPM 2.0 commands
>
> On Wed, 2017-01-04 at 13:59 -0500, Stefan Berger wrote:
> > [ 67.699811] WARNING: CPU: 12 PID: 870 at mm/page_alloc.c:3511
>
> What's the code context around this line in your source? Or
what
> kernel version? If it's this
>
> if (order >= MAX_ORDER) {
> WARN_ON_ONCE(!(gfp_mask & __GFP_NOWARN));
> return NULL;
> }
>
I am running Jarkko's tree, the tabrm branch. 4.9.0-rc5
I think. I have exactly what you are showing above.
> Then I think you may have returned bogus data to TPM_PT_TOTAL_COMMANDS;
> perhaps print nr_commands.
Ha, what is likely the cause here is that the test
suite, which implements only a few commands to respond to the kernel with
from the vtpm proxy side, isn't feeding good data to the driver and the
nr_commands ends up being 0... or actually bogus data / not initialized.
I guess the function should check for valid input.
Stefan
>
> James
>
> > __alloc_pages_slowpath+0x771/0xaf0
> > [ 67.701198] Modules linked in:
> > [ 67.701400] tpm_vtpm_proxy
> > [ 67.701642] nf_conntrack_netbios_ns nf_conntrack_broadcast
> > [ 67.702450] ip6t_rpfilter
> > [ 67.702662] ip6t_REJECT nf_reject_ipv6 xt_conntrack
ebtable_nat
> > [ 67.703618] ebtable_broute
> > [ 67.703784] bridge stp llc ebtable_filter
> > [ 67.704213] ebtables
> > [ 67.704367] ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6
> > [ 67.705310] nf_nat_ipv6
> > [ 67.705523] ip6table_mangle ip6table_security ip6table_raw
> > ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4
> > nf_defrag_ipv4
> > nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security
> > iptable_raw nfsd auth_rpcgss nfs_acl lockd crc32c_intel tpm_tis
> > virtio_balloon i2c_piix4 tpm_tis_core
> > [ 67.711414] i2c_core
> > [ 67.711610] joydev tpm pcspkr grace sunrpc
> > [ 67.712170] 8139too
> > [ 67.712360] virtio_pci 8139cp virtio_ring serio_raw
> > [ 67.713504] ata_generic
> > [ 67.713706] mii floppy pata_acpi virtio
> > [ 67.714891] CPU: 12 PID: 870 Comm: kworker/12:2 Not tainted
4.9.0
> > -rc5+
> > #652
> > [ 67.715054] Hardware name: QEMU Standard PC (i440FX +
PIIX, 1996),
> > BIOS
> > rel-1.10.1-0-g8891697-prebuilt.qemu-project.org 04/01/2014
> > [ 67.715054] Workqueue: tpm-vtpm vtpm_proxy_work [tpm_vtpm_proxy]
> > [ 67.715054] ffffc90002b6fa80 ffffffff8140cad1
> > [ 67.715054] 0000000000000000
> > [ 67.715054] 0000000000000000
> > [ 67.715054] ffffc90002b6fac0 ffffffff810a8b6b 00000db7aba7d298
> > 00000000026000c0
> > [ 67.715054] 0000000000000000 0000000000000014 000000000260c0c0
> > ffff8802aba7ca00
> > [ 67.715054] Call Trace:
> > [ 67.715054] [<ffffffff8140cad1>] dump_stack+0x63/0x82
> > [ 67.715054] [<ffffffff810a8b6b>] __warn+0xcb/0xf0
> > [ 67.715054] [<ffffffff810a8c9d>] warn_slowpath_null+0x1d/0x20
> > [ 67.715054] [<ffffffff811da6f1>]
> > __alloc_pages_slowpath+0x771/0xaf0
> > [ 67.715054] [<ffffffff811d95e6>] ?
> > get_page_from_freelist+0x526/0xaf0
> > [ 67.715054] [<ffffffff8179e583>] ?
> > __mutex_unlock_slowpath+0xe3/0x1a0
> > [ 67.715054] [<ffffffff811dad9f>]
> > __alloc_pages_nodemask+0x32f/0x390
> > [ 67.715054] [<ffffffff8123a4fe>] kmalloc_large_node+0x7e/0xe0
> > [ 67.715054] [<ffffffff81241885>]
> > __kmalloc_node_track_caller+0x225/0x2c0
> > [ 67.715054] [<ffffffffa00c0f42>] ? tpm2_auto_startup+0xa2/0x2e0
> > [tpm]
> > [ 67.715054] [<ffffffff815572b7>] devm_kmalloc+0x27/0x70
> > [ 67.715054] [<ffffffffa00c0f42>] tpm2_auto_startup+0xa2/0x2e0
> > [tpm]
> > [ 67.715054] [<ffffffffa00bf3bc>] tpm_chip_register+0x5c/0x200
> > [tpm]
> > [ 67.715054] [<ffffffffa029c309>] vtpm_proxy_work+0x19/0x40
> > [tpm_vtpm_proxy]
> > [ 67.715054] [<ffffffff810c4593>] process_one_work+0x1f3/0x560
> > [ 67.715054] [<ffffffff810c4511>] ? process_one_work+0x171/0x560
> > [ 67.715054] [<ffffffff810c494e>] worker_thread+0x4e/0x480
> > [ 67.715054] [<ffffffff810c4900>] ? process_one_work+0x560/0x560
> > [ 67.715054] [<ffffffff810c4900>] ? process_one_work+0x560/0x560
> > [ 67.715054] [<ffffffff810ca994>] kthread+0xf4/0x110
> > [ 67.715054] [<ffffffff810ca8a0>] ? kthread_park+0x60/0x60
> > [ 67.715054] [<ffffffff817a1c15>] ret_from_fork+0x25/0x30
> > [ 67.746343] ---[ end trace 4d9abf66365987bd ]---
> >
> >
> >
>