Message ID | 4AC07AC3.1090707@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Roel Kluin <roel.kluin@gmail.com> Date: Mon, 28 Sep 2009 10:58:43 +0200 > From: Juha Leppanen <juha_motorsportcom@luukku.com> > Date: Sat, Sep 26, 2009 at 12:34 AM > Subject: atm: he: memleak/negative indexing of arrays in he_init_group() > > The prefix decrement causes a very long loop if pci_pool_alloc() failed > in the first iteration. Also I swapped rbps and rbpl arguments. > > Reported-by: Juha Leppanen <juha_motorsportcom@luukku.com> > Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Applied, thanks. Note that, by putting that From: line with Juha's info in it, I assume that you want this person to be listed as the author of the patch instead of you. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
>> From: Juha Leppanen <juha_motorsportcom@luukku.com> >> Date: Sat, Sep 26, 2009 at 12:34 AM >> Subject: atm: he: memleak/negative indexing of arrays in he_init_group() > Applied, thanks. > > Note that, by putting that From: line with Juha's info in it, > I assume that you want this person to be listed as the author > of the patch instead of you. That's correct. He practically wrote it and even supplied his signoff, so he deserves the credits. Thanks. Roel -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/atm/he.c b/drivers/atm/he.c index 29e66d6..7066703 100644 --- a/drivers/atm/he.c +++ b/drivers/atm/he.c @@ -921,9 +921,9 @@ out_free_rbpq_base: he_dev->rbrq_phys); i = CONFIG_RBPL_SIZE; out_free_rbpl_virt: - while (--i) - pci_pool_free(he_dev->rbps_pool, he_dev->rbpl_virt[i].virt, - he_dev->rbps_base[i].phys); + while (i--) + pci_pool_free(he_dev->rbpl_pool, he_dev->rbpl_virt[i].virt, + he_dev->rbpl_base[i].phys); kfree(he_dev->rbpl_virt); out_free_rbpl_base: @@ -933,11 +933,11 @@ out_free_rbpl_base: out_destroy_rbpl_pool: pci_pool_destroy(he_dev->rbpl_pool); - i = CONFIG_RBPL_SIZE; + i = CONFIG_RBPS_SIZE; out_free_rbps_virt: - while (--i) - pci_pool_free(he_dev->rbpl_pool, he_dev->rbps_virt[i].virt, - he_dev->rbpl_base[i].phys); + while (i--) + pci_pool_free(he_dev->rbps_pool, he_dev->rbps_virt[i].virt, + he_dev->rbps_base[i].phys); kfree(he_dev->rbps_virt); out_free_rbps_base: