Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1719203
| From | Baoquan He <bhe@redhat.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] iommu/amd: Check if domain is NULL before dereference it |
| Date | 2017-08-24 14:50 +0200 |
| Message-ID | <uhZK9-6D7-1@gated-at.bofh.it> (permalink) |
| References | <uhYXL-63x-9@gated-at.bofh.it> <uhZh7-6r5-13@gated-at.bofh.it> <uhZqO-6v9-3@gated-at.bofh.it> <uhZAv-6z1-25@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 08/24/17 at 03:32pm, Dan Carpenter wrote: > Take a look at this code for example. But all the places which call > get_domain() are the same: > > drivers/iommu/amd_iommu.c > 2648 page = virt_to_page(virt_addr); > 2649 size = PAGE_ALIGN(size); > 2650 > 2651 domain = get_domain(dev); > ^^^^^^^^^^^^^^ > imagined get_domain() returns NULL. > > 2652 if (IS_ERR(domain)) > 2653 goto free_mem; > 2654 > 2655 dma_dom = to_dma_ops_domain(domain); > ^^^^^^^^^^^^^^^^^^^^^^^^^ > This will Oops. I see, it's a problem. Thanks for telling! How about below change? But I am not very sure which errno should be picked, seems the latter one, EBUSY is better since it has passed the check_device() checking. diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index 16f1e6af00b0..2d7d04472555 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -2262,6 +2262,9 @@ static struct protection_domain *get_domain(struct device *dev) domain = to_pdomain(io_domain); attach_device(dev, domain); } + if (domain == NULL) + return ERR_PTR(-EBUSY); + if (!dma_ops_domain(domain)) return ERR_PTR(-EBUSY); -- 2.5.5
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] iommu/amd: Check if domain is NULL before dereference it Baoquan He <bhe@redhat.com> - 2017-08-24 14:00 +0200
Re: [PATCH] iommu/amd: Check if domain is NULL before dereference it Dan Carpenter <dan.carpenter@oracle.com> - 2017-08-24 14:20 +0200
Re: [PATCH] iommu/amd: Check if domain is NULL before dereference it Baoquan He <bhe@redhat.com> - 2017-08-24 14:30 +0200
Re: [PATCH] iommu/amd: Check if domain is NULL before dereference it Dan Carpenter <dan.carpenter@oracle.com> - 2017-08-24 14:40 +0200
Re: [PATCH] iommu/amd: Check if domain is NULL before dereference it Baoquan He <bhe@redhat.com> - 2017-08-24 14:50 +0200
Re: [PATCH] iommu/amd: Check if domain is NULL before dereference it Dan Carpenter <dan.carpenter@oracle.com> - 2017-08-24 15:00 +0200
Re: [PATCH] iommu/amd: Check if domain is NULL before dereference it Baoquan He <bhe@redhat.com> - 2017-08-24 15:10 +0200
csiph-web