All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/media/i2c/tvp5150.c:1114 tvp5150_set_selection() warn: passing a valid pointer to 'PTR_ERR'
Date: Sat, 20 Feb 2021 09:41:08 +0800	[thread overview]
Message-ID: <202102200902.wFvxNv80-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 11350 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Marco Felsch <m.felsch@pengutronix.de>
CC: Mauro Carvalho Chehab <mchehab@kernel.org>
CC: linux-media(a)vger.kernel.org
CC: Hans Verkuil <hverkuil@xs4all.nl>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f40ddce88593482919761f74910f42f4b84c004b
commit: 46fe6e7dcededcf4aba88163fee80f4f7df23deb media: tvp5150: add FORMAT_TRY support for get/set selection handlers
date:   11 months ago
:::::: branch date: 5 days ago
:::::: commit date: 11 months ago
config: mips-randconfig-m031-20210219 (attached as .config)
compiler: mipsel-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/media/i2c/tvp5150.c:1114 tvp5150_set_selection() warn: passing a valid pointer to 'PTR_ERR'
drivers/media/i2c/tvp5150.c:1157 tvp5150_get_selection() warn: passing a valid pointer to 'PTR_ERR'

Old smatch warnings:
drivers/media/i2c/tvp5150.c:1951 tvp5150_parse_dt() warn: missing error code 'ret'

vim +/PTR_ERR +1114 drivers/media/i2c/tvp5150.c

46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1076  
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1077  static int tvp5150_set_selection(struct v4l2_subdev *sd,
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1078  				 struct v4l2_subdev_pad_config *cfg,
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1079  				 struct v4l2_subdev_selection *sel)
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1080  {
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1081  	struct tvp5150 *decoder = to_tvp5150(sd);
b4125e5b1bd70d drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1082  	struct v4l2_rect *rect = &sel->r;
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1083  	struct v4l2_rect *crop;
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1084  	unsigned int hmax;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1085  
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1086  	if (sel->target != V4L2_SEL_TGT_CROP)
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1087  		return -EINVAL;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1088  
257e29f84e377d drivers/media/i2c/tvp5150.c   Mauro Carvalho Chehab 2016-11-16  1089  	dev_dbg_lvl(sd->dev, 1, debug, "%s left=%d, top=%d, width=%d, height=%d\n",
b4125e5b1bd70d drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1090  		__func__, rect->left, rect->top, rect->width, rect->height);
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1091  
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1092  	/* tvp5150 has some special limits */
b4125e5b1bd70d drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1093  	rect->left = clamp(rect->left, 0, TVP5150_MAX_CROP_LEFT);
b4125e5b1bd70d drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1094  	rect->top = clamp(rect->top, 0, TVP5150_MAX_CROP_TOP);
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1095  	hmax = tvp5150_get_hmax(sd);
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1096  
bd24db04101f45 drivers/media/i2c/tvp5150.c   Marco Felsch          2018-06-28  1097  	/*
bd24db04101f45 drivers/media/i2c/tvp5150.c   Marco Felsch          2018-06-28  1098  	 * alignments:
bd24db04101f45 drivers/media/i2c/tvp5150.c   Marco Felsch          2018-06-28  1099  	 *  - width = 2 due to UYVY colorspace
bd24db04101f45 drivers/media/i2c/tvp5150.c   Marco Felsch          2018-06-28  1100  	 *  - height, image = no special alignment
bd24db04101f45 drivers/media/i2c/tvp5150.c   Marco Felsch          2018-06-28  1101  	 */
b4125e5b1bd70d drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1102  	v4l_bound_align_image(&rect->width,
b4125e5b1bd70d drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1103  			      TVP5150_H_MAX - TVP5150_MAX_CROP_LEFT - rect->left,
b4125e5b1bd70d drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1104  			      TVP5150_H_MAX - rect->left, 1, &rect->height,
b4125e5b1bd70d drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1105  			      hmax - TVP5150_MAX_CROP_TOP - rect->top,
b4125e5b1bd70d drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1106  			      hmax - rect->top, 0, 0);
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1107  
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1108  	if (!IS_ENABLED(CONFIG_VIDEO_V4L2_SUBDEV_API) &&
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1109  	    sel->which == V4L2_SUBDEV_FORMAT_TRY)
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1110  		return 0;
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1111  
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1112  	crop = tvp5150_get_pad_crop(decoder, cfg, sel->pad, sel->which);
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1113  	if (IS_ERR(crop))
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12 @1114  		return PTR_ERR(crop);
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1115  
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1116  	/*
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1117  	 * Update output image size if the selection (crop) rectangle size or
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1118  	 * position has been modified.
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1119  	 */
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1120  	if (sel->which == V4L2_SUBDEV_FORMAT_ACTIVE &&
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1121  	    !v4l2_rect_equal(rect, crop))
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1122  		tvp5150_set_hw_selection(sd, rect);
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1123  
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1124  	*crop = *rect;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1125  
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1126  	return 0;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1127  }
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1128  
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1129  static int tvp5150_get_selection(struct v4l2_subdev *sd,
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1130  				 struct v4l2_subdev_pad_config *cfg,
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1131  				 struct v4l2_subdev_selection *sel)
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1132  {
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1133  	struct tvp5150 *decoder = container_of(sd, struct tvp5150, sd);
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1134  	struct v4l2_rect *crop;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1135  	v4l2_std_id std;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1136  
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1137  	switch (sel->target) {
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1138  	case V4L2_SEL_TGT_CROP_BOUNDS:
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1139  		sel->r.left = 0;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1140  		sel->r.top = 0;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1141  		sel->r.width = TVP5150_H_MAX;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1142  
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1143  		/* Calculate height based on current standard */
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1144  		if (decoder->norm == V4L2_STD_ALL)
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1145  			std = tvp5150_read_std(sd);
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1146  		else
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1147  			std = decoder->norm;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1148  		if (std & V4L2_STD_525_60)
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1149  			sel->r.height = TVP5150_V_MAX_525_60;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1150  		else
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1151  			sel->r.height = TVP5150_V_MAX_OTHERS;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1152  		return 0;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1153  	case V4L2_SEL_TGT_CROP:
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1154  		crop = tvp5150_get_pad_crop(decoder, cfg, sel->pad,
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1155  					    sel->which);
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1156  		if (IS_ERR(crop))
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12 @1157  			return PTR_ERR(crop);
46fe6e7dcededc drivers/media/i2c/tvp5150.c   Marco Felsch          2020-03-12  1158  		sel->r = *crop;
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1159  		return 0;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1160  	default:
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1161  		return -EINVAL;
10d5509c8d50a2 drivers/media/i2c/tvp5150.c   Hans Verkuil          2015-12-14  1162  	}
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1163  }
963ddc63e20d5e drivers/media/video/tvp5150.c Javier Martin         2012-01-31  1164  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 26062 bytes --]

             reply	other threads:[~2021-02-20  1:41 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-20  1:41 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-11-26  1:21 drivers/media/i2c/tvp5150.c:1114 tvp5150_set_selection() warn: passing a valid pointer to 'PTR_ERR' kernel test robot
2020-10-31  8:56 kernel test robot
2020-09-26 22:42 kernel test robot
2020-07-30 10:28 kernel test robot
2020-06-22 10:01 kernel test robot
2020-05-19  7:29 kbuild test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202102200902.wFvxNv80-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.