2014-06-06 23:08:05

by Rickard Strandqvist

[permalink] [raw]
Subject: [PATCH] infiniband: hw: ipath: ipath_diag.c: Cleaning up code that is not handled properly.

None of the code is adapted to handle a struct ipath_diag_pkt.

This was partly found using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <[email protected]>
---
drivers/infiniband/hw/ipath/ipath_diag.c | 6 ------
1 file changed, 6 deletions(-)

diff --git a/drivers/infiniband/hw/ipath/ipath_diag.c b/drivers/infiniband/hw/ipath/ipath_diag.c
index e2f9a51..39ba797 100644
--- a/drivers/infiniband/hw/ipath/ipath_diag.c
+++ b/drivers/infiniband/hw/ipath/ipath_diag.c
@@ -327,7 +327,6 @@ static ssize_t ipath_diagpkt_write(struct file *fp,
{
u32 __iomem *piobuf;
u32 plen, pbufn, maxlen_reserve;
- struct ipath_diag_pkt odp;
struct ipath_diag_xpkt dp;
u32 *tmpbuf = NULL;
struct ipath_devdata *dd;
@@ -341,11 +340,6 @@ static ssize_t ipath_diagpkt_write(struct file *fp,
ret = -EFAULT;
goto bail;
}
- } else if (count == sizeof(odp)) {
- if (copy_from_user(&odp, data, sizeof(odp))) {
- ret = -EFAULT;
- goto bail;
- }
} else {
ret = -EINVAL;
goto bail;
--
1.7.10.4


2014-06-09 13:58:03

by Dennis Dalessandro

[permalink] [raw]
Subject: RE: [PATCH] infiniband: hw: ipath: ipath_diag.c: Cleaning up code that is not handled properly.

> -----Original Message-----
> From: [email protected] [mailto:linux-rdma-
> [email protected]] On Behalf Of Rickard Strandqvist
> Sent: Friday, June 6, 2014 7:09 PM
> To: infinipath; Roland Dreier
> Cc: Rickard Strandqvist; Hefty, Sean; Hal Rosenstock; linux-
> [email protected]; [email protected]
> Subject: [PATCH] infiniband: hw: ipath: ipath_diag.c: Cleaning up code that is
> not handled properly.
>
> None of the code is adapted to handle a struct ipath_diag_pkt.
>
> This was partly found using a static code analysis program called cppcheck.
>
> Signed-off-by: Rickard Strandqvist <[email protected]>
> ---
> drivers/infiniband/hw/ipath/ipath_diag.c | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/drivers/infiniband/hw/ipath/ipath_diag.c
> b/drivers/infiniband/hw/ipath/ipath_diag.c
> index e2f9a51..39ba797 100644
> --- a/drivers/infiniband/hw/ipath/ipath_diag.c
> +++ b/drivers/infiniband/hw/ipath/ipath_diag.c
> @@ -327,7 +327,6 @@ static ssize_t ipath_diagpkt_write(struct file *fp, {
> u32 __iomem *piobuf;
> u32 plen, pbufn, maxlen_reserve;
> - struct ipath_diag_pkt odp;
> struct ipath_diag_xpkt dp;
> u32 *tmpbuf = NULL;
> struct ipath_devdata *dd;
> @@ -341,11 +340,6 @@ static ssize_t ipath_diagpkt_write(struct file *fp,
> ret = -EFAULT;
> goto bail;
> }
> - } else if (count == sizeof(odp)) {
> - if (copy_from_user(&odp, data, sizeof(odp))) {
> - ret = -EFAULT;
> - goto bail;
> - }
> } else {
> ret = -EINVAL;
> goto bail;
> --
> 1.7.10.4

Hi Rickard,

Please see commit 7e6d3e5c70f13874fb06e6b67696ed90ce79bd48 in Roland's for-next branch. I added the missed support for using odp already.

Thanks
-Denny