* [PATCH 0/5] fix error return code
@ 2012-08-14 6:47 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 6:47 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: kernel-janitors, linux-kernel
These patches fix cases where the return code appears to be unintentially 0.
The complete semantic match that finds the problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@r@
identifier f;
expression ret,e;
constant C;
@@
f(...) { <+...
(
return -C;
|
ret = -C
... when != ret = e
return ret;
|
if (ret < 0) { ... return ret; }
)
...+> }
@s@
identifier r.f,ret;
@@
f(...) { <+... return ret; ...+> }
@@
identifier r.f,s.ret;
expression e,e1,e2,e3,e4,x;
@@
f(...) { <+...
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
...+> }
// </smpl>
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 0/5] fix error return code
@ 2012-08-14 6:47 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 6:47 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: kernel-janitors, linux-kernel
These patches fix cases where the return code appears to be unintentially 0.
The complete semantic match that finds the problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@r@
identifier f;
expression ret,e;
constant C;
@@
f(...) { <+...
(
return -C;
|
ret = -C
... when != ret = e
return ret;
|
if (ret < 0) { ... return ret; }
)
...+> }
@s@
identifier r.f,ret;
@@
f(...) { <+... return ret; ...+> }
@@
identifier r.f,s.ret;
expression e,e1,e2,e3,e4,x;
@@
f(...) { <+...
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x = NULL || ...)
{
... when != ret = e4
* return ret;
}
...+> }
// </smpl>
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 1/5] drivers/usb/gadget/s3c-hsotg.c: fix error return code
2012-08-14 6:47 ` Julia Lawall
@ 2012-08-14 6:47 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 6:47 UTC (permalink / raw)
To: Felipe Balbi; +Cc: kernel-janitors, Greg Kroah-Hartman, linux-usb, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/usb/gadget/s3c-hsotg.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
index b13e0bb..0bb617e 100644
--- a/drivers/usb/gadget/s3c-hsotg.c
+++ b/drivers/usb/gadget/s3c-hsotg.c
@@ -3599,6 +3599,7 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
if (hsotg->num_of_eps == 0) {
dev_err(dev, "wrong number of EPs (zero)\n");
+ ret = -EINVAL;
goto err_supplies;
}
@@ -3606,6 +3607,7 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
GFP_KERNEL);
if (!eps) {
dev_err(dev, "cannot get memory\n");
+ ret = -ENOMEM;
goto err_supplies;
}
@@ -3622,6 +3624,7 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
GFP_KERNEL);
if (!hsotg->ctrl_req) {
dev_err(dev, "failed to allocate ctrl req\n");
+ ret = -ENOMEM;
goto err_ep_mem;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 1/5] drivers/usb/gadget/s3c-hsotg.c: fix error return code
@ 2012-08-14 6:47 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 6:47 UTC (permalink / raw)
To: Felipe Balbi; +Cc: kernel-janitors, Greg Kroah-Hartman, linux-usb, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x = NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/usb/gadget/s3c-hsotg.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
index b13e0bb..0bb617e 100644
--- a/drivers/usb/gadget/s3c-hsotg.c
+++ b/drivers/usb/gadget/s3c-hsotg.c
@@ -3599,6 +3599,7 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
if (hsotg->num_of_eps = 0) {
dev_err(dev, "wrong number of EPs (zero)\n");
+ ret = -EINVAL;
goto err_supplies;
}
@@ -3606,6 +3607,7 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
GFP_KERNEL);
if (!eps) {
dev_err(dev, "cannot get memory\n");
+ ret = -ENOMEM;
goto err_supplies;
}
@@ -3622,6 +3624,7 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
GFP_KERNEL);
if (!hsotg->ctrl_req) {
dev_err(dev, "failed to allocate ctrl req\n");
+ ret = -ENOMEM;
goto err_ep_mem;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 2/5] drivers/tty/moxa.c: fix error return code
2012-08-14 6:47 ` Julia Lawall
@ 2012-08-14 6:47 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 6:47 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: kernel-janitors, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/tty/moxa.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
index 89cc934..8b510c5 100644
--- a/drivers/tty/moxa.c
+++ b/drivers/tty/moxa.c
@@ -967,6 +967,7 @@ static int __devinit moxa_pci_probe(struct pci_dev *pdev,
board->basemem = ioremap_nocache(pci_resource_start(pdev, 2), 0x4000);
if (board->basemem == NULL) {
dev_err(&pdev->dev, "can't remap io space 2\n");
+ retval = -ENOMEM;
goto err_reg;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 2/5] drivers/tty/moxa.c: fix error return code
@ 2012-08-14 6:47 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 6:47 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: kernel-janitors, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x = NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/tty/moxa.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
index 89cc934..8b510c5 100644
--- a/drivers/tty/moxa.c
+++ b/drivers/tty/moxa.c
@@ -967,6 +967,7 @@ static int __devinit moxa_pci_probe(struct pci_dev *pdev,
board->basemem = ioremap_nocache(pci_resource_start(pdev, 2), 0x4000);
if (board->basemem = NULL) {
dev_err(&pdev->dev, "can't remap io space 2\n");
+ retval = -ENOMEM;
goto err_reg;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 3/5] drivers/usb/wusbcore/wa-hc.c: fix error return code
2012-08-14 6:47 ` Julia Lawall
@ 2012-08-14 6:47 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 6:47 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: kernel-janitors, linux-usb, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/usb/wusbcore/wa-hc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/wusbcore/wa-hc.c b/drivers/usb/wusbcore/wa-hc.c
index 9e4a924..a09b65e 100644
--- a/drivers/usb/wusbcore/wa-hc.c
+++ b/drivers/usb/wusbcore/wa-hc.c
@@ -46,8 +46,10 @@ int wa_create(struct wahc *wa, struct usb_interface *iface)
wa->dto_epd = &iface->cur_altsetting->endpoint[2].desc;
wa->xfer_result_size = usb_endpoint_maxp(wa->dti_epd);
wa->xfer_result = kmalloc(wa->xfer_result_size, GFP_KERNEL);
- if (wa->xfer_result == NULL)
+ if (wa->xfer_result == NULL) {
+ result = -ENOMEM;
goto error_xfer_result_alloc;
+ }
result = wa_nep_create(wa, iface);
if (result < 0) {
dev_err(dev, "WA-CDS: can't initialize notif endpoint: %d\n",
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 3/5] drivers/usb/wusbcore/wa-hc.c: fix error return code
@ 2012-08-14 6:47 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 6:47 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: kernel-janitors, linux-usb, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x = NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/usb/wusbcore/wa-hc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/wusbcore/wa-hc.c b/drivers/usb/wusbcore/wa-hc.c
index 9e4a924..a09b65e 100644
--- a/drivers/usb/wusbcore/wa-hc.c
+++ b/drivers/usb/wusbcore/wa-hc.c
@@ -46,8 +46,10 @@ int wa_create(struct wahc *wa, struct usb_interface *iface)
wa->dto_epd = &iface->cur_altsetting->endpoint[2].desc;
wa->xfer_result_size = usb_endpoint_maxp(wa->dti_epd);
wa->xfer_result = kmalloc(wa->xfer_result_size, GFP_KERNEL);
- if (wa->xfer_result = NULL)
+ if (wa->xfer_result = NULL) {
+ result = -ENOMEM;
goto error_xfer_result_alloc;
+ }
result = wa_nep_create(wa, iface);
if (result < 0) {
dev_err(dev, "WA-CDS: can't initialize notif endpoint: %d\n",
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 4/5] drivers/usb/host/ohci-platform.c: fix error return code
2012-08-14 6:47 ` Julia Lawall
@ 2012-08-14 6:47 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 6:47 UTC (permalink / raw)
To: Alan Stern; +Cc: kernel-janitors, Greg Kroah-Hartman, linux-usb, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a possibly 0 error return code to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/usb/host/ohci-platform.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
index 10d85b9..e24ec9f 100644
--- a/drivers/usb/host/ohci-platform.c
+++ b/drivers/usb/host/ohci-platform.c
@@ -130,8 +130,10 @@ static int __devinit ohci_platform_probe(struct platform_device *dev)
}
hcd->regs = ioremap_nocache(hcd->rsrc_start, hcd->rsrc_len);
- if (!hcd->regs)
+ if (!hcd->regs) {
+ err = -ENOMEM;
goto err_release_region;
+ }
err = usb_add_hcd(hcd, irq, IRQF_SHARED);
if (err)
goto err_iounmap;
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 4/5] drivers/usb/host/ohci-platform.c: fix error return code
@ 2012-08-14 6:47 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 6:47 UTC (permalink / raw)
To: Alan Stern; +Cc: kernel-janitors, Greg Kroah-Hartman, linux-usb, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a possibly 0 error return code to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x = NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/usb/host/ohci-platform.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
index 10d85b9..e24ec9f 100644
--- a/drivers/usb/host/ohci-platform.c
+++ b/drivers/usb/host/ohci-platform.c
@@ -130,8 +130,10 @@ static int __devinit ohci_platform_probe(struct platform_device *dev)
}
hcd->regs = ioremap_nocache(hcd->rsrc_start, hcd->rsrc_len);
- if (!hcd->regs)
+ if (!hcd->regs) {
+ err = -ENOMEM;
goto err_release_region;
+ }
err = usb_add_hcd(hcd, irq, IRQF_SHARED);
if (err)
goto err_iounmap;
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 5/5] drivers/usb/host/ehci-platform.c: fix error return code
2012-08-14 6:47 ` Julia Lawall
@ 2012-08-14 6:47 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 6:47 UTC (permalink / raw)
To: Alan Stern; +Cc: kernel-janitors, Greg Kroah-Hartman, linux-usb, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a possibly 0 error return code to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/usb/host/ehci-platform.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
index 91acdde..764e010 100644
--- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c
@@ -128,8 +128,10 @@ static int __devinit ehci_platform_probe(struct platform_device *dev)
}
hcd->regs = ioremap_nocache(hcd->rsrc_start, hcd->rsrc_len);
- if (!hcd->regs)
+ if (!hcd->regs) {
+ err = -ENOMEM;
goto err_release_region;
+ }
err = usb_add_hcd(hcd, irq, IRQF_SHARED);
if (err)
goto err_iounmap;
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 5/5] drivers/usb/host/ehci-platform.c: fix error return code
@ 2012-08-14 6:47 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 6:47 UTC (permalink / raw)
To: Alan Stern; +Cc: kernel-janitors, Greg Kroah-Hartman, linux-usb, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a possibly 0 error return code to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x = NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/usb/host/ehci-platform.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
index 91acdde..764e010 100644
--- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c
@@ -128,8 +128,10 @@ static int __devinit ehci_platform_probe(struct platform_device *dev)
}
hcd->regs = ioremap_nocache(hcd->rsrc_start, hcd->rsrc_len);
- if (!hcd->regs)
+ if (!hcd->regs) {
+ err = -ENOMEM;
goto err_release_region;
+ }
err = usb_add_hcd(hcd, irq, IRQF_SHARED);
if (err)
goto err_iounmap;
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 0/5] fix error return code
2012-08-14 6:47 ` Julia Lawall
@ 2012-08-14 12:58 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: linux-kernel; +Cc: kernel-janitors
These patches fix cases where the return code appears to be unintentially 0.
The complete semantic match that finds the problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@r@
identifier f;
expression ret,e;
constant C;
@@
f(...) { <+...
(
return -C;
|
ret = -C
... when != ret = e
return ret;
|
if (ret < 0) { ... return ret; }
)
...+> }
@s@
identifier r.f,ret;
@@
f(...) { <+... return ret; ...+> }
@@
identifier r.f,s.ret;
expression e,e1,e2,e3,e4,x;
@@
f(...) { <+...
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
...+> }
// </smpl>
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 0/5] fix error return code
@ 2012-08-14 12:58 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: linux-kernel; +Cc: kernel-janitors
These patches fix cases where the return code appears to be unintentially 0.
The complete semantic match that finds the problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@r@
identifier f;
expression ret,e;
constant C;
@@
f(...) { <+...
(
return -C;
|
ret = -C
... when != ret = e
return ret;
|
if (ret < 0) { ... return ret; }
)
...+> }
@s@
identifier r.f,ret;
@@
f(...) { <+... return ret; ...+> }
@@
identifier r.f,s.ret;
expression e,e1,e2,e3,e4,x;
@@
f(...) { <+...
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x = NULL || ...)
{
... when != ret = e4
* return ret;
}
...+> }
// </smpl>
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 1/5] drivers/cdrom/gdrom.c: fix error return code
2012-08-14 12:58 ` Julia Lawall
@ 2012-08-14 12:58 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: linux-kernel; +Cc: kernel-janitors
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/cdrom/gdrom.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c
index 3ceaf00..f05863b 100644
--- a/drivers/cdrom/gdrom.c
+++ b/drivers/cdrom/gdrom.c
@@ -808,16 +808,20 @@ static int __devinit probe_gdrom(struct platform_device *devptr)
if (err)
goto probe_fail_cmdirq_register;
gd.gdrom_rq = blk_init_queue(gdrom_request, &gdrom_lock);
- if (!gd.gdrom_rq)
+ if (!gd.gdrom_rq) {
+ err = -ENOMEM;
goto probe_fail_requestq;
+ }
err = probe_gdrom_setupqueue();
if (err)
goto probe_fail_toc;
gd.toc = kzalloc(sizeof(struct gdromtoc), GFP_KERNEL);
- if (!gd.toc)
+ if (!gd.toc) {
+ err = -ENOMEM;
goto probe_fail_toc;
+ }
add_disk(gd.disk);
return 0;
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 1/5] drivers/cdrom/gdrom.c: fix error return code
@ 2012-08-14 12:58 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: linux-kernel; +Cc: kernel-janitors
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x = NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/cdrom/gdrom.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c
index 3ceaf00..f05863b 100644
--- a/drivers/cdrom/gdrom.c
+++ b/drivers/cdrom/gdrom.c
@@ -808,16 +808,20 @@ static int __devinit probe_gdrom(struct platform_device *devptr)
if (err)
goto probe_fail_cmdirq_register;
gd.gdrom_rq = blk_init_queue(gdrom_request, &gdrom_lock);
- if (!gd.gdrom_rq)
+ if (!gd.gdrom_rq) {
+ err = -ENOMEM;
goto probe_fail_requestq;
+ }
err = probe_gdrom_setupqueue();
if (err)
goto probe_fail_toc;
gd.toc = kzalloc(sizeof(struct gdromtoc), GFP_KERNEL);
- if (!gd.toc)
+ if (!gd.toc) {
+ err = -ENOMEM;
goto probe_fail_toc;
+ }
add_disk(gd.disk);
return 0;
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 2/5] drivers/dma/amba-pl08x.c: fix error return code
2012-08-14 12:58 ` Julia Lawall
@ 2012-08-14 12:58 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: Vinod Koul; +Cc: kernel-janitors, Dan Williams, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/dma/amba-pl08x.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
index 6fbeebb..d1cc579 100644
--- a/drivers/dma/amba-pl08x.c
+++ b/drivers/dma/amba-pl08x.c
@@ -1892,6 +1892,7 @@ static int pl08x_probe(struct amba_device *adev, const struct amba_id *id)
pl08x->pd = dev_get_platdata(&adev->dev);
if (!pl08x->pd) {
dev_err(&adev->dev, "no platform data supplied\n");
+ ret = -EINVAL;
goto out_no_platdata;
}
@@ -1943,6 +1944,7 @@ static int pl08x_probe(struct amba_device *adev, const struct amba_id *id)
dev_err(&adev->dev, "%s failed to allocate "
"physical channel holders\n",
__func__);
+ ret = -ENOMEM;
goto out_no_phychans;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 2/5] drivers/dma/amba-pl08x.c: fix error return code
@ 2012-08-14 12:58 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: Vinod Koul; +Cc: kernel-janitors, Dan Williams, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x = NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/dma/amba-pl08x.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
index 6fbeebb..d1cc579 100644
--- a/drivers/dma/amba-pl08x.c
+++ b/drivers/dma/amba-pl08x.c
@@ -1892,6 +1892,7 @@ static int pl08x_probe(struct amba_device *adev, const struct amba_id *id)
pl08x->pd = dev_get_platdata(&adev->dev);
if (!pl08x->pd) {
dev_err(&adev->dev, "no platform data supplied\n");
+ ret = -EINVAL;
goto out_no_platdata;
}
@@ -1943,6 +1944,7 @@ static int pl08x_probe(struct amba_device *adev, const struct amba_id *id)
dev_err(&adev->dev, "%s failed to allocate "
"physical channel holders\n",
__func__);
+ ret = -ENOMEM;
goto out_no_phychans;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 3/5] drivers/net/ethernet/freescale/fs_enet: fix error return code
2012-08-14 12:58 ` Julia Lawall
(?)
@ 2012-08-14 12:58 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: Pantelis Antoniou
Cc: kernel-janitors, Vitaly Bordug, linuxppc-dev, netdev, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c | 4 +++-
drivers/net/ethernet/freescale/fs_enet/mii-fec.c | 8 ++++++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c b/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c
index 0f2d1a7..1514533 100644
--- a/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c
+++ b/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c
@@ -174,8 +174,10 @@ static int __devinit fs_enet_mdio_probe(struct platform_device *ofdev)
new_bus->phy_mask = ~0;
new_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
- if (!new_bus->irq)
+ if (!new_bus->irq) {
+ ret = -ENOMEM;
goto out_unmap_regs;
+ }
new_bus->parent = &ofdev->dev;
dev_set_drvdata(&ofdev->dev, new_bus);
diff --git a/drivers/net/ethernet/freescale/fs_enet/mii-fec.c b/drivers/net/ethernet/freescale/fs_enet/mii-fec.c
index 55bb867..cdf702a 100644
--- a/drivers/net/ethernet/freescale/fs_enet/mii-fec.c
+++ b/drivers/net/ethernet/freescale/fs_enet/mii-fec.c
@@ -137,8 +137,10 @@ static int __devinit fs_enet_mdio_probe(struct platform_device *ofdev)
snprintf(new_bus->id, MII_BUS_ID_SIZE, "%x", res.start);
fec->fecp = ioremap(res.start, resource_size(&res));
- if (!fec->fecp)
+ if (!fec->fecp) {
+ ret = -ENOMEM;
goto out_fec;
+ }
if (get_bus_freq) {
clock = get_bus_freq(ofdev->dev.of_node);
@@ -172,8 +174,10 @@ static int __devinit fs_enet_mdio_probe(struct platform_device *ofdev)
new_bus->phy_mask = ~0;
new_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
- if (!new_bus->irq)
+ if (!new_bus->irq) {
+ ret = -ENOMEM;
goto out_unmap_regs;
+ }
new_bus->parent = &ofdev->dev;
dev_set_drvdata(&ofdev->dev, new_bus);
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 3/5] drivers/net/ethernet/freescale/fs_enet: fix error return code
@ 2012-08-14 12:58 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: Pantelis Antoniou
Cc: linuxppc-dev, kernel-janitors, linux-kernel, Vitaly Bordug, netdev
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x = NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c | 4 +++-
drivers/net/ethernet/freescale/fs_enet/mii-fec.c | 8 ++++++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c b/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c
index 0f2d1a7..1514533 100644
--- a/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c
+++ b/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c
@@ -174,8 +174,10 @@ static int __devinit fs_enet_mdio_probe(struct platform_device *ofdev)
new_bus->phy_mask = ~0;
new_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
- if (!new_bus->irq)
+ if (!new_bus->irq) {
+ ret = -ENOMEM;
goto out_unmap_regs;
+ }
new_bus->parent = &ofdev->dev;
dev_set_drvdata(&ofdev->dev, new_bus);
diff --git a/drivers/net/ethernet/freescale/fs_enet/mii-fec.c b/drivers/net/ethernet/freescale/fs_enet/mii-fec.c
index 55bb867..cdf702a 100644
--- a/drivers/net/ethernet/freescale/fs_enet/mii-fec.c
+++ b/drivers/net/ethernet/freescale/fs_enet/mii-fec.c
@@ -137,8 +137,10 @@ static int __devinit fs_enet_mdio_probe(struct platform_device *ofdev)
snprintf(new_bus->id, MII_BUS_ID_SIZE, "%x", res.start);
fec->fecp = ioremap(res.start, resource_size(&res));
- if (!fec->fecp)
+ if (!fec->fecp) {
+ ret = -ENOMEM;
goto out_fec;
+ }
if (get_bus_freq) {
clock = get_bus_freq(ofdev->dev.of_node);
@@ -172,8 +174,10 @@ static int __devinit fs_enet_mdio_probe(struct platform_device *ofdev)
new_bus->phy_mask = ~0;
new_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
- if (!new_bus->irq)
+ if (!new_bus->irq) {
+ ret = -ENOMEM;
goto out_unmap_regs;
+ }
new_bus->parent = &ofdev->dev;
dev_set_drvdata(&ofdev->dev, new_bus);
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 3/5] drivers/net/ethernet/freescale/fs_enet: fix error return code
@ 2012-08-14 12:58 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: Pantelis Antoniou
Cc: linuxppc-dev, kernel-janitors, linux-kernel, Vitaly Bordug, netdev
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c | 4 +++-
drivers/net/ethernet/freescale/fs_enet/mii-fec.c | 8 ++++++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c b/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c
index 0f2d1a7..1514533 100644
--- a/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c
+++ b/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c
@@ -174,8 +174,10 @@ static int __devinit fs_enet_mdio_probe(struct platform_device *ofdev)
new_bus->phy_mask = ~0;
new_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
- if (!new_bus->irq)
+ if (!new_bus->irq) {
+ ret = -ENOMEM;
goto out_unmap_regs;
+ }
new_bus->parent = &ofdev->dev;
dev_set_drvdata(&ofdev->dev, new_bus);
diff --git a/drivers/net/ethernet/freescale/fs_enet/mii-fec.c b/drivers/net/ethernet/freescale/fs_enet/mii-fec.c
index 55bb867..cdf702a 100644
--- a/drivers/net/ethernet/freescale/fs_enet/mii-fec.c
+++ b/drivers/net/ethernet/freescale/fs_enet/mii-fec.c
@@ -137,8 +137,10 @@ static int __devinit fs_enet_mdio_probe(struct platform_device *ofdev)
snprintf(new_bus->id, MII_BUS_ID_SIZE, "%x", res.start);
fec->fecp = ioremap(res.start, resource_size(&res));
- if (!fec->fecp)
+ if (!fec->fecp) {
+ ret = -ENOMEM;
goto out_fec;
+ }
if (get_bus_freq) {
clock = get_bus_freq(ofdev->dev.of_node);
@@ -172,8 +174,10 @@ static int __devinit fs_enet_mdio_probe(struct platform_device *ofdev)
new_bus->phy_mask = ~0;
new_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
- if (!new_bus->irq)
+ if (!new_bus->irq) {
+ ret = -ENOMEM;
goto out_unmap_regs;
+ }
new_bus->parent = &ofdev->dev;
dev_set_drvdata(&ofdev->dev, new_bus);
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 4/5] drivers/net/ethernet/mellanox/mlx4/mcg.c: fix error return code
2012-08-14 12:58 ` Julia Lawall
@ 2012-08-14 12:58 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: netdev; +Cc: kernel-janitors, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/net/ethernet/mellanox/mlx4/mcg.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/mcg.c b/drivers/net/ethernet/mellanox/mlx4/mcg.c
index 4ec3835..a018ea2 100644
--- a/drivers/net/ethernet/mellanox/mlx4/mcg.c
+++ b/drivers/net/ethernet/mellanox/mlx4/mcg.c
@@ -432,8 +432,10 @@ static int add_promisc_qp(struct mlx4_dev *dev, u8 port,
if ((be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK) == qpn) {
/* Entry already exists, add to duplicates */
dqp = kmalloc(sizeof *dqp, GFP_KERNEL);
- if (!dqp)
+ if (!dqp) {
+ err = -ENOMEM;
goto out_mailbox;
+ }
dqp->qpn = qpn;
list_add_tail(&dqp->list, &entry->duplicates);
found = true;
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 4/5] drivers/net/ethernet/mellanox/mlx4/mcg.c: fix error return code
@ 2012-08-14 12:58 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: netdev; +Cc: kernel-janitors, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x = NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/net/ethernet/mellanox/mlx4/mcg.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/mcg.c b/drivers/net/ethernet/mellanox/mlx4/mcg.c
index 4ec3835..a018ea2 100644
--- a/drivers/net/ethernet/mellanox/mlx4/mcg.c
+++ b/drivers/net/ethernet/mellanox/mlx4/mcg.c
@@ -432,8 +432,10 @@ static int add_promisc_qp(struct mlx4_dev *dev, u8 port,
if ((be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK) = qpn) {
/* Entry already exists, add to duplicates */
dqp = kmalloc(sizeof *dqp, GFP_KERNEL);
- if (!dqp)
+ if (!dqp) {
+ err = -ENOMEM;
goto out_mailbox;
+ }
dqp->qpn = qpn;
list_add_tail(&dqp->list, &entry->duplicates);
found = true;
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 5/5] drivers/infiniband/hw/qib/qib_iba7322.c: fix error return code
2012-08-14 12:58 ` Julia Lawall
@ 2012-08-14 12:58 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: Mike Marciniszyn
Cc: kernel-janitors, Roland Dreier, Sean Hefty, Hal Rosenstock,
linux-rdma, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x == NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/infiniband/hw/qib/qib_iba7322.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c
index 0d7280a..3f6b21e 100644
--- a/drivers/infiniband/hw/qib/qib_iba7322.c
+++ b/drivers/infiniband/hw/qib/qib_iba7322.c
@@ -6346,8 +6346,10 @@ static int qib_init_7322_variables(struct qib_devdata *dd)
dd->piobcnt4k * dd->align4k;
dd->piovl15base = ioremap_nocache(vl15off,
NUM_VL15_BUFS * dd->align4k);
- if (!dd->piovl15base)
+ if (!dd->piovl15base) {
+ ret = -ENOMEM;
goto bail;
+ }
}
qib_7322_set_baseaddrs(dd); /* set chip access pointers now */
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 5/5] drivers/infiniband/hw/qib/qib_iba7322.c: fix error return code
@ 2012-08-14 12:58 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2012-08-14 12:58 UTC (permalink / raw)
To: Mike Marciniszyn
Cc: kernel-janitors, Roland Dreier, Sean Hefty, Hal Rosenstock,
linux-rdma, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a 0 error return code to a negative one, as returned elsewhere in the
function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret;
expression e,e1,e2,e3,e4,x;
@@
(
if (\(ret != 0\|ret < 0\) || ...) { ... return ...; }
|
ret = 0
)
... when != ret = e1
*x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...);
... when != x = e2
when != ret = e3
*if (x = NULL || ...)
{
... when != ret = e4
* return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/infiniband/hw/qib/qib_iba7322.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c
index 0d7280a..3f6b21e 100644
--- a/drivers/infiniband/hw/qib/qib_iba7322.c
+++ b/drivers/infiniband/hw/qib/qib_iba7322.c
@@ -6346,8 +6346,10 @@ static int qib_init_7322_variables(struct qib_devdata *dd)
dd->piobcnt4k * dd->align4k;
dd->piovl15base = ioremap_nocache(vl15off,
NUM_VL15_BUFS * dd->align4k);
- if (!dd->piovl15base)
+ if (!dd->piovl15base) {
+ ret = -ENOMEM;
goto bail;
+ }
}
qib_7322_set_baseaddrs(dd); /* set chip access pointers now */
^ permalink raw reply related [flat|nested] 89+ messages in thread
* RE: [PATCH 5/5] drivers/infiniband/hw/qib/qib_iba7322.c: fix error return code
2012-08-14 12:58 ` Julia Lawall
(?)
@ 2012-08-14 13:14 ` Marciniszyn, Mike
-1 siblings, 0 replies; 89+ messages in thread
From: Marciniszyn, Mike @ 2012-08-14 13:14 UTC (permalink / raw)
To: Julia Lawall, infinipath
Cc: kernel-janitors-u79uwXL29TY76Z2rM5mHXA, Roland Dreier, Hefty,
Sean, Hal Rosenstock, linux-rdma-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
> Subject: [PATCH 5/5] drivers/infiniband/hw/qib/qib_iba7322.c: fix error
> return code
>
> From: Julia Lawall <Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
Acked-by: Mike Marciniszyn <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 89+ messages in thread
* RE: [PATCH 5/5] drivers/infiniband/hw/qib/qib_iba7322.c: fix error return code
@ 2012-08-14 13:14 ` Marciniszyn, Mike
0 siblings, 0 replies; 89+ messages in thread
From: Marciniszyn, Mike @ 2012-08-14 13:14 UTC (permalink / raw)
To: Julia Lawall, infinipath
Cc: kernel-janitors, Roland Dreier, Hefty, Sean, Hal Rosenstock,
linux-rdma, linux-kernel
> Subject: [PATCH 5/5] drivers/infiniband/hw/qib/qib_iba7322.c: fix error
> return code
>
> From: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
^ permalink raw reply [flat|nested] 89+ messages in thread
* RE: [PATCH 5/5] drivers/infiniband/hw/qib/qib_iba7322.c: fix error return code
@ 2012-08-14 13:14 ` Marciniszyn, Mike
0 siblings, 0 replies; 89+ messages in thread
From: Marciniszyn, Mike @ 2012-08-14 13:14 UTC (permalink / raw)
To: Julia Lawall, infinipath
Cc: kernel-janitors-u79uwXL29TY76Z2rM5mHXA, Roland Dreier, Hefty,
Sean, Hal Rosenstock, linux-rdma-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
> Subject: [PATCH 5/5] drivers/infiniband/hw/qib/qib_iba7322.c: fix error
> return code
>
> From: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/net/ethernet/freescale/fs_enet: fix error return code
2012-08-14 12:58 ` Julia Lawall
(?)
@ 2012-08-15 0:01 ` David Miller
-1 siblings, 0 replies; 89+ messages in thread
From: David Miller @ 2012-08-15 0:01 UTC (permalink / raw)
To: Julia.Lawall
Cc: pantelis.antoniou, kernel-janitors, vbordug, linuxppc-dev,
netdev, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Date: Tue, 14 Aug 2012 14:58:33 +0200
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a 0 error return code to a negative one, as returned elsewhere in the
> function.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
...
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Applied.
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/net/ethernet/freescale/fs_enet: fix error return code
@ 2012-08-15 0:01 ` David Miller
0 siblings, 0 replies; 89+ messages in thread
From: David Miller @ 2012-08-15 0:01 UTC (permalink / raw)
To: Julia.Lawall; +Cc: netdev, kernel-janitors, linux-kernel, vbordug, linuxppc-dev
From: Julia Lawall <Julia.Lawall@lip6.fr>
Date: Tue, 14 Aug 2012 14:58:33 +0200
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a 0 error return code to a negative one, as returned elsewhere in the
> function.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
...
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Applied.
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/net/ethernet/freescale/fs_enet: fix error return code
@ 2012-08-15 0:01 ` David Miller
0 siblings, 0 replies; 89+ messages in thread
From: David Miller @ 2012-08-15 0:01 UTC (permalink / raw)
To: Julia.Lawall; +Cc: netdev, kernel-janitors, linux-kernel, vbordug, linuxppc-dev
From: Julia Lawall <Julia.Lawall@lip6.fr>
Date: Tue, 14 Aug 2012 14:58:33 +0200
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a 0 error return code to a negative one, as returned elsewhere in the
> function.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
...
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Applied.
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 4/5] drivers/net/ethernet/mellanox/mlx4/mcg.c: fix error return code
2012-08-14 12:58 ` Julia Lawall
@ 2012-08-15 0:01 ` David Miller
-1 siblings, 0 replies; 89+ messages in thread
From: David Miller @ 2012-08-15 0:01 UTC (permalink / raw)
To: Julia.Lawall; +Cc: netdev, kernel-janitors, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Date: Tue, 14 Aug 2012 14:58:34 +0200
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a 0 error return code to a negative one, as returned elsewhere in the
> function.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
...
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Applied.
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 4/5] drivers/net/ethernet/mellanox/mlx4/mcg.c: fix error return code
@ 2012-08-15 0:01 ` David Miller
0 siblings, 0 replies; 89+ messages in thread
From: David Miller @ 2012-08-15 0:01 UTC (permalink / raw)
To: Julia.Lawall; +Cc: netdev, kernel-janitors, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Date: Tue, 14 Aug 2012 14:58:34 +0200
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a 0 error return code to a negative one, as returned elsewhere in the
> function.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
...
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Applied.
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 5/5] drivers/usb/host/ehci-platform.c: fix error return code
2012-08-14 6:47 ` Julia Lawall
@ 2012-08-15 14:37 ` Alan Stern
-1 siblings, 0 replies; 89+ messages in thread
From: Alan Stern @ 2012-08-15 14:37 UTC (permalink / raw)
To: Julia Lawall; +Cc: kernel-janitors, Greg Kroah-Hartman, linux-usb, linux-kernel
On Tue, 14 Aug 2012, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a possibly 0 error return code to a negative one, as returned
> elsewhere in the function.
...
> diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
> index 91acdde..764e010 100644
> --- a/drivers/usb/host/ehci-platform.c
> +++ b/drivers/usb/host/ehci-platform.c
> @@ -128,8 +128,10 @@ static int __devinit ehci_platform_probe(struct platform_device *dev)
> }
>
> hcd->regs = ioremap_nocache(hcd->rsrc_start, hcd->rsrc_len);
> - if (!hcd->regs)
> + if (!hcd->regs) {
> + err = -ENOMEM;
> goto err_release_region;
> + }
> err = usb_add_hcd(hcd, irq, IRQF_SHARED);
> if (err)
> goto err_iounmap;
Acked-by: Alan Stern <stern@rowland.harvard.edu>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 5/5] drivers/usb/host/ehci-platform.c: fix error return code
@ 2012-08-15 14:37 ` Alan Stern
0 siblings, 0 replies; 89+ messages in thread
From: Alan Stern @ 2012-08-15 14:37 UTC (permalink / raw)
To: Julia Lawall; +Cc: kernel-janitors, Greg Kroah-Hartman, linux-usb, linux-kernel
On Tue, 14 Aug 2012, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a possibly 0 error return code to a negative one, as returned
> elsewhere in the function.
...
> diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
> index 91acdde..764e010 100644
> --- a/drivers/usb/host/ehci-platform.c
> +++ b/drivers/usb/host/ehci-platform.c
> @@ -128,8 +128,10 @@ static int __devinit ehci_platform_probe(struct platform_device *dev)
> }
>
> hcd->regs = ioremap_nocache(hcd->rsrc_start, hcd->rsrc_len);
> - if (!hcd->regs)
> + if (!hcd->regs) {
> + err = -ENOMEM;
> goto err_release_region;
> + }
> err = usb_add_hcd(hcd, irq, IRQF_SHARED);
> if (err)
> goto err_iounmap;
Acked-by: Alan Stern <stern@rowland.harvard.edu>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 4/5] drivers/usb/host/ohci-platform.c: fix error return code
2012-08-14 6:47 ` Julia Lawall
@ 2012-08-15 14:37 ` Alan Stern
-1 siblings, 0 replies; 89+ messages in thread
From: Alan Stern @ 2012-08-15 14:37 UTC (permalink / raw)
To: Julia Lawall; +Cc: kernel-janitors, Greg Kroah-Hartman, linux-usb, linux-kernel
On Tue, 14 Aug 2012, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a possibly 0 error return code to a negative one, as returned
> elsewhere in the function.
> diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
> index 10d85b9..e24ec9f 100644
> --- a/drivers/usb/host/ohci-platform.c
> +++ b/drivers/usb/host/ohci-platform.c
> @@ -130,8 +130,10 @@ static int __devinit ohci_platform_probe(struct platform_device *dev)
> }
>
> hcd->regs = ioremap_nocache(hcd->rsrc_start, hcd->rsrc_len);
> - if (!hcd->regs)
> + if (!hcd->regs) {
> + err = -ENOMEM;
> goto err_release_region;
> + }
> err = usb_add_hcd(hcd, irq, IRQF_SHARED);
> if (err)
> goto err_iounmap;
Acked-by: Alan Stern <stern@rowland.harvard.edu>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 4/5] drivers/usb/host/ohci-platform.c: fix error return code
@ 2012-08-15 14:37 ` Alan Stern
0 siblings, 0 replies; 89+ messages in thread
From: Alan Stern @ 2012-08-15 14:37 UTC (permalink / raw)
To: Julia Lawall; +Cc: kernel-janitors, Greg Kroah-Hartman, linux-usb, linux-kernel
On Tue, 14 Aug 2012, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a possibly 0 error return code to a negative one, as returned
> elsewhere in the function.
> diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
> index 10d85b9..e24ec9f 100644
> --- a/drivers/usb/host/ohci-platform.c
> +++ b/drivers/usb/host/ohci-platform.c
> @@ -130,8 +130,10 @@ static int __devinit ohci_platform_probe(struct platform_device *dev)
> }
>
> hcd->regs = ioremap_nocache(hcd->rsrc_start, hcd->rsrc_len);
> - if (!hcd->regs)
> + if (!hcd->regs) {
> + err = -ENOMEM;
> goto err_release_region;
> + }
> err = usb_add_hcd(hcd, irq, IRQF_SHARED);
> if (err)
> goto err_iounmap;
Acked-by: Alan Stern <stern@rowland.harvard.edu>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 2/5] drivers/dma/amba-pl08x.c: fix error return code
2012-08-14 12:58 ` Julia Lawall
@ 2012-08-22 4:41 ` Vinod Koul
-1 siblings, 0 replies; 89+ messages in thread
From: Vinod Koul @ 2012-08-22 4:29 UTC (permalink / raw)
To: Julia Lawall; +Cc: kernel-janitors, Dan Williams, linux-kernel
On Tue, 2012-08-14 at 14:58 +0200, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a 0 error return code to a negative one, as returned elsewhere in the
> function.
Applied, thanks
--
~Vinod
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 2/5] drivers/dma/amba-pl08x.c: fix error return code
@ 2012-08-22 4:41 ` Vinod Koul
0 siblings, 0 replies; 89+ messages in thread
From: Vinod Koul @ 2012-08-22 4:41 UTC (permalink / raw)
To: Julia Lawall; +Cc: kernel-janitors, Dan Williams, linux-kernel
On Tue, 2012-08-14 at 14:58 +0200, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a 0 error return code to a negative one, as returned elsewhere in the
> function.
Applied, thanks
--
~Vinod
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 0/5] fix error return code
@ 2014-08-07 12:49 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: coreteam
Cc: kernel-janitors, netfilter-devel, linux-kernel,
linux-atm-general, netdev, kexec
The complate semantic patch that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
// identify a function that returns a negative return value at least once.
@ok exists@
identifier f,ret,i;
expression e;
constant c;
@@
f(...) {
... when any
(
return -c@i;
|
ret = -c@i;
... when != ret = e
return ret;
|
if (ret < 0) { ... return ret; }
)
... when any
}
// identify a case where the return variable is set to a non-negative value
// and then returned in error-handling code
@r exists@
identifier ret,ok.f,fn;
expression e1,e2,e3,e4,e5,e6,x;
statement S,S1;
position p1,p2,p3;
@@
f(...) {
... when any
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != \(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\)
when != &ret
when any
(
if (<+... ret = e5 ...+>) S1
|
if (<+... &ret ...+>) S1
|
if@p2(<+...x = fn(...)...+>)
{
... when != ret = e6
when forall
return@p3 ret;
}
|
break;
|
x = fn(...)
... when != \(ret = e4\|ret++\|ret--\|ret+=e4\|ret-=e4\)
when != &ret
(
if (<+... ret = e3 ...+>) S
|
if (<+... &ret ...+>) S
|
if@p2(<+...\(x != 0\|x < 0\|x == NULL\|IS_ERR(x)\)...+>)
{
... when != ret = e2
when forall
return@p3 ret;
}
)
)
... when any
}
@printer depends on r@
position p;
identifier ok.f,pr;
constant char [] c;
@@
f(...) { <...pr@p(...,c,...)...> }
@bad0 exists@
identifier r.ret,ok.f,g != {ERR_PTR,IS_ERR};
position p != printer.p;
@@
f(...) { ... when any
g@p(...,ret,...)
... when any
}
// ignore the above if there is some path where the variable is set to
// something else
@bad depends on !bad0 exists@
position r.p1,r.p2;
statement S1,S2;
identifier r.ret;
expression e1;
@@
(
if@p1 (\(ret < 0\|ret != 0\)) S1
|
ret@p1 = 0
)
... when any
\(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\|&ret\)
... when any
if@p2(...) S2
@bad1 depends on !bad0 && !bad exists@
position r.p2;
statement S2;
identifier r.ret;
expression e1;
constant c;
@@
ret = -c
... when != \(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\)
when != &ret
when any
if@p2(...) S2
// likewise ignore it if there has been an intervening return
@bad2 depends on !bad0 && !bad && !bad1 exists@
position r.p1,r.p2;
identifier r.ret;
expression e1;
statement S2;
constant c;
@@
ret@p1 = 0
... when != if (...) { ... ret = e1 ... return ret; }
when != if (...) { ... return -c; }
when any
if@p2(...) S2
@script:python depends on !bad0 && !bad && !bad1 && !bad2@
p1 << r.p1;
p2 << r.p2;
p3 << r.p3;
@@
cocci.print_main("",p1)
cocci.print_secs("",p2)
cocci.print_secs("",p3)
// </smpl>
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 0/5] fix error return code
@ 2014-08-07 12:49 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: coreteam-Cap9r6Oaw4JrovVCs/uTlw
Cc: kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-atm-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
kernel-janitors-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
netfilter-devel-u79uwXL29TY76Z2rM5mHXA,
netdev-u79uwXL29TY76Z2rM5mHXA
The complate semantic patch that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
// identify a function that returns a negative return value at least once.
@ok exists@
identifier f,ret,i;
expression e;
constant c;
@@
f(...) {
... when any
(
return -c@i;
|
ret = -c@i;
... when != ret = e
return ret;
|
if (ret < 0) { ... return ret; }
)
... when any
}
// identify a case where the return variable is set to a non-negative value
// and then returned in error-handling code
@r exists@
identifier ret,ok.f,fn;
expression e1,e2,e3,e4,e5,e6,x;
statement S,S1;
position p1,p2,p3;
@@
f(...) {
... when any
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != \(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\)
when != &ret
when any
(
if (<+... ret = e5 ...+>) S1
|
if (<+... &ret ...+>) S1
|
if@p2(<+...x = fn(...)...+>)
{
... when != ret = e6
when forall
return@p3 ret;
}
|
break;
|
x = fn(...)
... when != \(ret = e4\|ret++\|ret--\|ret+=e4\|ret-=e4\)
when != &ret
(
if (<+... ret = e3 ...+>) S
|
if (<+... &ret ...+>) S
|
if@p2(<+...\(x != 0\|x < 0\|x == NULL\|IS_ERR(x)\)...+>)
{
... when != ret = e2
when forall
return@p3 ret;
}
)
)
... when any
}
@printer depends on r@
position p;
identifier ok.f,pr;
constant char [] c;
@@
f(...) { <...pr@p(...,c,...)...> }
@bad0 exists@
identifier r.ret,ok.f,g != {ERR_PTR,IS_ERR};
position p != printer.p;
@@
f(...) { ... when any
g@p(...,ret,...)
... when any
}
// ignore the above if there is some path where the variable is set to
// something else
@bad depends on !bad0 exists@
position r.p1,r.p2;
statement S1,S2;
identifier r.ret;
expression e1;
@@
(
if@p1 (\(ret < 0\|ret != 0\)) S1
|
ret@p1 = 0
)
... when any
\(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\|&ret\)
... when any
if@p2(...) S2
@bad1 depends on !bad0 && !bad exists@
position r.p2;
statement S2;
identifier r.ret;
expression e1;
constant c;
@@
ret = -c
... when != \(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\)
when != &ret
when any
if@p2(...) S2
// likewise ignore it if there has been an intervening return
@bad2 depends on !bad0 && !bad && !bad1 exists@
position r.p1,r.p2;
identifier r.ret;
expression e1;
statement S2;
constant c;
@@
ret@p1 = 0
... when != if (...) { ... ret = e1 ... return ret; }
when != if (...) { ... return -c; }
when any
if@p2(...) S2
@script:python depends on !bad0 && !bad && !bad1 && !bad2@
p1 << r.p1;
p2 << r.p2;
p3 << r.p3;
@@
cocci.print_main("",p1)
cocci.print_secs("",p2)
cocci.print_secs("",p3)
// </smpl>
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 0/5] fix error return code
@ 2014-08-07 12:49 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: coreteam
Cc: kernel-janitors, netfilter-devel, linux-kernel,
linux-atm-general, netdev, kexec
The complate semantic patch that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
// identify a function that returns a negative return value at least once.
@ok exists@
identifier f,ret,i;
expression e;
constant c;
@@
f(...) {
... when any
(
return -c@i;
|
ret = -c@i;
... when != ret = e
return ret;
|
if (ret < 0) { ... return ret; }
)
... when any
}
// identify a case where the return variable is set to a non-negative value
// and then returned in error-handling code
@r exists@
identifier ret,ok.f,fn;
expression e1,e2,e3,e4,e5,e6,x;
statement S,S1;
position p1,p2,p3;
@@
f(...) {
... when any
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != \(ret = e1\|ret++\|ret--\|ret+á\|ret-á\)
when != &ret
when any
(
if (<+... ret = e5 ...+>) S1
|
if (<+... &ret ...+>) S1
|
if@p2(<+...x = fn(...)...+>)
{
... when != ret = e6
when forall
return@p3 ret;
}
|
break;
|
x = fn(...)
... when != \(ret = e4\|ret++\|ret--\|ret+ä\|ret-ä\)
when != &ret
(
if (<+... ret = e3 ...+>) S
|
if (<+... &ret ...+>) S
|
if@p2(<+...\(x != 0\|x < 0\|x = NULL\|IS_ERR(x)\)...+>)
{
... when != ret = e2
when forall
return@p3 ret;
}
)
)
... when any
}
@printer depends on r@
position p;
identifier ok.f,pr;
constant char [] c;
@@
f(...) { <...pr@p(...,c,...)...> }
@bad0 exists@
identifier r.ret,ok.f,g != {ERR_PTR,IS_ERR};
position p != printer.p;
@@
f(...) { ... when any
g@p(...,ret,...)
... when any
}
// ignore the above if there is some path where the variable is set to
// something else
@bad depends on !bad0 exists@
position r.p1,r.p2;
statement S1,S2;
identifier r.ret;
expression e1;
@@
(
if@p1 (\(ret < 0\|ret != 0\)) S1
|
ret@p1 = 0
)
... when any
\(ret = e1\|ret++\|ret--\|ret+á\|ret-á\|&ret\)
... when any
if@p2(...) S2
@bad1 depends on !bad0 && !bad exists@
position r.p2;
statement S2;
identifier r.ret;
expression e1;
constant c;
@@
ret = -c
... when != \(ret = e1\|ret++\|ret--\|ret+á\|ret-á\)
when != &ret
when any
if@p2(...) S2
// likewise ignore it if there has been an intervening return
@bad2 depends on !bad0 && !bad && !bad1 exists@
position r.p1,r.p2;
identifier r.ret;
expression e1;
statement S2;
constant c;
@@
ret@p1 = 0
... when != if (...) { ... ret = e1 ... return ret; }
when != if (...) { ... return -c; }
when any
if@p2(...) S2
@script:python depends on !bad0 && !bad && !bad1 && !bad2@
p1 << r.p1;
p2 << r.p2;
p3 << r.p3;
@@
cocci.print_main("",p1)
cocci.print_secs("",p2)
cocci.print_secs("",p3)
// </smpl>
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 0/5] fix error return code
@ 2014-08-07 12:49 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: coreteam
Cc: kexec, linux-atm-general, kernel-janitors, linux-kernel,
netfilter-devel, netdev
The complate semantic patch that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
// identify a function that returns a negative return value at least once.
@ok exists@
identifier f,ret,i;
expression e;
constant c;
@@
f(...) {
... when any
(
return -c@i;
|
ret = -c@i;
... when != ret = e
return ret;
|
if (ret < 0) { ... return ret; }
)
... when any
}
// identify a case where the return variable is set to a non-negative value
// and then returned in error-handling code
@r exists@
identifier ret,ok.f,fn;
expression e1,e2,e3,e4,e5,e6,x;
statement S,S1;
position p1,p2,p3;
@@
f(...) {
... when any
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != \(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\)
when != &ret
when any
(
if (<+... ret = e5 ...+>) S1
|
if (<+... &ret ...+>) S1
|
if@p2(<+...x = fn(...)...+>)
{
... when != ret = e6
when forall
return@p3 ret;
}
|
break;
|
x = fn(...)
... when != \(ret = e4\|ret++\|ret--\|ret+=e4\|ret-=e4\)
when != &ret
(
if (<+... ret = e3 ...+>) S
|
if (<+... &ret ...+>) S
|
if@p2(<+...\(x != 0\|x < 0\|x == NULL\|IS_ERR(x)\)...+>)
{
... when != ret = e2
when forall
return@p3 ret;
}
)
)
... when any
}
@printer depends on r@
position p;
identifier ok.f,pr;
constant char [] c;
@@
f(...) { <...pr@p(...,c,...)...> }
@bad0 exists@
identifier r.ret,ok.f,g != {ERR_PTR,IS_ERR};
position p != printer.p;
@@
f(...) { ... when any
g@p(...,ret,...)
... when any
}
// ignore the above if there is some path where the variable is set to
// something else
@bad depends on !bad0 exists@
position r.p1,r.p2;
statement S1,S2;
identifier r.ret;
expression e1;
@@
(
if@p1 (\(ret < 0\|ret != 0\)) S1
|
ret@p1 = 0
)
... when any
\(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\|&ret\)
... when any
if@p2(...) S2
@bad1 depends on !bad0 && !bad exists@
position r.p2;
statement S2;
identifier r.ret;
expression e1;
constant c;
@@
ret = -c
... when != \(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\)
when != &ret
when any
if@p2(...) S2
// likewise ignore it if there has been an intervening return
@bad2 depends on !bad0 && !bad && !bad1 exists@
position r.p1,r.p2;
identifier r.ret;
expression e1;
statement S2;
constant c;
@@
ret@p1 = 0
... when != if (...) { ... ret = e1 ... return ret; }
when != if (...) { ... return -c; }
when any
if@p2(...) S2
@script:python depends on !bad0 && !bad && !bad1 && !bad2@
p1 << r.p1;
p2 << r.p2;
p3 << r.p3;
@@
cocci.print_main("",p1)
cocci.print_secs("",p2)
cocci.print_secs("",p3)
// </smpl>
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 1/5] avr32: fix error return code
2014-08-07 12:49 ` Julia Lawall
@ 2014-08-07 12:49 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: Haavard Skinnemoen; +Cc: kernel-janitors, Hans-Christian Egtvedt, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
arch/avr32/boards/hammerhead/flash.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/arch/avr32/boards/hammerhead/flash.c b/arch/avr32/boards/hammerhead/flash.c
index 776c3cb..e86280c 100644
--- a/arch/avr32/boards/hammerhead/flash.c
+++ b/arch/avr32/boards/hammerhead/flash.c
@@ -190,14 +190,19 @@ static int __init hammerhead_usbh_init(void)
/* setup gclk0 to run from osc1 */
gclk = clk_get(NULL, "gclk0");
- if (IS_ERR(gclk))
+ if (IS_ERR(gclk)) {
+ ret = PTR_ERR(gclk);
goto err_gclk;
+ }
osc = clk_get(NULL, "osc1");
- if (IS_ERR(osc))
+ if (IS_ERR(osc)) {
+ ret = PTR_ERR(osc);
goto err_osc;
+ }
- if (clk_set_parent(gclk, osc)) {
+ ret = clk_set_parent(gclk, osc);
+ if (ret < 0) {
pr_debug("hammerhead: failed to set osc1 for USBH clock\n");
goto err_set_clk;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 1/5] avr32: fix error return code
@ 2014-08-07 12:49 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: Haavard Skinnemoen; +Cc: kernel-janitors, Hans-Christian Egtvedt, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
arch/avr32/boards/hammerhead/flash.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/arch/avr32/boards/hammerhead/flash.c b/arch/avr32/boards/hammerhead/flash.c
index 776c3cb..e86280c 100644
--- a/arch/avr32/boards/hammerhead/flash.c
+++ b/arch/avr32/boards/hammerhead/flash.c
@@ -190,14 +190,19 @@ static int __init hammerhead_usbh_init(void)
/* setup gclk0 to run from osc1 */
gclk = clk_get(NULL, "gclk0");
- if (IS_ERR(gclk))
+ if (IS_ERR(gclk)) {
+ ret = PTR_ERR(gclk);
goto err_gclk;
+ }
osc = clk_get(NULL, "osc1");
- if (IS_ERR(osc))
+ if (IS_ERR(osc)) {
+ ret = PTR_ERR(osc);
goto err_osc;
+ }
- if (clk_set_parent(gclk, osc)) {
+ ret = clk_set_parent(gclk, osc);
+ if (ret < 0) {
pr_debug("hammerhead: failed to set osc1 for USBH clock\n");
goto err_set_clk;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 3/5] drivers/atm/atmtcp.c: fix error return code
2014-08-07 12:49 ` Julia Lawall
@ 2014-08-07 12:49 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: Chas Williams; +Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
Another return value could be more appropriate.
drivers/atm/atmtcp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c
index 0e3f8f9..c8e4fb4 100644
--- a/drivers/atm/atmtcp.c
+++ b/drivers/atm/atmtcp.c
@@ -299,6 +299,7 @@ static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
out_vcc = find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci));
read_unlock(&vcc_sklist_lock);
if (!out_vcc) {
+ result = -ESRCH;
atomic_inc(&vcc->stats->tx_err);
goto done;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 3/5] drivers/atm/atmtcp.c: fix error return code
@ 2014-08-07 12:49 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: Chas Williams; +Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
Another return value could be more appropriate.
drivers/atm/atmtcp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c
index 0e3f8f9..c8e4fb4 100644
--- a/drivers/atm/atmtcp.c
+++ b/drivers/atm/atmtcp.c
@@ -299,6 +299,7 @@ static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
out_vcc = find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci));
read_unlock(&vcc_sklist_lock);
if (!out_vcc) {
+ result = -ESRCH;
atomic_inc(&vcc->stats->tx_err);
goto done;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 2/5] solos-pci: fix error return code
2014-08-07 12:49 ` Julia Lawall
@ 2014-08-07 12:49 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: Chas Williams; +Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/atm/solos-pci.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
index 943cf0d..7652e8d 100644
--- a/drivers/atm/solos-pci.c
+++ b/drivers/atm/solos-pci.c
@@ -1278,6 +1278,7 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
card->dma_bounce = kmalloc(card->nr_ports * BUF_SIZE, GFP_KERNEL);
if (!card->dma_bounce) {
dev_warn(&card->dev->dev, "Failed to allocate DMA bounce buffers\n");
+ err = -ENOMEM;
/* Fallback to MMIO doesn't work */
goto out_unmap_both;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 2/5] solos-pci: fix error return code
@ 2014-08-07 12:49 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: Chas Williams; +Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/atm/solos-pci.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
index 943cf0d..7652e8d 100644
--- a/drivers/atm/solos-pci.c
+++ b/drivers/atm/solos-pci.c
@@ -1278,6 +1278,7 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
card->dma_bounce = kmalloc(card->nr_ports * BUF_SIZE, GFP_KERNEL);
if (!card->dma_bounce) {
dev_warn(&card->dev->dev, "Failed to allocate DMA bounce buffers\n");
+ err = -ENOMEM;
/* Fallback to MMIO doesn't work */
goto out_unmap_both;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 4/5] netfilter: nf_tables: fix error return code
2014-08-07 12:49 ` Julia Lawall
@ 2014-08-07 12:49 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: Pablo Neira Ayuso
Cc: kernel-janitors, Patrick McHardy, Jozsef Kadlecsik,
David S. Miller, netfilter-devel, coreteam, netdev, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
net/netfilter/nf_tables_api.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index b8035c2..ffd063e 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -3134,8 +3134,10 @@ static int nft_del_setelem(struct nft_ctx *ctx, struct nft_set *set,
goto err2;
trans = nft_trans_elem_alloc(ctx, NFT_MSG_DELSETELEM, set);
- if (trans == NULL)
+ if (trans == NULL) {
+ err = -ENOMEM;
goto err2;
+ }
nft_trans_elem(trans) = elem;
list_add_tail(&trans->list, &ctx->net->nft.commit_list);
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 4/5] netfilter: nf_tables: fix error return code
@ 2014-08-07 12:49 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: Pablo Neira Ayuso
Cc: kernel-janitors, Patrick McHardy, Jozsef Kadlecsik,
David S. Miller, netfilter-devel, coreteam, netdev, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
net/netfilter/nf_tables_api.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index b8035c2..ffd063e 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -3134,8 +3134,10 @@ static int nft_del_setelem(struct nft_ctx *ctx, struct nft_set *set,
goto err2;
trans = nft_trans_elem_alloc(ctx, NFT_MSG_DELSETELEM, set);
- if (trans = NULL)
+ if (trans = NULL) {
+ err = -ENOMEM;
goto err2;
+ }
nft_trans_elem(trans) = elem;
list_add_tail(&trans->list, &ctx->net->nft.commit_list);
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 5/5] kexec: fix error return code
2014-08-07 12:49 ` Julia Lawall
(?)
@ 2014-08-07 12:49 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: Eric Biederman; +Cc: kernel-janitors, kexec, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
kernel/kexec.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/kernel/kexec.c b/kernel/kexec.c
index 0b49a0a..dcd7a1f 100644
--- a/kernel/kexec.c
+++ b/kernel/kexec.c
@@ -2212,8 +2212,10 @@ static int kexec_calculate_store_digests(struct kimage *image)
sha_region_sz = KEXEC_SEGMENT_MAX * sizeof(struct kexec_sha_region);
sha_regions = vzalloc(sha_region_sz);
- if (!sha_regions)
+ if (!sha_regions) {
+ ret = -ENOMEM;
goto out_free_desc;
+ }
desc->tfm = tfm;
desc->flags = 0;
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 5/5] kexec: fix error return code
@ 2014-08-07 12:49 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: Eric Biederman; +Cc: kernel-janitors, kexec, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
kernel/kexec.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/kernel/kexec.c b/kernel/kexec.c
index 0b49a0a..dcd7a1f 100644
--- a/kernel/kexec.c
+++ b/kernel/kexec.c
@@ -2212,8 +2212,10 @@ static int kexec_calculate_store_digests(struct kimage *image)
sha_region_sz = KEXEC_SEGMENT_MAX * sizeof(struct kexec_sha_region);
sha_regions = vzalloc(sha_region_sz);
- if (!sha_regions)
+ if (!sha_regions) {
+ ret = -ENOMEM;
goto out_free_desc;
+ }
desc->tfm = tfm;
desc->flags = 0;
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 5/5] kexec: fix error return code
@ 2014-08-07 12:49 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 12:49 UTC (permalink / raw)
To: Eric Biederman; +Cc: kexec, kernel-janitors, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
kernel/kexec.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/kernel/kexec.c b/kernel/kexec.c
index 0b49a0a..dcd7a1f 100644
--- a/kernel/kexec.c
+++ b/kernel/kexec.c
@@ -2212,8 +2212,10 @@ static int kexec_calculate_store_digests(struct kimage *image)
sha_region_sz = KEXEC_SEGMENT_MAX * sizeof(struct kexec_sha_region);
sha_regions = vzalloc(sha_region_sz);
- if (!sha_regions)
+ if (!sha_regions) {
+ ret = -ENOMEM;
goto out_free_desc;
+ }
desc->tfm = tfm;
desc->flags = 0;
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply related [flat|nested] 89+ messages in thread
* Re: [PATCH 1/5] avr32: fix error return code
2014-08-07 12:49 ` Julia Lawall
@ 2014-08-07 13:00 ` Hans-Christian Egtvedt
-1 siblings, 0 replies; 89+ messages in thread
From: Hans-Christian Egtvedt @ 2014-08-07 13:00 UTC (permalink / raw)
To: Julia Lawall; +Cc: Haavard Skinnemoen, kernel-janitors, linux-kernel
Around Thu 07 Aug 2014 14:49:05 +0200 or thereabout, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a zero return value on error to a negative one, as returned
> elsewhere in the function.
Excellent find, added to this for-linus branch.
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
>
> // <smpl>
> @@
> identifier ret; expression e1,e2;
> @@
> (
> if (\(ret < 0\|ret != 0\))
> { ... return ret; }
> |
> ret = 0
> )
> ... when != ret = e1
> when != &ret
> *if(...)
> {
> ... when != ret = e2
> when forall
> return ret;
> }
> // </smpl>
>
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
> ---
> arch/avr32/boards/hammerhead/flash.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
<snipp diff>
--
mvh
Hans-Christian Egtvedt
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 1/5] avr32: fix error return code
@ 2014-08-07 13:00 ` Hans-Christian Egtvedt
0 siblings, 0 replies; 89+ messages in thread
From: Hans-Christian Egtvedt @ 2014-08-07 13:00 UTC (permalink / raw)
To: Julia Lawall; +Cc: Haavard Skinnemoen, kernel-janitors, linux-kernel
Around Thu 07 Aug 2014 14:49:05 +0200 or thereabout, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a zero return value on error to a negative one, as returned
> elsewhere in the function.
Excellent find, added to this for-linus branch.
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
>
> // <smpl>
> @@
> identifier ret; expression e1,e2;
> @@
> (
> if (\(ret < 0\|ret != 0\))
> { ... return ret; }
> |
> ret = 0
> )
> ... when != ret = e1
> when != &ret
> *if(...)
> {
> ... when != ret = e2
> when forall
> return ret;
> }
> // </smpl>
>
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
> ---
> arch/avr32/boards/hammerhead/flash.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
<snipp diff>
--
mvh
Hans-Christian Egtvedt
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/atm/atmtcp.c: fix error return code
2014-08-07 12:49 ` Julia Lawall
@ 2014-08-07 13:10 ` chas williams - CONTRACTOR
-1 siblings, 0 replies; 89+ messages in thread
From: chas williams - CONTRACTOR @ 2014-08-07 13:10 UTC (permalink / raw)
To: Julia Lawall; +Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
On Thu, 7 Aug 2014 14:49:06 +0200
Julia Lawall <Julia.Lawall@lip6.fr> wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a zero return value on error to a negative one, as returned
> elsewhere in the function.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
...
>
> diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c
> index 0e3f8f9..c8e4fb4 100644
> --- a/drivers/atm/atmtcp.c
> +++ b/drivers/atm/atmtcp.c
> @@ -299,6 +299,7 @@ static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
> out_vcc = find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci));
> read_unlock(&vcc_sklist_lock);
> if (!out_vcc) {
> + result = -ESRCH;
This should probably be -EUNATCH to match the rest of the code.
> atomic_inc(&vcc->stats->tx_err);
> goto done;
> }
>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/atm/atmtcp.c: fix error return code
@ 2014-08-07 13:10 ` chas williams - CONTRACTOR
0 siblings, 0 replies; 89+ messages in thread
From: chas williams - CONTRACTOR @ 2014-08-07 13:10 UTC (permalink / raw)
To: Julia Lawall; +Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
On Thu, 7 Aug 2014 14:49:06 +0200
Julia Lawall <Julia.Lawall@lip6.fr> wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a zero return value on error to a negative one, as returned
> elsewhere in the function.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
...
>
> diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c
> index 0e3f8f9..c8e4fb4 100644
> --- a/drivers/atm/atmtcp.c
> +++ b/drivers/atm/atmtcp.c
> @@ -299,6 +299,7 @@ static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
> out_vcc = find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci));
> read_unlock(&vcc_sklist_lock);
> if (!out_vcc) {
> + result = -ESRCH;
This should probably be -EUNATCH to match the rest of the code.
> atomic_inc(&vcc->stats->tx_err);
> goto done;
> }
>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 2/5] solos-pci: fix error return code
2014-08-07 12:49 ` Julia Lawall
@ 2014-08-07 13:14 ` chas williams - CONTRACTOR
-1 siblings, 0 replies; 89+ messages in thread
From: chas williams - CONTRACTOR @ 2014-08-07 13:14 UTC (permalink / raw)
To: Julia Lawall; +Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
On Thu, 7 Aug 2014 14:49:07 +0200
Julia Lawall <Julia.Lawall@lip6.fr> wrote:
...
> drivers/atm/solos-pci.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
> index 943cf0d..7652e8d 100644
> --- a/drivers/atm/solos-pci.c
> +++ b/drivers/atm/solos-pci.c
> @@ -1278,6 +1278,7 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
> card->dma_bounce = kmalloc(card->nr_ports * BUF_SIZE, GFP_KERNEL);
> if (!card->dma_bounce) {
> dev_warn(&card->dev->dev, "Failed to allocate DMA bounce buffers\n");
> + err = -ENOMEM;
> /* Fallback to MMIO doesn't work */
> goto out_unmap_both;
> }
>
Acked-by: Chas Williams <chas@cmf.nrl.navy.mil>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 2/5] solos-pci: fix error return code
@ 2014-08-07 13:14 ` chas williams - CONTRACTOR
0 siblings, 0 replies; 89+ messages in thread
From: chas williams - CONTRACTOR @ 2014-08-07 13:14 UTC (permalink / raw)
To: Julia Lawall; +Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
On Thu, 7 Aug 2014 14:49:07 +0200
Julia Lawall <Julia.Lawall@lip6.fr> wrote:
...
> drivers/atm/solos-pci.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
> index 943cf0d..7652e8d 100644
> --- a/drivers/atm/solos-pci.c
> +++ b/drivers/atm/solos-pci.c
> @@ -1278,6 +1278,7 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
> card->dma_bounce = kmalloc(card->nr_ports * BUF_SIZE, GFP_KERNEL);
> if (!card->dma_bounce) {
> dev_warn(&card->dev->dev, "Failed to allocate DMA bounce buffers\n");
> + err = -ENOMEM;
> /* Fallback to MMIO doesn't work */
> goto out_unmap_both;
> }
>
Acked-by: Chas Williams <chas@cmf.nrl.navy.mil>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/atm/atmtcp.c: fix error return code
2014-08-07 13:10 ` chas williams - CONTRACTOR
@ 2014-08-07 13:25 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 13:25 UTC (permalink / raw)
To: chas williams - CONTRACTOR
Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
On Thu, 7 Aug 2014, chas williams - CONTRACTOR wrote:
> On Thu, 7 Aug 2014 14:49:06 +0200
> Julia Lawall <Julia.Lawall@lip6.fr> wrote:
>
> > From: Julia Lawall <Julia.Lawall@lip6.fr>
> >
> > Convert a zero return value on error to a negative one, as returned
> > elsewhere in the function.
> >
> > A simplified version of the semantic match that finds this problem is as
> > follows: (http://coccinelle.lip6.fr/)
> ...
> >
> > diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c
> > index 0e3f8f9..c8e4fb4 100644
> > --- a/drivers/atm/atmtcp.c
> > +++ b/drivers/atm/atmtcp.c
> > @@ -299,6 +299,7 @@ static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
> > out_vcc = find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci));
> > read_unlock(&vcc_sklist_lock);
> > if (!out_vcc) {
> > + result = -ESRCH;
>
> This should probably be -EUNATCH to match the rest of the code.
Thanks. I will send a new version.
julia
> > atomic_inc(&vcc->stats->tx_err);
> > goto done;
> > }
> >
>
> --
> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/atm/atmtcp.c: fix error return code
@ 2014-08-07 13:25 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 13:25 UTC (permalink / raw)
To: chas williams - CONTRACTOR
Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
On Thu, 7 Aug 2014, chas williams - CONTRACTOR wrote:
> On Thu, 7 Aug 2014 14:49:06 +0200
> Julia Lawall <Julia.Lawall@lip6.fr> wrote:
>
> > From: Julia Lawall <Julia.Lawall@lip6.fr>
> >
> > Convert a zero return value on error to a negative one, as returned
> > elsewhere in the function.
> >
> > A simplified version of the semantic match that finds this problem is as
> > follows: (http://coccinelle.lip6.fr/)
> ...
> >
> > diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c
> > index 0e3f8f9..c8e4fb4 100644
> > --- a/drivers/atm/atmtcp.c
> > +++ b/drivers/atm/atmtcp.c
> > @@ -299,6 +299,7 @@ static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
> > out_vcc = find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci));
> > read_unlock(&vcc_sklist_lock);
> > if (!out_vcc) {
> > + result = -ESRCH;
>
> This should probably be -EUNATCH to match the rest of the code.
Thanks. I will send a new version.
julia
> > atomic_inc(&vcc->stats->tx_err);
> > goto done;
> > }
> >
>
> --
> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/atm/atmtcp.c: fix error return code
2014-08-07 13:10 ` chas williams - CONTRACTOR
@ 2014-08-07 13:31 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 13:31 UTC (permalink / raw)
To: chas williams - CONTRACTOR
Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
v2; changed error code to -EUNATCH
drivers/atm/atmtcp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c
index 0e3f8f9..c8e4fb4 100644
--- a/drivers/atm/atmtcp.c
+++ b/drivers/atm/atmtcp.c
@@ -299,6 +299,7 @@ static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
out_vcc = find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci));
read_unlock(&vcc_sklist_lock);
if (!out_vcc) {
+ result = -EUNATCH;
atomic_inc(&vcc->stats->tx_err);
goto done;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/atm/atmtcp.c: fix error return code
@ 2014-08-07 13:31 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-08-07 13:31 UTC (permalink / raw)
To: chas williams - CONTRACTOR
Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Convert a zero return value on error to a negative one, as returned
elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
v2; changed error code to -EUNATCH
drivers/atm/atmtcp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c
index 0e3f8f9..c8e4fb4 100644
--- a/drivers/atm/atmtcp.c
+++ b/drivers/atm/atmtcp.c
@@ -299,6 +299,7 @@ static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
out_vcc = find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci));
read_unlock(&vcc_sklist_lock);
if (!out_vcc) {
+ result = -EUNATCH;
atomic_inc(&vcc->stats->tx_err);
goto done;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/atm/atmtcp.c: fix error return code
2014-08-07 13:31 ` Julia Lawall
@ 2014-08-07 13:41 ` chas williams - CONTRACTOR
-1 siblings, 0 replies; 89+ messages in thread
From: chas williams - CONTRACTOR @ 2014-08-07 13:41 UTC (permalink / raw)
To: Julia Lawall; +Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
On Thu, 7 Aug 2014 15:31:05 +0200 (CEST)
Julia Lawall <julia.lawall@lip6.fr> wrote:
> diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c
> index 0e3f8f9..c8e4fb4 100644
> --- a/drivers/atm/atmtcp.c
> +++ b/drivers/atm/atmtcp.c
> @@ -299,6 +299,7 @@ static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
> out_vcc = find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci));
> read_unlock(&vcc_sklist_lock);
> if (!out_vcc) {
> + result = -EUNATCH;
> atomic_inc(&vcc->stats->tx_err);
> goto done;
> }
>
Acked-by: Chas Williams <chas@cmf.nrl.navy.mil>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/atm/atmtcp.c: fix error return code
@ 2014-08-07 13:41 ` chas williams - CONTRACTOR
0 siblings, 0 replies; 89+ messages in thread
From: chas williams - CONTRACTOR @ 2014-08-07 13:41 UTC (permalink / raw)
To: Julia Lawall; +Cc: kernel-janitors, linux-atm-general, netdev, linux-kernel
On Thu, 7 Aug 2014 15:31:05 +0200 (CEST)
Julia Lawall <julia.lawall@lip6.fr> wrote:
> diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c
> index 0e3f8f9..c8e4fb4 100644
> --- a/drivers/atm/atmtcp.c
> +++ b/drivers/atm/atmtcp.c
> @@ -299,6 +299,7 @@ static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
> out_vcc = find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci));
> read_unlock(&vcc_sklist_lock);
> if (!out_vcc) {
> + result = -EUNATCH;
> atomic_inc(&vcc->stats->tx_err);
> goto done;
> }
>
Acked-by: Chas Williams <chas@cmf.nrl.navy.mil>
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 2/5] solos-pci: fix error return code
2014-08-07 12:49 ` Julia Lawall
@ 2014-08-07 23:04 ` David Miller
-1 siblings, 0 replies; 89+ messages in thread
From: David Miller @ 2014-08-07 23:04 UTC (permalink / raw)
To: Julia.Lawall
Cc: chas, kernel-janitors, linux-atm-general, netdev, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Date: Thu, 7 Aug 2014 14:49:07 +0200
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a zero return value on error to a negative one, as returned
> elsewhere in the function.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
...
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Applied.
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 2/5] solos-pci: fix error return code
@ 2014-08-07 23:04 ` David Miller
0 siblings, 0 replies; 89+ messages in thread
From: David Miller @ 2014-08-07 23:04 UTC (permalink / raw)
To: Julia.Lawall
Cc: chas, kernel-janitors, linux-atm-general, netdev, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Date: Thu, 7 Aug 2014 14:49:07 +0200
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a zero return value on error to a negative one, as returned
> elsewhere in the function.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
...
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Applied.
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/atm/atmtcp.c: fix error return code
2014-08-07 13:31 ` Julia Lawall
@ 2014-08-07 23:05 ` David Miller
-1 siblings, 0 replies; 89+ messages in thread
From: David Miller @ 2014-08-07 23:05 UTC (permalink / raw)
To: julia.lawall
Cc: chas, kernel-janitors, linux-atm-general, netdev, linux-kernel
From: Julia Lawall <julia.lawall@lip6.fr>
Date: Thu, 7 Aug 2014 15:31:05 +0200 (CEST)
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a zero return value on error to a negative one, as returned
> elsewhere in the function.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
...
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
>
> ---
> v2; changed error code to -EUNATCH
Applied.
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 3/5] drivers/atm/atmtcp.c: fix error return code
@ 2014-08-07 23:05 ` David Miller
0 siblings, 0 replies; 89+ messages in thread
From: David Miller @ 2014-08-07 23:05 UTC (permalink / raw)
To: julia.lawall
Cc: chas, kernel-janitors, linux-atm-general, netdev, linux-kernel
From: Julia Lawall <julia.lawall@lip6.fr>
Date: Thu, 7 Aug 2014 15:31:05 +0200 (CEST)
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a zero return value on error to a negative one, as returned
> elsewhere in the function.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
...
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
>
> ---
> v2; changed error code to -EUNATCH
Applied.
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 4/5] netfilter: nf_tables: fix error return code
2014-08-07 12:49 ` Julia Lawall
@ 2014-08-11 16:41 ` Pablo Neira Ayuso
-1 siblings, 0 replies; 89+ messages in thread
From: Pablo Neira Ayuso @ 2014-08-11 16:41 UTC (permalink / raw)
To: Julia Lawall
Cc: kernel-janitors, Patrick McHardy, Jozsef Kadlecsik,
David S. Miller, netfilter-devel, coreteam, netdev, linux-kernel
On Thu, Aug 07, 2014 at 02:49:08PM +0200, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a zero return value on error to a negative one, as returned
> elsewhere in the function.
Applied, thanks Julia.
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 4/5] netfilter: nf_tables: fix error return code
@ 2014-08-11 16:41 ` Pablo Neira Ayuso
0 siblings, 0 replies; 89+ messages in thread
From: Pablo Neira Ayuso @ 2014-08-11 16:41 UTC (permalink / raw)
To: Julia Lawall
Cc: kernel-janitors, Patrick McHardy, Jozsef Kadlecsik,
David S. Miller, netfilter-devel, coreteam, netdev, linux-kernel
On Thu, Aug 07, 2014 at 02:49:08PM +0200, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Convert a zero return value on error to a negative one, as returned
> elsewhere in the function.
Applied, thanks Julia.
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 0/5] fix error return code
@ 2014-11-23 13:11 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: linux-sh
Cc: kernel-janitors, linux-samsung-soc, linux-arm-kernel, dri-devel,
linux-kernel, MPT-FusionLinux.pdl, linux-scsi, linux-pcmcia
The complate semantic patch that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@ok exists@
identifier f,ret,i;
expression e;
constant c;
@@
// identify a function that returns a negative return value at least once.
f(...) {
... when any
(
return -c@i;
|
ret = -c@i;
... when != ret = e
return ret;
|
if (ret < 0) { ... return ret; }
)
... when any
}
@r exists@
identifier ret,ok.f,fn;
expression e1,e2,e3,e4,e5,e6,x;
statement S,S1;
position p1,p2,p3;
@@
// identify a case where the return variable is set to a non-negative value
// and then returned in error-handling code
f(...) {
... when any
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != \(ret = e1\|ret++\|ret--\|ret+á\|ret-á\)
when != &ret
when any
(
if (<+... ret = e5 ...+>) S1
|
if (<+... &ret ...+>) S1
|
if@p2(<+...x = fn(...)...+>)
{
... when != ret = e6
when forall
return@p3 ret;
}
|
break;
|
x = fn(...)
... when != \(ret = e4\|ret++\|ret--\|ret+ä\|ret-ä\)
when != &ret
(
if (<+... ret = e3 ...+>) S
|
if (<+... &ret ...+>) S
|
if@p2(<+...\(x != 0\|x < 0\|x = NULL\|IS_ERR(x)\)...+>)
{
... when != ret = e2
when forall
return@p3 ret;
}
)
)
... when any
}
@printer depends on r@
position p;
identifier ok.f,pr;
constant char [] c;
@@
f(...) { <...pr@p(...,c,...)...> }
@bad0 exists@
identifier r.ret,ok.f,g != {ERR_PTR,IS_ERR};
position p != printer.p;
@@
f(...) { ... when any
g@p(...,ret,...)
... when any
}
@bad depends on !bad0 exists@
position r.p1,r.p2;
statement S1,S2;
identifier r.ret;
expression e1;
@@
// ignore the above if there is some path where the variable is set to
// something else
(
if@p1 (\(ret < 0\|ret != 0\)) S1
|
ret@p1 = 0
)
... when any
\(ret = e1\|ret++\|ret--\|ret+á\|ret-á\|&ret\)
... when any
if@p2(...) S2
@bad1 depends on !bad0 && !bad exists@
position r.p2;
statement S2;
identifier r.ret;
expression e1;
constant c;
@@
ret = -c
... when != \(ret = e1\|ret++\|ret--\|ret+á\|ret-á\)
when != &ret
when any
if@p2(...) S2
@bad2 depends on !bad0 && !bad && !bad1 exists@
position r.p1,r.p2;
identifier r.ret;
expression e1;
statement S2;
constant c;
@@
// likewise ignore it if there has been an intervening return
ret@p1 = 0
... when != if (...) { ... ret = e1 ... return ret; }
when != if (...) { ... return -c; }
when any
if@p2(...) S2
@script:python depends on !bad0 && !bad && !bad1 && !bad2@
p1 << r.p1;
p2 << r.p2;
p3 << r.p3;
@@
cocci.print_main("",p1)
cocci.print_secs("",p2)
cocci.print_secs("",p3)
// </smpl>
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 0/5] fix error return code
@ 2014-11-23 13:11 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: linux-sh
Cc: kernel-janitors, linux-samsung-soc, linux-arm-kernel, dri-devel,
linux-kernel, MPT-FusionLinux.pdl, linux-scsi, linux-pcmcia
The complate semantic patch that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@ok exists@
identifier f,ret,i;
expression e;
constant c;
@@
// identify a function that returns a negative return value at least once.
f(...) {
... when any
(
return -c@i;
|
ret = -c@i;
... when != ret = e
return ret;
|
if (ret < 0) { ... return ret; }
)
... when any
}
@r exists@
identifier ret,ok.f,fn;
expression e1,e2,e3,e4,e5,e6,x;
statement S,S1;
position p1,p2,p3;
@@
// identify a case where the return variable is set to a non-negative value
// and then returned in error-handling code
f(...) {
... when any
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != \(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\)
when != &ret
when any
(
if (<+... ret = e5 ...+>) S1
|
if (<+... &ret ...+>) S1
|
if@p2(<+...x = fn(...)...+>)
{
... when != ret = e6
when forall
return@p3 ret;
}
|
break;
|
x = fn(...)
... when != \(ret = e4\|ret++\|ret--\|ret+=e4\|ret-=e4\)
when != &ret
(
if (<+... ret = e3 ...+>) S
|
if (<+... &ret ...+>) S
|
if@p2(<+...\(x != 0\|x < 0\|x == NULL\|IS_ERR(x)\)...+>)
{
... when != ret = e2
when forall
return@p3 ret;
}
)
)
... when any
}
@printer depends on r@
position p;
identifier ok.f,pr;
constant char [] c;
@@
f(...) { <...pr@p(...,c,...)...> }
@bad0 exists@
identifier r.ret,ok.f,g != {ERR_PTR,IS_ERR};
position p != printer.p;
@@
f(...) { ... when any
g@p(...,ret,...)
... when any
}
@bad depends on !bad0 exists@
position r.p1,r.p2;
statement S1,S2;
identifier r.ret;
expression e1;
@@
// ignore the above if there is some path where the variable is set to
// something else
(
if@p1 (\(ret < 0\|ret != 0\)) S1
|
ret@p1 = 0
)
... when any
\(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\|&ret\)
... when any
if@p2(...) S2
@bad1 depends on !bad0 && !bad exists@
position r.p2;
statement S2;
identifier r.ret;
expression e1;
constant c;
@@
ret = -c
... when != \(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\)
when != &ret
when any
if@p2(...) S2
@bad2 depends on !bad0 && !bad && !bad1 exists@
position r.p1,r.p2;
identifier r.ret;
expression e1;
statement S2;
constant c;
@@
// likewise ignore it if there has been an intervening return
ret@p1 = 0
... when != if (...) { ... ret = e1 ... return ret; }
when != if (...) { ... return -c; }
when any
if@p2(...) S2
@script:python depends on !bad0 && !bad && !bad1 && !bad2@
p1 << r.p1;
p2 << r.p2;
p3 << r.p3;
@@
cocci.print_main("",p1)
cocci.print_secs("",p2)
cocci.print_secs("",p3)
// </smpl>
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 0/5] fix error return code
@ 2014-11-23 13:11 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: linux-sh
Cc: kernel-janitors, linux-samsung-soc, linux-arm-kernel, dri-devel,
linux-kernel, MPT-FusionLinux.pdl, linux-scsi, linux-pcmcia
The complate semantic patch that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@ok exists@
identifier f,ret,i;
expression e;
constant c;
@@
// identify a function that returns a negative return value at least once.
f(...) {
... when any
(
return -c@i;
|
ret = -c@i;
... when != ret = e
return ret;
|
if (ret < 0) { ... return ret; }
)
... when any
}
@r exists@
identifier ret,ok.f,fn;
expression e1,e2,e3,e4,e5,e6,x;
statement S,S1;
position p1,p2,p3;
@@
// identify a case where the return variable is set to a non-negative value
// and then returned in error-handling code
f(...) {
... when any
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != \(ret = e1\|ret++\|ret--\|ret+á\|ret-á\)
when != &ret
when any
(
if (<+... ret = e5 ...+>) S1
|
if (<+... &ret ...+>) S1
|
if@p2(<+...x = fn(...)...+>)
{
... when != ret = e6
when forall
return@p3 ret;
}
|
break;
|
x = fn(...)
... when != \(ret = e4\|ret++\|ret--\|ret+ä\|ret-ä\)
when != &ret
(
if (<+... ret = e3 ...+>) S
|
if (<+... &ret ...+>) S
|
if@p2(<+...\(x != 0\|x < 0\|x = NULL\|IS_ERR(x)\)...+>)
{
... when != ret = e2
when forall
return@p3 ret;
}
)
)
... when any
}
@printer depends on r@
position p;
identifier ok.f,pr;
constant char [] c;
@@
f(...) { <...pr@p(...,c,...)...> }
@bad0 exists@
identifier r.ret,ok.f,g != {ERR_PTR,IS_ERR};
position p != printer.p;
@@
f(...) { ... when any
g@p(...,ret,...)
... when any
}
@bad depends on !bad0 exists@
position r.p1,r.p2;
statement S1,S2;
identifier r.ret;
expression e1;
@@
// ignore the above if there is some path where the variable is set to
// something else
(
if@p1 (\(ret < 0\|ret != 0\)) S1
|
ret@p1 = 0
)
... when any
\(ret = e1\|ret++\|ret--\|ret+á\|ret-á\|&ret\)
... when any
if@p2(...) S2
@bad1 depends on !bad0 && !bad exists@
position r.p2;
statement S2;
identifier r.ret;
expression e1;
constant c;
@@
ret = -c
... when != \(ret = e1\|ret++\|ret--\|ret+á\|ret-á\)
when != &ret
when any
if@p2(...) S2
@bad2 depends on !bad0 && !bad && !bad1 exists@
position r.p1,r.p2;
identifier r.ret;
expression e1;
statement S2;
constant c;
@@
// likewise ignore it if there has been an intervening return
ret@p1 = 0
... when != if (...) { ... ret = e1 ... return ret; }
when != if (...) { ... return -c; }
when any
if@p2(...) S2
@script:python depends on !bad0 && !bad && !bad1 && !bad2@
p1 << r.p1;
p2 << r.p2;
p3 << r.p3;
@@
cocci.print_main("",p1)
cocci.print_secs("",p2)
cocci.print_secs("",p3)
// </smpl>
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 0/5] fix error return code
@ 2014-11-23 13:11 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: linux-arm-kernel
The complate semantic patch that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@ok exists@
identifier f,ret,i;
expression e;
constant c;
@@
// identify a function that returns a negative return value at least once.
f(...) {
... when any
(
return -c at i;
|
ret = -c at i;
... when != ret = e
return ret;
|
if (ret < 0) { ... return ret; }
)
... when any
}
@r exists@
identifier ret,ok.f,fn;
expression e1,e2,e3,e4,e5,e6,x;
statement S,S1;
position p1,p2,p3;
@@
// identify a case where the return variable is set to a non-negative value
// and then returned in error-handling code
f(...) {
... when any
(
if at p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != \(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\)
when != &ret
when any
(
if (<+... ret = e5 ...+>) S1
|
if (<+... &ret ...+>) S1
|
if at p2(<+...x = fn(...)...+>)
{
... when != ret = e6
when forall
return at p3 ret;
}
|
break;
|
x = fn(...)
... when != \(ret = e4\|ret++\|ret--\|ret+=e4\|ret-=e4\)
when != &ret
(
if (<+... ret = e3 ...+>) S
|
if (<+... &ret ...+>) S
|
if at p2(<+...\(x != 0\|x < 0\|x == NULL\|IS_ERR(x)\)...+>)
{
... when != ret = e2
when forall
return at p3 ret;
}
)
)
... when any
}
@printer depends on r@
position p;
identifier ok.f,pr;
constant char [] c;
@@
f(...) { <...pr@p(...,c,...)...> }
@bad0 exists@
identifier r.ret,ok.f,g != {ERR_PTR,IS_ERR};
position p != printer.p;
@@
f(...) { ... when any
g at p(...,ret,...)
... when any
}
@bad depends on !bad0 exists@
position r.p1,r.p2;
statement S1,S2;
identifier r.ret;
expression e1;
@@
// ignore the above if there is some path where the variable is set to
// something else
(
if at p1 (\(ret < 0\|ret != 0\)) S1
|
ret at p1 = 0
)
... when any
\(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\|&ret\)
... when any
if at p2(...) S2
@bad1 depends on !bad0 && !bad exists@
position r.p2;
statement S2;
identifier r.ret;
expression e1;
constant c;
@@
ret = -c
... when != \(ret = e1\|ret++\|ret--\|ret+=e1\|ret-=e1\)
when != &ret
when any
if at p2(...) S2
@bad2 depends on !bad0 && !bad && !bad1 exists@
position r.p1,r.p2;
identifier r.ret;
expression e1;
statement S2;
constant c;
@@
// likewise ignore it if there has been an intervening return
ret at p1 = 0
... when != if (...) { ... ret = e1 ... return ret; }
when != if (...) { ... return -c; }
when any
if@p2(...) S2
@script:python depends on !bad0 && !bad && !bad1 && !bad2@
p1 << r.p1;
p2 << r.p2;
p3 << r.p3;
@@
cocci.print_main("",p1)
cocci.print_secs("",p2)
cocci.print_secs("",p3)
// </smpl>
^ permalink raw reply [flat|nested] 89+ messages in thread
* [PATCH 1/5] mptfusion: fix error return code
2014-11-23 13:11 ` Julia Lawall
@ 2014-11-23 13:11 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: Nagalakshmi Nandigama
Cc: kernel-janitors, Praveen Krishnamoorthy, Sreekanth Reddy,
Abhijit Mahajan, MPT-FusionLinux.pdl, linux-scsi, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/message/fusion/mptfc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/message/fusion/mptfc.c b/drivers/message/fusion/mptfc.c
index d8bf84a..629df6d 100644
--- a/drivers/message/fusion/mptfc.c
+++ b/drivers/message/fusion/mptfc.c
@@ -1325,8 +1325,10 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id)
"mptfc_wq_%d", sh->host_no);
ioc->fc_rescan_work_q =
create_singlethread_workqueue(ioc->fc_rescan_work_q_name);
- if (!ioc->fc_rescan_work_q)
+ if (!ioc->fc_rescan_work_q) {
+ error = -ENOMEM;
goto out_mptfc_probe;
+ }
/*
* Pre-fetch FC port WWN and stuff...
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 1/5] mptfusion: fix error return code
@ 2014-11-23 13:11 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: Nagalakshmi Nandigama
Cc: kernel-janitors, Praveen Krishnamoorthy, Sreekanth Reddy,
Abhijit Mahajan, MPT-FusionLinux.pdl, linux-scsi, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/message/fusion/mptfc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/message/fusion/mptfc.c b/drivers/message/fusion/mptfc.c
index d8bf84a..629df6d 100644
--- a/drivers/message/fusion/mptfc.c
+++ b/drivers/message/fusion/mptfc.c
@@ -1325,8 +1325,10 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id)
"mptfc_wq_%d", sh->host_no);
ioc->fc_rescan_work_q create_singlethread_workqueue(ioc->fc_rescan_work_q_name);
- if (!ioc->fc_rescan_work_q)
+ if (!ioc->fc_rescan_work_q) {
+ error = -ENOMEM;
goto out_mptfc_probe;
+ }
/*
* Pre-fetch FC port WWN and stuff...
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 2/5] drm/exynos/ipp: fix error return code
2014-11-23 13:11 ` Julia Lawall
(?)
@ 2014-11-23 13:11 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: Inki Dae
Cc: kernel-janitors, Joonyoung Shim, Seung-Woo Kim, Kyungmin Park,
David Airlie, Kukjin Kim, dri-devel, linux-arm-kernel,
linux-samsung-soc, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Propagate the returned error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/gpu/drm/exynos/exynos_drm_ipp.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
index 00d74b1..d5ad17d 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
@@ -426,18 +426,21 @@ int exynos_drm_ipp_set_property(struct drm_device *drm_dev, void *data,
c_node->start_work = ipp_create_cmd_work();
if (IS_ERR(c_node->start_work)) {
DRM_ERROR("failed to create start work.\n");
+ ret = PTR_ERR(c_node->start_work);
goto err_remove_id;
}
c_node->stop_work = ipp_create_cmd_work();
if (IS_ERR(c_node->stop_work)) {
DRM_ERROR("failed to create stop work.\n");
+ ret = PTR_ERR(c_node->stop_work);
goto err_free_start;
}
c_node->event_work = ipp_create_event_work();
if (IS_ERR(c_node->event_work)) {
DRM_ERROR("failed to create event work.\n");
+ ret = PTR_ERR(c_node->event_work);
goto err_free_stop;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 2/5] drm/exynos/ipp: fix error return code
@ 2014-11-23 13:11 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: Inki Dae
Cc: kernel-janitors, Joonyoung Shim, Seung-Woo Kim, Kyungmin Park,
David Airlie, Kukjin Kim, dri-devel, linux-arm-kernel,
linux-samsung-soc, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Propagate the returned error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/gpu/drm/exynos/exynos_drm_ipp.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
index 00d74b1..d5ad17d 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
@@ -426,18 +426,21 @@ int exynos_drm_ipp_set_property(struct drm_device *drm_dev, void *data,
c_node->start_work = ipp_create_cmd_work();
if (IS_ERR(c_node->start_work)) {
DRM_ERROR("failed to create start work.\n");
+ ret = PTR_ERR(c_node->start_work);
goto err_remove_id;
}
c_node->stop_work = ipp_create_cmd_work();
if (IS_ERR(c_node->stop_work)) {
DRM_ERROR("failed to create stop work.\n");
+ ret = PTR_ERR(c_node->stop_work);
goto err_free_start;
}
c_node->event_work = ipp_create_event_work();
if (IS_ERR(c_node->event_work)) {
DRM_ERROR("failed to create event work.\n");
+ ret = PTR_ERR(c_node->event_work);
goto err_free_stop;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 2/5] drm/exynos/ipp: fix error return code
@ 2014-11-23 13:11 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: linux-arm-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Propagate the returned error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/gpu/drm/exynos/exynos_drm_ipp.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
index 00d74b1..d5ad17d 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
@@ -426,18 +426,21 @@ int exynos_drm_ipp_set_property(struct drm_device *drm_dev, void *data,
c_node->start_work = ipp_create_cmd_work();
if (IS_ERR(c_node->start_work)) {
DRM_ERROR("failed to create start work.\n");
+ ret = PTR_ERR(c_node->start_work);
goto err_remove_id;
}
c_node->stop_work = ipp_create_cmd_work();
if (IS_ERR(c_node->stop_work)) {
DRM_ERROR("failed to create stop work.\n");
+ ret = PTR_ERR(c_node->stop_work);
goto err_free_start;
}
c_node->event_work = ipp_create_event_work();
if (IS_ERR(c_node->event_work)) {
DRM_ERROR("failed to create event work.\n");
+ ret = PTR_ERR(c_node->event_work);
goto err_free_stop;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 3/5] electra_cf: fix error return code
2014-11-23 13:11 ` Julia Lawall
@ 2014-11-23 13:11 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: linux-pcmcia; +Cc: kernel-janitors, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/pcmcia/electra_cf.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pcmcia/electra_cf.c b/drivers/pcmcia/electra_cf.c
index 7f9950d..6a67a00 100644
--- a/drivers/pcmcia/electra_cf.c
+++ b/drivers/pcmcia/electra_cf.c
@@ -250,6 +250,7 @@ static int electra_cf_probe(struct platform_device *ofdev)
cf->socket.pci_irq = cf->irq;
+ status = -EINVAL;
prop = of_get_property(np, "card-detect-gpio", NULL);
if (!prop)
goto fail1;
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 3/5] electra_cf: fix error return code
@ 2014-11-23 13:11 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: linux-pcmcia; +Cc: kernel-janitors, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/pcmcia/electra_cf.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pcmcia/electra_cf.c b/drivers/pcmcia/electra_cf.c
index 7f9950d..6a67a00 100644
--- a/drivers/pcmcia/electra_cf.c
+++ b/drivers/pcmcia/electra_cf.c
@@ -250,6 +250,7 @@ static int electra_cf_probe(struct platform_device *ofdev)
cf->socket.pci_irq = cf->irq;
+ status = -EINVAL;
prop = of_get_property(np, "card-detect-gpio", NULL);
if (!prop)
goto fail1;
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 4/5] drm/rcar-du: fix error return code
2014-11-23 13:11 ` Julia Lawall
@ 2014-11-23 13:11 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: Laurent Pinchart
Cc: kernel-janitors, David Airlie, dri-devel, linux-sh, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Propagate the error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
index 088bfd8..23cc910 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
@@ -586,7 +586,7 @@ int rcar_du_crtc_create(struct rcar_du_group *rgrp, unsigned int index)
if (irq < 0) {
dev_err(rcdu->dev, "no IRQ for CRTC %u\n", index);
- return ret;
+ return irq;
}
ret = devm_request_irq(rcdu->dev, irq, rcar_du_crtc_irq, irqflags,
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 4/5] drm/rcar-du: fix error return code
@ 2014-11-23 13:11 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: Laurent Pinchart
Cc: kernel-janitors, David Airlie, dri-devel, linux-sh, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Propagate the error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
index 088bfd8..23cc910 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
@@ -586,7 +586,7 @@ int rcar_du_crtc_create(struct rcar_du_group *rgrp, unsigned int index)
if (irq < 0) {
dev_err(rcdu->dev, "no IRQ for CRTC %u\n", index);
- return ret;
+ return irq;
}
ret = devm_request_irq(rcdu->dev, irq, rcar_du_crtc_irq, irqflags,
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 5/5] drivers/gpu/drm: fix error return code
2014-11-23 13:11 ` Julia Lawall
@ 2014-11-23 13:11 ` Julia Lawall
-1 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: David Airlie; +Cc: kernel-janitors, dri-devel, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/gpu/drm/gma500/psb_drv.c | 8 ++++++--
drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 1 +
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c
index 6ec3a90..e405414 100644
--- a/drivers/gpu/drm/gma500/psb_drv.c
+++ b/drivers/gpu/drm/gma500/psb_drv.c
@@ -306,12 +306,16 @@ static int psb_driver_load(struct drm_device *dev, unsigned long flags)
goto out_err;
dev_priv->mmu = psb_mmu_driver_init(dev, 1, 0, 0);
- if (!dev_priv->mmu)
+ if (!dev_priv->mmu) {
+ ret = -ENOMEM;
goto out_err;
+ }
dev_priv->pf_pd = psb_mmu_alloc_pd(dev_priv->mmu, 1, 0);
- if (!dev_priv->pf_pd)
+ if (!dev_priv->pf_pd) {
+ ret = -ENOMEM;
goto out_err;
+ }
ret = psb_do_init(dev);
if (ret)
diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
index 56c6055..c0fb5fa 100644
--- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
+++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
@@ -678,6 +678,7 @@ static int omap_dmm_probe(struct platform_device *dev)
&omap_dmm->refill_pa, GFP_KERNEL);
if (!omap_dmm->refill_va) {
dev_err(&dev->dev, "could not allocate refill memory\n");
+ ret = -ENOMEM;
goto fail;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* [PATCH 5/5] drivers/gpu/drm: fix error return code
@ 2014-11-23 13:11 ` Julia Lawall
0 siblings, 0 replies; 89+ messages in thread
From: Julia Lawall @ 2014-11-23 13:11 UTC (permalink / raw)
To: David Airlie; +Cc: kernel-janitors, dri-devel, linux-kernel
From: Julia Lawall <Julia.Lawall@lip6.fr>
Return a negative error code on failure.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/gpu/drm/gma500/psb_drv.c | 8 ++++++--
drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 1 +
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c
index 6ec3a90..e405414 100644
--- a/drivers/gpu/drm/gma500/psb_drv.c
+++ b/drivers/gpu/drm/gma500/psb_drv.c
@@ -306,12 +306,16 @@ static int psb_driver_load(struct drm_device *dev, unsigned long flags)
goto out_err;
dev_priv->mmu = psb_mmu_driver_init(dev, 1, 0, 0);
- if (!dev_priv->mmu)
+ if (!dev_priv->mmu) {
+ ret = -ENOMEM;
goto out_err;
+ }
dev_priv->pf_pd = psb_mmu_alloc_pd(dev_priv->mmu, 1, 0);
- if (!dev_priv->pf_pd)
+ if (!dev_priv->pf_pd) {
+ ret = -ENOMEM;
goto out_err;
+ }
ret = psb_do_init(dev);
if (ret)
diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
index 56c6055..c0fb5fa 100644
--- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
+++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
@@ -678,6 +678,7 @@ static int omap_dmm_probe(struct platform_device *dev)
&omap_dmm->refill_pa, GFP_KERNEL);
if (!omap_dmm->refill_va) {
dev_err(&dev->dev, "could not allocate refill memory\n");
+ ret = -ENOMEM;
goto fail;
}
^ permalink raw reply related [flat|nested] 89+ messages in thread
* Re: [PATCH 4/5] drm/rcar-du: fix error return code
2014-11-23 13:11 ` Julia Lawall
@ 2014-11-26 22:01 ` Laurent Pinchart
-1 siblings, 0 replies; 89+ messages in thread
From: Laurent Pinchart @ 2014-11-26 22:01 UTC (permalink / raw)
To: Julia Lawall
Cc: kernel-janitors, David Airlie, dri-devel, linux-sh, linux-kernel
Hi Julia,
Thank you for the patch.
On Sunday 23 November 2014 14:11:17 Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Propagate the error code on failure.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
>
> // <smpl>
> @@
> identifier ret; expression e1,e2;
> @@
> (
> if (\(ret < 0\|ret != 0\))
> { ... return ret; }
>
> ret = 0
> )
> ... when != ret = e1
> when != &ret
> *if(...)
> {
> ... when != ret = e2
> when forall
> return ret;
> }
> // </smpl>
>
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
I've applied the patch to my tree and sent a pull request.
> ---
> drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
> b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c index 088bfd8..23cc910 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
> @@ -586,7 +586,7 @@ int rcar_du_crtc_create(struct rcar_du_group *rgrp,
> unsigned int index)
>
> if (irq < 0) {
> dev_err(rcdu->dev, "no IRQ for CRTC %u\n", index);
> - return ret;
> + return irq;
> }
>
> ret = devm_request_irq(rcdu->dev, irq, rcar_du_crtc_irq, irqflags,
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 89+ messages in thread
* Re: [PATCH 4/5] drm/rcar-du: fix error return code
@ 2014-11-26 22:01 ` Laurent Pinchart
0 siblings, 0 replies; 89+ messages in thread
From: Laurent Pinchart @ 2014-11-26 22:01 UTC (permalink / raw)
To: Julia Lawall
Cc: kernel-janitors, David Airlie, dri-devel, linux-sh, linux-kernel
Hi Julia,
Thank you for the patch.
On Sunday 23 November 2014 14:11:17 Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Propagate the error code on failure.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
>
> // <smpl>
> @@
> identifier ret; expression e1,e2;
> @@
> (
> if (\(ret < 0\|ret != 0\))
> { ... return ret; }
>
> ret = 0
> )
> ... when != ret = e1
> when != &ret
> *if(...)
> {
> ... when != ret = e2
> when forall
> return ret;
> }
> // </smpl>
>
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
I've applied the patch to my tree and sent a pull request.
> ---
> drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
> b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c index 088bfd8..23cc910 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
> @@ -586,7 +586,7 @@ int rcar_du_crtc_create(struct rcar_du_group *rgrp,
> unsigned int index)
>
> if (irq < 0) {
> dev_err(rcdu->dev, "no IRQ for CRTC %u\n", index);
> - return ret;
> + return irq;
> }
>
> ret = devm_request_irq(rcdu->dev, irq, rcar_du_crtc_irq, irqflags,
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 89+ messages in thread
end of thread, other threads:[~2014-11-26 22:01 UTC | newest]
Thread overview: 89+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-07 12:49 [PATCH 0/5] fix error return code Julia Lawall
2014-08-07 12:49 ` Julia Lawall
2014-08-07 12:49 ` Julia Lawall
2014-08-07 12:49 ` Julia Lawall
2014-08-07 12:49 ` [PATCH 1/5] avr32: " Julia Lawall
2014-08-07 12:49 ` Julia Lawall
2014-08-07 13:00 ` Hans-Christian Egtvedt
2014-08-07 13:00 ` Hans-Christian Egtvedt
2014-08-07 12:49 ` [PATCH 3/5] drivers/atm/atmtcp.c: " Julia Lawall
2014-08-07 12:49 ` Julia Lawall
2014-08-07 13:10 ` chas williams - CONTRACTOR
2014-08-07 13:10 ` chas williams - CONTRACTOR
2014-08-07 13:25 ` Julia Lawall
2014-08-07 13:25 ` Julia Lawall
2014-08-07 13:31 ` Julia Lawall
2014-08-07 13:31 ` Julia Lawall
2014-08-07 13:41 ` chas williams - CONTRACTOR
2014-08-07 13:41 ` chas williams - CONTRACTOR
2014-08-07 23:05 ` David Miller
2014-08-07 23:05 ` David Miller
2014-08-07 12:49 ` [PATCH 2/5] solos-pci: " Julia Lawall
2014-08-07 12:49 ` Julia Lawall
2014-08-07 13:14 ` chas williams - CONTRACTOR
2014-08-07 13:14 ` chas williams - CONTRACTOR
2014-08-07 23:04 ` David Miller
2014-08-07 23:04 ` David Miller
2014-08-07 12:49 ` [PATCH 4/5] netfilter: nf_tables: " Julia Lawall
2014-08-07 12:49 ` Julia Lawall
2014-08-11 16:41 ` Pablo Neira Ayuso
2014-08-11 16:41 ` Pablo Neira Ayuso
2014-08-07 12:49 ` [PATCH 5/5] kexec: " Julia Lawall
2014-08-07 12:49 ` Julia Lawall
2014-08-07 12:49 ` Julia Lawall
-- strict thread matches above, loose matches on Subject: below --
2014-11-23 13:11 [PATCH 0/5] " Julia Lawall
2014-11-23 13:11 ` Julia Lawall
2014-11-23 13:11 ` Julia Lawall
2014-11-23 13:11 ` Julia Lawall
2014-11-23 13:11 ` [PATCH 1/5] mptfusion: " Julia Lawall
2014-11-23 13:11 ` Julia Lawall
2014-11-23 13:11 ` [PATCH 2/5] drm/exynos/ipp: " Julia Lawall
2014-11-23 13:11 ` Julia Lawall
2014-11-23 13:11 ` Julia Lawall
2014-11-23 13:11 ` [PATCH 3/5] electra_cf: " Julia Lawall
2014-11-23 13:11 ` Julia Lawall
2014-11-23 13:11 ` [PATCH 4/5] drm/rcar-du: " Julia Lawall
2014-11-23 13:11 ` Julia Lawall
2014-11-26 22:01 ` Laurent Pinchart
2014-11-26 22:01 ` Laurent Pinchart
2014-11-23 13:11 ` [PATCH 5/5] drivers/gpu/drm: " Julia Lawall
2014-11-23 13:11 ` Julia Lawall
2012-08-14 12:58 [PATCH 0/5] " Julia Lawall
2012-08-14 12:58 ` Julia Lawall
2012-08-14 12:58 ` [PATCH 1/5] drivers/cdrom/gdrom.c: " Julia Lawall
2012-08-14 12:58 ` Julia Lawall
2012-08-14 12:58 ` [PATCH 2/5] drivers/dma/amba-pl08x.c: " Julia Lawall
2012-08-14 12:58 ` Julia Lawall
2012-08-22 4:29 ` Vinod Koul
2012-08-22 4:41 ` Vinod Koul
2012-08-14 12:58 ` [PATCH 3/5] drivers/net/ethernet/freescale/fs_enet: " Julia Lawall
2012-08-14 12:58 ` Julia Lawall
2012-08-14 12:58 ` Julia Lawall
2012-08-15 0:01 ` David Miller
2012-08-15 0:01 ` David Miller
2012-08-15 0:01 ` David Miller
2012-08-14 12:58 ` [PATCH 4/5] drivers/net/ethernet/mellanox/mlx4/mcg.c: " Julia Lawall
2012-08-14 12:58 ` Julia Lawall
2012-08-15 0:01 ` David Miller
2012-08-15 0:01 ` David Miller
2012-08-14 12:58 ` [PATCH 5/5] drivers/infiniband/hw/qib/qib_iba7322.c: " Julia Lawall
2012-08-14 12:58 ` Julia Lawall
[not found] ` <1344949115-13266-6-git-send-email-Julia.Lawall-L2FTfq7BK8M@public.gmane.org>
2012-08-14 13:14 ` Marciniszyn, Mike
2012-08-14 13:14 ` Marciniszyn, Mike
2012-08-14 13:14 ` Marciniszyn, Mike
2012-08-14 6:47 [PATCH 0/5] " Julia Lawall
2012-08-14 6:47 ` Julia Lawall
2012-08-14 6:47 ` [PATCH 1/5] drivers/usb/gadget/s3c-hsotg.c: " Julia Lawall
2012-08-14 6:47 ` Julia Lawall
2012-08-14 6:47 ` [PATCH 2/5] drivers/tty/moxa.c: " Julia Lawall
2012-08-14 6:47 ` Julia Lawall
2012-08-14 6:47 ` [PATCH 3/5] drivers/usb/wusbcore/wa-hc.c: " Julia Lawall
2012-08-14 6:47 ` Julia Lawall
2012-08-14 6:47 ` [PATCH 4/5] drivers/usb/host/ohci-platform.c: " Julia Lawall
2012-08-14 6:47 ` Julia Lawall
2012-08-15 14:37 ` Alan Stern
2012-08-15 14:37 ` Alan Stern
2012-08-14 6:47 ` [PATCH 5/5] drivers/usb/host/ehci-platform.c: " Julia Lawall
2012-08-14 6:47 ` Julia Lawall
2012-08-15 14:37 ` Alan Stern
2012-08-15 14:37 ` Alan Stern
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.