* [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 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.