From patchwork Wed Dec 14 11:32:12 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Gonglei (Arei)" X-Patchwork-Id: 9474089 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 18151607EE for ; Wed, 14 Dec 2016 11:33:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0D95B2866F for ; Wed, 14 Dec 2016 11:33:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 01F4128691; Wed, 14 Dec 2016 11:33:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 4D5702867C for ; Wed, 14 Dec 2016 11:33:35 +0000 (UTC) Received: from localhost ([::1]:46891 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cH7oU-0002LY-Dg for patchwork-qemu-devel@patchwork.kernel.org; Wed, 14 Dec 2016 06:33:34 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35170) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cH7oB-0002Bc-6L for qemu-devel@nongnu.org; Wed, 14 Dec 2016 06:33:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cH7o9-0003Gu-TU for qemu-devel@nongnu.org; Wed, 14 Dec 2016 06:33:15 -0500 Received: from [45.249.212.187] (port=2498 helo=dggrg01-dlp.huawei.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1cH7o8-0003EI-QO for qemu-devel@nongnu.org; Wed, 14 Dec 2016 06:33:13 -0500 Received: from 172.30.72.57 (EHLO DGGEMA405-HUB.china.huawei.com) ([172.30.72.57]) by dggrg01-dlp.huawei.com (MOS 4.4.6-GA FastPath queued) with ESMTP id AGD43103; Wed, 14 Dec 2016 19:32:26 +0800 (CST) Received: from DGGEMA505-MBX.china.huawei.com ([169.254.1.226]) by DGGEMA405-HUB.china.huawei.com ([10.3.20.46]) with mapi id 14.03.0301.000; Wed, 14 Dec 2016 19:32:13 +0800 From: "Gonglei (Arei)" To: Halil Pasic Thread-Topic: [PATCH v6 2/2] crypto: add virtio-crypto driver Thread-Index: AQHSUQzGbIxji49oXUK9tLC+s3NhyaED2Rhw///K0YCAALuIgIABL34AgAHHo6A= Date: Wed, 14 Dec 2016 11:32:12 +0000 Message-ID: <33183CC9F5247A488A2544077AF19020DA15FB3F@DGGEMA505-MBX.china.huawei.com> References: <1481171829-116496-1-git-send-email-arei.gonglei@huawei.com> <1481171829-116496-3-git-send-email-arei.gonglei@huawei.com> <33183CC9F5247A488A2544077AF19020DA15A07C@DGGEMA505-MBX.china.huawei.com> <20161212105407.GA3033@gondor.apana.org.au> <20161212234941-mutt-send-email-mst@kernel.org> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.177.18.62] MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.58512DCD.03B0, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=169.254.1.226, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 3f321c39af8fad77b27383d3411da95e X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] [fuzzy] X-Received-From: 45.249.212.187 Subject: Re: [Qemu-devel] [PATCH v6 2/2] crypto: add virtio-crypto driver X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "virtio-dev@lists.oasis-open.org" , "Xuquan \(Quan Xu\)" , "Huangweidong \(C\)" , Herbert Xu , "Michael S. Tsirkin" , Claudio Fontana , "xin.zeng@intel.com" , "Hanweidong \(Randy\)" , Luonengjun , "qemu-devel@nongnu.org" , "Wanzongshun \(Vincent\)" , "linux-kernel@vger.kernel.org" , "linux-crypto@vger.kernel.org" , "stefanha@redhat.com" , "Zhoujian \(jay, Euler\)" , Cornelia Huck , longpeng , "virtualization@lists.linux-foundation.org" , "davem@davemloft.net" , "Wubin \(H\)" , "arei.gonglei@hotmail.com" Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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. Regards, -Gonglei 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.