From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753893AbbCBLiJ (ORCPT ); Mon, 2 Mar 2015 06:38:09 -0500 Received: from mail-bl2on0148.outbound.protection.outlook.com ([65.55.169.148]:56436 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751692AbbCBLiG (ORCPT ); Mon, 2 Mar 2015 06:38:06 -0500 X-Greylist: delayed 1707 seconds by postgrey-1.27 at vger.kernel.org; Mon, 02 Mar 2015 06:38:06 EST Message-ID: <54F4438A.30705@freescale.com> Date: Mon, 2 Mar 2015 13:03:38 +0200 From: =?UTF-8?B?SG9yaWEgR2VhbnTEgw==?= User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: , , CC: , , , , , , Subject: Re: [PATCH 4/4] crypto: caamhash: replace kmalloc with kzalloc References: <1425103234-31129-1-git-send-email-yanjiang.jin@windriver.com> <1425103234-31129-4-git-send-email-yanjiang.jin@windriver.com> In-Reply-To: <1425103234-31129-4-git-send-email-yanjiang.jin@windriver.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=horia.geanta@freescale.com; windriver.com; dkim=none (message not signed) header.d=none; X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(339900001)(164054003)(24454002)(189002)(479174004)(51704005)(377454003)(199003)(33656002)(2950100001)(76176999)(47776003)(77096005)(92566002)(5820100001)(104016003)(62966003)(65956001)(65816999)(65806001)(105606002)(77156002)(50986999)(36756003)(54356999)(106466001)(575784001)(2201001)(23676002)(85426001)(86362001)(83506001)(85182001)(46102003)(50466002)(19580395003)(87936001)(120886001)(19580405001)(6806004);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR03MB398;H:az84smr01.freescale.net;FPR:;SPF:Fail;MLV:sfv;MX:1;A:1;LANG:en; X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB398; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006);SRVR:DM2PR03MB398;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB398; X-Forefront-PRVS: 0503FF9A3E X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2015 11:03:47.6132 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.158.2] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR03MB398 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/28/2015 8:00 AM, yanjiang.jin@windriver.com wrote: > From: Yanjiang Jin > > This can make sure we get a clean memory, else system would report > the below warning: I'd avoid using kzalloc, it's an overhead on the hot path. kmalloc can be used with a bit of attention to detail, i.e. what params to explicitly initialize. I see that the stack trace reports using WR Linux and a modified caam driver - it uses NAPI (net_rx_action) instead of tasklet. Have you actually reproduced the problem on upstream linux? There are some fixes that already address similar (if not exact) problem: 76b99080ccc9 "crypto: caam - fix uninitialized edesc->dst_dma fiel" 45e9af78b1ab "crypto: caam - fix uninitialized S/G table size in ahash_digest" Thanks, Horia > > caam_jr ffe301000.jr: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0xdeadbeefdeadbeef] [size=18446744073150512879 bytes] > ------------[ cut here ]------------ > WARNING: at lib/dma-debug.c:877 > Modules linked in: > CPU: 1 PID: 98 Comm: cryptomgr_test Not tainted 3.10.62-ltsi-WR6.0.0.0_standard #175 > task: c0000000f74bc400 ti: c0000000fffd0000 task.ti: c0000000f775c000 > NIP: c0000000004f5ed8 LR: c0000000004f5ed4 CTR: c00000000055a160 > REGS: c0000000fffd3650 TRAP: 0700 Not tainted (3.10.62-ltsi-WR6.0.0.0_standard) > MSR: 0000000080029000 CR: 24a48e84 XER: 00000000 > SOFTE: 1 > > 004f5ed4 c0000000fffd38d0 c0000000012af348 00000000000000a0 > 24a48e84 0000000000000000 c00000000125f1c8 00000000000001eb > 00000060 0000000000000001 0000000010187373 0000000000000020 > 000001eb c000000001fff780 c0000000011ac928 c00000007f003028 > 00000097 0000000000000098 0000000000000098 c0000000f7758800 > f7098c00 0000000000000001 0000000000000001 000000000000003f > f7098c00 0000000000000014 c00000007f003000 c0000000011b0e98 > 00000000 c000000001565b80 c0000000fffd39e0 c0000000f72f2410 > NIP [c0000000004f5ed8] .check_unmap+0x848/0x9c0 > LR [c0000000004f5ed4] .check_unmap+0x844/0x9c0 > Call Trace: > [c0000000fffd38d0] [c0000000004f5ed4] .check_unmap+0x844/0x9c0 (unreliable) > [c0000000fffd3970] [c0000000004f60d4] .debug_dma_unmap_page+0x84/0xb0 > [c0000000fffd3aa0] [c0000000008295cc] .ahash_done+0x1dc/0x360 > [c0000000fffd3ca0] [c00000000081b7ec] .caam_jr_dequeue+0x26c/0x3a0 > [c0000000fffd3da0] [c0000000008be50c] .net_rx_action+0x1cc/0x330 > [c0000000fffd3e80] [c00000000007276c] .__do_softirq+0x19c/0x3d0 > [c0000000fffd3f90] [c000000000017054] .call_do_softirq+0x14/0x24 > [c0000000f775ef10] [c000000000005fe8] .do_softirq+0x118/0x150 > sda: sda1 sda2 sda3 > [c0000000f775efa0] [c000000000072c54] .irq_exit+0x124/0x140 > [c0000000f775f020] [c000000000005ac4] .do_IRQ+0x184/0x370 > [c0000000f775f0d0] [c00000000001b93c] exc_0x500_common+0xfc/0x100 > --- Exception: 501 at .rcu_note_context_switch+0x0/0x370 > edule+0xbc/0x7f0 > [c0000000f775f3c0] [c000000000a29944] .__schedule+0xa4/0x7f0 (unreliable) > [c0000000f775f620] [c000000000a277f4] .schedule_timeout+0x1b4/0x2e0 > [c0000000f775f700] [c000000000a29428] .wait_for_common+0xf8/0x1d0 > [c0000000f775f7c0] [c000000000a295ac] .wait_for_completion_interruptible+0x2c/0x50 > [c0000000f775f840] [c000000000494b64] .do_one_async_hash_op.isra.1.part.2+0x24/0x50 > [c0000000f775f8c0] [c0000000004951a8] .test_hash+0x618/0x7d0 > [c0000000f775fb30] [c000000000495424] .alg_test_hash+0xc4/0xf0 > [c0000000f775fbc0] [c000000000494928] .alg_test+0xa8/0x2c0 > [c0000000f775fcb0] [c000000000491164] .cryptomgr_test+0x64/0x80 > [c0000000f775fd30] [c00000000009a8d0] .kthread+0xf0/0x100 > [c0000000f775fe30] [c000000000000a08] .ret_from_kernel_thread+0x5c/0xd4 > Instruction dump: > 7c641b78 419e0160 e8a90050 2fa50000 409e0008 e8a90010 e8de0028 e8fe0030 > 3c62ff90 38638320 48546b69 60000000 <0fe00000> 4bffff34 e87e0010 2fa30000 > ---[ end trace 52825d316d569f00 ]--- > > Signed-off-by: Yanjiang Jin > ---