If a call to mempool_create_slab_pool() in snic_probe() returns NULL, return -ENOMEM to indicate failure. mempool_creat_slab_pool() only fails if it cannot allocate memory. https://bugzilla.kernel.org/show_bug.cgi?id=189061 Reported-by: bianpan2010@ruc.edu.cn Signed-off-by: Burak Ok <burak-kernel@bur0k.de> Signed-off-by: Andreas Schaertl <andreas.schaertl@fau.de> --- drivers/scsi/snic/snic_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/scsi/snic/snic_main.c b/drivers/scsi/snic/snic_main.c index 396b32d..7cf70aa 100644 --- a/drivers/scsi/snic/snic_main.c +++ b/drivers/scsi/snic/snic_main.c @@ -591,6 +591,7 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (!pool) { SNIC_HOST_ERR(shost, "dflt sgl pool creation failed\n"); + ret = -ENOMEM; goto err_free_res; } @@ -601,6 +602,7 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (!pool) { SNIC_HOST_ERR(shost, "max sgl pool creation failed\n"); + ret = -ENOMEM; goto err_free_dflt_sgl_pool; } @@ -611,6 +613,7 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (!pool) { SNIC_HOST_ERR(shost, "snic tmreq info pool creation failed.\n"); + ret = -ENOMEM; goto err_free_max_sgl_pool; } -- 2.7.4
On 21/12/16 7:15 pm, "Burak Ok" <burak-kernel@bur0k.de> wrote: >If a call to mempool_create_slab_pool() in snic_probe() returns NULL, >return -ENOMEM to indicate failure. mempool_creat_slab_pool() only fails >if >it cannot allocate memory. > >https://bugzilla.kernel.org/show_bug.cgi?id=189061 > >Reported-by: bianpan2010@ruc.edu.cn >Signed-off-by: Burak Ok <burak-kernel@bur0k.de> >Signed-off-by: Andreas Schaertl <andreas.schaertl@fau.de> Acked-by: Narsimhulu Musini <nmusini@cisco.com> >--- > drivers/scsi/snic/snic_main.c | 3 +++ > 1 file changed, 3 insertions(+) > >diff --git a/drivers/scsi/snic/snic_main.c b/drivers/scsi/snic/snic_main.c >index 396b32d..7cf70aa 100644 >--- a/drivers/scsi/snic/snic_main.c >+++ b/drivers/scsi/snic/snic_main.c >@@ -591,6 +591,7 @@ snic_probe(struct pci_dev *pdev, const struct >pci_device_id *ent) > if (!pool) { > SNIC_HOST_ERR(shost, "dflt sgl pool creation failed\n"); > >+ ret = -ENOMEM; > goto err_free_res; > } > >@@ -601,6 +602,7 @@ snic_probe(struct pci_dev *pdev, const struct >pci_device_id *ent) > if (!pool) { > SNIC_HOST_ERR(shost, "max sgl pool creation failed\n"); > >+ ret = -ENOMEM; > goto err_free_dflt_sgl_pool; > } > >@@ -611,6 +613,7 @@ snic_probe(struct pci_dev *pdev, const struct >pci_device_id *ent) > if (!pool) { > SNIC_HOST_ERR(shost, "snic tmreq info pool creation failed.\n"); > >+ ret = -ENOMEM; > goto err_free_max_sgl_pool; > } > >-- >2.7.4 >
On Wed, 2016-12-21 at 14:45 +0100, Burak Ok wrote:
> If a call to mempool_create_slab_pool() in snic_probe() returns NULL,
> return -ENOMEM to indicate failure. mempool_creat_slab_pool() only fails if
> it cannot allocate memory.
>
> https://bugzilla.kernel.org/show_bug.cgi?id=189061
>
> Reported-by: bianpan2010@ruc.edu.cn
> Signed-off-by: Burak Ok <burak-kernel@bur0k.de>
> Signed-off-by: Andreas Schaertl <andreas.schaertl@fau.de>
> ---
> drivers/scsi/snic/snic_main.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/scsi/snic/snic_main.c b/drivers/scsi/snic/snic_main.c
> index 396b32d..7cf70aa 100644
> --- a/drivers/scsi/snic/snic_main.c
> +++ b/drivers/scsi/snic/snic_main.c
> @@ -591,6 +591,7 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> if (!pool) {
> SNIC_HOST_ERR(shost, "dflt sgl pool creation failed\n");
>
> + ret = -ENOMEM;
> goto err_free_res;
> }
>
> @@ -601,6 +602,7 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> if (!pool) {
> SNIC_HOST_ERR(shost, "max sgl pool creation failed\n");
>
> + ret = -ENOMEM;
> goto err_free_dflt_sgl_pool;
> }
>
> @@ -611,6 +613,7 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> if (!pool) {
> SNIC_HOST_ERR(shost, "snic tmreq info pool creation failed.\n");
>
> + ret = -ENOMEM;
> goto err_free_max_sgl_pool;
> }
>
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
>>>>> "Burak" == Burak Ok <burak-kernel@bur0k.de> writes:
Burak> If a call to mempool_create_slab_pool() in snic_probe() returns
Burak> NULL, return -ENOMEM to indicate
Burak> failure. mempool_creat_slab_pool() only fails if it cannot
Burak> allocate memory.
Applied to 4.10/scsi-fixes.
--
Martin K. Petersen Oracle Linux Engineering