LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 0/6] Fix issues reported by static analysis tool.
@ 2018-05-23  5:21 Pankaj Bharadiya
  2018-05-23  5:21 ` [PATCH 1/6] media: staging: atomisp: remove redundent check Pankaj Bharadiya
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Pankaj Bharadiya @ 2018-05-23  5:21 UTC (permalink / raw)
  To: alan, sakari.ailus, mchehab, gregkh; +Cc: linux-media, devel, linux-kernel

This patch series fixes some of the issues reported by static analysis
tool.

Pankaj Bharadiya (6):
  media: staging: atomisp: remove redundent check
  media: staging: atomisp: Remove useless if statement
  media: staging: atomisp: Remove useless "ifndef ISP2401"
  media: staging: atomisp: Fix potential NULL pointer dereference
  media: staging: atomisp: Fix potential NULL pointer dereference
  media: staging: atomisp: Fix potential NULL pointer dereference

 drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c   | 14 --------------
 .../media/atomisp/pci/atomisp2/atomisp_compat_css20.c      |  2 --
 drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c  |  8 --------
 .../pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c |  3 ++-
 .../staging/media/atomisp/pci/atomisp2/css2400/sh_css.c    |  7 +++++--
 5 files changed, 7 insertions(+), 27 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/6] media: staging: atomisp: remove redundent check
  2018-05-23  5:21 [PATCH 0/6] Fix issues reported by static analysis tool Pankaj Bharadiya
@ 2018-05-23  5:21 ` Pankaj Bharadiya
  2018-05-23  5:21 ` [PATCH 2/6] media: staging: atomisp: Remove useless if statement Pankaj Bharadiya
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Pankaj Bharadiya @ 2018-05-23  5:21 UTC (permalink / raw)
  To: alan, sakari.ailus, mchehab, gregkh; +Cc: linux-media, devel, linux-kernel

Assignment asd = &isp->asd[i] can never be null hence remove
redundent check.

Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
---
 drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_css20.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_css20.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_css20.c
index f668c68..7a9f3c9 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_css20.c
+++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_compat_css20.c
@@ -4592,8 +4592,6 @@ int atomisp_css_isr_thread(struct atomisp_device *isp,
 	 * delete wdt timer. */
 	for (i = 0; i < isp->num_of_streams; i++) {
 		asd = &isp->asd[i];
-		if (!asd)
-			continue;
 		if (asd->streaming != ATOMISP_DEVICE_STREAMING_ENABLED)
 			continue;
 		if (!atomisp_buffers_queued(asd))
-- 
2.7.4

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 2/6] media: staging: atomisp: Remove useless if statement
  2018-05-23  5:21 [PATCH 0/6] Fix issues reported by static analysis tool Pankaj Bharadiya
  2018-05-23  5:21 ` [PATCH 1/6] media: staging: atomisp: remove redundent check Pankaj Bharadiya
@ 2018-05-23  5:21 ` Pankaj Bharadiya
  2018-05-23  5:21 ` [PATCH 3/6] media: staging: atomisp: Remove useless "ifndef ISP2401" Pankaj Bharadiya
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Pankaj Bharadiya @ 2018-05-23  5:21 UTC (permalink / raw)
  To: alan, sakari.ailus, mchehab, gregkh; +Cc: linux-media, devel, linux-kernel

Local variable "requeue" is assigned only once to a constant "false"
value so "if(requeue)" condition will never be true.
Thus remove it.

Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
---
 drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c
