2017-04-19 17:45:32

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] scsi: osd_uld: fix mismerge

A mismerge between two branches in linux-next reintroduced a warning that was
previously resolved:

drivers/scsi/osd/osd_uld.c: In function 'osd_probe':
drivers/scsi/osd/osd_uld.c:457:2: error: ignoring return value of 'scsi_device_get', declared with attribute warn_unused_result [-Werror=unused-result]

The original fix had more complex error unrolling, but as far as I
can tell, this simpler version is now sufficient.

Fixes: c02465fa13b6 ("scsi: osd_uld: Check scsi_device_get() return value")
Fixes: ac1ddc584e98 ("scsi: utilize new cdev_device_add helper function")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/scsi/osd/osd_uld.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/osd/osd_uld.c b/drivers/scsi/osd/osd_uld.c
index 8b9941a5687a..0e56f1eb05dc 100644
--- a/drivers/scsi/osd/osd_uld.c
+++ b/drivers/scsi/osd/osd_uld.c
@@ -454,7 +454,8 @@ static int osd_probe(struct device *dev)
/* hold one more reference to the scsi_device that will get released
* in __release, in case a logout is happening while fs is mounted
*/
- scsi_device_get(scsi_device);
+ if (scsi_device_get(scsi_device))
+ goto err_retract_minor;
osd_dev_init(&oud->od, scsi_device);

/* allocate a disk and set it up */
--
2.9.0


2017-04-19 17:46:50

by Bart Van Assche

[permalink] [raw]
Subject: Re: [PATCH] scsi: osd_uld: fix mismerge

On Wed, 2017-04-19 at 19:44 +0200, Arnd Bergmann wrote:
> Fixes: c02465fa13b6 ("scsi: osd_uld: Check scsi_device_get() return value")
> Fixes: ac1ddc584e98 ("scsi: utilize new cdev_device_add helper function")

Hello Arnd,

Both these patches are fine as far as I can tell. Shouldn't the
"Fixes" tag refer to the merge commit instead of to the commits
that have been merged?

Bart.

2017-04-19 23:26:23

by Stephen Rothwell

[permalink] [raw]
Subject: Re: [PATCH] scsi: osd_uld: fix mismerge

Hi Arnd,

On Wed, 19 Apr 2017 19:44:01 +0200 Arnd Bergmann <[email protected]> wrote:
>
> A mismerge between two branches in linux-next reintroduced a warning that was
> previously resolved:
>
> drivers/scsi/osd/osd_uld.c: In function 'osd_probe':
> drivers/scsi/osd/osd_uld.c:457:2: error: ignoring return value of 'scsi_device_get', declared with attribute warn_unused_result [-Werror=unused-result]
>
> The original fix had more complex error unrolling, but as far as I
> can tell, this simpler version is now sufficient.
>
> Fixes: c02465fa13b6 ("scsi: osd_uld: Check scsi_device_get() return value")
> Fixes: ac1ddc584e98 ("scsi: utilize new cdev_device_add helper function")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/scsi/osd/osd_uld.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/osd/osd_uld.c b/drivers/scsi/osd/osd_uld.c
> index 8b9941a5687a..0e56f1eb05dc 100644
> --- a/drivers/scsi/osd/osd_uld.c
> +++ b/drivers/scsi/osd/osd_uld.c
> @@ -454,7 +454,8 @@ static int osd_probe(struct device *dev)
> /* hold one more reference to the scsi_device that will get released
> * in __release, in case a logout is happening while fs is mounted
> */
> - scsi_device_get(scsi_device);
> + if (scsi_device_get(scsi_device))
> + goto err_retract_minor;
> osd_dev_init(&oud->od, scsi_device);
>
> /* allocate a disk and set it up */

I will add this as a merge fix patch for the merge of the char-misc and
scsi trees today. Someone needs to let Linus know when these trees are
merged.

--
Cheers,
Stephen Rothwell

2017-04-19 23:29:30

by Stephen Rothwell

[permalink] [raw]
Subject: Re: [PATCH] scsi: osd_uld: fix mismerge

Hi Bart,

On Wed, 19 Apr 2017 17:46:43 +0000 Bart Van Assche <[email protected]> wrote:
>
> On Wed, 2017-04-19 at 19:44 +0200, Arnd Bergmann wrote:
> > Fixes: c02465fa13b6 ("scsi: osd_uld: Check scsi_device_get() return value")
> > Fixes: ac1ddc584e98 ("scsi: utilize new cdev_device_add helper function")
>
> Both these patches are fine as far as I can tell. Shouldn't the
> "Fixes" tag refer to the merge commit instead of to the commits
> that have been merged?

Unfortunately, the merge commit is redone every day and will be redone
by Linus during the merge window. This fix should be incorporated into
the merge commit itself. I should have done it originally, but the
conflict was such a mess that I took the easy way out :-)
--
Cheers,
Stephen Rothwell