From patchwork Tue Jul 25 19:21:43 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gary R Hook X-Patchwork-Id: 9863361 X-Patchwork-Delegate: herbert@gondor.apana.org.au 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 4B8A2601A1 for ; Tue, 25 Jul 2017 20:27:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 481292868D for ; Tue, 25 Jul 2017 20:27:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3C23D28696; Tue, 25 Jul 2017 20:27:25 +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,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 31EF02868D for ; Tue, 25 Jul 2017 20:27:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753149AbdGYUYH (ORCPT ); Tue, 25 Jul 2017 16:24:07 -0400 Received: from mail-sn1nam02on0050.outbound.protection.outlook.com ([104.47.36.50]:21344 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753021AbdGYTVt (ORCPT ); Tue, 25 Jul 2017 15:21:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=+yUf/ut9tEY8LzDLIWvQz4mhTH4vaxfh9162D3pkjmI=; b=5cTYUqTPJmxkDR0QckW9UcdeSBdcwyJLi+zyY5HWZ9ZYkhMAr9Sg33Wy8bXTi5tIMenlk8M5ewG0V2a3OviUZpxj6FlXV9njjbyHgscTBRqt6IIamdVk428Kef7kvJI7ju3FBS3x5AqE52LDibP8j8WQAvJDvNVH030si33wyIc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Gary.Hook@amd.com; Received: from sosxen.amd.com (165.204.78.1) by CY4PR12MB1317.namprd12.prod.outlook.com (10.168.168.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1282.10; Tue, 25 Jul 2017 19:21:47 +0000 Subject: [PATCH v3 3/3] crypto: ccp - Add XTS-AES-256 support for CCP version 5 From: Gary R Hook To: linux-crypto@vger.kernel.org Cc: thomas.lendacky@amd.com, herbert@gondor.apana.org.au, davem@davemloft.net Date: Tue, 25 Jul 2017 14:21:43 -0500 Message-ID: <150101050323.39154.9626146588301092959.stgit@sosxen.amd.com> In-Reply-To: <150100997531.39154.470521200404215266.stgit@sosxen.amd.com> References: <150100997531.39154.470521200404215266.stgit@sosxen.amd.com> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: MWHPR12CA0030.namprd12.prod.outlook.com (10.172.49.16) To CY4PR12MB1317.namprd12.prod.outlook.com (10.168.168.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f0e4f304-f4ea-4416-062f-08d4d39264ed X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(48565401081)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY4PR12MB1317; X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1317; 3:D5TvfusgJhYeeiWGJeqQySLZGTwn65WEvKmJJIJoiY/A7F+LvsutUVMy5BQNy2rHxvdbQCO5Mzv0gdQxfk8Q3wMFW/d6U3j/09GmjrhuHR3Lm6zU3XfF/JIihjJnLaUgMlywbqnn/+3x8dP9Jive43eDKnZ9FCMohR6cdvF13OK6/gElszu5TFoGNzqkS41SvHxSTOrSQFRgLams6JqUth/v3ZbL7iISrSy+ANoSt9w/Jh0EnRO3d9NQYI+bv6HK+asD/ZnVuAQC0hrNzgiPP/QmCQm11k9ni7peUCCiPPtPx6DOW8eOaf2ceesmbyZKr+o4cVJrFs2uOVAj3mtsNvlwi1S75rnpQS/tDDKUOyqzYWSpeHvVeAJF+VfidJtmB7MGIuk6rxAz1x5gQoxjrTdL6u4uKKDvv+VulWPmNJtSAqDRHVy6BteThAaspSKrUzerwrwc04XhaJUhI7IJOs6SPxKT58ztYsabqaKH/lsOk9oM0ay1sF4B+ZMnQwpqFjTUnTfl9W2GCNsZm6vVYwZEqyq9cjXasIVnEr115Nrmz39VrogbK1eVh27GERRUzCO6HMB3bnkWt6NbnEXAikG9dH9DGtvCstY1HsHovKLreFcxznr+g/cGW2Grf/dTUr88hVv3lc3kytXdY5utk+mkZCW211A1Jbr/Y/VfAGZy2AyrdH6nbyyLbHk9zVqBnRNZtbwrrHQJ8nBK6I+GFQ0NqSULkld6jAVNkU5yaoMRDQ1TgUv8sD/TMbfOvJ9deT5AoeFdcby2XhwLNZXgpg== X-MS-TrafficTypeDiagnostic: CY4PR12MB1317: X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1317; 25:WRIcO7+FqicF0L0Z6Y2LC/smPsRULdwGhNxl/IXto3PRj3mg+VqyBJhaziCKywiCQdmvfhPRnh7G6pqEQlGj3dNtov+YUmnY1fOxPjCCVtDCOfuMoPEiw+q+Dbj1ufxXJSerKOgvXkEk71+QsMG/QfbhHam5cizip0nrET5EWD/YrcEKwBphf1KWV+olEaEDl4UvhoOGUn7QTiP1meuTkU+W0whMWDgSkm6yXKGTjS8I8uARnC3W7RyO8B1eE76Mfshyv24NPUodk0yd3HJVZD2vURruSdI0CpsGMbwEgcfuntramP0vwghiTjAQ73L4ZLwnA/kZMPcGTX4/BPStnThPjBV+yzNu/oYYfETIEs6VPxWMZE4UoN0aTIJDerGiElRC2Hh/g1trRY7Su5DHxUu3WAbyVdrp6WOmlbMJkmlWt1vhms/xskeeErLnG1OIMpuoNzuyQhUSof098DYn1QQa/fImYcwJl84fVaXCC6JARnpQ7MvVxRfQsxirS3b7R51FIGRd7ILPL2aaYBHS1qrKMJXbkVIra9afsFmEUolrgtiKfVWiq93OeRja8Qo8+4r9ixTu5aWVGYzOHkZl+pPAawl4lhTKV84lxziANE4QUPVhdimTNFh2a/qEjJIYnPqwkUwD3XW+ri3SSXGsiH48vZ/bEcTy+LW3B59tBgPWR81lvkHeNigx3paA2VgorK9iuslgvAd2QGIeVBorwMS3rV3lupEENKQDNt3VEon9kZHogoFoCUBuyhXNZvebcDyWtDlbZeKUPN2KEGN+GR1SI6Im5+QzEGO+djdm//qbLUvuOxOTaFlQSX6MMDJpTTNJUUT8IKqJG1zoO8lYnXTeY/zRnipO3iS6TCQw5TFFgglirVGPiEhkUuxHARkyofmCT6t+pilLyXdzf6G0BK9vh41jn+KP1ianbDLl3 Ow= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1317; 31:XUXOd8M7EgJ/qYY2b+a9I2+ko+UeADX/skHdsa/QCHLeiYVaC+FsKR73ZxuJUVHfjg+HpgdfsWT5coydIHo3papyKNizg/FiMIAO9fy/0Vu3F9qpdi3u6ISLYGuUtThFK1Rpu4c9yfjec5qk4IJnBgKoZYGmqbb5bapID/sNddaCNfhR/mbhajyeI0i9BYbqe/gkdDzKqVMqRRevRMUAKDX15mIbzGNCQFnjxPvrLzXFL7yfs5kdB6dx1sFtIT5f5bAcKYcHjLlXX/ciGMrKSND6LVLtUMflIjb4wOsYQfxZA0WwcZ7a0Mzp2pAsH14cNFQAPNurWTlsDgAb6lWg/4UhpvPtmKyhzqxwkwb3AlhJQEHXXae/gRuzSC6FVAAQCeiCyE+kXdyCZWC3iz0mP+3w6EDD2Xe0Cw6MymNE5PBPn2IflBPVeC+T3rld+T2XG1bUcGsplS086gXvazvwXnSh+dYfWoaPfOJmr/KJgPRdxIefs15j3SeMj7hRhSPBqq51S2omyk/DFBPziiUcT6PH+Bxx6fiAcdR3uG2qGvNAIvBZUl4/+yXo1nF96jdIvcRhvTGW7ntRniBY4ObiqCh7JZx3L4OXEMoPk50EbtsGP1RjJUjMpa1qFhjlZrvYLVZPHbZg3ypjElffohLQ2ChoBtks1zBKsCsAZDJNWtE= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1317; 20:t7nWJ9pz004VwsjI8mp9Sf04hgOX5NI2hpJhoB2I65f9KRz0cFdiqH8F6SW0tUkWeWNDISZUNgbhh+CuAZZxChsGY4UFBskqCDNbEgknFF20MphYguf3X4ZZKE+a/rLhZZJgVSOqoskecozjP6dR9PQqJmqQlCngORDPvToLSU3Uokw6YIARZZAS+Vz0ZR5SI2ooBpV86sjZXZPUrdYv1vixxoU99leWHZhaSSpHuiqMguNWSc58lhPJdqnZu9LcJr6K177kD0fQhS3PckQ02+706u1AWiuWyRiL0r62VmArYJrKC09SSFeNUK825FbZI3CMjWgE8KEjGqfFT34L61ZawWMKRTzrPoryW8CQrxp/jybASz1kdS+Vgf79GYUyyilF/uPZw9ZZf5lUPq/a6zMD3ayYMgq4IIsiS5RXsSTmMUqOtTt34vId0+ogQxMiSjgdZkYTe/OmBAOpygUmbEN0tBsEA7WJYpWXG0vnwRZF7MJv3ihuhqSO0678ciFz X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(20161123555025)(20161123564025)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR12MB1317; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR12MB1317; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMzE3OzQ6UFI4MDRiekxSZERPTEdZWSs2TE9QbVFwK1dN?= =?utf-8?B?WVNraVFHR0FoblhZaHY3WUdyR3N4L2hCS2Vpb3M2YVZ4VVFHcjdJV3F1bDR1?= =?utf-8?B?VTBieDZFazFIT0E2RlhLaURTbEVKeEdBSmRINlRuYmJiaGRTZlVTM1l3TSt5?= =?utf-8?B?S25ob01BQXh6c1pMUVZ2cDhRLzRQemhzd1lDVmxvODRTNCtCZk8xTm5JOWgz?= =?utf-8?B?aTVkaEVRUDBSS2JaRGNLZWc4bkFqb0U5R21yNVAyUGdDUWlLUklMbDFpYmJx?= =?utf-8?B?RGpKVmR1L1A5U054VTlBQkNXSzAvZEI1YUJpQ2E5WHBxRWRzQlFtWThwdE0w?= =?utf-8?B?V255bUhYWW16Q0cwR2FheEFiRkZnR1R1TnJKaXV4RkxCTG9vZG5KQUpqQy85?= =?utf-8?B?U2NkQVB0aHFkbUNLalQvQUpzWUUvSWIwMkdkbDJnbFJZWExsaUdhajN6UGli?= =?utf-8?B?M1lyME50QW1kY3FqR21TTmdZRkkxUkxON3QyM0dWYyt5K1FaUFVkd1M4dThC?= =?utf-8?B?Y1NOTDFTMFJIYm1sSVJkVGVRYmczUG1tamhrVXpRa1Jvb3hZbFVsbjFLTU51?= =?utf-8?B?L1I4OUVtV0FYa1N5QmQ5QTVVZ3MvQnBQNUFvSEFKT21tT25abFJ1SDVVNWQ4?= =?utf-8?B?ajBXUnp1VmVsdy9DckJycndGS0RPSzVVQVdSbjBucGhKWWlNQjZ6b2U4azkr?= =?utf-8?B?bzFSU2htUzFGNHJoYmNrU1ZBeGxZUjBqeU5Oa2tHSlJ5QjJ1Ym10cjR4UGVo?= =?utf-8?B?aEZPU1BjejBMMnJ3N3hGT21VRXFOWnpzVUNML0Vud0tmNFptTGwzTWxvRFZG?= =?utf-8?B?SHJsMEhMUkpRcVRtcENhN3hlQkVuMExIRG40ZHBCc1ZpZWZQeWR1ejhmeG9M?= =?utf-8?B?RjdZOHBrK1c2b2M2MGU0RDJSVGtJam1SWHZHaDRwSXljVVF2ZDdEampvWFhD?= =?utf-8?B?MGNCQUd1bkwrd09zUkV3d3l6VnZGcEpWemMvNGhSMk5sekUxaUN2Qzg1NzdR?= =?utf-8?B?bVRRUklLTjkwTm1YVCtqY0VVUUgwN24rdG43TThOMkNTUlFnR1k0emZhOUhX?= =?utf-8?B?Q202RUkzeVhuNG5TNEs3dVlhbmt0aDR1ZjJ5UDdReVZwN090RnNuUE16c01v?= =?utf-8?B?S1hBMWxhdFpsRCtmaGdKY0MrdG5Tb2pnUFlQTmNYdmF4Nyt0Q3g2d25xMmgz?= =?utf-8?B?djJHUVBOeVB1MFBLT3BJMHpFcG5OMFQzM1VNQmlVRjdWZUZQbUpENzlSaUFK?= =?utf-8?B?Yk1lRDdoVS9CTFVtcjVuTTJFSEtKNmZYd1BPbHBLSlpJKzJhSnRpeXpTUjY0?= =?utf-8?B?R0FyZzBKbHFPUXp4RDNhQklkN2xRRFIwbUMyYWNHUks5MWpZeTBiV2FyTXFK?= =?utf-8?B?NFBYaTJOVm45ZWZNM0NOcjhNSXdiNXY1MVJuQVlRd0xZbzlYbCs2eWV2MG1z?= =?utf-8?B?WVZHbmlveGVOZjdtV295T2VTS0NpNG12RE5na0k3KzNoUmxDeFZYT2NQL2pa?= =?utf-8?B?SnBzNjBVZWRmSDVFbGdlU1ZjcVdDVW1XUDVWcW9ZQkltd3VWU2hlVWdXbHdi?= =?utf-8?B?VDk3OWM5cTY2VjhZWkVBZHR2L2VqejBlbUJLS2RjN0hlY0FSZno3d2FoYTFN?= =?utf-8?Q?ZcdtD0sAjK4nQBhd9II?= X-Forefront-PRVS: 03793408BA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(39850400002)(39400400002)(39410400002)(39450400003)(39860400002)(39840400002)(189002)(199003)(53416004)(6666003)(8676002)(5660300001)(2950100002)(6916009)(105586002)(53936002)(25786009)(2351001)(3846002)(478600001)(33646002)(97736004)(81166006)(42186005)(83506001)(86362001)(575784001)(189998001)(2361001)(81156014)(106356001)(50466002)(54356999)(68736007)(305945005)(50986999)(72206003)(7736002)(76176999)(55016002)(230700001)(4001350100001)(6116002)(66066001)(4326008)(47776003)(23676002)(7350300001)(38730400002)(101416001)(2906002)(103116003)(230783001)(110136004); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR12MB1317; H:sosxen.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMzE3OzIzOm9Ldy9ZOE5LWGlrWmJUVVFvZW9hWHRHWUFG?= =?utf-8?B?YXhRTnhUR1RuWUYyL2tyRGgxTHVVSVNwUlVidGdSREZwbFhyVERnVkJ5TENC?= =?utf-8?B?bndwNzhzN1Y0RE5JTU1pdzNhQitmaVlXTzJnbW11dHZ1cWp5aUoxL0FYL01Z?= =?utf-8?B?bEkwWXFKMHdxa2FuRThkRVlCak1KM0xadUgxVTlyd3RublN5V0xjSFBpTGZ2?= =?utf-8?B?bHZ1STlsL2VsVEcrTjJSeXFOcnk0VHNlNUZ0TjdmaHdHK2tMS3hKOWlOcDU3?= =?utf-8?B?ZllyaTlsSjhsODRFdmZGV3hsa2VJMnRVam9sa2hRc3N4SkZ2ZXpYTFBvMTBh?= =?utf-8?B?ZFAyUzdRQ2pUMVQxU0NIVUEwZ21xWXhhOGZRcEUrNXloYUhnUTRyY0hCL05h?= =?utf-8?B?aGZLcUhsY2dwQjFUME5oNXMrNFUvNHBZRVBPSlFrNm1yMzdhb3F0Y1A5aXhJ?= =?utf-8?B?SHNtR3oyZXU5YVROdFV3bFhyL1ZEalRkMlN0U1JDbnhJMk1iaUI2QzluSTVv?= =?utf-8?B?UEpSWFYzdXZNTVBuSWQ5OXhZTTFPRDQ3NGx1Wm5vWTNvaFhtOEJib0l1d3Iv?= =?utf-8?B?R1NJZUl4bDNQeFQ1MUluZyt0VDN3WVpTUE5aRzBkaGlDeVhDazk0WUEwZE9R?= =?utf-8?B?T08rUVJzWEVSbUtWR1lVU3AzNjRpZjFacGRuL3EzN1RnZlppR0JKSWlLWCty?= =?utf-8?B?SXd6NGJ4ekRTMS9uZHFKaVR0WElEbjAyTS9RZDRtbEpNK2Yyb29GMXVpNDcz?= =?utf-8?B?QzlicXRmalYwZjJDOHU5TFM2QkFJVzR3SGxWYzlzTlZKRlczZ1dSNEppcDZk?= =?utf-8?B?TERSd0tsRzZXQXJlMm9GZ1pyK3hZMlR4NVlybjdUSXUzZVluVU12a0krS0hW?= =?utf-8?B?azZGbE5ESUhORXE1MjBGT1c5N3Ruak1oZEcvcEJBbGpCUFA0aDRyVi9HU05q?= =?utf-8?B?aFlkQmM0NzFGejE1UzJDRTEzMTlUK2Z1dHlEU2FQbnNhdXoyTnMwZUc1VDUw?= =?utf-8?B?TVppdDVGMkNLeUhyZzJySGhsYVhHNVhROXM5a0lFaFduQXMwVGlaakVoZGJh?= =?utf-8?B?K09tSXMvVUl4UFhtbWZzVmFwOWFqbDJPNkRERzRyZzNkeWZNcVZGajFiYlNl?= =?utf-8?B?WjFxMFVWenk5VEdlY0ZvWFFnRDYzZUd3eVpERzI3REZoWEorbk95d2FvbGV6?= =?utf-8?B?R215VnlMQ1RhNk9QK3pCZ1duUk1nclQ4K3hQS21XVXVSYTQ3a1RGTlYrODh2?= =?utf-8?B?SkFYWXlybENybGIzNmxSRUZLaUNkSlJDSHFBMXdCSFpJV2kyU3lZV3ZucGVL?= =?utf-8?B?a0dyek15WjBmSFA5R20vSnc0R05yb0x4cUtBc2RHL3lpL1pYeFo5dmh4RlZm?= =?utf-8?B?UC8vUE8rL2RLNE5venpvcEFhdXdkMUpUMWF5RkovSnU1UXBmTHZwbWdrQkhQ?= =?utf-8?B?WldBWDF1VVZOTzdCNGxMdnNsUVBVSTZ4TjgyRHAyTTN6UUFZYXhjdFE1WGI5?= =?utf-8?B?MXNPVHhXMVNYUlFvMko5VUR5a1YyZU01Y2UzdC90YWxUY0lNRXNjUWhDZVZr?= =?utf-8?B?V0tyMGlKZG1leHlHcnM5Q3FGTUxkdnRTbk1zTkJ5eG9OWFRDa1hJRTZ0Zjd3?= =?utf-8?B?ZEVLS1JhRGF5bm14QkpKcEpLUWhEZFNqZWwrR2hTT3g2aDU3UktHWm1yTEI1?= =?utf-8?B?RHozRzVIalQyZlM5S0c0SnN0UGw3ZVg2dmRXM01ndUExL2JXTjhqM2JqWmQw?= =?utf-8?B?ODl4R2F4cmFFMGdHVHNIcUVHTGM0Nm1aTE5kVFNpOFdaTkRoRmdUSU1USC9B?= =?utf-8?B?WFVPck5GODRKaHV0TE9FSVB5aDFuUUVaZkQ5MWVjOTYwTlE0NUhLeU9kTWow?= =?utf-8?Q?dmjtrJ7CsXl7D0GeXPbjZiWmmEcVPeKs?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMzE3OzY6cVdwcE8zM2QxSnAzcE5VSU5TZ1lUWW9tOVUw?= =?utf-8?B?TW9scGVuMXU4UEVzZ3ZsQzN2Y0ZRcEtCbm1PdzAyYlpwMXM5OXZtREM0WHhY?= =?utf-8?B?a2ZLVGh1TW5JNmNOZkVuWmpjSXNORHNVeFRxMS9zWkhWcmo0bm85QmdpRThk?= =?utf-8?B?YXNiTW52NytBcVZlcGNTWFZ0NzJydm1DM3IrWDlQMGNBdkxsTmJLQjM4RmlL?= =?utf-8?B?VWpsR1dJcmxadUxTVC9abk15MTFHZkt4d0ludVNFcHZPTFFJcW5FVktGOGhr?= =?utf-8?B?R2VEclBLMEltbmp3eWQveGlTaDJLWUZaTG5jQXVpc3hTSTlxQVpkVGNtbVFn?= =?utf-8?B?MU10YWJydXJrTCtyK0kwaWpPUWx4RWhrb2xRY2Z1Sk1pMEdXVnc5R1dWU2F0?= =?utf-8?B?M2h2aE1jQ2VPOFNEWDZ0MTlxWXdyYVBibnBtU01mQWRzWDR5bklialdNRUp0?= =?utf-8?B?anhSRUxVL2xrVzNrTjhaZTEwd3VHTzBqNU1vMnZRUlBaSWdqVy9BdWNrbzRt?= =?utf-8?B?Y1EwZmtGdTJUZVYyNjRadkZkY1I3cG1aRDZHVy9UOURlT1JWcUM4M3dRUkdr?= =?utf-8?B?ZWQrY2U3KzhHOTQ0OCtjOE1hT2RBVXFtR1pKZ0wvMnRmK2ZYWXh2SjM2bEFw?= =?utf-8?B?SkJKVmc2YmlVcVAzUEdydUkvcVZlZnVUU09WWG50R3hmMXNmdFlqeTdRR2FI?= =?utf-8?B?eWtyUGErYjBjWkt0aVlsTXJwYjVLWnBpYTFpOUgrMXhONDlOTVpPbmxqWnJD?= =?utf-8?B?elo5RlcvaGNhQkYyTjZWZ2U1ZjVqS1N4ZncrMGdHbjRhL1VMUkgwbDlyT1BF?= =?utf-8?B?b2Q1bWxDVVlJckFTOFNyWDJDT09jZ3JoZFJiQWpNUHJYdWRrU0xlN0R5Z3F0?= =?utf-8?B?ZVA5ZnhYWVpYeE5aV2o4bk5nUzcxRmNMblptQnBXQVN4c3h4SyszYUp1VHBt?= =?utf-8?B?aDdueU45ZGZjYXhseEM4MHlmcmpkbkVNc1dQbHZXMlhnQ1dPaEI2akVndEFC?= =?utf-8?B?V0VQcWlocGhWNUw0QXRUZFJEQTk2NjhvcFEzVFpIa1ZDOS81MjdxMWhESmtx?= =?utf-8?B?Z21BeUpwWE5VeW5tQ25BY0ZveUtodGt0Y21HTkpEdXVsSU41UWpZMkQrMmJ0?= =?utf-8?B?THhZYXdTaHlEOEsyK0xFTUxoNEphRGd1eTBQZDlEekJkYkZteXBIczhOcHRx?= =?utf-8?B?eTBCMmNrd2ZGbW1Jc09TUE52MnhZSnphemo4dm1uRUdCalMzb3ZMK05WREFi?= =?utf-8?B?TEFlSHZXZVEzNzhkNlRIdE13VEZRaXp4T3J0ZXVZZk5JR05wRnRDQWUzcjM0?= =?utf-8?B?VHE3NUwyYW84Q1hURTlpM09XbVdFZ3NvejhVVlpMcFlpdk9OYzlna1ltOHNN?= =?utf-8?Q?uueVzao?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1317; 5:0SVg5AovY3rYQQsp9YbtMy6gZfKPED68Xp93ICjs3uJXPSfl7aNMt42mHztj50GzPA8nK9rw2HKlsNJVzmzzVXPY6yZiEC22gTyUfaCxmkUQYoDa0Kj6VTnmBS/YGPvRyAtFKaLBMo6M3e5VwI2Uii/dVGSo8SU06Y1ynmROyYAfHSA5lKppl91vZfIGZoYxJC/vdLBD3YX8bcWUFEa+FNWA6hug0E5dhc8N+hLjHqu0mHBXoVKAzKh+DslMVHgloQ9uTRMHJoqQmNJvFKKBoCycIrpAZtbprjZuhg6/AVOFvJbSnb5IlmUF+QfSz1QGv1znr4lKqdBPROvGx/nANKufDxv1Z5aiBFEvVhc7l3txs1qbAfAQZXyV78+w4BcjMYqmMSQsOBUHnrEFYofRGDGVB05PzlEzFA/aqSEDXfZFW34k+YmoPaIptpia1o0VKvXOaLkIIM+fOB6CmUr7N5Ckm1WcUAbFffR0VhST7x1jWg5iaey5TVE2C5MWw4hr; 24:h64mXpfUZQ3yVojXdnYTrMoWs3WL8EIHQGUOk+b73kpED4bincQJmc94SNDML8cr4QCFXIfi1MNiAmbgtSf5E1K/F/18E78ZEjF/nXbNPdE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1317; 7:8Fo14DsrZNFQQ2Z4jSr2YU/I/3uA/07k6rZGxObVICKsq5WLoIonDdtRphpaR2wQRwfMEvPrc+ipD+AA7ZcHnR/6TVKzeDeX2z34COFI5IVXSEy54rm84B7H8zsUgLK6GxtAGr9I0z7SYIDdspPCddykmjEgwoMS6Z4djV9etex8gvdQM1FIPGqg3eR8jkOc6k4cwruZYaYc/WZoQx8VFfM78H7m08kBGJlSvkmFb+9saD4vYBxM3xVHm6QX9EObFm6YZusTf+yOGyen6ovwcS11WXzxINBNIFqkbfQ1DyRKbQCNvAEXkY/Im/w39qfC5f7VGlFBBXs8eWxwqXTsKR+199Xo6G5gyzrqLfh5+vYy7U9m4SRcJUY0QcyzShZyJ2LYVhxI3XfmXowz2aQWt/M5gSSYifsTW4n2PV782q8uRwUULy6vCuX5a+UmvPwvI+Yjvs1IIlXdAL6f1EAgHsBZbjnA63dGGMXJzzpwEYoKuLpBSka6Ofqu2Q5OgG2m5yLq+3CJM6cL5Wnd3hjJh3kHKVvoV1Su8nSi9RZQh2U5o+SNzekzUIde8AEuJ+z0JNkZdt91+4uXUeLTK28lnldcB2UFk0Ence1bW+7WnV+4YvJi9Rj9TlYZFmLwLjiTcPilRlgEt5ug88vcAVB8cxRim+XXaMJ94oldFbEWoe84+hAc5zHw2Gm2iz1W+gFJ/jN88jU34i8z953rgHt+fH+MzJzpmN6uNHKOw4iXh4RAK9rvevNpucJFNJA4n3UNe/FhX21tDwOsfXvjT70CKWoYZqVvDUjaqa3iA4aT4Bc= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1317; 20:3uvi5mMx9WyhUvL8BAFe/fBkZUV8h5QJh2S8uWXzpmB6iJ6G0N8r38/Fh6oc1Xf3xxjrhaOMWADgKBAD+mOpNAvalllmIAWRmzehFOc4sC2m0gOQ5qSZirHgS/c7tEam6Y/hqoiRUIVbWY/mxPV2+IkYlxUCueF+/TVTtPnIOapjsdc+yzkegcZAQePJZRluuaMERSzgY7L4R6WhGy6qZCdFhrpcTHhWJTJ6KYiWMTCS9s/sPPZeTY9CpwFjjF4R X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2017 19:21:47.0836 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1317 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Gary R Hook --- drivers/crypto/ccp/ccp-crypto-aes-xts.c | 26 ++++++++++++++++++++++---- drivers/crypto/ccp/ccp-crypto.h | 2 +- drivers/crypto/ccp/ccp-ops.c | 2 ++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/drivers/crypto/ccp/ccp-crypto-aes-xts.c b/drivers/crypto/ccp/ccp-crypto-aes-xts.c index 5c2df880ab48..94b5bcf5b628 100644 --- a/drivers/crypto/ccp/ccp-crypto-aes-xts.c +++ b/drivers/crypto/ccp/ccp-crypto-aes-xts.c @@ -80,19 +80,24 @@ static int ccp_aes_xts_setkey(struct crypto_ablkcipher *tfm, const u8 *key, { struct crypto_tfm *xfm = crypto_ablkcipher_tfm(tfm); struct ccp_ctx *ctx = crypto_tfm_ctx(xfm); + unsigned int ccpversion = ccp_version(); int ret; ret = xts_check_key(xfm, key, key_len); if (ret) return ret; - /* Only support 128-bit AES key with a 128-bit Tweak key, - * otherwise use the fallback + /* Version 3 devices support 128-bit keys; version 5 devices can + * accommodate 128- and 256-bit keys. */ switch (key_len) { case AES_KEYSIZE_128 * 2: memcpy(ctx->u.aes.key, key, key_len); break; + case AES_KEYSIZE_256 * 2: + if (ccpversion > CCP_VERSION(3, 0)) + memcpy(ctx->u.aes.key, key, key_len); + break; } ctx->u.aes.key_len = key_len / 2; sg_init_one(&ctx->u.aes.key_sg, ctx->u.aes.key, key_len); @@ -105,6 +110,8 @@ static int ccp_aes_xts_crypt(struct ablkcipher_request *req, { struct ccp_ctx *ctx = crypto_tfm_ctx(req->base.tfm); struct ccp_aes_req_ctx *rctx = ablkcipher_request_ctx(req); + unsigned int ccpversion = ccp_version(); + unsigned int fallback = 0; unsigned int unit; u32 unit_size; int ret; @@ -131,8 +138,19 @@ static int ccp_aes_xts_crypt(struct ablkcipher_request *req, break; } } - if ((unit_size == CCP_XTS_AES_UNIT_SIZE__LAST) || - (ctx->u.aes.key_len != AES_KEYSIZE_128)) { + /* The CCP has restrictions on block sizes. Also, a version 3 device + * only supports AES-128 operations; version 5 CCPs support both + * AES-128 and -256 operations. + */ + if (unit_size == CCP_XTS_AES_UNIT_SIZE__LAST) + fallback = 1; + if ((ccpversion < CCP_VERSION(5, 0)) && + (ctx->u.aes.key_len != AES_KEYSIZE_128)) + fallback = 1; + if ((ctx->u.aes.key_len != AES_KEYSIZE_128) && + (ctx->u.aes.key_len != AES_KEYSIZE_256)) + fallback = 1; + if (fallback) { SKCIPHER_REQUEST_ON_STACK(subreq, ctx->u.aes.tfm_skcipher); /* Use the fallback to process the request for any diff --git a/drivers/crypto/ccp/ccp-crypto.h b/drivers/crypto/ccp/ccp-crypto.h index 156b8233853f..880f8acdd0cd 100644 --- a/drivers/crypto/ccp/ccp-crypto.h +++ b/drivers/crypto/ccp/ccp-crypto.h @@ -91,7 +91,7 @@ struct ccp_aes_ctx { struct scatterlist key_sg; unsigned int key_len; - u8 key[AES_MAX_KEY_SIZE]; + u8 key[AES_MAX_KEY_SIZE * 2]; u8 nonce[CTR_RFC3686_NONCE_SIZE]; diff --git a/drivers/crypto/ccp/ccp-ops.c b/drivers/crypto/ccp/ccp-ops.c index 6a2857274f61..6045e8c1d025 100644 --- a/drivers/crypto/ccp/ccp-ops.c +++ b/drivers/crypto/ccp/ccp-ops.c @@ -1065,6 +1065,8 @@ static int ccp_run_xts_aes_cmd(struct ccp_cmd_queue *cmd_q, if (xts->key_len == AES_KEYSIZE_128) aestype = CCP_AES_TYPE_128; + else if (xts->key_len == AES_KEYSIZE_256) + aestype = CCP_AES_TYPE_256; else return -EINVAL;