Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1484082
| From | Tariq Toukan <ttoukan.linux@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] net/mlx4_en: fix off by one in error handling |
| Date | 2016-09-15 14:20 +0200 |
| Message-ID | <shDO2-6VP-5@gated-at.bofh.it> (permalink) |
| References | <shgeK-6S-15@gated-at.bofh.it> <shiTg-1yN-41@gated-at.bofh.it> <shiTg-1yN-43@gated-at.bofh.it> <shjPk-27U-35@gated-at.bofh.it> <shkV4-2Zu-11@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 14/09/2016 7:08 PM, Sebastian Ott wrote: > On Wed, 14 Sep 2016, Tariq Toukan wrote: >> On 14/09/2016 4:53 PM, Sebastian Ott wrote: >>> 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. > But that's exactly what the original patch does. If the failure is within > the for loop at index i, we do the cleanup starting at index i-1. If the > failure is after the for loop then i == dev->caps.num_comp_vectors + 1 > and we do the cleanup starting at index i == dev->caps.num_comp_vectors. > > In the latter case your patch would have an out of bounds array access. Indeed. Agreed. > Regards, > Sebastian > Reviewed-by: Tariq Toukan <tariqt@mellanox.com> Thanks!
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] net/mlx4_en: fix off by one in error handling Sebastian Ott <sebott@linux.vnet.ibm.com> - 2016-09-14 13:10 +0200
Re: [PATCH] net/mlx4_en: fix off by one in error handling Tariq Toukan <ttoukan.linux@gmail.com> - 2016-09-14 16:00 +0200
Re: [PATCH] net/mlx4_en: fix off by one in error handling Sebastian Ott <sebott@linux.vnet.ibm.com> - 2016-09-14 16:00 +0200
Re: [PATCH] net/mlx4_en: fix off by one in error handling Tariq Toukan <ttoukan.linux@gmail.com> - 2016-09-14 17:00 +0200
Re: [PATCH] net/mlx4_en: fix off by one in error handling Sebastian Ott <sebott@linux.vnet.ibm.com> - 2016-09-14 18:10 +0200
Re: [PATCH] net/mlx4_en: fix off by one in error handling Tariq Toukan <ttoukan.linux@gmail.com> - 2016-09-15 14:20 +0200
Re: [PATCH] net/mlx4_en: fix off by one in error handling David Miller <davem@davemloft.net> - 2016-09-16 10:20 +0200
csiph-web