]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: sg: fix minor memory leak in error path
authorTony Battersby <tonyb@cybernetics.com>
Thu, 12 Jul 2018 20:30:45 +0000 (16:30 -0400)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 11 Jun 2020 18:05:51 +0000 (19:05 +0100)
commit c170e5a8d222537e98aa8d4fddb667ff7a2ee114 upstream.

Fix a minor memory leak when there is an error opening a /dev/sg device.

Fixes: cc833acbee9d ("sg: O_EXCL and other lock handling")
Cc: <stable@vger.kernel.org>
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/scsi/sg.c

index 38c575bb4c2022dee1daf85c21da8c3f19900d3c..614c529d4e5174c7174828e7f02b02b02a257bec 100644 (file)
@@ -2168,6 +2168,7 @@ sg_add_sfp(Sg_device * sdp, int dev)
        write_lock_irqsave(&sdp->sfd_lock, iflags);
        if (atomic_read(&sdp->detaching)) {
                write_unlock_irqrestore(&sdp->sfd_lock, iflags);
+               kfree(sfp);
                return ERR_PTR(-ENODEV);
        }
        list_add_tail(&sfp->sfd_siblings, &sdp->sfds);