From patchwork Thu Feb 25 22:48:13 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 8427241 X-Patchwork-Delegate: herbert@gondor.apana.org.au Return-Path: X-Original-To: patchwork-linux-crypto@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 71393C0553 for ; Thu, 25 Feb 2016 22:48:26 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 5CA552038E for ; Thu, 25 Feb 2016 22:48:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3CDD72038A for ; Thu, 25 Feb 2016 22:48:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751212AbcBYWsX (ORCPT ); Thu, 25 Feb 2016 17:48:23 -0500 Received: from mail-bl2on0096.outbound.protection.outlook.com ([65.55.169.96]:9535 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750850AbcBYWsW (ORCPT ); Thu, 25 Feb 2016 17:48:22 -0500 Authentication-Results: davemloft.net; dkim=none (message not signed) header.d=none; davemloft.net; dmarc=none action=none header.from=amd.com; Received: from tlendack-t1.amdoffice.net (165.204.77.1) by DM2PR12MB0201.namprd12.prod.outlook.com (10.161.145.28) with Microsoft SMTP Server (TLS) id 15.1.409.15; Thu, 25 Feb 2016 22:48:18 +0000 Subject: [PATCH] crypto: ccp - memset request context to zero during import From: Tom Lendacky To: CC: Herbert Xu , David Miller Date: Thu, 25 Feb 2016 16:48:13 -0600 Message-ID: <20160225224813.2020.48336.stgit@tlendack-t1.amdoffice.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BY2PR1001CA0035.namprd10.prod.outlook.com (25.164.163.173) To DM2PR12MB0201.namprd12.prod.outlook.com (25.161.145.28) X-MS-Office365-Filtering-Correlation-Id: 89c425f5-638a-4f22-facf-08d33e35c1b2 X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0201; 2:nv8ZvyNKuMB+t4b5MFI86htkf6ijlGdnf/wupY5CGwbh6YsKEl/mFmoNGQutRM+XOcha6yGzH4y2Mkkx/7RL8vXw4ccgnWxOyFm8r/n/b86ihMJ+Y4ONKoFEPovKIc22qef1oLCBe0jM3ESyJdlxqI93B8RhA7MBVEPQfioCW2zttrTjqYTdnh9CDpKJIooP; 3:qizctRaDLCAeQrzYogn/4j7AYteoxqhBDL90IuJSec276c4dF533+dt+69yHZpN3+1Zwv0kSfNYBxFRy3YukrkSmZQSR9MIXvTvOUNZlAaYhG7tFVId/YTwjSFAA8Aos; 25:zpM35PUe/g4iukZ6zAdEipD2ta5NJUziCQkaT9Wep6t4RNevCx19jq4lRgVu2HNlN4isIqD6wh/LqcrAkOIsmtRGm9t0CD87McbMLmr4bXZTV1STltNDTwpXFyCqFEaxyosiQKIp3TOUX6SFUfPcSPWvP4rCv7NQ7Q4ezRe47X5UguHg4J6LNhAmjUmKY/8QkuqfQ+OZIYzpskMHCstZOyLM0G0n0ASa38O+LWALOHT/FApsZ1jpuqU17oOhvfHh4vKOwOSbnLNXOU+b68bpTJOXTj3RE6m4kLHaHfu1KHxIgJprtIebPeRE3MpWi7141KxUMJbndXTB/Kjg/QjQ/A== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR12MB0201; X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0201; 20:UTm/giGnYHaFqyi/cX+hBgisFxWhnSj76IbJ1WhVH5nWah6jeAXKXcBB/vAnceKq2c+4V4wchZVKBnL5euW67MKPbRsvlO+Dzep+8jZ8GXiSg6V7ly02Tk69iGCAFLd1hUQxtXO+8HOR/VanRfShWYPr9ZYqN0hCtYr2sM2QAyDNRuytqNFlL0WSqrogQRA13Nj/KUI0H+1PJ/bURMEn4IGitfdVHBbVRJ4A3cLiTnJwGKIve/gJsmjp9PqkmeA39jSw0n92Q8RA4S+YK+XWivBQ0oFrJ39TW2PfFLsopNB6cWXxu6MXJdkCsRzrcDE6OsC/ROWGpcaMSAjgJlLQT20v+DH6mitCVOtXFt9AdPnMXDlLdZi/yga5Dfqu/AexvXgNAznrFUodqZfZiW+83dpezEPgDgNpbm2QYiL4JRgLe+oIs3cQax+ngO6r1TJ3V4jMEGBsk/tQjIhixW9bEuDYXAbztFxsm4kXF0PslEzSzwT9hKQOQAxGsUokHke7; 4:ZLZSdDcpaUOOF45sdWPGghG73vSVbUnXcQR30XTLlM8v1KMdlQc4T+BY77vNYY+wj6OEg8mZSIAg/NNTvNM4/oUWgEg7ISG+aViJJERn4COG0c0fwIgrgIvZhkbeJaVxV9AOfW/DiHjeqlMOIHVYgvaWW4Oa2QvKEPm6zEijZnB8U2JKsY5kbWvIvrZrQhNjiBZCKO/rtbutdNxgzvdqsLIqkIgGEOH/nkIwVo9+3bLep/6AmHkGP7KvAXpJ1gi2WLHCM0McLqrdwlQLHQ/sL5AdDiGL4zYdZr7nFOYf5WDK92Tdrt3d/QTaizVZPNhSFAWAh1+42Qo9p0DOHsbnyJGIREm13keTCmRAOZ/Nx0SCx+qNwym04jD6hTTu00f4 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:DM2PR12MB0201; BCL:0; PCL:0; RULEID:; SRVR:DM2PR12MB0201; X-Forefront-PRVS: 08635C03D4 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(53416004)(42186005)(3846002)(23676002)(1096002)(50986999)(54356999)(110136002)(189998001)(230700001)(87976001)(5008740100001)(5001960100002)(66066001)(86362001)(47776003)(4326007)(5004730100002)(2906002)(586003)(6116002)(83506001)(33646002)(50466002)(229853001)(92566002)(2351001)(103116003)(1076002)(122386002)(4001350100001)(19580405001)(97746001)(77096005)(19580395003)(40100003)(71626007); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR12MB0201; H:tlendack-t1.amdoffice.net; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjEyTUIwMjAxOzIzOjZUMUd4ZlBqejVIVHJodnhUemxJMWtvTmNt?= =?utf-8?B?WHNjakhTd3JYbjQ2NndoYWI3Y21LWlYwNG1YTGsxeHg2L3RXdWR3MGpkS2Nm?= =?utf-8?B?ZjY3bTZZeUh2dnN2dXN3UDFpRDFkZklYS3puRlNZN0Z2SHAzcDRZb0g1NW0r?= =?utf-8?B?NitTU2JkY3Z3WGtuRktXVUF4NjdQaGIxSmhFcmluRGJHS1Z2dGhERk4wQXA0?= =?utf-8?B?UWszVTBDQWlNQmd5b0ZOalR6WmFNK1dxWUtjT0FtUUcxOGFPTmtOTE0yclJK?= =?utf-8?B?dlo1T0xTSllJSG1KY2pSRFZyRmFibk9pREsydDJCY1RlUXd5MUJNVDhmamtF?= =?utf-8?B?Yi9OMm1tM2t4dWYyYmE2TUJpOHhnUkVVaTBRRXMvRkkzbFJGOFlqMW1uOW5T?= =?utf-8?B?L0NJSGFuMVJhd3l5d3lDZ2Nmc3g3eEl6b0lBY2E0bTVDeUJ2R09lTE1DenNo?= =?utf-8?B?RmtZaXMybkRJNGgxdy9aeDlDRmpoNnBqam10aFArVDBqWTdtRnN4RnNlbmdM?= =?utf-8?B?RGUxcXZlcGtnaCtWbmFwdDBIUHBHN0twMVdSQmVJVHhESXQ4Nm9CS3M4NHA0?= =?utf-8?B?bWJyUDVYL21HblBCUm9jMHlPbjVndXUybWJrY3prRWt1L2hjbUoxMk9kakhD?= =?utf-8?B?bnpYaEZZTzNwM01WVHMwTmhzVGwrV3FnYzhYMWJNaHJKZzFKWW1PSCtMQnhj?= =?utf-8?B?ZEFUd0ZZTTYzYkh5OWl2UnY1ZFp1VGo3R0ZPMm14aktWVzVwMHEvVDBFRkRl?= =?utf-8?B?YU1PNlBtWFFvRm0yVmU3MndhaVArQXcvalNjZTNJZGk2N05wd1Z3U0Z1Lytj?= =?utf-8?B?Vm5CYUlrQ0JmTGF0MWh4aGw1SEdHM1dPOW1YNUhjVDRVQmE4bjd5VEx3ZzNw?= =?utf-8?B?VEl0d3l6dHNLeVMxeEZ4anljYy8yTDRsZFNRdGVhK3BGSmVkTnJsdXZvNmR5?= =?utf-8?B?TmRDRHVSeEpKaXlPeXhZOUUwaE96b09oZXF1bWxJa1VNdTlWZ0Y3dGhFcS9k?= =?utf-8?B?V0NBRzJCQTRlTEVGelRoMkpKUjNkREkyL05pRVJYOHhEQTZxenU4YnBzeDFk?= =?utf-8?B?cTlzcENBSU1SL1llcDZtaFJMazlzZzYyUUVwcVhXenZjemFtb1R4d1VuSUZE?= =?utf-8?B?OUYyRFR2dmFjZTQ1QzU1MDFWZ3UrSTUwb3c2SVovWE9WelZZT2VPekV6Qk1H?= =?utf-8?B?Szlua08wL05LUFJHbm9vRDJUWlJpeFJmZ2VSSG5OY0RDU3l2N0ptbW96cjZm?= =?utf-8?B?VThCdXVSSzhacDdCeG9PWW5YaldxZHJZNGhrUWVRa1ZKS1lKTEpJK01CSVBw?= =?utf-8?B?OFphNENsT3NxaTd1WXErNmI0YWtwNzQzMWZwVXRRbTV2eGc0SEpkOStLT1BW?= =?utf-8?B?Qktvd2NkaEdWbjdUa1NtWU5uM1pUcHU3NDl2TnFVUDQ0SVl1MUNjMFFGWXhV?= =?utf-8?Q?Phh2mA=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR12MB0201; 5:+cBTTaaOZVc/1o9Q7jQLBxdEtE1RiM3s7ku2gJLbmWNYiMSRnuwXlbBRVw8U5+t8RxcDLYTkW2gPhioUGd1Zj9KclklUrpe0iKBFelhH9wuH0tKBcQpEwsLVlMoIWWJpqnP3x3q4jnLzh9ETi/ZrEQ==; 24:r0+aU1BczRAwAesULU93waeS+CBDr52HwujlOojeOtFZvZ/IczYk2J3khVXyNhnWgNv2ZNdXtzLnU4YVpOIEZLlZE/Ic0j2LYlICu4iVbKk=; 20:dqtYGVUtsmrqtQYmeklXGkd2zRzXYj5igfI0SVA42l1BlgQZNPP5HzauwDrrkGR96WLUgU0ponOVsK4PSzbI845FqUiOnRlzb+LtR+NlsWDhpDbdHJHsjBBSpvQOKgkkNskuEJVysQvWJsUSfRyMHAqV1wYgePZwgv6+EPjwL+mlwMahHG+bh02HSrrnLE42j67hFlGsAcr8XJdBNpj006dC7UoxHPCeuE8FFBJl4LVa25V/7F4NZFm5lYYfqnrp X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Feb 2016 22:48:18.6886 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR12MB0201 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Since a crypto_ahash_import() can be called against a request context that has not had a crypto_ahash_init() performed, the request context needs to be cleared to insure there is no random data present. If not, the random data can result in a kernel oops during crypto_ahash_update(). Cc: # 3.14.x- Signed-off-by: Tom Lendacky --- drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 1 + drivers/crypto/ccp/ccp-crypto-sha.c | 1 + 2 files changed, 2 insertions(+) -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/crypto/ccp/ccp-crypto-aes-cmac.c b/drivers/crypto/ccp/ccp-crypto-aes-cmac.c index d095452..3d9acc5 100644 --- a/drivers/crypto/ccp/ccp-crypto-aes-cmac.c +++ b/drivers/crypto/ccp/ccp-crypto-aes-cmac.c @@ -244,6 +244,7 @@ static int ccp_aes_cmac_import(struct ahash_request *req, const void *in) /* 'in' may not be aligned so memcpy to local variable */ memcpy(&state, in, sizeof(state)); + memset(rctx, 0, sizeof(*rctx)); rctx->null_msg = state.null_msg; memcpy(rctx->iv, state.iv, sizeof(rctx->iv)); rctx->buf_count = state.buf_count; diff --git a/drivers/crypto/ccp/ccp-crypto-sha.c b/drivers/crypto/ccp/ccp-crypto-sha.c index 7002c6b..8ef06fa 100644 --- a/drivers/crypto/ccp/ccp-crypto-sha.c +++ b/drivers/crypto/ccp/ccp-crypto-sha.c @@ -233,6 +233,7 @@ static int ccp_sha_import(struct ahash_request *req, const void *in) /* 'in' may not be aligned so memcpy to local variable */ memcpy(&state, in, sizeof(state)); + memset(rctx, 0, sizeof(*rctx)); rctx->type = state.type; rctx->msg_bits = state.msg_bits; rctx->first = state.first;