On Mon, Dec 12, 2016 at 06:54:07PM +0800, Herbert Xu wrote:> On Mon, Dec 12, 2016 at 06:25:12AM +0000, Gonglei (Arei) wrote: > > Hi, Michael & Herbert > > > > Because the virtio-crypto device emulation had been in QEMU 2.8, > > would you please merge the virtio-crypto driver for 4.10 if no other > > comments? If so, Miachel pls ack and/or review the patch, then > > Herbert will take it (I asked him last week). Thank you! > > > > Ps: Note on 4.10 merge window timing from Linus > > https://lkml.org/lkml/2016/12/7/506 > > > > Dec 23rd is the deadline for 4.10 merge window. > > Sorry but it's too late for 4.10. It needed to have been in my > tree before the merge window opened to make it for this cycle. > > Cheers,Objections to me merging this? I'm preparing my tree right now.> -- > Email: Herbert Xu <herbert at gondor.apana.org.au> > Home Page: http://gondor.apana.org.au/~herbert/ > PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
> > Subject: Re: [PATCH v6 2/2] crypto: add virtio-crypto driver > > On Mon, Dec 12, 2016 at 06:54:07PM +0800, Herbert Xu wrote: > > On Mon, Dec 12, 2016 at 06:25:12AM +0000, Gonglei (Arei) wrote: > > > Hi, Michael & Herbert > > > > > > Because the virtio-crypto device emulation had been in QEMU 2.8, > > > would you please merge the virtio-crypto driver for 4.10 if no other > > > comments? If so, Miachel pls ack and/or review the patch, then > > > Herbert will take it (I asked him last week). Thank you! > > > > > > Ps: Note on 4.10 merge window timing from Linus > > > https://lkml.org/lkml/2016/12/7/506 > > > > > > Dec 23rd is the deadline for 4.10 merge window. > > > > Sorry but it's too late for 4.10. It needed to have been in my > > tree before the merge window opened to make it for this cycle. > > > > Cheers, > > > Objections to me merging this? I'm preparing my tree right now. >That's great if so since 4.11 merge window opens at least three months later. Do you agree with it Herbert? Thanks. Regards, -Gonglei
On Tue, Dec 13, 2016 at 12:05:19AM +0200, Michael S. Tsirkin wrote:> > > Sorry but it's too late for 4.10. It needed to have been in my > > tree before the merge window opened to make it for this cycle. > > Objections to me merging this? I'm preparing my tree right now.Sure feel free to merge it through your tree. Cheers, -- Email: Herbert Xu <herbert at gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
On 12/12/2016 11:05 PM, Michael S. Tsirkin wrote:> On Mon, Dec 12, 2016 at 06:54:07PM +0800, Herbert Xu wrote: >> On Mon, Dec 12, 2016 at 06:25:12AM +0000, Gonglei (Arei) wrote: >>> Hi, Michael & Herbert >>> >>> Because the virtio-crypto device emulation had been in QEMU 2.8, >>> would you please merge the virtio-crypto driver for 4.10 if no other >>> comments? If so, Miachel pls ack and/or review the patch, then >>> Herbert will take it (I asked him last week). Thank you! >>> >>> Ps: Note on 4.10 merge window timing from Linus >>> https://lkml.org/lkml/2016/12/7/506 >>> >>> Dec 23rd is the deadline for 4.10 merge window. >> >> Sorry but it's too late for 4.10. It needed to have been in my >> tree before the merge window opened to make it for this cycle. >> >> Cheers, > > > Objections to me merging this? I'm preparing my tree right now.Got this when testing the most recent version on s390x [ 20.391074] test 0 (128 bit key, 16 byte blocks): [ 20.391078] BUG: using smp_processor_id() in preemptible [00000000] code: insmod/97 [ 20.391082] caller is virtio_crypto_ablkcipher_setkey+0x44/0x198 [ 20.391085] CPU: 0 PID: 97 Comm: insmod Not tainted 4.9.0-02683-gb62a1ab #46 [ 20.391088] Hardware name: IBM 2964 NC9 704 (KVM) [ 20.391405] Stack: [ 20.391407] 000000000c0eb6d0 000000000c0eb760 0000000000000003 0000000000000000 [ 20.391414] 000000000c0eb800 000000000c0eb778 000000000c0eb778 0000000000000020 [ 20.391420] 0000000000000000 000000000000000a 0000000000000020 000003ff0000000a [ 20.391426] 000003ff0000000c 000000000c0eb7c8 0000000000000000 0000000000000000 [ 20.391432] 0700000000c173c8 00000000001126ba 000000000c0eb760 000000000c0eb7b8 [ 20.391439] Call Trace: [ 20.391442] ([<000000000011259e>] show_trace+0x8e/0xe0) [ 20.391446] [<0000000000112670>] show_stack+0x80/0xd8 [ 20.391449] [<0000000000753ab6>] dump_stack+0x96/0xd8 [ 20.391453] [<00000000007872e6>] check_preemption_disabled+0xfe/0x128 [ 20.391456] [<0000000000839cc4>] virtio_crypto_ablkcipher_setkey+0x44/0x198 [ 20.391459] [<0000000000705a40>] skcipher_setkey_ablkcipher+0x50/0x70 [ 20.391476] [<000003ff80002a48>] test_skcipher_speed+0x328/0xb98 [tcrypt] [ 20.391492] [<000003ff800063dc>] do_test+0x1c24/0x28e0 [tcrypt] [ 20.391509] [<000003ff8001006a>] tcrypt_mod_init+0x6a/0x1000 [tcrypt] [ 20.391512] [<00000000001002cc>] do_one_initcall+0xb4/0x148 [ 20.391515] [<0000000000298632>] do_init_module+0x7a/0x228 [ 20.391519] [<00000000001fd380>] load_module+0x2428/0x2de0 [ 20.391522] [<00000000001fde8a>] SyS_init_module+0x152/0x160 [ 20.391526] [<00000000009f1306>] system_call+0xd6/0x270 [ 20.391528] no locks held by insmod/97. Gonglei, any idea? Did not look into it myself yet. Halil> >> -- >> Email: Herbert Xu <herbert at gondor.apana.org.au> >> Home Page: http://gondor.apana.org.au/~herbert/ >> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt >
Hi,> > Subject: Re: [PATCH v6 2/2] crypto: add virtio-crypto driver > > > > On 12/12/2016 11:05 PM, Michael S. Tsirkin wrote: > > On Mon, Dec 12, 2016 at 06:54:07PM +0800, Herbert Xu wrote: > >> On Mon, Dec 12, 2016 at 06:25:12AM +0000, Gonglei (Arei) wrote: > >>> Hi, Michael & Herbert > >>> > >>> Because the virtio-crypto device emulation had been in QEMU 2.8, > >>> would you please merge the virtio-crypto driver for 4.10 if no other > >>> comments? If so, Miachel pls ack and/or review the patch, then > >>> Herbert will take it (I asked him last week). Thank you! > >>> > >>> Ps: Note on 4.10 merge window timing from Linus > >>> https://lkml.org/lkml/2016/12/7/506 > >>> > >>> Dec 23rd is the deadline for 4.10 merge window. > >> > >> Sorry but it's too late for 4.10. It needed to have been in my > >> tree before the merge window opened to make it for this cycle. > >> > >> Cheers, > > > > > > Objections to me merging this? I'm preparing my tree right now. > > Got this when testing the most recent version on s390x > > [ 20.391074] test 0 (128 bit key, 16 byte blocks): [ 20.391078] BUG: using > smp_processor_id() in preemptible [00000000] code: insmod/97 > [ 20.391082] caller is virtio_crypto_ablkcipher_setkey+0x44/0x198 > [ 20.391085] CPU: 0 PID: 97 Comm: insmod Not tainted > 4.9.0-02683-gb62a1ab #46 > [ 20.391088] Hardware name: IBM 2964 NC9 > 704 (KVM) > [ 20.391405] Stack: > [ 20.391407] 000000000c0eb6d0 000000000c0eb760 > 0000000000000003 0000000000000000 > [ 20.391414] 000000000c0eb800 000000000c0eb778 > 000000000c0eb778 0000000000000020 > [ 20.391420] 0000000000000000 000000000000000a > 0000000000000020 000003ff0000000a > [ 20.391426] 000003ff0000000c 000000000c0eb7c8 > 0000000000000000 0000000000000000 > [ 20.391432] 0700000000c173c8 00000000001126ba > 000000000c0eb760 000000000c0eb7b8 > [ 20.391439] Call Trace: > [ 20.391442] ([<000000000011259e>] show_trace+0x8e/0xe0) > [ 20.391446] [<0000000000112670>] show_stack+0x80/0xd8 > [ 20.391449] [<0000000000753ab6>] dump_stack+0x96/0xd8 > [ 20.391453] [<00000000007872e6>] > check_preemption_disabled+0xfe/0x128 > [ 20.391456] [<0000000000839cc4>] > virtio_crypto_ablkcipher_setkey+0x44/0x198 > [ 20.391459] [<0000000000705a40>] > skcipher_setkey_ablkcipher+0x50/0x70 > [ 20.391476] [<000003ff80002a48>] test_skcipher_speed+0x328/0xb98 > [tcrypt] > [ 20.391492] [<000003ff800063dc>] do_test+0x1c24/0x28e0 [tcrypt] > [ 20.391509] [<000003ff8001006a>] tcrypt_mod_init+0x6a/0x1000 > [tcrypt] > [ 20.391512] [<00000000001002cc>] do_one_initcall+0xb4/0x148 > [ 20.391515] [<0000000000298632>] do_init_module+0x7a/0x228 > [ 20.391519] [<00000000001fd380>] load_module+0x2428/0x2de0 > [ 20.391522] [<00000000001fde8a>] SyS_init_module+0x152/0x160 > [ 20.391526] [<00000000009f1306>] system_call+0xd6/0x270 > [ 20.391528] no locks held by insmod/97. > > Gonglei, any idea? Did not look into it myself yet. >Thanks for report. You must open CONFIG_DEBUG_PREEMPT, but I didn't do that before. I open some kernel hacking debug switches to test it as well today, and the following patch can fix it. diff --git a/drivers/crypto/virtio/virtio_crypto_common.h b/drivers/crypto/virtio/virtio_crypto_common.h index 975404b..518dc7ad 100644 --- a/drivers/crypto/virtio/virtio_crypto_common.h +++ b/drivers/crypto/virtio/virtio_crypto_common.h @@ -113,7 +113,13 @@ struct virtio_crypto_request { static inline int virtio_crypto_get_current_node(void) { - return topology_physical_package_id(smp_processor_id()); + int cpu, node; + + cpu = get_cpu(); + node = topology_physical_package_id(cpu); + put_cpu(); + + return node; } Meanwhile I find aother problem, will fix it in the following V7. Regards, -Gonglei