From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40078.outbound.protection.outlook.com [40.107.4.78]) by dpdk.org (Postfix) with ESMTP id 8113F1B1F8; Wed, 26 Sep 2018 14:27:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TEsjfgZgE+DcmYZAP6Ymyx04AP9DkwQyoktBZlmI+Vo=; b=LaMpYObiH7BmPxYO184OXGowak8y5qOTmf/I9SApkF5etUm3zi/1lEBh3/1HORBvRMX16OzQfNJyVuz/2WA9rKUZbxauH62NoNmJZ/CBDgmwxO/YCcqoL4Czq91R3+OziBv5H6ymFTQ/00FTpvZlpkBoCK9NtkOi+mCseQI2vps= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=akhil.goyal@nxp.com; Received: from [192.168.43.49] (106.202.142.99) by AM0PR04MB4884.eurprd04.prod.outlook.com (2603:10a6:208:c5::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1143.18; Wed, 26 Sep 2018 12:27:30 +0000 To: Pablo de Lara , konstantin.ananyev@intel.com, declan.doherty@intel.com Cc: dev@dpdk.org, stable@dpdk.org References: <20180802044940.23114-1-pablo.de.lara.guarch@intel.com> From: Akhil Goyal Message-ID: Date: Wed, 26 Sep 2018 17:57:22 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20180802044940.23114-1-pablo.de.lara.guarch@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [106.202.142.99] X-ClientProxiedBy: PN1PR0101CA0035.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c00:c::21) To AM0PR04MB4884.eurprd04.prod.outlook.com (2603:10a6:208:c5::13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b718900b-ac59-48d2-4651-08d623ab6e80 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534165)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM0PR04MB4884; X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4884; 3:ekuBXbm5BgTHjuQZ4LlJxdpYPhgwbISDIeyubgrbMUBVg3CWoqol5f1aoDdg1VU677739d4Aso7XujEQgsIHmx2R7hibRfPvtNXpVTf2oVdB5GJLwalBf/8YkuA2hRAoYsutE180v4B3w5Hoev5TuafNMG3no80u9ByCe6opV/LGhK3l88ZUf5ZU3lgVcICb9awcAUZFizYCxNDwMHrJ2KQA9w7c19WdnOrk+hiJW1a/nI0hd+KD+NOxTGLiTdcb; 25:yI74BWwldEw34itTOLSRRBK3CoEWxtQ7vrBcmNa/ZCqWgmEvb3e2aTp3WntzvdrBMwI78B/J8JsDlWLFXN1QfFUo0iDO5MWtP0x6lNgAOlWbOp3kPFEbk+wXkiwtHc9+3BZy8sGgoqJ5nekCthJgW3fMtyYZeAF6Y5DxmtbOGXwxxwzHir7SHRjkxURW9In6g3CJeSov7ujoTDJ31VjMtvHmOyanKtlz6tLLtKOyjH7AGrt+TfVB/jWguYf8axYdzyAHj2csXWJo6oo12v4QXIRHek+PUJTqOOIcQRJ2AuA3FXBsLAoNUg8l9fAuzqhh9vhXbLhTLNoHljvEoVOoEA==; 31:93cKxKC/s+dCDj362pSLxLDNlRrxjcYTT5WDNIqxlU7GAYTZDGB4VmiMdjS87esChUTd9HiRamAa9CoBUrc1uQ50Roe0Kf7svFSX8DSqGp88smDGrHDQ7/aS/LiLK1yicFR3bdBL9KDD9ZZPMf7ovOjAVTn0WRcR9ZFzeDQ+bA9lcyygUZpG6rM+pt+LHREx4H1VLBocFd9ud7pDn6/8L1Qi4qngPPU+wCvt7XDOrS4= X-MS-TrafficTypeDiagnostic: AM0PR04MB4884: X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4884; 20:I7y8szwpxIKs/EosdFqhrHMOJe6ujoxF/aLRAEV+ee5l+3i2v/69iJ7NZnOeszCtE9tIYrE+aDFdIw5J7DivJe5m6fXTXOeGP85N0uRTL6/SrZ/xf4gqLzUGWjRTK1/SbZH5sVl8retLevEXJJJFqdhsic7FbirdHFviQG8TjWXV0oFVQ4FN2DtyN2bxH0y2efjKD0c6XxuxToDse2M+sBJEmYhAELQxVTboEoBop3/bPc1WkdXi2x1M8e6JxuAq+2EQ8KBJrRPNElUTf44OqdcRXahBK6wiktJM/4A16Awwc+qSmy17bWfJFq1NDrK4oyPrykx1DC4KLcIi6rm/P924SkjVVna91AJ9RwLRBKdKqrUPFzBDmWyW7R6QDg31JDmZb+QFbiRA/fvaLyPGcmES26oEiO0XuojfB9nzZmyYUnzSqOqS7+DjiCEE7z7O/3fxGWx2LtgbU2SQtIX3P0+v10fq7w1oeZqkTnM5KK3EYuocWT0C/V6QNjysDUDU; 4:/lFZTJpLQy1cU/sSjWxGZjpjqOKZHaIANdfwtNtqUZSDiq1tcaALs8Tvpe0qcI14Bd0f1BL2Ov7PWqa8YbLhb4L2IGAEzCfFL16H7ITAUhqvOjUHBWhMwU1e4uXUCP4I9Uk58xLR5mZ0GE9Bmu/AmRoVZibeP58iaEWuKiMpJdZb+YtHyMl8NGbadcb2PAbGrd/h9u1a6ZWeTwHTji8Vw7ZVQI7l8DW41u5dLLmaUAX0s5W1n+WuiEE20rD2lA8Zds23moWr4bcGExKHXa4NcyNwPmHy+BseM33XO9gPKnBgJo+AmIJCVC7H2UmXxdRr X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231355)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(149066)(150057)(6041310)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123560045)(201708071742011)(7699051); SRVR:AM0PR04MB4884; BCL:0; PCL:0; RULEID:; SRVR:AM0PR04MB4884; X-Forefront-PRVS: 08076ABC99 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(39860400002)(136003)(396003)(366004)(376002)(346002)(189003)(199004)(6666003)(3846002)(229853002)(34290500001)(6116002)(446003)(14444005)(97736004)(305945005)(105586002)(68736007)(478600001)(31686004)(2616005)(106356001)(11346002)(44832011)(230700001)(3260700006)(486006)(4326008)(86362001)(5009440100003)(956004)(117156002)(31696002)(476003)(25786009)(53936002)(386003)(64126003)(67846002)(47776003)(53546011)(186003)(36756003)(8676002)(16526019)(65826007)(2906002)(77096007)(81166006)(81156014)(76176011)(50466002)(58126008)(7736002)(23676004)(6486002)(8936002)(16576012)(316002)(65806001)(65956001)(5660300001)(2486003)(26005)(52146003)(6246003)(66066001)(52116002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR04MB4884; H:[192.168.43.49]; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTBQUjA0TUI0ODg0OzIzOnhNcUwrMmtyRlovVkE0TG1URm9kQXdUa21R?= =?utf-8?B?YmZpVFVWWmU1eWYxa3htSUVMcjhYT29Ecnp6VkIvTHZVOHdOZzBVRlNrRWc1?= =?utf-8?B?SnNRL1ZxcnZUbU5PM1FndXdoRWMzOGNWT1BxUEhsanc4eGdiOUxlMkhHTGJu?= =?utf-8?B?cDI0RDRKUmduTDVoL1NDQnlycHYySUJBTTZVQ1ZuQS9EaEgzcTFDbHlVR1dX?= =?utf-8?B?UmUyYXIzbDFKU0cxMEp2L01JYVBtSkRjZ3gyUTIzRC92NFR4OW5vcFhTMHpF?= =?utf-8?B?OVJQVDdWZjdLbUhoeWZ0LzFUd2xCTllhMkVpc0JqVFFmNHJ1cTBnMm5vL3kw?= =?utf-8?B?b2JnaExnaHdzUTI1cUFhYzdGSlpwdXh5eTdKd2JXMG9PdzA0QmRadisrZ0Fx?= =?utf-8?B?RXp0SDQzRnJwRHZJZ0YwWDI4QmIvenFxbDJFcWVLbEp0dGhrdDJ5aDdGLzVV?= =?utf-8?B?aXptT3JmSUh5cGRIN1hBMGtJSVFSaDdpc3I1VVVZc092L3dWNnhVK0ZOWlFv?= =?utf-8?B?ZlAra0VLS05tb0VhTzlzK2p4V3d6anN1bDJIOVF1SjRqVDFlTEVxcU82Q2I5?= =?utf-8?B?dzVnb09CYWdRZ3JqOGtlU3VvejA5bUIxZ2k2aGViZlN0QlYzcjhZMXEzWHlI?= =?utf-8?B?Yi9KaTlzSWpqWG8yS1E2bEFTL1o5RGRFeTJsY3lydVZucUpQSnpUd2gzSmtV?= =?utf-8?B?UEZnNmhkZURZUjllc1l6VGdkR2dYcjUrNGk1ZlhLaFBHeU5DbDVLVFZXYlEz?= =?utf-8?B?QTdsb1ZYc3dEMW92bUxGbHpZckhtZGpXUW5PaFVUZVFNNDVOVmdCVURJSENB?= =?utf-8?B?SHAxNTNRTUhpV3J1MjdyQXNwUU9ud3UrQjRKQjQ1UkQwTlk2cktCdlRoaU04?= =?utf-8?B?eFFySlBmakJHdncwakxuQklscU45NlNwbDdTSng5cm1pYklIQVlKRlg3S1FF?= =?utf-8?B?RmpkL3hVZ2tDVkUxUWdmQW5iRmdPekpldTBxK0FPT3F6S0hZMXdtdW9tRmpz?= =?utf-8?B?VlA0NkpqcHNxVlg0V2ZudFE3QnQvbGRrWlJYUXJybGFjNHRCRHhKMXZLUjJk?= =?utf-8?B?VmFrZnVCaEJPWm5SV0l5NlBCRHBvWlN2cERURndQZ1NOY2g5OUlxWXQvandQ?= =?utf-8?B?UzBnNlovMWZyVE5ERlYxdWhWNVZ0Q1NIUnBXM2pUWGRoZ1VrUTRTWXA4Nmxs?= =?utf-8?B?Y05mV2poS0hieTRwOFNxVVVEQUJackMvTHZEWHVXY3RvU2dOSnE4VENjSDdQ?= =?utf-8?B?WW1Zb2VvUmRkdUNGNzBBZFFQL2J3ZnNscjBTaHQyVVNpRTNzUTcwK3hZa0E5?= =?utf-8?B?NzhwV21PVllyM2ZnNVo2N3hNUm9LelAxNlZFNWlsLzEzcFZjK3lQSmIrSUpo?= =?utf-8?B?aUViZE5HcUhEQjlabUhuOXVaeS9SUy81MDBwcGFyeXFXMFkrNzZ1V005RzRG?= =?utf-8?B?YTdFRGd0a0VxQTV1MjRLY3R1cnBsZmJkZDNPaVhRMElHTVc1YkpwUjUzRTR3?= =?utf-8?B?ek96ZlpnYmJEMUIyRDdQNFlhUjlhWFIxZHp0RWxOT01EaUhsUERNM2FZRnNS?= =?utf-8?B?em93Nm95MmovRGlVM2IyZlpqZi9MaWdvbHYvcTB0clNITGhaT2NPSk9vVkdx?= =?utf-8?B?alRqVnBWeE5Ba0k5UU9GeUJKdUxLMUdrb3k4bVArUzBtL1lVQ0pYVGl5ZUJ4?= =?utf-8?B?OEhrNWEwZUdnNlVWWUhsSURqbTNmUGgyeFJ5MDUyaDg4d0FldEFUeTJUWUpW?= =?utf-8?B?eTI5Vzc3eDhXSnpqVW5XRW9Nc3Z0M01vRTJRVm56QmpNZzAwcVI5eUh1ZWJD?= =?utf-8?B?QjVUVFd6eldpTXZRbVhWaTM2Wm9BQ1Z6VHJPS0tnS3Z2dmRqbFcrdTRMdTBl?= =?utf-8?B?M1lGeXo1dnB0d3F2TThvRnVIaEsxN3IvZzEwMlVCV2t0Ykg3ZUhSQ2tlaktG?= =?utf-8?B?MlgrR3NKNStpdTFES1g0VGd4YW9YSzRpR1JWZ21PcmRlWnF0bGMvS1lEcnNH?= =?utf-8?B?YXY3WmRtYzcvSC9LRjI4cmNJYXVaVFZFWEp3QVJkUkZpQVZXbE1QRjRWQnFL?= =?utf-8?B?NVlUVFdPd0hwYXRQMXVWMkFXdkM5bkhCczFTSk9XY2dYbGdxUkRGWlpmTzhI?= =?utf-8?B?eVE9PQ==?= X-Microsoft-Antispam-Message-Info: gzRwDPjCn3mVnLb8ifvEY2kVniQKcrIjrAp8kzNl2r01cupvPHKmsYCQTYWzYJIP1ftFCE57Z1fgXHaB1uYbD5BBTlcjfpDraWEZCtO9eAsqWC/0tTzfsi7UPoFUYwIFXmqV4vorikP6WWXls1wvNJEJZ7rX+LF0ctPSclzPZNOcWmY7RkY9C9w2zV1XFZ14CV33/hLjD3ERVxzJyb4vRL+5A2h8yf5OAqO20AcziWH5gf8TcjDINheGEPNoIOLEiRyHrhbKFqPdX69GQUrFnK3JDgjS3NeMuRKqCvHACAwzFHjVB+7xhwbMOjjdEPJhQIlLwMFEkqd/FopS9CnxYWIl34IzfTe96KRZbpvKT6c= X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4884; 6:K156QbFE6PYkcteAam6im0kSLtzudzrMh3AgUuA5eI/iYLisFZxQbvcaTuxMCbEnBegmrH8j6Qjjc7KzeqAQkF9rb709MQag+B0nlP2WQS36ucm+ZY8bTYUziwgw95oaASJxySe2aFbawIxAiRPxzMpL2fE1ow/BHM+SnqVqmIugVRHorVlDWgJjkLa/w6UgXSg9t9j3BnHqSrLv25Px9QWZUILiM6pQ2nB4Bkwz/1fzrczBYq5ScHMzrJWYXi316F7QVoYAzWuVgqkAwVCo/QnGPAt2ypSSzmSX9lP8UMERBj+W3Oz0NAgvok5FOX7hmvR1LA5/BQL6PzpdmDKRg7gFIxtLzc6q51/KcKc31pC4XnAewg1rBkuaUazMstrUDZRnKdM+2OuYTU/YnGEu/m3un+6JCa83LBrVU1qCBIk7hIul/WkBdtpplG9ttbdK7vrx6UdkMG4+wgphANgGNg==; 5:aRHJ+x2fBnnOehYOUkg+fBx4m0+4NwQhek8+WUxhWkSgpFV6qUElJXqlTiGJ/4TJRWJBhwl+iX4Zw5msbdCqIhmBD/1i5JPrhfSEiSPKsMednLnKZ2hoj5EoR/IALr5qjuJrh7yFhUMaR+/deFr4M68khEUcZ5bpH9ekLGldOOo=; 7:uQyh6XvYeNHPtoFXp/bMmy/S8pZvCrb+Zi0iiP8CpvisRP0zpgIRsKEdx1/Az/2/cvK0j2RVXZdx6eW2Ok7Ue6XhJnGbEaNhXQXNYiIcDpPFQ7KRSile1MKE0PVAvw8hIklOBeO9NzI3EXHp9J7btGrewltg6H8UmUaLWE9kBY4ITMkSED77PLDzpP6L8xr5b47RXWY8j2Aww2GLqo1seFEiIHsz/zrkcJNh1VHBIOixHhqjSku6yWM9kq+bcpWO SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2018 12:27:30.3882 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b718900b-ac59-48d2-4651-08d623ab6e80 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4884 Subject: Re: [dpdk-dev] [PATCH] crypto/aesni_mb: fix possible array overrun X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2018 12:27:32 -0000 On 8/2/2018 10:19 AM, Pablo de Lara wrote: > In order to process crypto operations in the AESNI MB PMD, > they need to be sent to the buffer manager of the Multi-buffer library, > through the "job" structure. > > Currently, it is checked if there are outstanding operations to process > in the ring, before getting a new job. However, if there are no available > jobs in the manager, a flush operation needs to take place, freeing some of the jobs, > so it can be used for the outstanding operation. > > In order to avoid leaving the dequeued operation without being processed, > the maximum number of operations that can be flushed is the remaining operations > to return, which is the maximum number of operations that can be return minus > the number of operations ready to be returned (nb_ops - processed_jobs), > minus 1 (for the new operation). > > The problem comes when (nb_ops - processed_jobs) is 1 (last operation to dequeue). > In that case, flush_mb_mgr is called with maximum number of operations equal to 0, > which is wrong, causing a potential overrun in the "ops" array. > Besides, the operation dequeued from the ring will be leaked, as no more operations can > be returned. > > The solution is to first check if there are jobs available in the manager. > If there are not, flush operation gets called, and if enough operations are returned > from the manager, then no more outstanding operations get dequeued from the ring, > avoiding both the memory leak and the array overrun. > If there are enough jobs, the PMD tries to dequeue an operation from the ring. > If there are no operations in the ring, the new job pointer is not used, > and it will be used in the next get_next_job call, so no memory leak happens. > > Fixes: 0f548b50a160 ("crypto/aesni_mb: process crypto op on dequeue") > Cc: stable@dpdk.org > > Signed-off-by: Pablo de Lara > --- > Applied to dpdk-next-crypto Aligned description to 75 characters. Thanks