index fa6ea50..c8c4d1d 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c
+++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c
@@ -883,7 +883,6 @@ void atomisp_buf_done(struct atomisp_sub_device *asd, int error,
 	struct videobuf_buffer *vb = NULL;
 	struct atomisp_video_pipe *pipe = NULL;
 	struct atomisp_css_buffer buffer;
-	bool requeue = false;
 	int err;
 	unsigned long irqflags;
 	struct atomisp_css_frame *frame = NULL;
@@ -1223,19 +1222,6 @@ void atomisp_buf_done(struct atomisp_sub_device *asd, int error,
 #ifdef ISP2401
 	atomic_set(&pipe->wdt_count, 0);
 #endif
-	/*
-	 * Requeue should only be done for 3a and dis buffers.
-	 * Queue/dequeue order will change if driver recycles image buffers.
-	 */
-	if (requeue) {
-		err = atomisp_css_queue_buffer(asd,
-					       stream_id, css_pipe_id,
-					       buf_type, &buffer);
-		if (err)
-			dev_err(isp->dev, "%s, q to css fails: %d\n",
-					__func__, err);
-		return;
-	}
 	if (!error && q_buffers)
 		atomisp_qbuffers_to_css(asd);
 #ifdef ISP2401
-- 
2.7.4

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 3/6] media: staging: atomisp: Remove useless "ifndef ISP2401"
  2018-05-23  5:21 [PATCH 0/6] Fix issues reported by static analysis tool Pankaj Bharadiya
  2018-05-23  5:21 ` [PATCH 1/6] media: staging: atomisp: remove redundent check Pankaj Bharadiya
  2018-05-23  5:21 ` [PATCH 2/6] media: staging: atomisp: Remove useless if statement Pankaj Bharadiya
@ 2018-05-23  5:21 ` Pankaj Bharadiya
  2018-05-23  5:21 ` [PATCH 4/6] media: staging: atomisp: Fix potential NULL pointer dereference Pankaj Bharadiya
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Pankaj Bharadiya @ 2018-05-23  5:21 UTC (permalink / raw)
  To: alan, sakari.ailus, mchehab, gregkh; +Cc: linux-media, devel, linux-kernel

In atomisp_csi2_set_ffmt(), there is no reason to have
"#ifndef ISP2401" condition since code is identical in ifndef and
else sections. Hence remove redudent checks.

Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
---
 drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c
index fa03b78..606ebdb 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c
+++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c
@@ -90,11 +90,7 @@ int atomisp_csi2_set_ffmt(struct v4l2_subdev *sd,
 {
 	struct atomisp_mipi_csi2_device *csi2 = v4l2_get_subdevdata(sd);
 	struct v4l2_mbus_framefmt *actual_ffmt =
-#ifndef ISP2401
 		__csi2_get_format(csi2, cfg, which, pad);
-#else
-	    __csi2_get_format(csi2, cfg, which, pad);
-#endif
 
 	if (pad == CSI2_PAD_SINK) {
 		const struct atomisp_in_fmt_conv *ic;
@@ -121,11 +117,7 @@ int atomisp_csi2_set_ffmt(struct v4l2_subdev *sd,
 
 	/* FIXME: DPCM decompression */
 	*actual_ffmt = *ffmt =
-#ifndef ISP2401
 		*__csi2_get_format(csi2, cfg, which, CSI2_PAD_SINK);
-#else
-	    *__csi2_get_format(csi2, cfg, which, CSI2_PAD_SINK);
-#endif
 
 	return 0;
 }
-- 
2.7.4

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 4/6] media: staging: atomisp: Fix potential NULL pointer dereference
  2018-05-23  5:21 [PATCH 0/6] Fix issues reported by static analysis tool Pankaj Bharadiya
                   ` (2 preceding siblings ...)
  2018-05-23  5:21 ` [PATCH 3/6] media: staging: atomisp: Remove useless "ifndef ISP2401" Pankaj Bharadiya
@ 2018-05-23  5:21 ` Pankaj Bharadiya
  2018-05-23  5:21 ` [PATCH 5/6] " Pankaj Bharadiya
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Pankaj Bharadiya @ 2018-05-23  5:21 UTC (permalink / raw)
  To: alan, sakari.ailus, mchehab, gregkh; +Cc: linux-media, devel, linux-kernel

In ia_css_pipe_get_primary_binarydesc(), "pipe" is being dereferenced
before it is null checked.
Fix it by moving the "pipe" pointer dereference after it has been
properly null checked.

Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
---
 .../atomisp/pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c     | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c
index 98a2a3e..ca86157 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c
+++ b/drivers/staging/media/atomisp/pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c
@@ -554,7 +554,7 @@ void ia_css_pipe_get_primary_binarydesc(
 	struct ia_css_frame_info *vf_info,
 	unsigned int stage_idx)
 {
-	enum ia_css_pipe_version pipe_version = pipe->config.isp_pipe_version;
+	enum ia_css_pipe_version pipe_version;
 	int mode;
 	unsigned int i;
 	struct ia_css_frame_info *out_infos[IA_CSS_BINARY_MAX_OUTPUT_PORTS];
@@ -567,6 +567,7 @@ void ia_css_pipe_get_primary_binarydesc(
 	/*assert(vf_info != NULL);*/
 	IA_CSS_ENTER_PRIVATE("");
 
+	pipe_version = pipe->config.isp_pipe_version;
 	if (pipe_version == IA_CSS_PIPE_VERSION_2_6_1)
 		mode = primary_hq_binary_modes[stage_idx];
 	else
-- 
2.7.4

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 5/6] media: staging: atomisp: Fix potential NULL pointer dereference
  2018-05-23  5:21 [PATCH 0/6] Fix issues reported by static analysis tool Pankaj Bharadiya
                   ` (3 preceding siblings ...)
  2018-05-23  5:21 ` [PATCH 4/6] media: staging: atomisp: Fix potential NULL pointer dereference Pankaj Bharadiya
@ 2018-05-23  5:21 ` Pankaj Bharadiya
  2018-05-23  5:21 ` [PATCH 6/6] " Pankaj Bharadiya
  2018-05-23  9:27 ` [PATCH 0/6] Fix issues reported by static analysis tool Sakari Ailus
  6 siblings, 0 replies; 8+ messages in thread
From: Pankaj Bharadiya @ 2018-05-23  5:21 UTC (permalink / raw)
  To: alan, sakari.ailus, mchehab, gregkh; +Cc: linux-media, devel, linux-kernel

In sh_css_config_input_network(), "stream" is being dereferenced
before it is null checked.
Fix it by moving the "stream" pointer dereference after it has been
properly null checked.

Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
---
 drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c
index c771e4b..eb84d51 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c
+++ b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c
@@ -529,11 +529,12 @@ static enum ia_css_err
 sh_css_config_input_network(struct ia_css_stream *stream)
 {
 	unsigned int fmt_type;
-	struct ia_css_pipe *pipe = stream->last_pipe;
+	struct ia_css_pipe *pipe;
 	struct ia_css_binary *binary = NULL;
 	enum ia_css_err err = IA_CSS_SUCCESS;
 
 	assert(stream != NULL);
+	pipe = stream->last_pipe;
 	assert(pipe != NULL);
 
 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
-- 
2.7.4

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 6/6] media: staging: atomisp: Fix potential NULL pointer dereference
  2018-05-23  5:21 [PATCH 0/6] Fix issues reported by static analysis tool Pankaj Bharadiya
                   ` (4 preceding siblings ...)
  2018-05-23  5:21 ` [PATCH 5/6] " Pankaj Bharadiya
@ 2018-05-23  5:21 ` Pankaj Bharadiya
  2018-05-23  9:27 ` [PATCH 0/6] Fix issues reported by static analysis tool Sakari Ailus
  6 siblings, 0 replies; 8+ messages in thread
From: Pankaj Bharadiya @ 2018-05-23  5:21 UTC (permalink / raw)
  To: alan, sakari.ailus, mchehab, gregkh; +Cc: linux-media, devel, linux-kernel

In verify_copy_out_frame_format(), "pipe" is being dereferenced before
it is null checked.
Fix it by moving the "pipe" pointer dereference after it has been
properly null checked.

Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
---
 drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c
index eb84d51..487e768 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c
+++ b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c
@@ -455,12 +455,14 @@ static enum ia_css_frame_format yuv422_copy_formats[] = {
 static enum ia_css_err
 verify_copy_out_frame_format(struct ia_css_pipe *pipe)
 {
-	enum ia_css_frame_format out_fmt = pipe->output_info[0].format;
+	enum ia_css_frame_format out_fmt;
 	unsigned int i, found = 0;
 
 	assert(pipe != NULL);
 	assert(pipe->stream != NULL);
 
+	out_fmt = pipe->output_info[0].format;
+
 	switch (pipe->stream->config.input_config.format) {
 	case ATOMISP_INPUT_FORMAT_YUV420_8_LEGACY:
 	case ATOMISP_INPUT_FORMAT_YUV420_8:
-- 
2.7.4

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/6] Fix issues reported by static analysis tool.
  2018-05-23  5:21 [PATCH 0/6] Fix issues reported by static analysis tool Pankaj Bharadiya
                   ` (5 preceding siblings ...)
  2018-05-23  5:21 ` [PATCH 6/6] " Pankaj Bharadiya
@ 2018-05-23  9:27 ` Sakari Ailus
  6 siblings, 0 replies; 8+ messages in thread
From: Sakari Ailus @ 2018-05-23  9:27 UTC (permalink / raw)
  To: Pankaj Bharadiya; +Cc: alan, mchehab, gregkh, linux-media, devel, linux-kernel

Hi Pankaj,

On Wed, May 23, 2018 at 10:51:30AM +0530, Pankaj Bharadiya wrote:
> This patch series fixes some of the issues reported by static analysis
> tool.
> 
> Pankaj Bharadiya (6):
>   media: staging: atomisp: remove redundent check
>   media: staging: atomisp: Remove useless if statement
>   media: staging: atomisp: Remove useless "ifndef ISP2401"
>   media: staging: atomisp: Fix potential NULL pointer dereference
>   media: staging: atomisp: Fix potential NULL pointer dereference
>   media: staging: atomisp: Fix potential NULL pointer dereference
> 
>  drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c   | 14 --------------
>  .../media/atomisp/pci/atomisp2/atomisp_compat_css20.c      |  2 --
>  drivers/staging/media/atomisp/pci/atomisp2/atomisp_csi2.c  |  8 --------
>  .../pci/atomisp2/css2400/camera/pipe/src/pipe_binarydesc.c |  3 ++-
>  .../staging/media/atomisp/pci/atomisp2/css2400/sh_css.c    |  7 +++++--
>  5 files changed, 7 insertions(+), 27 deletions(-)
> 

I'm sorry to tell you that the atomisp driver was removed from the staging
tree some time ago.

-- 
Kind regards,

Sakari Ailus
sakari.ailus@linux.intel.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-05-23  9:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-23  5:21 [PATCH 0/6] Fix issues reported by static analysis tool Pankaj Bharadiya
2018-05-23  5:21 ` [PATCH 1/6] media: staging: atomisp: remove redundent check Pankaj Bharadiya
2018-05-23  5:21 ` [PATCH 2/6] media: staging: atomisp: Remove useless if statement Pankaj Bharadiya
2018-05-23  5:21 ` [PATCH 3/6] media: staging: atomisp: Remove useless "ifndef ISP2401" Pankaj Bharadiya
2018-05-23  5:21 ` [PATCH 4/6] media: staging: atomisp: Fix potential NULL pointer dereference Pankaj Bharadiya
2018-05-23  5:21 ` [PATCH 5/6] " Pankaj Bharadiya
2018-05-23  5:21 ` [PATCH 6/6] " Pankaj Bharadiya
2018-05-23  9:27 ` [PATCH 0/6] Fix issues reported by static analysis tool Sakari Ailus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).