Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752006AbeAPUBI (ORCPT + 1 other); Tue, 16 Jan 2018 15:01:08 -0500 Received: from mail-cys01nam02on0093.outbound.protection.outlook.com ([104.47.37.93]:22800 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751513AbeAPUBF (ORCPT ); Tue, 16 Jan 2018 15:01:05 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=zi.yan@cs.rutgers.edu; From: "Zi Yan" To: "Vinod Koul" Cc: "Dan Williams" , dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] dmaengine: avoid map_cnt overflow with CONFIG_DMA_ENGINE_RAID Date: Tue, 16 Jan 2018 15:00:57 -0500 X-Mailer: MailMate (2.0BETAr6103) Message-ID: In-Reply-To: <20180112165648.GP18649@localhost> References: <20180108155050.7387-1-zi.yan@sent.com> <20180112165648.GP18649@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [128.6.36.100] X-ClientProxiedBy: BN6PR2001CA0004.namprd20.prod.outlook.com (10.172.112.142) To MWHPR14MB1661.namprd14.prod.outlook.com (10.171.146.143) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a812448f-2b28-49ed-5224-08d55d1bdef0 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:MWHPR14MB1661; X-Microsoft-Exchange-Diagnostics: 1;MWHPR14MB1661;3:wIAIJ9Q5lMnF4oFhoTF16okTdPbkinOlwEzW/c9xRQGS3IC0pV5wHOc0rmZYYPke+s/T+PFfunXFV2M48ggDiBAtHHEqSagrH1k8NRdrXKM18xHLsfwaxPP+rQPyaF7eF2oufSiBXJ2Qm+8j/5Vndp7PXOULXAU4uMxTtcnqf8S/H+FH1FlA761ERLPNmXOD7Hrw2xqwDev027t5epR2OLnsix/+Qvzi6bma/9X1AWyqr0NNpn57gvBz3QzoQzdK;25:vEuUHXJ1wDhbTd7K7bFAHhh+TSqOMKQ+IM7dwi+z+nDP0m3HwzTfmZDDeaAUN5cP4YcVqL0BUiWuF+dIuY86p58n8RjbkAQCR7K1Wj/jzYybxfrlohThnxuSHuYnObKrXLMASW6sTm+cS1JD10cIX/4dZn2dmS7CRx5XtfZEwCeZUzrtc5obSc39w1hYqKK4wGJKOZLJLDKqsAgOMpMQmPjEEQHh+XQGMhP8g439XcdmqSr6WFnf4VvputLE0jbbE2efee5Ft33ydapIm5Thw/zmIdPcBDSME67+TAvGiThQjAOTa2J7oECxEmzD7Pe/Gc4HKPEspo20GPVXrNpciw==;31:bB8TnYrqNltpwCP6x3gExmbmHvTO6xo9zNxyRgyTqDrpm4TcwjxHrG54vOToaX1h8KKqbyMaWn/3GogZysrAUQzHAMaAV3qsuajiGvZhY7PirHY7L0yf0y1HmSldyCHDHNTvFzi/0tHoBJXGG5sPnf50RpBeFvn6rqvTJYyYExXkVh+1dFJRiG6v4fU3RrN4wDddyF27bs11PgNySjSRK+pZ0+cAd3WJWH/xBx5ZA64= X-MS-TrafficTypeDiagnostic: MWHPR14MB1661: X-Microsoft-Exchange-Diagnostics: 1;MWHPR14MB1661;20:unNp6nbsWfenvzGKhkRYLLRMNXbjVelkdM698izUW56zdoVUJ2mIaQ853LEXCY9QOH7qTZZW5QFAyER7XDmFzxg2dckRy9Whiwpg9MhhK0qGV7qk6/c9pBUXFsWv+vDjUDc+LLJNFxRt+iFJZU1VKznZjHAEeHq064GUhVpFTnc1ZGZHfdFe3CSBVWzmNxzZ/sVOUkTDC6ykb4bSgrxkNBl/CuliY8Y8aTqOYliRmZh+4cLJtl24s3z8o0qT09EeO+9xktqxCQj65BDzipHGcRVNWmgsm5Jw8MJf9foaoRiuX7JKR1MIYFV4Lp1LBX78Bx1576Hc54xRGe3+Cy3z1q8/KPd1fqUWdCsgQt5bVDiyzQZl0m/paSXBiMGlDILQ83i6KIe/aieJsUBu/pkKICOqyNdCD4DR2LTvK7Wk4aP+sm6go9dd7TiaX5J5XpapoV+wvaHcVLykKrpDgnXrh0F1tPcT35/s/qMUYZ7roBOV1J3LL8FoIoIkEVMbtxHZ;4:QbtHNILoBxzG3Mv3ExPS/dnjtzIeDw1tXztZhx7DdTL9eSR70eUsKfqf5q8adWT3Rfbc2aKQNGPBA3Ehx5LG+lY1lgPSSNs4ZSpFLmETA4cmZByfBvgg2SlH3YW9ajxRDhbKTiTscfYR9s6KLZQRIKCWaUp0vcFNcdsO/dcaQgbA4T8390R2HC5JVSu+1lbnCpxyLrkGbBiWdslEiG4ZuK2bOEOLP2mautuSvt2t/o3Toxi9z0BtI2vqnpA9B/wLmg2jUGSATWIqBMVTGj4oug== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(5005006)(8121501046)(3231023)(11241501184)(944501161)(10201501046)(3002001)(93006095)(93001095)(6041268)(201703131423095)(201702281529075)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123558120)(20161123560045)(6072148)(201708071742011);SRVR:MWHPR14MB1661;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:MWHPR14MB1661; X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(39860400002)(39380400002)(366004)(346002)(376002)(396003)(189003)(199004)(24454002)(77096006)(53936002)(67846002)(42882006)(6916009)(6666003)(2950100002)(90366009)(97736004)(50466002)(33656002)(68736007)(6486002)(26005)(229853002)(7736002)(16576012)(2870700001)(25786009)(305945005)(76176011)(23676004)(4326008)(106356001)(786003)(83716003)(52146003)(75432002)(105586002)(53546011)(88552002)(81156014)(2906002)(386003)(8676002)(16526018)(47776003)(50226002)(6246003)(86362001)(316002)(3846002)(82746002)(8936002)(6116002)(66066001)(52116002)(478600001)(5660300001)(81166006)(2486003);DIR:OUT;SFP:1102;SCL:1;SRVR:MWHPR14MB1661;H:[172.27.39.185];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjE0TUIxNjYxOzIzOm9tTm94MFhFL0xCT3REam5Ob0lDaC9Rallv?= =?utf-8?B?Q3dzd3lwR1BPZ2tQQUVmWStBa282c2UzYzZiNkNLb3RPRjBQTmlSRTB4SFJX?= =?utf-8?B?NmdqbHdNWVh5dGdmTmE0RTFFUHBZdUFkbTNJOE04cWJqNzYrVDVWdjc3NWZN?= =?utf-8?B?RVV4Wmt4WSt4SzREQy9lcEVlSHpNeUc1aURxaFB0MUNOVXZSV012V1EvMncw?= =?utf-8?B?dWg5K1hNd25lR1Q3VElpbVdJRFF3b09LbjdXeEFQM2ZwZmI1b2JuOUNZZFM4?= =?utf-8?B?RmlOSHNzYTZXb3JnWVhRRkxieERvTGdiZ2tPd25NMHBaNHA4bDVUVWt0ZTRq?= =?utf-8?B?NEM1YUxaUk1hSVplTEZuWUtMNXBGZVJ2MGRNMTZaUFIwL0g2RWt5NW5CSk1P?= =?utf-8?B?NzVHUlBnVVN6MDYyRnQ0VHhweTZBVDd1NDlOR0d3UXBHUGVZb0xxMTVuSExV?= =?utf-8?B?ZXBxL0NUNjhIWmVJTXppdkE2bkQrYWhYckxxVm1NWHRBMmd1K21rYmE5SXRU?= =?utf-8?B?bzExakp1WTdCMFFsMXd3QVA3ZjlocVhQS2FQNTFVRUVpR2Nvc29wY25HaXdT?= =?utf-8?B?b0xDQlZpeXI1ZTVKM2o4UjhIS2t1Nk5UK1d6UWxtSnppbmk0WDJBSmRwS1Vx?= =?utf-8?B?c05KM3J4VitXaFdKYlBZVWN5M0lmMmVCeDZZbEF3YTZOTFA0UmxCU0hDRG1n?= =?utf-8?B?aER3TkpNdFZQMkRxaDhBVTcxcGp4R2crYU9uMVZhQndYbnc2QnhjbURaMzZa?= =?utf-8?B?cUdRZ3J5Q1FPcmdFRGRYY1FjZDhIYjA1MUVia0dTZ1dva3FnTmxmTko0bFVv?= =?utf-8?B?RStVTGFPZENxWmc0WFdUZjB6bjBYNlJpRjBxM011cG8vV2loV0hDRTNlVXVO?= =?utf-8?B?N29vUWZXdDVoZWFiRmhmMVUrZkcydGEwZTRlZ0Z2VlJGWjNXbzhBMldZR3Nr?= =?utf-8?B?cmVXQmcydWxtQXJPcHRHYnQ1TlZQMmFuaUJ5ejh3TzRNNEY4QkZpRVdRNHZz?= =?utf-8?B?RTFtTmtRNXptaXJuK2dGMjdkOFI4aXJjL1JHbkdBQ0U4a01QU0JKbUJORE5T?= =?utf-8?B?aHBLL1c3eTdkVFJZbmN6V0NycWYwQnFYUzBxdmd1Y3BYUFk3UVg2U05SVjM1?= =?utf-8?B?bkRYY3R6eThwZDgyb2VOV0tVUzZ1anZSWmtUK0RwZlladU8vOERUVUVxTVZl?= =?utf-8?B?d01HUU81eDFlSDBJNThLMnpVa2Zjb2dVWGd6TUw2ZWVlSzd0UytjSFB4bTA2?= =?utf-8?B?Zno0OFFlNENhMTg5Z1ZiclRrYW9QVXRHcllhTVI1ZUpzV1dMMGZDRWNtUXBa?= =?utf-8?B?TVdNSXJyaFc0by9DUmNMTjU2SkNrOVNhR1pKQVJ0cTRJU3lVMmI3OExjNTR4?= =?utf-8?B?Nk8wMHQrYmRkQjcvKzZSTTRmQVhoSGRpdHpzRTI3b0UzdnZoakx0cFo2ZVk0?= =?utf-8?B?OUwrNzB4ZTR2Znc5clJydHVKOEJsekhZY3BPZ3lTbVcvaXd2Z2dBbDV4SGQ5?= =?utf-8?B?bXU0Mk95TlpodzdXVEt0c2dkTHQ5cWRQL0tPNjBBRVcvVVRrd2RtVUs2c3F6?= =?utf-8?B?eDFIazg0L2NjQUVZUmtONDV3VG9rTTZWUUN4TXFMeG8zR28zb0pPaVZnSjNG?= =?utf-8?B?NHErSFBIT2dKa1lEUjZqS2R1UkVzdjh4bDd3ditTQmJyWDB2SlZZbzVJMHpM?= =?utf-8?B?cGt0cTlsakxRdlh4QktaalpRRGdBb3NwYWlXRUZNOVZPT0NkUE1ZbHBPajRU?= =?utf-8?B?MVBBSDEwVEdJUDhzeWVKTmloa25IYWxtZWJoVWM2V3pTck1hcm9HdUVlOFEy?= =?utf-8?B?UG1zUXJVRGprMG9ReDBSc0dlR3pPSWRTZVNOcEdOYkdqVDdzam1RUEU5dHpR?= =?utf-8?Q?lRq/PPy5K0Q=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR14MB1661;6:Wc7KhXLgpOM28RpM6kS3jGsxJjWXd6uV2hsD4F+/nXHKJ1yAgXjVEZ7hzHbjC9r+weaoGfJiWKlsfG+Uoou0fDZqmcaTJZxsxjz3yPvVCGNGXoKdAaDvjsY3NOAculLfexeSey/p5zEMtPbQdS2mt11wfRqcqiEVop+cYlmN8cP6T7N7dHZKuOTrZzSTY8+xyIrL1t2ZzEdW9lymjnGHOsh4jeYXBamRs3HfSBYWd7tKxX5EssFm0LNKGHAy3vMKwK5T6p0VmvaZKMfe2u8r7o5NhcpDIdvKkwMaxscQSorgQIk925DV0FnZtD669Em2JdlchLLN+ku7APb2bmKVRRMhaJRmHf+AfH1TDXBVRuA=;5:48Ae2z046m/gfMXkbAoXyxiuZPp4u/TtNmyvJPTiiOJF3yFE6X55Am2AosWQoti3SUkSswKCI1/E36VspIIS2Gj2B9c7VnmFO0WXeVMZjokWuVBPrJMfxKh3e5RAa/35RKcQ98iazQX85Cmt2Sss4HtNQFG6D5/snRpru454898=;24:+vvZokeV6dDXWa0SlTMXcnDRrHGJ5DeGrlC9c9ezYYunyFttCs2hFUC8o/qMxIu24dr2F34k5zEdPkzg5vaFS+OOqBsc0o/XVOsbbFdqs1I=;7:WasTULiiP5rTHJmP6/4uXpjU5ZMigXYHRcBQvmuR2fF7rhFQkFQ/mL71w2rswCp7gGxFaggqzed33NlELl03iQBoVzKLCO7uQ4eCpCuF1jJE9e+ZcHSRgZMw6v4dUFxDTf/M27MkDI/i8HEZANSoM1c2C7WO9L+SbbrAy8INXWOskUQN+tD4dQlAq0C4LgPTbSaaVq1aGFbPvsGwXjWmcPgl1qReGsZCz+iUGt3IzsYEQ/cUN2noPYOdQHDb2h5a SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cs.rutgers.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 20:01:02.2022 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a812448f-2b28-49ed-5224-08d55d1bdef0 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b92d2b23-4d35-4470-93ff-69aca6632ffe X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR14MB1661 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On 12 Jan 2018, at 11:56, Vinod Koul wrote: > On Mon, Jan 08, 2018 at 10:50:50AM -0500, Zi Yan wrote: >> From: Zi Yan >> >> When CONFIG_DMA_ENGINE_RAID is enabled, unmap pool size can reach to >> 256. But in struct dmaengine_unmap_data, map_cnt is only u8, wrapping >> to 0, if the unmap pool is maximally used. This triggers BUG() when >> struct dmaengine_unmap_data is freed. Use u16 to fix the problem. >> >> Signed-off-by: Zi Yan >> --- >> include/linux/dmaengine.h | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h >> index f838764993eb..861be5cab1df 100644 >> --- a/include/linux/dmaengine.h >> +++ b/include/linux/dmaengine.h >> @@ -470,7 +470,11 @@ typedef void >> (*dma_async_tx_callback_result)(void *dma_async_param, >> const struct dmaengine_result *result); >> >> struct dmaengine_unmap_data { >> +#if IS_ENABLED(CONFIG_DMA_ENGINE_RAID) >> + u16 map_cnt; >> +#else >> u8 map_cnt; >> +#endif >> u8 to_cnt; >> u8 from_cnt; >> u8 bidi_cnt; > > Would that cause adverse performance, the data structure is not > aligned > anymore. Dan was that a consideration while adding this? > It will be only two more cache misses (one for map the data, the other for unmap the data) for each DMA engine operation, no matter what data size is. And there is no impact on the actual DMA transfers. So the impact should be minimal. — Best Regards, Yan Zi