From: "Jörn Engel" <joern@logfs.org>
To: Vaughan Cao <vaughan.cao@oracle.com>
Cc: dgilbert@interlog.com, JBottomley@parallels.com,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 3/4] [SCSI] sg: checking sdp->detached isn't protected when open
Date: Fri, 19 Jul 2013 17:24:32 -0400 [thread overview]
Message-ID: <20130719212432.GC29404@logfs.org> (raw)
In-Reply-To: <1374075246-22923-4-git-send-email-vaughan.cao@oracle.com>
On Wed, 17 July 2013 23:34:05 +0800, Vaughan Cao wrote:
>
> -static Sg_fd *sg_add_sfp(Sg_device * sdp, int dev);
> +static Sg_fd *sg_add_sfp(Sg_device * sdp, int dev, int * reason);
You can use ERR_PTR and friends instead of adding another parameter.
> static void sg_remove_sfp(struct kref *);
> static Sg_request *sg_get_rq_mark(Sg_fd * sfp, int pack_id);
> static Sg_request *sg_add_request(Sg_fd * sfp);
> @@ -295,21 +295,14 @@ sg_open(struct inode *inode, struct file *filp)
> if (flags & O_EXCL)
> sdp->exclude = 1; /* used by release lock */
>
> - if (sdp->detached) {
> - retval = -ENODEV;
> - goto sem_out;
> - }
> if (sfds_list_empty(sdp)) { /* no existing opens on this device */
> sdp->sgdebug = 0;
> q = sdp->device->request_queue;
> sdp->sg_tablesize = queue_max_segments(q);
> }
> - if ((sfp = sg_add_sfp(sdp, dev)))
> - filp->private_data = sfp;
> - else {
> - retval = -ENOMEM;
> + if (!(sfp = sg_add_sfp(sdp, dev, &retval)))
> goto sem_out;
> - }
sfp = sg_add_sfp(sdp, dev);
if (IS_ERR(sfp)) {
retval = PTR_ERR(sfp);
goto sem_out;
}
> + filp->private_data = sfp;
> retval = 0;
>
> if (retval) {
> @@ -2047,15 +2040,18 @@ sg_remove_request(Sg_fd * sfp, Sg_request * srp)
> }
>
> static Sg_fd *
> -sg_add_sfp(Sg_device * sdp, int dev)
> +sg_add_sfp(Sg_device * sdp, int dev, int * reason)
> {
> Sg_fd *sfp;
> unsigned long iflags;
> int bufflen;
>
> sfp = kzalloc(sizeof(*sfp), GFP_ATOMIC | __GFP_NOWARN);
> - if (!sfp)
> + if (!sfp) {
> + if (reason)
> + *reason = -ENOMEM;
> return NULL;
> + }
if (!sfp)
return ERR_PTR(-ENOMEM);
Jörn
--
Luck is when opportunity meets good preparation.
-- Chinese proverb
next prev parent reply other threads:[~2013-07-19 21:24 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-05 9:18 [PATCH] sg: atomize check and set sdp->exclude in sg_open vaughan
2013-06-05 13:27 ` Jörn Engel
2013-06-05 16:16 ` vaughan
2013-06-05 15:41 ` Jörn Engel
2013-06-06 7:19 ` vaughan
2013-06-06 7:29 ` vaughan
2013-06-06 7:29 ` vaughan
2013-06-17 13:10 ` [PATCH v2 1/1] [SCSI] sg: fix race condition when do exclusive open vaughan
2013-06-26 1:37 ` vaughan
2013-07-05 1:59 ` vaughan
2013-07-05 1:59 ` vaughan
2013-07-05 17:39 ` Jörn Engel
2013-07-05 17:39 ` Jörn Engel
2013-07-06 17:24 ` vaughan
2013-07-07 19:53 ` [PATCH v3 " vaughan
2013-07-15 20:37 ` Jörn Engel
2013-07-17 15:34 ` [PATCH v4 0/4] [SCSI] sg: fix race condition in sg_open Vaughan Cao
2013-07-17 15:34 ` [PATCH v4 1/4] [SCSI] sg: use rwsem to solve race during exclusive open Vaughan Cao
2013-07-19 21:19 ` Jörn Engel
2013-07-19 21:19 ` Jörn Engel
2013-07-17 15:34 ` [PATCH v4 2/4] [SCSI] sg: no need sg_open_exclusive_lock Vaughan Cao
2013-07-19 21:19 ` Jörn Engel
2013-07-17 15:34 ` [PATCH v4 3/4] [SCSI] sg: checking sdp->detached isn't protected when open Vaughan Cao
2013-07-19 21:24 ` Jörn Engel [this message]
2013-07-22 3:39 ` [PATCH v5 " Vaughan Cao
[not found] ` <CAMvaAQnFy0WiXHaNtAB1KPLK-7yj1AHh=_Pw4MBm0=_ecpoAoQ@mail.gmail.com>
2013-07-22 16:52 ` [PATCH v4 " Jörn Engel
2013-07-17 15:34 ` [PATCH v4 4/4] [SCSI] sg: push file descriptor list locking down to per-device locking Vaughan Cao
2013-07-19 21:26 ` Jörn Engel
2013-07-22 3:41 ` [PATCH v5 " Vaughan Cao
2013-07-22 4:40 ` [PATCH v5 0/4] [SCSI] sg: fix race condition in sg_open Vaughan Cao
2013-07-22 4:40 ` [PATCH v5 1/4] [SCSI] sg: use rwsem to solve race during exclusive open Vaughan Cao
2013-08-28 4:00 ` James Bottomley
2013-08-28 10:07 ` [PATCH v6 0/4][SCSI] sg: fix race condition in sg_open Vaughan Cao
2013-08-28 10:07 ` [PATCH v6 1/4] sg: use rwsem to solve race during exclusive open Vaughan Cao
2013-08-28 10:26 ` James Bottomley
2013-08-29 2:00 ` [PATCH v7 0/4][SCSI] sg: fix race condition in sg_open Vaughan Cao
2013-08-29 2:00 ` [PATCH v7 1/4] sg: use rwsem to solve race during exclusive open Vaughan Cao
2013-08-29 2:00 ` [PATCH v7 2/4] sg: no need sg_open_exclusive_lock Vaughan Cao
2013-08-29 2:00 ` [PATCH v7 3/4] sg: checking sdp->detached isn't protected when open Vaughan Cao
2013-08-29 2:00 ` [PATCH v7 4/4] sg: push file descriptor list locking down to per-device locking Vaughan Cao
2013-08-28 10:07 ` [PATCH v6 2/4] sg: no need sg_open_exclusive_lock Vaughan Cao
2013-08-28 10:07 ` [PATCH v6 3/4] sg: checking sdp->detached isn't protected when open Vaughan Cao
2013-08-28 10:07 ` [PATCH v6 4/4] sg: push file descriptor list locking down to per-device locking Vaughan Cao
2013-07-22 4:40 ` [PATCH v5 2/4] [SCSI] sg: no need sg_open_exclusive_lock Vaughan Cao
2013-07-22 4:40 ` [PATCH v5 3/4] [SCSI] sg: checking sdp->detached isn't protected when open Vaughan Cao
2013-07-22 4:40 ` [PATCH v5 4/4] [SCSI] sg: push file descriptor list locking down to per-device locking Vaughan Cao
2013-07-22 17:03 ` [PATCH v5 0/4] [SCSI] sg: fix race condition in sg_open Jörn Engel
2013-07-22 17:03 ` Jörn Engel
2013-07-25 15:32 ` vaughan
2013-07-25 15:32 ` vaughan
2013-07-25 20:33 ` Douglas Gilbert
2013-07-25 20:33 ` Douglas Gilbert
2013-07-31 4:40 ` vaughan
2013-08-01 5:01 ` Douglas Gilbert
2013-08-03 5:25 ` Douglas Gilbert
2013-08-05 2:19 ` vaughan
2013-08-05 20:52 ` Douglas Gilbert
2013-08-05 20:52 ` Douglas Gilbert
2013-08-13 2:46 ` vaughan
2013-08-13 3:16 ` Douglas Gilbert
2013-08-27 8:16 ` vaughan
2013-08-27 13:13 ` Douglas Gilbert
2013-08-28 1:50 ` vaughan
2013-07-15 17:25 ` [PATCH v2 1/1] [SCSI] sg: fix race condition when do exclusive open Jörn Engel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130719212432.GC29404@logfs.org \
--to=joern@logfs.org \
--cc=JBottomley@parallels.com \
--cc=dgilbert@interlog.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=vaughan.cao@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.