From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755487AbdAKL2k (ORCPT ); Wed, 11 Jan 2017 06:28:40 -0500 Received: from mail-dm3nam03on0065.outbound.protection.outlook.com ([104.47.41.65]:63463 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750796AbdAKL2h (ORCPT ); Wed, 11 Jan 2017 06:28:37 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=George.Cherian@cavium.com; Subject: Re: [PATCH v4 2/3] drivers: crypto: Add the Virtual Function driver for CPT To: =?UTF-8?Q?Stephan_M=c3=bcller?= , George Cherian References: <1484132211-917-1-git-send-email-george.cherian@cavium.com> <1484132211-917-3-git-send-email-george.cherian@cavium.com> <2395769.pOGQxxvRjM@positron.chronox.de> CC: , , , , , From: George Cherian Message-ID: <587616D1.6050503@caviumnetworks.com> Date: Wed, 11 Jan 2017 16:58:17 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <2395769.pOGQxxvRjM@positron.chronox.de> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MWHPR21CA0027.namprd21.prod.outlook.com (10.175.142.141) To BN3PR0701MB1701.namprd07.prod.outlook.com (10.163.39.155) X-MS-Office365-Filtering-Correlation-Id: dec3add4-dc81-4d73-6d1f-08d43a14fa28 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BN3PR0701MB1701; X-Microsoft-Exchange-Diagnostics: 1;BN3PR0701MB1701;3:Dt+GbhEQ1+sJ14h+LbKcqhJ2YM5ZDM1fTNYfCczW4W0f/ucBCTozHtQm+cknA2iEiyiVo+2iCh0wpC4sEUEF63pLyaYqv0HQncrPGxTx09ojhvno9qGSR9gqXXJMa6BokdRofHFA1hKGRc+NH5srXJsXntXUe0mo10uOYx/JDqKYW/A7BV1ZDktBSi7CTtmAdX04kg1mltc3L0Mu4P2dRgxuzR8KbhW9hBxILECgj5eKveYDFR/xkB627fHSEWUgIXsIhOIVQ7A+ZBw6jnee7A== X-Microsoft-Exchange-Diagnostics: 1;BN3PR0701MB1701;25:bIPAg6ndmKOKBdWdYcXzQfuuQcKV9bXlOKPTwTtuo72yxsgabdWRTzYb19le8IfJEGRD8E5zoX8HQYGg9BqLAnaxMkLhBTAtin8MLYvCtR7uTK2Ur8z3UqVsT2HWS8WZc150znU78jMaPa+hoLEUEoG5V3zEhL8ePBzPsqQ4rsaDUTJbvC2op0V2iUBr3noxcF6Gccbe9recDT+rr8oWBkoIYeo7ip8YNFcIIOMv/UdK5puu+aDG5pnbpzu+DF0bjbJydjILtB/hasqhDDAEEmVEvHdR/Dhu1m3jcTSMFpAxpiZxwGjO9xvezpLTBFPEXdYLYiDTg7pN7zpnyB1jnI7I/i9k4uhRQz4b0vv65dtR6xzW/y14vmGudGXXEC8OAnkAVK1aXwDxNAgLtYsOIKCBOQVyBMdyW7/IrrxdYGlPkfplOUmhnH5hp/Kj2abv6cGxQT1j+YrXClXNnK7Bm6RqySVA3FK5tOLwRHAfJrrMo8OXdFZjmoPLBukccihwlxw+RhMh80FRIxi0YEfMvCy/8AEY9bo98XKEvCfcDv2Z4G9fVfLzwDqLhZ/rLKBxkaHTqEw3cnbQE7N1Uurm8Q61AbTJB9LdBMpX0mMbJqmKrei6LTrZdwk/J7JwVet1Wd93p707pk5842FMn/hjYgbtj6z1AEGmLXfH8K5jg++TGvJcu0385lsZSGg9AsvjikY6wew7eA3PHnw8/gZvsKGutv/9vdS3+OhE4PqdZqL2Zr60tdN72hLDdf1xD3LDewrQoyiP4TbRvo9QD01qvg== X-Microsoft-Exchange-Diagnostics: 1;BN3PR0701MB1701;31:+OIWRdBo0OTmcY1/+Ni+lh8yc2Lp8fmPaw5KWsEJVwvkemDIs8BzixmQqLPc0vvr8p+CVc5OleP3iRU+JEFWbGx2O6y/e2eXP0G3oRkjwYPzzW94J9IQVF85pY55BWSMxBQ0x+kn9jtDk1hPruFuz6FPaT7vx7rXZGbHmgw/CDY7qtAVH+Yj9HTgqWQcp/m6/GVS9OYRzswWgATAlSRQm539FiFuBSeeI6dUcMrKAgWSWGEzfX+5UpI3Vg8jbukt;20:GtDffROsUcWMtDPkEUa71Fbj81KmR0lEXIdVIXcc8gDvn1kTWsjRhg9cAL7EUerE7PyAD5+7V5KyMM4GcSMaUTLHWI0JT4Pq5jst5vgfvtvDB+NOvGI0fnDkU095dKjG6ev201idfLN9MWgVVlWiQD9MRVvH2YeI4QmWNIdiJ7MMFyYGx1q512ktIWECUhfAhlaLpVzeHxlOHQCV9i/LWD2Sf3nynx5oTI0Y+DX5ClWN9P5OXne69v00JCFRs2/QF6bOvL8CPsHYsuiXIkvjdpaq/FES67cUq3IE3JCAu/aYx+Cc7143guBOhLG4clsUcWeQ7Z9DOQUaCq6SUaf1n2/GLsKyO2nqA+j4Wv819FUaCwrwrnJBDcWt7jElJjI8UxXMlZJQbQhspN2iu24kveGO+/rLIq+LLkywr2rCUgB7xskOodKammZkYfe1UZUn0kvx/rZypsFlA9PGUJSxJCk8ku4kiQnspI+cLdIrq7Ef9RLSzrUSAVrzTznXRMxaldGlDBE5wHpYYbXJvqptA8ZEK9qtQ6Rfr7LrCskcARJT3I0Kq5hVoLj7eIk0HGN6rmw/wqhKh4cgqyOPQbViY3ehldy6a5LXOzoo5mpzuIU= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123560025)(20161123558021)(20161123564025)(20161123562025)(6072148);SRVR:BN3PR0701MB1701;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0701MB1701; X-Microsoft-Exchange-Diagnostics: 1;BN3PR0701MB1701;4:OzTNPqA6LPBs0U4FGppbbnKpir2/6NK+O7p/ns7SrXF1D86e4hd0ZDCnBiQwg9imPh1Z5ABT6DsnJ2v7SPKGwQM8YkU27hdG8zPePOJZqCD6aukfnkeGppnpY2a3XBYMTg6TIP6OnlMxx2aR5V5WcA/uFGh4Iw7pt5AN6JBS5oQTTrIp4OSrZMHNN1qLdGXuNbcWzFZAyzjNhLzYCyIlvsnt3e/kYlkIwIAxlSr0WfZUy525DH8Ey4r/zvD/G2CaGG3+0sWLlflcaQcJ6G9F1Zn7z9fGPzrXX1aZyjTb+yEgPuArz2KyMsgT8h4f7YwxdEUn5QiDeB9Uci8LfCYpOpEKv9N1ikMJiwIAT/+FGd2oRaF0TgXPCIWVkzVoDKIFGuWUqI6RVIiKiQbO3GbL6pi5bGrIvk0aFSkEIDUS4+6xWHIKXvnAB4PQ8T/wWT/JNoZLtkZQxC/mwhUMzPugKvYyjwQ75hy3UHMMXLZ5je+mX4oX9mErMBl56AjySi6Ga51bDAhls41GbUHA4vK9mtueYoAeNSTH2/SLxJsNwI4+LKY/3fY5dmPy/nsaqbW0wPjbbD7nN66/BLHt9oh9GUHh91BHopoWFu/Fvpk2hEk= X-Forefront-PRVS: 01842C458A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(7916002)(39450400003)(199003)(377454003)(189002)(24454002)(90366009)(106356001)(97736004)(101416001)(66066001)(77096006)(2906002)(6486002)(38730400001)(305945005)(47776003)(65956001)(36756003)(92566002)(65806001)(8676002)(25786008)(81166006)(5009440100003)(6666003)(42186005)(105586002)(229853002)(65816999)(76176999)(50986999)(87266999)(54356999)(83506001)(50466002)(68736007)(189998001)(6862003)(99136001)(81156014)(2870700001)(33656002)(23746002)(6116002)(39060400001)(54906002)(7736002)(3846002)(80316001)(4326007)(5001770100001)(42882006)(64126003)(2950100002)(4001350100001)(59896002)(5660300001)(7099028);DIR:OUT;SFP:1101;SCL:1;SRVR:BN3PR0701MB1701;H:[10.167.103.57];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BN3PR0701MB1701;23:geXFUR9KXYyuXiMUDkeL2iTX6U1cSEXlIzH?= =?Windows-1252?Q?6yVVIAWtsTbTDtMVbWRsZAHj9hAKZI3HxQVHdwyfQCIsLVd7kgN+Z81f?= =?Windows-1252?Q?M1ohcaMHHR2PBkho18+Ak1whfQVtkFmlMs3WOK8Da0n7PjS6juCi1ioA?= =?Windows-1252?Q?Gm69wULZR1yw1wqvLQze/TNYy5fQWs47LFdCouLmV961U0We8D0/TVn4?= =?Windows-1252?Q?B433/F2GbxgWZd/iv8qICX994lcOD/3LC4DbUEXchqz7Gt2Kd0PIEm+Z?= =?Windows-1252?Q?VEg4gVycmsGkP0AIp+O1hsPnF71ose2GGXn6oWhycxkmM1V9hKF+RI1P?= =?Windows-1252?Q?22CxA1hh3CYDAGhEININaTHZJWALYl9DQl/Wz3zccQ7EjpEPBArcfQCe?= =?Windows-1252?Q?S5Qe9DOb/Bhy/j4PAoBzqJf9RC1pX/6aNYL6rNnKpEuKdSUE0vowU6u7?= =?Windows-1252?Q?aVNlSGl51mJwc92ApIfs3F5Acmz1DhBRnG/Kxe9hN2j+oz4Oa/yjtgbF?= =?Windows-1252?Q?WDB8vKPxmTDFDnTaI9stsw/ljZWMMi4xi3lduqIP4w600jIloZgFLM8R?= =?Windows-1252?Q?pkKDyLdyXhlxhrlO8GYQTCMkdHN3gKgfWG+pjVb0p1yomvEfyKUdUqfx?= =?Windows-1252?Q?LAa+qSz2S8WjXen79NVJtFn55uvq19fhtTqYXCY1LV+QXIVA4lyzujyz?= =?Windows-1252?Q?DaDZr2LhG0TPuVS8DL8UPZu+erfUyjATVnYA8u4Am9pnXnUt4LsefzvF?= =?Windows-1252?Q?+nm4wgibFU49gSn9S88V5pZXCgrC09P9W/JT2kZdg51bks4R/lj/giYx?= =?Windows-1252?Q?M4qdsUEWnptBCA6lLJiePs0G439jDolRAvLyN/Uz5J9nyvFgqB4RsaId?= =?Windows-1252?Q?PCSuhXUdyE2xeL0hLrOFPJEeR50/nR4lzRJjMpoyEzTeb2hSLB/thhIE?= =?Windows-1252?Q?AIYZFQtX9Cs3ft77Xy3eQaAjTpX2TpToxZbSGHiiOfRrfWWjcGNDO3oI?= =?Windows-1252?Q?UuFlWVEz80gkvB0AtOE+5N+BSxKaPdizBx3//mIjhzO+Y4laNrU1slkj?= =?Windows-1252?Q?FvfX9iee4wbs+32iKa23mKpQE9Em+LOOkBKUK8OolUnYo8oKAhRwu0Zp?= =?Windows-1252?Q?l9LLTehMRo9obcs4XIhWaTm48GxWcNr/f78J83bA9FAL+CwyK06eYhDl?= =?Windows-1252?Q?rl5n2J1fLnTreynNaKKapZ4fkhyuDdzY3uu7n1IZICp079buYR6TtN2L?= =?Windows-1252?Q?VHGSEuhqqAMebRhOlwP6+kJSEGHqPiXFIRxOCk5sfpR3baRHs9lN/nhw?= =?Windows-1252?Q?ReVr4r8/naHFJTE5zXf1AWAglkyfNQxuybkJ9aLy4BlN+n9mAehQGr2S?= =?Windows-1252?Q?rcE+0tTGDyw4VtZdOpe8xYJQ2lX45kUGGE6WNkdGM9XQSY0XykMrjGyR?= =?Windows-1252?Q?hTCYJGCjJowPCrngliEC+Y+VSOXI8MHdmsgrMSd12MDc2FQapkPGZ9Zz?= =?Windows-1252?Q?DswEQkhglE8s4Z6nvhsUcGohKLK7tXyHedEzghm8ipChQytNxcL0/3LN?= =?Windows-1252?Q?8HTmySFbfbijfox9wZH7YHRQ3WrE9MfPv1/qEqmdhsh/bDTpGNKgeZ5O?= =?Windows-1252?Q?jGbomWyWLpyROff58pNojQjc=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN3PR0701MB1701;6:65fB2R4jDHo/qCGRpwYGeRJfRkRd8aR+eJXdsufGzWZIYODR2sNNYGJEz2o0V5dk4gWbhfNDEBd+qLaH8Z2tSSi3P5Z0netuy2Fcrpe6UVxCZgCSlTEGjhlIJ6LnGSvZ8OOlTy2F1g16/dxAsPtCTzaYCjZIiSWV8u389ymAJA1EeBYjRbthW4ydu8P2idLJworjyNmygoBuzNmiUxcSLN+6JrB1HXNulZY2eEcLKRAeFsdoB3jfz5PkYiBAh2EYbJT2hqmEY+Auf3TIWuTT5w0FDLCddFEsTNWah9itWqlR2bcx/cCYCUYMSjt0Nijs7PhPg2OwIDoGdVk9NZQybffVPh10/2gcWNjN6NUEBFvGOu1Y4lYbPZR59rs4ILB6Uf6sN1SgzBALFNrLcy8/veKZnt6i+eOiSJ1HFyEgWOo=;5:aiv8sGYY5dhJ/e8+Q48UDlKONvOPGSz8FLbR8N7rpUpjyBYYG79w8BxCy5lERHwDRn51UGr4za/ixyd/n6DnetMVqeP9ccszXpG9it9WIoQwB8hMZ2qCjvsYU784esEa9+vTDJainCT59LCRXI+QEBwoz3PmQeQ6mcLY1HVjnHo=;24:KeBr9AR2L9653DLeMLJ2TAAvkIWwFCgbG3AN561Mwu5nU3uWcBwtTxM0jOayhPfA4b4e/lYKnAErD0/Cd58Eafp+0/cGEnhdiFOH2UfacqQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN3PR0701MB1701;7:jnGIxS7Ojupu9LGweZK20ltcX2taWyoNMtFTPEKJko3FOEv/FHhSlvjrGNzHWG3py1c/1Auaks9IgaD33w9C1nX/0pQ88XYK8CUwozM+UnL5VWmU5gwg5taKtL72koxFvJEP9uJIPQZ8Gjt30DZbGxFszhIKRJcOWYlVZ2+iBKZ7JdRbxO0kpBYyb4fYpiKKnSw+mL0+JMSGIPRRU80D5TpUero9ivlWwWSru+KpCIMz3XI2Pc+AnT8KGhsFImD8Z/DCjzy3e71L413Y5ILfOo1ff/sLQFljegypZKrgDNS6u5ekNCG0skgVKNsrNvGMclEjykkXc2J6NdSbDIzZjVn67qoPLo1iwBg6NOFT+Mn86hO4ZaDV1ZujdB0JYSGFRBN1JMBwwll9YzLsHIGoa3TTNWRV/lkmVLPaFKKxXiQ9GLSEVlGXmEjc+i64ijOkCP9pxvWuOmZ3qE9QU5xU0Q== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2017 11:28:30.1614 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1701 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Stephan, Thanks for pointing it out!! On 01/11/2017 04:42 PM, Stephan Müller wrote: > Am Mittwoch, 11. Januar 2017, 10:56:50 CET schrieb George Cherian: > > Hi George, > >> +int cvm_enc_dec_setkey(struct crypto_ablkcipher *cipher, const u8 *key, >> + u32 keylen) >> +{ >> + struct crypto_tfm *tfm = crypto_ablkcipher_tfm(cipher); >> + struct cvm_enc_ctx *ctx = crypto_tfm_ctx(tfm); >> + >> + if ((keylen == 16) || (keylen == 24) || (keylen == 32)) { >> + ctx->key_len = keylen; >> + memcpy(ctx->enc_key, key, keylen); >> + return 0; >> + } >> + crypto_ablkcipher_set_flags(cipher, CRYPTO_TFM_RES_BAD_KEY_LEN); >> + >> + return -EINVAL; >> +} > I will add a seperate function for xts setkey and make changes as following. > ... >> + >> +struct crypto_alg algs[] = { { >> + .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER | CRYPTO_ALG_ASYNC, >> + .cra_blocksize = AES_BLOCK_SIZE, >> + .cra_ctxsize = sizeof(struct cvm_enc_ctx), >> + .cra_alignmask = 7, >> + .cra_priority = 4001, >> + .cra_name = "xts(aes)", >> + .cra_driver_name = "cavium-xts-aes", >> + .cra_type = &crypto_ablkcipher_type, >> + .cra_u = { >> + .ablkcipher = { >> + .ivsize = AES_BLOCK_SIZE, >> + .min_keysize = AES_MIN_KEY_SIZE, >> + .max_keysize = AES_MAX_KEY_SIZE, >> + .setkey = cvm_enc_dec_setkey, > > May I ask how the setkey for XTS is intended to work? The XTS keys are double > in size than "normal" keys. .ablkcipher = { .ivsize = AES_BLOCK_SIZE, .min_keysize = 2 * AES_MIN_KEY_SIZE, .max_keysize = 2 * AES_MAX_KEY_SIZE, .setkey = cvm_xts_setkey, Hope this is fine? > >> + .encrypt = cvm_aes_encrypt_xts, >> + .decrypt = cvm_aes_decrypt_xts, >> + }, > > > Ciao > Stephan > Regards, -George