All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: iommu@lists.linux-foundation.org
Cc: linux-kernel@vger.kernel.org, Joerg Roedel <joro@8bytes.org>,
	tglx@linutronix.de,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Baoquan He <bhe@redhat.com>
Subject: [PATCH 01/10] iommu/amd: take into account that alloc_dev_data() may return NULL
Date: Fri, 23 Feb 2018 23:27:27 +0100	[thread overview]
Message-ID: <20180223222736.18542-2-bigeasy@linutronix.de> (raw)
In-Reply-To: <20180223222736.18542-1-bigeasy@linutronix.de>

find_dev_data() does not check whether the return value alloc_dev_data()
is NULL. This was okay once because the pointer was returned once as-is.
Since commit df3f7a6e8e85 ("iommu/amd: Use is_attach_deferred
call-back") the pointer may be used within find_dev_data() so a NULL
check is required.

Cc: Baoquan He <bhe@redhat.com>
Fixes: df3f7a6e8e85 ("iommu/amd: Use is_attach_deferred call-back")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 drivers/iommu/amd_iommu.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 74788fdeb773..8b591c192daf 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -310,6 +310,8 @@ static struct iommu_dev_data *find_dev_data(u16 devid)
 
 	if (dev_data == NULL) {
 		dev_data = alloc_dev_data(devid);
+		if (!dev_data)
+			return NULL;
 
 		if (translation_pre_enabled(iommu))
 			dev_data->defer_attach = true;
-- 
2.16.1

WARNING: multiple messages have this Message-ID (diff)
From: Sebastian Andrzej Siewior <bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Cc: tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Sebastian Andrzej Siewior
	<bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
Subject: [PATCH 01/10] iommu/amd: take into account that alloc_dev_data() may return NULL
Date: Fri, 23 Feb 2018 23:27:27 +0100	[thread overview]
Message-ID: <20180223222736.18542-2-bigeasy@linutronix.de> (raw)
In-Reply-To: <20180223222736.18542-1-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>

find_dev_data() does not check whether the return value alloc_dev_data()
is NULL. This was okay once because the pointer was returned once as-is.
Since commit df3f7a6e8e85 ("iommu/amd: Use is_attach_deferred
call-back") the pointer may be used within find_dev_data() so a NULL
check is required.

Cc: Baoquan He <bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Fixes: df3f7a6e8e85 ("iommu/amd: Use is_attach_deferred call-back")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
---
 drivers/iommu/amd_iommu.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 74788fdeb773..8b591c192daf 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -310,6 +310,8 @@ static struct iommu_dev_data *find_dev_data(u16 devid)
 
 	if (dev_data == NULL) {
 		dev_data = alloc_dev_data(devid);
+		if (!dev_data)
+			return NULL;
 
 		if (translation_pre_enabled(iommu))
 			dev_data->defer_attach = true;
-- 
2.16.1

  reply	other threads:[~2018-02-23 22:28 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-23 22:27 iommu/amd: lock splitting & GFP_KERNEL allocation Sebastian Andrzej Siewior
2018-02-23 22:27 ` Sebastian Andrzej Siewior
2018-02-23 22:27 ` Sebastian Andrzej Siewior [this message]
2018-02-23 22:27   ` [PATCH 01/10] iommu/amd: take into account that alloc_dev_data() may return NULL Sebastian Andrzej Siewior
2018-02-23 22:27 ` [PATCH 02/10] iommu/amd: turn dev_data_list into a lock less list Sebastian Andrzej Siewior
2018-02-23 22:27   ` Sebastian Andrzej Siewior
2018-02-23 22:27 ` [PATCH 03/10] iommu/amd: split domain id out of amd_iommu_devtable_lock Sebastian Andrzej Siewior
2018-02-23 22:27   ` Sebastian Andrzej Siewior
2018-02-23 22:27 ` [PATCH 04/10] iommu/amd: split irq_lookup_table out of the amd_iommu_devtable_lock Sebastian Andrzej Siewior
2018-02-23 22:27   ` Sebastian Andrzej Siewior
2018-03-15 12:54   ` Joerg Roedel
2018-03-15 12:54     ` Joerg Roedel
2018-02-23 22:27 ` [PATCH 05/10] iommu/amd: remove the special case from get_irq_table() Sebastian Andrzej Siewior
2018-02-23 22:27   ` Sebastian Andrzej Siewior
2018-03-15 12:53   ` Joerg Roedel
2018-03-15 13:01     ` Sebastian Andrzej Siewior
2018-03-15 13:01       ` Sebastian Andrzej Siewior
2018-03-15 13:07       ` Joerg Roedel
2018-03-15 13:07         ` Joerg Roedel
2018-03-15 14:15         ` Sebastian Andrzej Siewior
2018-03-15 14:15           ` Sebastian Andrzej Siewior
2018-03-15 15:19           ` Joerg Roedel
2018-03-15 15:19             ` Joerg Roedel
2018-03-15 15:25             ` Sebastian Andrzej Siewior
2018-03-15 15:25               ` Sebastian Andrzej Siewior
2018-02-23 22:27 ` [PATCH 06/10] iommu/amd: use `table' instead `irt' as variable name in amd_iommu_update_ga() Sebastian Andrzej Siewior
2018-02-23 22:27   ` Sebastian Andrzej Siewior
2018-02-23 22:27 ` [PATCH 07/10] iommu/amd: factor out setting the remap table for a devid Sebastian Andrzej Siewior
2018-02-23 22:27   ` Sebastian Andrzej Siewior
2018-02-23 22:27 ` [PATCH 08/10] iommu/amd: drop the lock while allocating new irq remap table Sebastian Andrzej Siewior
2018-02-23 22:27   ` Sebastian Andrzej Siewior
2018-03-15 12:58   ` Joerg Roedel
2018-03-15 12:58     ` Joerg Roedel
2018-02-23 22:27 ` [PATCH 09/10] iommu/amd: declare irq_remap_table's and amd_iommu's lock as a raw_spin_lock Sebastian Andrzej Siewior
2018-02-23 22:27   ` Sebastian Andrzej Siewior
2018-02-23 22:27 ` [PATCH 10/10] iommu/amd: make amd_iommu_devtable_lock a spin_lock Sebastian Andrzej Siewior
2018-02-23 22:27   ` Sebastian Andrzej Siewior
2018-03-15 13:01 ` iommu/amd: lock splitting & GFP_KERNEL allocation Joerg Roedel
2018-03-15 13:01   ` Joerg Roedel
2018-03-16 20:18 [PATCH 00/10 v2] " Sebastian Andrzej Siewior
2018-03-16 20:18 ` [PATCH 01/10] iommu/amd: take into account that alloc_dev_data() may return NULL Sebastian Andrzej Siewior
2018-03-16 20:18   ` Sebastian Andrzej Siewior
2018-03-22 15:22 [PATCH 00/10 v3] iommu/amd: lock splitting & GFP_KERNEL allocation Sebastian Andrzej Siewior
2018-03-22 15:22 ` [PATCH 01/10] iommu/amd: take into account that alloc_dev_data() may return NULL Sebastian Andrzej Siewior
2018-03-22 15:22   ` Sebastian Andrzej Siewior

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=20180223222736.18542-2-bigeasy@linutronix.de \
    --to=bigeasy@linutronix.de \
    --cc=bhe@redhat.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /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.