Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761929AbdDSJpi (ORCPT ); Wed, 19 Apr 2017 05:45:38 -0400 Received: from mail-eopbgr00052.outbound.protection.outlook.com ([40.107.0.52]:55338 "EHLO EUR02-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1761620AbdDSJpf (ORCPT ); Wed, 19 Apr 2017 05:45:35 -0400 Authentication-Results: spf=pass (sender IP is 193.47.165.134) smtp.mailfrom=mellanox.com; grimberg.me; dkim=none (message not signed) header.d=none;grimberg.me; dmarc=pass action=none header.from=mellanox.com; Subject: Re: [PATCH] nvmet: convert from kmap to nvmet_copy_from_sgl To: Johannes Thumshirn References: <1492558335-2845-1-git-send-email-logang@deltatee.com> <3cf1fbf9-8b1d-4acb-e680-87efa5ca7c6d@mellanox.com> <20170419093826.GB10632@linux-x5ow.site> CC: Logan Gunthorpe , , , Christoph Hellwig , Sagi Grimberg From: Max Gurtovoy Message-ID: <6dfa2fbf-78e6-2c7b-f6e3-c765fe5015c2@mellanox.com> Date: Wed, 19 Apr 2017 12:44:50 +0300 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170419093826.GB10632@linux-x5ow.site> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.223.3.143] X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:193.47.165.134;IPV:NLI;CTRY:IL;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(39860400002)(39400400002)(39410400002)(39450400003)(39840400002)(39850400002)(2980300002)(438002)(189002)(11905935001)(377454003)(199003)(24454002)(9170700003)(6116002)(3846002)(230700001)(50986999)(76176999)(38730400002)(54356999)(77096006)(33646002)(6306002)(8936002)(64126003)(31686004)(106466001)(54906002)(53546009)(8676002)(110136004)(81166006)(356003)(5660300001)(65956001)(65806001)(575784001)(47776003)(305945005)(189998001)(65826007)(50466002)(36756003)(229853002)(4001350100001)(4326008)(7736002)(6916009)(86362001)(2906002)(23746002)(83506001)(2950100002)(31696002)(3940600001);DIR:OUT;SFP:1101;SCL:1;SRVR:DBXPR05MB014;H:mtlcas13.mtl.com;FPR:;SPF:Pass;MLV:sfv;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM1FFO11FD013;1:nZJn+gGzQMded8BWZR9w7/wByrRdGBtKjg9q/rDDitSfRV///ZeqCle7iRrOpa5WCLrkxc425eGrDNRmbwX6TQtwiih7mGGEIlkDbDCPDyMw14kk6qsvoL8e5spVSv1yiqeA8tHEyh6NDA91z6dcFC7e2IP+NJtMq8EkSJx43qbrHbTFAMrRxGFB7GK2LNUxbla8e8RjczYZiWf4Q9PKbbZdJzcke7959wPEul6nWt0/PZShPs7l30fkGJLlP3qSKIFdAhyPIuK5KsWe6rT6WqCZY2+D+kPxm3uxEUd6yQ2aIo2/zOKeCzcjDcS3SQcxMKyBmuo2NsICSzr+AgYVHHB4ZYqdTQZ+KDFFi3ioFXUfBVjCf8kqLhQjZIRbp+sI5vmGRuB+P2/GwycX2FkELXajjOHbdnWYiQVhtr0VjHBxqKCkjvG2X3char+Ln74cHEuUCX8bR5SvkjG+n6oMHzNFeV1dmyf6s0zApEiX0yRzeMLJ9WidC0fkb2e4CYCat6UYHsEAeCDreog++zkIPpDX/L3j7lDn3hDTZlgNd2Vj+/557hoeDVXw3Ffa2sex X-MS-Office365-Filtering-Correlation-Id: d23dbeaa-6779-4407-6d16-08d48708d233 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081)(201702281549075);SRVR:DBXPR05MB014; X-Microsoft-Exchange-Diagnostics: 1;DBXPR05MB014;3:eOkMX890rl/dPMWnRZMFS1iJrPDbdobkj/5fVqQaeDnbcBwYnTThLmCrKNIYk16hJDIEiDPCfBqKa5xqx+kUy1kLPstIPv0rAIAiaXPj9CaNh+nRs/byAEez66vgYqjJQavnp7JNy4+K24BcyopGQkXX69mw0OZtgLhZ0YtBbmUnPoj+gzZcmajyZ1ua31f564Nwc4X8dAsfe6rAhWrOWaV4TqBTkx42+nw8zDtBtVHqivP+vpttJIrwGv9GB3bn4W0w52WoavTukiBCB+LYk94lB/tQenlqKwKlBS4GtG1ZFea56CeGGdDCrTx+QA2nm6UlQAhn+NAO5kUczCwAJIuD9YYEsP1c4wyQp9h5nDboHgNO4yaYCd1HWEKFpemcwF1zD92okHV4SH9FjV6ZKmuoNqDYZ10xoK/anPjHdqRNMM8X84RqUoMMc4dv3gNNSIaG6i97EN8YsglKnM1qn7LGWEs5gZ9KV/ZX3VF83bmayxEsHJqWxFFru0e50SrVo83s4aOQ/0ORdbbn9fHvwg== X-Microsoft-Exchange-Diagnostics: 1;DBXPR05MB014;25:M3vDambc47d8j23bS3BcmUo4THy3BnZwC6nt97ktF6nvn2hNI2cPa7hyQNXxKS6qampAgxsyM/IlWhjHD5c4e3v0USLNgGALH8Y6KZiptTIXcynuwnHUNJ442WoJtOD4yRZ/RRAO4DSUcwADRW4oruBnAWuQL/eEu3DkdrtJhRbiavHyKM2YRLkDzBG5Jho25f/hjHhtcP5U2RSvJRUPyNklkctGnPT+TvRGj573T01r2KcrXzT3AeOf/9gxpTx4edPANn9HaYiAMcegTj7SQCzQ3O/4xQhMS03fDf1aImm9g95Xy6JhGdRVGdUQyScfdqqCfa5WzWX57Tkbt36CH7mm12XYPUbi/uJHuTyV8EgsOqUTiuiT+40a54FmdTKVXotE4pjEs4HbfIRElvChPXMWNKnLy3ZtRPzaQtLW8NC2V4QcSvW+7RJsLjsRyX2+VItIrN8ZkFKB+U62G3cX+Q==;31:BKB6u/uu8uwa/lne7qV5qdq+3Q7Q8s+yKHdBeL5BpDTeOTwbnYBvprDhHwdiQ85j8C2MbIsPiwmPSpVzGxZp1TxNenMv3paHK2/4K1utIa/mTyoohpfsi6Afcv9nCvL1mgA9V0XndN2sR+raflWsjiwMtIBFeuXuE8c4Rf0AZ/0fJVg2/vOiXX0dpfqbc1UPXcxOWpxzETsGbQDTop/LIc00sfG8afvJ8gPjVG3GK6hnmVDlxjrroJEjeSE97c9CrU7LxBxVUsk1AeYq0swSOew81bVK3CaNG2eupWklpyI= X-Microsoft-Exchange-Diagnostics: 1;DBXPR05MB014;20:l9ioT0UShkHiFvR3YjYi4ukL7Ho4uYXxWeMFByjko5UEpVdu4zaKJTZMEi6PIWw6Y6IgahS64F9DZoi6e2syN9b6q1Jb1SBzkDW3fsDLkoipFklAq4Zy9uiBrd5YmBzpe0kxA9lHkcFQgzNbgBZrHeA/r84wRVxhjDPCEMY5s2DxHYifs3vQ+h+6m8wbzSMtrVeZJX2CJv/hdwVSCLKufny3sENt0PxGX6N+F+FTxkvV2RcY+D01umWNJFf/y27JQbm9rkWFD5fKAHCNDR6FPqfA5ezKkCIje795Lt+2Puusj+L5KCRfbHlAkIq2KOe+vvISiS0PC7r8lx/Q6Erxwsbb2r1BYWfRry67+VKatAvEBozns6wIbK5IdbiNcJsYgF7iFNPB9lsmYzWVHEWaWswr+TrO61ibiwq1KX++tToNxTt5PmZ80Rh2B83YsxuTEYyoKbwUWhXecS1xnlWVDR1OBtnaBSYYU1/kYAVHASuNj10jMjjfF9zPNj/jcqbc X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(20558992708506); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(13018025)(13016025)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93004095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(20161123555025)(20161123562025)(20161123564025)(20161123560025)(6072148);SRVR:DBXPR05MB014;BCL:0;PCL:0;RULEID:;SRVR:DBXPR05MB014; X-Microsoft-Exchange-Diagnostics: 1;DBXPR05MB014;4:Z1fJZFLX0NBU8xhKNNRVO2opdKzYa/ORDmcZoblWmh3Mtee6JASXGlePcqUhmHcTFMMYUScew4ukVeGVzJm2bK+5qrGUzFlct2J5caCB3kVqFn4tmG/SK/ep7UhMG2ACHcE4QGRYlKrfC6VHTY2fKYDPXjNuXPRgM4iCbk5WJDXHc9+HXIaMfsKSOIYesb3qW9Nt91p5HiUzOtdVWlgXXa6d8f1WcZnHzE4EK65DT5g4G3z8yhwAQUxaUSkaq9GEoZCeYiiBZDGKkrGSl87IPgtkkdcvQelCM6i5uB/+srBm8YdghDLNaba9bnwVlg5syjKRWr0FiwJdp/39WiWYGSIRekF631XrZ4F/rNh2k0/4DZqWM6gN0SKIEH6YIRERjuw2kt5j0dFjPA8/2T7bI04v6/4brsNHfW5Z5PXfnfqt5F3lzlZPRmgZ0Z8+SgeqFAMB27kG/cbPlmLppXStlO+XsSgmoaCyfiBu0Loa2oOrKrWe74eoIO9PQ0PHpQ6L/QsNW+MU2/ewKbzxvfjsOaWwhrwzlyty3VFU+u8eDB+L47ACQMjUIMdDD1/4FMzpqiyd7iM9HW3PoxuPReFHz6QeibEMxeegqppaYje0fcM++GIXNzUcQ1FSjtqiPbtGOmEYegQzDB7wLCKZ6Gf+dQX3Ey5mUjkYk+Y7g/pWu2/S4Vni1zCDYBrh14hf4ZMr252MmBdSgM9MYjLKLAWEtXpBWSeMPf33Y/+V+pjQLnSQBpN2GedObTkznQ1hz05fzAYGxG0Nj8MS1cgcr+EzhHpZhN1pWVomO1g85hc8xWHL3nmW8iShl5VvoA+phPUC X-Forefront-PRVS: 028256169F X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DBXPR05MB014;23:XGoX5IWaAszJ74gXrWYi00Vm2n8IU1IjGm9dVx?= =?Windows-1252?Q?dLFqJEnmvXcciH8h9zSiNM8wfKPVoGj6z1ut087htN5dYbv2N4bddANU?= =?Windows-1252?Q?LxoDOJYpecNr+1gPQliylGI0w8TU4lr3INRbhamSTz9JlaWhwVZEiW4p?= =?Windows-1252?Q?3TCcexpPmqumWPVL7EKMWe2lYoODKWcrsddhci+FrzOc4UuavcX+Lejd?= =?Windows-1252?Q?rFHBTOIJ1tOws/bHPQBcn5/baVhAz4JES0PtBjaDV8ruDbM0Ps2seVyx?= =?Windows-1252?Q?wE2N9ndtXX5FjqA6qvXGYfvz7srHZbF1WmAeVeiPjGZYWRb3cZcaMB5r?= =?Windows-1252?Q?HNw3k+sPR5p3jONz/k61P9Ju5tURdS5/rKvxzZrk4Cjx2Qrvzt2ok5D6?= =?Windows-1252?Q?8OpCnQZJ9TZNxHjIAmn7j/ryt+A7E5zL8Lqvjrhj4+7HfRXWMOUJOjpq?= =?Windows-1252?Q?yti5aVx1flPPvMTte6HHb49MYtJnOotyr+I/xlgxFe/fy3+65aNNY7Jl?= =?Windows-1252?Q?z3F6sv6043x48cZezwc7QHfohEdixRq7SUi4QiW/rWTCE6HlAxncPx4e?= =?Windows-1252?Q?pP2Pm5eZgEN5OmZzlAO2XhFHD0t/UkGaSt/2D/RLF8Mf4sXQSW1ogxtC?= =?Windows-1252?Q?KaEiYCdI2rXkSe1DiasYoPCyjESKNMEYt68ROcuDUVVWhVSaxfm6ow/T?= =?Windows-1252?Q?PBjpVmrU24TewrnYW6N1UF25gSxoWJ1nzef4u1ZkdVK2sIVB5BJm2pX0?= =?Windows-1252?Q?jPSlXr7wh4A3CxgL86kpS7DcDvO1l6MEPPnqNMYVQjon9M9/eeSRW6ni?= =?Windows-1252?Q?/5jwL5DU2VZksk52tqKdEzpYjvotu5uB8kgX0F2nYLGogQ7u5CSJm3/Q?= =?Windows-1252?Q?Aem5Z1lEcov8xSlDB378VNF7B8Nbo8d955jhCpt6oFIMt5eJNUDPWziR?= =?Windows-1252?Q?HysJmP9wnFlGbc+hyfQMfIY0GEmW7RnM8GdjY2X/U//np+QPAk6fIowl?= =?Windows-1252?Q?TC3wH1RiwHkczFtS+9WFWkTKRFcxCkYnDthril/K73J1GGL7LC9+ptS1?= =?Windows-1252?Q?oKCYg1gtNGQk1vq9W+qe6HruZAOAWYnGJYG3NtYUUvqv6H/M5vKCnJxu?= =?Windows-1252?Q?8NTiM78j2AlG6CGWC2tQCnbKyEMTBgPWyZvRfz1Qi1kZky3P52eCyxRZ?= =?Windows-1252?Q?bxhXo05XfIoEls7LSxT7Q6t8orFCn5i3t5x+3N87wV3X1XCx8z3mdPOw?= =?Windows-1252?Q?7nUFZiAyhhGeC6sbcPQ3dSHgDLu6abiV/pWRgnoB+RvN/64bKbc5Rxiz?= =?Windows-1252?Q?fP6e2roM+Xw+fHkonVvqSfTkJ7r3llJHdFHgFy/b2xtTY/RsTxDqFDRx?= =?Windows-1252?Q?RALS48jMigWbTNzc/aGRLApTu/sAeGImR2sd5eLaVdj6eYb9oBNczGFH?= =?Windows-1252?Q?azqpgKv57CEW4F60XYpSab7Q+eYTqR8fgjPtV9ciWjh6f3+SCRnTQYh2?= =?Windows-1252?Q?C4hBqAetqkxWpowih8HionmTgl?= X-Microsoft-Exchange-Diagnostics: 1;DBXPR05MB014;6:DgX+Km4x629FEhqG+7WBPkmf9bdLvWJgIhyqP2zP02sKXXjw0wLD62WOrWiX9ggVOSClmawWUF4kNYDvEskTq8UYY/ySWgobiYQkBaYC2G7M3eeep8aVvZzHv3lXiZcz/CFEAGaZHcCiL9eJ8d6228gHizO9uLk4C56yDN0jjtYPrSEGSWq3qwICrOX7Ok+W7T3x4kW6KyoCcBnz/oBQeWcxSfXurCAZD5/OiVcHRCDCu+2bMZfmA9BJFLoRTYH8OkNYu5mstDPKFMKKQvbo3rztI3bwt6g+ZjXMpfTuw8CjH3N5xGvWP7tu1fSQHFxaIacO/XkbRgD+EL9UmM2hMj0O4zhKmJ4juVH73noUzdMB7CRFp0nLLBJIABbH9sZzN/AC2zjSPZhWiqNkHN8VOLwMKvNmz0vVqHbq8fiW8/VlK02w4K1gvS9NvN2NTIqqZpeL5eC07qLe0hzkTy4ou1WLP6nAiQl2krbd7YC6gGx4CLFrdRvzjaeja5xZwdoAa4+Jn9NvVLwRgg9IR4GYjoj8B4eR8FNIVHtJK0hXFEg=;5:x7/4EGuJv3IFQ1TeIo9MwJ8y72Z97tdvgZ+QOpnWJbI2OSSNbqnguzvU6gYmA/Y/tUR7VljUYMBwZek/LdzxZGiIdL0V46DzVp+bd56ftaiQPevWcy0j0ryrK7SeIfS14SrDqC2XHHa3HmT0nPuLBw==;24:ngtlDk9/98Il4ROtbnHDDrewKwTH366ljnbbVFPoG5gWgfsSVoFn4MqmK+CraKn3XblTq2gAHJhhl1edTL/hlqPRwt9MMjGSfvB7SNtftEg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DBXPR05MB014;7:S2rHoJbZ7N+dGu0Gbcr2p4whWUTi/4aqWe7eAPYjjaZyuxkF41v9uFrjq+8pU12SQpNd6PGyjk9YdXpFrfvi/0oKlQy7vz8oLJtXXhTz1pftfYVNeJKr99UzpFqk3xAmuU43jo1qx81INAzNW962lc0MwJLf0U7cvRowX37/9339tGBjN80PhybUqZBB9/GlQaO8yy8JNjgYNtAafy6InRwPgUrgP5kA+qoAz4VRn/G4JmvXZn4xgS+Rccy+sRuVWoC44kBeF4zuWLtE17u+tKDfxFSNbx3qqdJepgZ61I9QY5KwEhMe07bhFpF2f/hcsa8GvL8tHwKsKGsfCCQ5Sw== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2017 09:45:31.8880 (UTC) X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=a652971c-7d2e-4d9b-a6a4-d149256f461b;Ip=[193.47.165.134];Helo=[mtlcas13.mtl.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBXPR05MB014 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1711 Lines: 55 On 4/19/2017 12:38 PM, Johannes Thumshirn wrote: > On Wed, Apr 19, 2017 at 12:33:09PM +0300, Max Gurtovoy wrote: >> Hi Logan, >> >> On 4/19/2017 2:32 AM, Logan Gunthorpe wrote: >>> This is safer as it doesn't rely on the data being stored in >>> a single page in an sgl. >>> >>> It also aids our effort to start phasing out users of sg_page. See [1]. >>> >>> For this we kmalloc some memory, copy to it and free at the end. Note: >>> we can't allocate this memory on the stack as the kbuild test robot >>> reports some frame size overflows on i386. >>> >>> [1] https://lwn.net/Articles/720053/ >>> >>> Signed-off-by: Logan Gunthorpe >>> Cc: Christoph Hellwig >>> Cc: Sagi Grimberg >>> --- >>> drivers/nvme/target/fabrics-cmd.c | 32 +++++++++++++++++++++++++------- >>> 1 file changed, 25 insertions(+), 7 deletions(-) >>> >>> diff --git a/drivers/nvme/target/fabrics-cmd.c b/drivers/nvme/target/fabrics-cmd.c >>> index 8bd022af..2e0ab10 100644 >>> --- a/drivers/nvme/target/fabrics-cmd.c >>> +++ b/drivers/nvme/target/fabrics-cmd.c >>> @@ -122,7 +122,15 @@ static void nvmet_execute_admin_connect(struct nvmet_req *req) >>> struct nvmet_ctrl *ctrl = NULL; >>> u16 status = 0; >>> >>> - d = kmap(sg_page(req->sg)) + req->sg->offset; >>> + d = kmalloc(sizeof(*d), GFP_KERNEL); >> >> I'd prefer removing the dynamic allocation and use d on the stack to >> simplify the code. >> Any thoughts ? > > Hi Max, > > Pasting from above: > >>> we can't allocate this memory on the stack as the kbuild test robot >>> reports some frame size overflows on i386. Thanks Johannes, I missed that comment. Looks good, Reviewed-by: Max Gurtovoy > >