From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933133AbcINOt7 (ORCPT ); Wed, 14 Sep 2016 10:49:59 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:33636 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932987AbcINOty (ORCPT ); Wed, 14 Sep 2016 10:49:54 -0400 Subject: Re: [PATCH] net/mlx4_en: fix off by one in error handling To: Sebastian Ott References: Cc: Yishai Hadas , Tariq Toukan , netdev@vger.kernel.org, linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org From: Tariq Toukan Message-ID: Date: Wed, 14 Sep 2016 17:49:49 +0300 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 14/09/2016 4:53 PM, Sebastian Ott wrote: > Hello Tariq, > > On Wed, 14 Sep 2016, Tariq Toukan wrote: >> On 14/09/2016 2:09 PM, Sebastian Ott wrote: >>> If an error occurs in mlx4_init_eq_table the index used in the >>> err_out_unmap label is one too big which results in a panic in >>> mlx4_free_eq. This patch fixes the index in the error path. >> You are right, but your change below does not cover all cases. >> The full solution looks like this: >> >> @@ -1260,7 +1260,7 @@ int mlx4_init_eq_table(struct mlx4_dev *dev) >> eq); >> } >> if (err) >> - goto err_out_unmap; >> + goto err_out_unmap_excluded; > In this case a call to mlx4_create_eq failed. Do you really have to call > mlx4_free_eq for this index again? We agree on this part, that's why here we should goto the _excluded_ label. For all other parts, we should not exclude the eq in the highest index, and thus we goto the _non_excluded_ label. > As far as I understood this code > mlx4_create_eq cleans up when it fails and thus there is no need for an > additional mlx4_free_eq call. > > Regards, > Sebastian > Regards, Tariq