From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935797AbcIPPfK (ORCPT ); Fri, 16 Sep 2016 11:35:10 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:54615 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1757664AbcIPPfB (ORCPT ); Fri, 16 Sep 2016 11:35:01 -0400 Subject: Re: [PATCH v3 2/3] nvme: Pass pointers, not dma addresses, to nvme_get/set_features() To: Andy Lutomirski , Christoph Hellwig References: <20160916084121.GC2415@lst.de> CC: , J Freyensee , Keith Busch , "linux-kernel@vger.kernel.org" From: Jens Axboe Message-ID: Date: Fri, 16 Sep 2016 09:34:12 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [216.160.245.98] X-ClientProxiedBy: CO1PR15CA0037.namprd15.prod.outlook.com (10.166.26.175) To DM5PR15MB1195.namprd15.prod.outlook.com (10.173.209.13) X-MS-Office365-Filtering-Correlation-Id: c6386139-0c90-4270-57c0-08d3de46f2a2 X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1195;2:7lXblMI1A/hiwXtYfxYu8hM0tD0m5cBY/7+Uony9LSUwUTgDMz+1+KR4R9gUGbdArb+MFbsHPsa3a+Vr+xAA25Cp6s62s45uFAUit3XmlJ0LvyPDAbomtAlEQsZrZwm4F0fICesgx06+fB1GUEUDxFNDbpmR5Nw/NjwnvG5ZZT0SJeWbmc2SzsjU5g9i27Gb;3:Jk+a0Vjrw0ZYXx/rXobHPskZUuqXB2UkkPcZYu7rQybxSacrORrHtMxYQWuZmH5YAAKwraoZqfmgvHmGSPPUZjnnzsYgk6IaSTKyX+nwMsfaW+/wSEA1qnzjCHgmN6pK X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM5PR15MB1195; X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1195;25:wpMlbJF/71WPt3f6tAfRrZ4m3SnEkggTb40bIfkKfWpmY0G/pFL0TOPd9lQDjhjPoJ5Xevw6XUnermh6X+NxOmvwf4X7U8QapddsuhB/WZHII0NdTWPY16YcZVz27gk+szjNPCwYt23U0P5msdDADH37F4LN+skFS6mmVQLithCD8GwGZ/KFdhG5OCBhTDmWSA1F29AGhqZR1n1R94V4/Su5VXldleQfEsMZbkC2QZkkU3hEWpxGRrtNb4UoE4B+BWl3ks8K8bxzB+vOctnzqGKnrqO34cqXg6PsLM8lCDDplDI3PNAuqmcv5ddS8wlwws3wtwW2Y7+aH56DxnsAD9mwv35uFP2ofMRa8XBAoG5CXa89cYx358cewNZYEZ/0SKn2pEIBRtO5modj5ro3imHDCcB26ozhPIheSymtwlXyKctXPca0XpMJWPdpS8EFWWZ4ogiixqd7//h1rmB5p9j7CSzOsPNTv+IBKtzG2ic+IJTD+syCYDRt5f7Btc/QKGifqh8zPL73GZa1d9uBznmltdAHCPyQfV/TjYXPcKejGQKrZI6f1aW9N3TT5/iWj9QvrysheYKyLWDmRjU7Ox3ekE2bbHoInjAjHcBxJDE55GUnAfK8HKl4nhGJpqb4YHoILOeSmGaFufLiEwsrDg3F05Lh9do/HrExWh3a7T7HP+HXmTnOuKB8hCDQQF04U/fdB/bz8GoSqs+6R6A+WQ==;31:gJlqrhb3wvKq0KIzISdkZBQBQDh/fHFo78f2rPr9AjLhZlRwSpjwkNUC4hOvQyZ8XyKKLVo7G6AjJlsZrDw+zKohBRETF6dTdKO6FJWK6Uv7V9hgrp9NtWgelbkjdomsXm6BzFQCmfKcUvM3Hua8IJoBw5h9Up/ofO8mrVFOanhZy7pD7QkYM/bXXkCBBGQ8cNcySnqUjcPfrX03RMEFUgeePgTKh+H6Z/SxglqIR1c= X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1195;20:hYpYKRRBrl7x44x4k9/ehJ+tOZtflYUHvl4UPrHfjKpm15ZsNPlNwYcXEWhgIcbFbCfsKsYpVYTsGe4sPRsBMCWs2+6sBtqaXcmBAF+cNSocXJiRdgXhul9F9YAHaBrFOYH2ELL9ks+XZCjwT7Q/Cv7CphuNIeZNtUvcyzq44zw=;4:1ht8z0iEcEJjB93e4iTjCcMDegg+5Ybt9rA2CDPlbDHocokl5/yVRFmoSQJR03K6QuS8JxNiABMlneveRtx/JhJbJxukkWtPQmQxr34J9nvvzb2+YiXaGfS79+KRBmCzv4qY+3GgABGkiV5XgYkFuvO+2gTwXOFAO/1PuPVoVKnLp2euFdAphYOwTnR1BJDzIVVaK8iItTWDWRxQHG1vwhAzGJSE+IqYGc6KKaiGK+NnB7UZTdmCKUomr6wABQHxo4WhXQQ2nF20KOVQd/Mzvyon6ISa+gGoHDh79KHwUuKoSDr37ndtw7zvM3Cn430HwfMtfkfasEeLEdZazhVeLQXfqftqfXKP+PT9HjZxeEOyDYmwcKhn9tyv5Wgj4t++ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:DM5PR15MB1195;BCL:0;PCL:0;RULEID:;SRVR:DM5PR15MB1195; X-Forefront-PRVS: 0067A8BA2A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(199003)(377454003)(24454002)(189002)(42186005)(64126003)(189998001)(3846002)(6116002)(19580395003)(86362001)(586003)(81156014)(5001770100001)(97736004)(4001350100001)(31696002)(31686004)(19580405001)(230700001)(68736007)(81166006)(36756003)(93886004)(101416001)(4326007)(33646002)(7736002)(65806001)(66066001)(7846002)(117156001)(65956001)(47776003)(305945005)(8676002)(106356001)(105586002)(77096005)(2906002)(50466002)(2950100001)(54356999)(76176999)(5660300001)(23676002)(65826007)(83506001)(50986999)(92566002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR15MB1195;H:[192.168.1.153];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjE1TUIxMTk1OzIzOmJ4L21BdENTeUd0NUZ0M3hoSDE2enptS0sx?= =?utf-8?B?UFlLNWRxaFZpSWM0Qm5VNi95VEtreEFUN3ZBSUlxbkhOd3oweVZkWFZtSHhQ?= =?utf-8?B?UTVsUW1JS1EwbFFNcTFTaE9TbjhlUDQ2ZVZ2RWREbnY1U0EyRUJ2SkY1RzJs?= =?utf-8?B?RVAyNWxxM0hkbzhkMzNLdVNCdFpKV2V4cCtaNjJZeEdudlNYNldIWi9qdzhO?= =?utf-8?B?S1ZlVTRpa1pnNzhsRFhrOWxHMGVvV1kvM2lXQlp6L0s5QS82cC9VSU5ra21w?= =?utf-8?B?a0ViL2RsRjNEQjYxdytMbm5uOFJReUhiZmZMOFlRWDdGR2RsUE5EQmZlazVS?= =?utf-8?B?QW8yZENpK2hQQWd1SEdHajhFcEx5ODBET2RtUGJzd2RXaWtoY1NkU2IvUEQy?= =?utf-8?B?WWkyV3dqeGc0U3lmVzcyVTFJSm9BMDkyMGtkZjJjVUhNTng4QzROTnFjOFlt?= =?utf-8?B?NTY1V21oaURWcFEvc2EzNEIzZ1ZUVmxSOGpnVEl2QSsrMEdERUliVnVlVzdt?= =?utf-8?B?ckQ1OTdZQUhabVgzbUZGbGVLQlNnQXNMSG1hSkNDUk1NSGR3V0dxUHpZNnJQ?= =?utf-8?B?WmprcllIb2VWNGoyRitQNlJpZjlLZmdOMndEcnNPV2NhVmgwUldmc0J3aVhP?= =?utf-8?B?aVpOM3JNeXpjcWtad0pSR0VocGJXeGh5aWd0TFNaRElxcjlTRlR3ZDltUm9v?= =?utf-8?B?L1lWVCt3TXBXazVwRHRKWnBjZU4rMkt6N1U3VUlBTlllbHhwai9DTzlOaVFQ?= =?utf-8?B?a1NVNWlyYVgwa2xFelBLVU9pU1JMVFgvUC9sbGQxSEJRNEtQK2dISlZUVVZr?= =?utf-8?B?UGZDMmI0OFZYZXdZWjc5S25odUZvV09razR2VXhSQkFDWjlpN3FkQ2hnZDNn?= =?utf-8?B?YmFCdklVUGRwcnR4bkphU2hGblptZC9aelFodjQrQlFCQSt6M3ZTWENaQk42?= =?utf-8?B?eFZ1UTdSVTRtZzQ0ZG0vbWIrekVTYkVEYWdrKzg4dWRCa3BCaFUvTHpNZmxT?= =?utf-8?B?Sm9udWpnMlVOUTVaaXpLaDllNW10UUlEZ0QxTmN6Y1RSK1F2dUN2U1RzeUl3?= =?utf-8?B?TjBTa2haVUNiZ0tRNEV3U01jbkpLTmRZbzRkdzlqTEZxZVJPYThPT3c5YjB3?= =?utf-8?B?dkRscEUwdmJhZkpHL2pmbnUvZlAvUmtYanF4dWxWY1lnVUY3WlZJdi9pZkc3?= =?utf-8?B?NXJwdHU0QjNkKzZ6WU5yOG11di84R2s3S2pwNHZ3V2Vob0kzdGdsKzlabFZn?= =?utf-8?B?enJ3cG5OMVcrSExkclUrRFplY2pRNStsREtGUGJXN2pUS3BkeC9OUWFXK09a?= =?utf-8?B?SmhPWmVxYUEzV2FrM3VaUzdKNExCTWpuQjVjK2daSldJZmRXSXI0d2syZDJ6?= =?utf-8?B?RlVmQ0ZuUkFldm9EQnEyc1U2MWU3bkQ0eUVqQzY5dzJDQmFOSlBNZzVsWTlM?= =?utf-8?B?U2k0Q00vOWdlV2gvbEdzNlQ4OS83a0tEcDVOYitaeEs3R1ovVXVJbENwdWl0?= =?utf-8?B?NnVlTG8vL1Z6NTd1SkZHYXpTaFVxN2w4emxRZXZ4am9sY2xIRzlCbTB4Qzl4?= =?utf-8?B?M3Y2ZGxxUmFlQ0JNSDM3dHc2MmR2aGthb05XcTNVZUZqT3lIVTFZNGRpTWpl?= =?utf-8?B?NDhRMGJQYlJsbjkvUExMUkNRbnhvMHNwVEhzRit1dVcwQWhJTEdtcWpxSmlv?= =?utf-8?B?TTdzN3ZVZHVzMDh1c25nZUc5N0JqVmwzS2U2OElNcEJjOGxCUW5KdFlpbXB3?= =?utf-8?B?TGlTdEd5eXpYSU1QVUpxSjNqaVp0eWRGbkRUUFBzWTdXRS8rcklodjE2Znp6?= =?utf-8?B?K1UrQUhPNit0VXN6OTgvR0pOaUJwK1UzVkNmSVoxdjdiaWc9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1195;6:ELwJCe+gSPx4iRW7IKOJfblXVSgszrN4A8loKz6avMrnINMSUkUio8hqVtNS0dO7UOUAGrJNhftCwPtk6+8DkmKzF9aV0HAzfsRAefXAZ8Cus91FzrZSP9zHoDKlW5xmRLpYff0qvqzckSoNZRBHfHuajHK1uvIp3L4hh2C4exDHjCUZpOggscBmntVd4DVtJo8KPr2fgyLhEEjk+160fAhS5ZwadqDlrkQb5R/gCtWrCrCGBo5TpCUwNT7GTW+fyDyBWqzes+cdzksKl0dbKfhIvbx9Ly0GfuJuRTVXq88=;5:h7rPRGMsh4ICxcSqQRUoKIosm/uTD84zATbj0ZtSzpGv2GXkRES9WhrbTQyobVsJLLGIqPsuUTJ/06Fc4bRuISi4YVqKVRC6HdYXCk+EdNdl1SApjp1xJXE2wppGAxcJ09z93sxsOpoT9qDzGno+Mg==;24:WaTMOOMiWrrQq6GJcUyRHd+D5eYDUGPCEtEmzU4+7koHJfF5Bfmug2x3o9qHAMg+UhCQbYWcQC+6+cesCRDeEGRNaNrHJgcT9D9b1x3io98=;7:0X1wh+MWUn4CT24vRkGpEQ2xpYRaDZ+mstb0HDPVBiAKXxaip8qY/BulWSBfT3jAw+w7ewAuUMAP7t4gKsALCICpbyJlu9Usndnmf1uhDW9eZI/pNstOZdq9yi7HOOc+saOBFBCu8/S3Hc1GPDbogHxX9LYn5CaBGCA2VEZj/AmYRbl7tovV1iB2o91OvcT9gBwZiw9tX9YxUrTPkNXjJSKUZl63pJkcL8lwkZVKF1ZWsfBioEmiMvbXJ2GA1QX+ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1195;20:0Jy2gJTp71dp2lK6yjcGhclLN3AhnvOLd5HNPUGJ24Ur0lqiPWpy766pRxJ9N+vra70+oUZziZzFT0Rnn+baU44xjH8VzAReZEHEyeJPTxCUIXM7hdSu9ux4VLM8rZ+cpGw3g9TtvpMkFIcwutMViMQrxapftGQ2dAMDAX8x8Jk= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2016 15:34:24.0964 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR15MB1195 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-09-16_09:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/16/2016 09:13 AM, Andy Lutomirski wrote: > On Sep 16, 2016 1:41 AM, "Christoph Hellwig" wrote: >> >> On Thu, Sep 15, 2016 at 10:24:20PM -0700, Andy Lutomirski wrote: >>> Any user I can imagine that needs a buffer at all will want to pass >>> a pointer directly. There are no currently callers that use >>> buffers, so this change is painless, and it will make it much easier >>> to start using features that use buffers (e.g. APST). >>> >>> Signed-off-by: Andy Lutomirski >>> --- >> >> Looks good mostly good, but a nitpick below: >> >>> + /* >>> + * Casting buffer to void* is safe here: __nvme_submit_sync_cmd knows >>> + * that we're writing because it decodes the opcode. >>> + */ >>> + ret = __nvme_submit_sync_cmd(dev->admin_q, &c, &cqe, >>> + (void *)buffer, buflen, 0, NVME_QID_ANY, 0, 0); >> >> Cant we just drop the const annotation to avoid these casts? >> > > Then we'd have nvme_set_feature() taking a non-const pointer, which > would seem a little bit silly to me and might require the same cast > somewhere else down the road. That'd still be a lot cleaner than the cast, which needs a comment to explain why it's supposedly safe. Just drop the const, imho. -- Jens Axboe