* [PATCH 0/3] more patches for FPGA
@ 2017-11-15 22:33 Alan Tull
2017-11-15 22:33 ` [PATCH 1/3] fpga: fpga-mgr: remove unnecessary code in __fpga_mgr_get Alan Tull
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Alan Tull @ 2017-11-15 22:33 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Moritz Fischer, Alan Tull, linux-kernel, linux-fpga
Hi Greg,
Please take these three patches for FPGA. They go on top of my
"[PATCH v6 00/18] patches for FPGA" patch set I sent earlier
today. Sorry I didn't think of sending them all together at the
time.
These are fixes for FPGA that have been reviewed on
the mailing list.
I had to rebase the "fpga: region: release of_parse_phandle nodes
after use" patch to apply on top of my patchset.
Alan
Gustavo A. R. Silva (2):
fpga: fpga-mgr: remove unnecessary code in __fpga_mgr_get
fpga: fpga-bridge: remove unnecessary null check in of_fpga_bridge_get
Ian Abbott (1):
fpga: region: release of_parse_phandle nodes after use
drivers/fpga/fpga-bridge.c | 2 --
drivers/fpga/fpga-mgr.c | 2 --
drivers/fpga/of-fpga-region.c | 13 ++++++++++---
3 files changed, 10 insertions(+), 7 deletions(-)
--
2.7.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/3] fpga: fpga-mgr: remove unnecessary code in __fpga_mgr_get
2017-11-15 22:33 [PATCH 0/3] more patches for FPGA Alan Tull
@ 2017-11-15 22:33 ` Alan Tull
2017-11-15 22:33 ` [PATCH 2/3] fpga: fpga-bridge: remove unnecessary null check in of_fpga_bridge_get Alan Tull
2017-11-15 22:33 ` [PATCH 3/3] fpga: region: release of_parse_phandle nodes after use Alan Tull
2 siblings, 0 replies; 4+ messages in thread
From: Alan Tull @ 2017-11-15 22:33 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Moritz Fischer, Alan Tull, linux-kernel, linux-fpga,
Gustavo A. R. Silva
From: "Gustavo A. R. Silva" <garsilva@embeddedor.com>
Notice that mgr = to_fpga_manager(dev); expands to:
mgr = container_of(dev, struct fpga_manager, dev);
and container_of is never null, so this null check is
unnecessary.
Addresses-Coverity-ID: 1397916
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: Alan Tull <atull@kernel.org>
---
drivers/fpga/fpga-mgr.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/fpga/fpga-mgr.c b/drivers/fpga/fpga-mgr.c
index 1fd5494..0b7664d 100644
--- a/drivers/fpga/fpga-mgr.c
+++ b/drivers/fpga/fpga-mgr.c
@@ -412,8 +412,6 @@ static struct fpga_manager *__fpga_mgr_get(struct device *dev)
struct fpga_manager *mgr;
mgr = to_fpga_manager(dev);
- if (!mgr)
- goto err_dev;
if (!try_module_get(dev->parent->driver->owner))
goto err_dev;
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] fpga: fpga-bridge: remove unnecessary null check in of_fpga_bridge_get
2017-11-15 22:33 [PATCH 0/3] more patches for FPGA Alan Tull
2017-11-15 22:33 ` [PATCH 1/3] fpga: fpga-mgr: remove unnecessary code in __fpga_mgr_get Alan Tull
@ 2017-11-15 22:33 ` Alan Tull
2017-11-15 22:33 ` [PATCH 3/3] fpga: region: release of_parse_phandle nodes after use Alan Tull
2 siblings, 0 replies; 4+ messages in thread
From: Alan Tull @ 2017-11-15 22:33 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Moritz Fischer, Alan Tull, linux-kernel, linux-fpga,
Gustavo A. R. Silva
From: "Gustavo A. R. Silva" <garsilva@embeddedor.com>
Notice that bridge = to_fpga_bridge(dev); expands to:
bridge = container_of(dev, struct fpga_bridge, dev);
and container_of is never null, so this null check is
unnecessary.
Addresses-Coverity-ID: 1397912
Reported-by: Alan Tull <atull@kernel.org>
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Reviewed-by: Moritz Fischer <mdf@kernel.org>
Signed-off-by: Alan Tull <atull@kernel.org>
---
drivers/fpga/fpga-bridge.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/fpga/fpga-bridge.c b/drivers/fpga/fpga-bridge.c
index 4c48dd6..038b10b 100644
--- a/drivers/fpga/fpga-bridge.c
+++ b/drivers/fpga/fpga-bridge.c
@@ -78,8 +78,6 @@ static struct fpga_bridge *__fpga_bridge_get(struct device *dev,
int ret = -ENODEV;
bridge = to_fpga_bridge(dev);
- if (!bridge)
- goto err_dev;
bridge->info = info;
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] fpga: region: release of_parse_phandle nodes after use
2017-11-15 22:33 [PATCH 0/3] more patches for FPGA Alan Tull
2017-11-15 22:33 ` [PATCH 1/3] fpga: fpga-mgr: remove unnecessary code in __fpga_mgr_get Alan Tull
2017-11-15 22:33 ` [PATCH 2/3] fpga: fpga-bridge: remove unnecessary null check in of_fpga_bridge_get Alan Tull
@ 2017-11-15 22:33 ` Alan Tull
2 siblings, 0 replies; 4+ messages in thread
From: Alan Tull @ 2017-11-15 22:33 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Moritz Fischer, Alan Tull, linux-kernel, linux-fpga, Ian Abbott,
# 4 . 10+
From: Ian Abbott <abbotti@mev.co.uk>
Both fpga_region_get_manager() and fpga_region_get_bridges() call
of_parse_phandle(), but nothing calls of_node_put() on the returned
struct device_node pointers. Make sure to do that to stop their
reference counters getting out of whack.
Fixes: 0fa20cdfcc1f ("fpga: fpga-region: device tree control for FPGA")
Cc: <stable@vger.kernel.org> # 4.10+
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Alan Tull <atull@kernel.org>
---
drivers/fpga/of-fpga-region.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/fpga/of-fpga-region.c b/drivers/fpga/of-fpga-region.c
index a0c13cb..7dfaa95 100644
--- a/drivers/fpga/of-fpga-region.c
+++ b/drivers/fpga/of-fpga-region.c
@@ -73,6 +73,7 @@ static struct fpga_manager *of_fpga_region_get_mgr(struct device_node *np)
mgr_node = of_parse_phandle(np, "fpga-mgr", 0);
if (mgr_node) {
mgr = of_fpga_mgr_get(mgr_node);
+ of_node_put(mgr_node);
of_node_put(np);
return mgr;
}
@@ -120,10 +121,13 @@ static int of_fpga_region_get_bridges(struct fpga_region *region)
parent_br = region_np->parent;
/* If overlay has a list of bridges, use it. */
- if (of_parse_phandle(info->overlay, "fpga-bridges", 0))
+ br = of_parse_phandle(info->overlay, "fpga-bridges", 0);
+ if (br) {
+ of_node_put(br);
np = info->overlay;
- else
+ } else {
np = region_np;
+ }
for (i = 0; ; i++) {
br = of_parse_phandle(np, "fpga-bridges", i);
@@ -131,12 +135,15 @@ static int of_fpga_region_get_bridges(struct fpga_region *region)
break;
/* If parent bridge is in list, skip it. */
- if (br == parent_br)
+ if (br == parent_br) {
+ of_node_put(br);
continue;
+ }
/* If node is a bridge, get it and add to list */
ret = of_fpga_bridge_get_to_list(br, info,
®ion->bridge_list);
+ of_node_put(br);
/* If any of the bridges are in use, give up */
if (ret == -EBUSY) {
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-11-15 22:33 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-15 22:33 [PATCH 0/3] more patches for FPGA Alan Tull
2017-11-15 22:33 ` [PATCH 1/3] fpga: fpga-mgr: remove unnecessary code in __fpga_mgr_get Alan Tull
2017-11-15 22:33 ` [PATCH 2/3] fpga: fpga-bridge: remove unnecessary null check in of_fpga_bridge_get Alan Tull
2017-11-15 22:33 ` [PATCH 3/3] fpga: region: release of_parse_phandle nodes after use Alan Tull
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).