devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@01.org
Cc: devicetree@vger.kernel.org, dshah@xilinx.com,
	Michael Tretter <m.tretter@pengutronix.de>,
	tfiga@chromium.org, hverkuil@xs4all.nl, robh+dt@kernel.org,
	kbuild-all@01.org, kernel@pengutronix.de, mchehab@kernel.org,
	linux-media@vger.kernel.org
Subject: Re: [PATCH v5 5/5] [media] allegro: add SPS/PPS nal unit writer
Date: Mon, 6 May 2019 13:24:12 +0300	[thread overview]
Message-ID: <20190506102412.GR2239@kadam> (raw)
In-Reply-To: <20190503122010.16663-6-m.tretter@pengutronix.de>

Hi Michael,

url:    https://github.com/0day-ci/linux/commits/Michael-Tretter/Add-ZynqMP-VCU-Allegro-DVT-H-264-encoder-driver/20190504-161958
base:   git://linuxtv.org/media_tree.git master

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

smatch warnings:
drivers/media/platform/allegro-dvt/nal-h264.c:205 rbsp_read_bit() warn: signedness bug returning '(-22)'
drivers/media/platform/allegro-dvt/nal-h264.c:259 rbsp_read_bits() warn: unsigned 'bit' is never less than zero.

# https://github.com/0day-ci/linux/commit/eba69588199f08008a1fb4ad24e1f3e66d0080e3
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout eba69588199f08008a1fb4ad24e1f3e66d0080e3
vim +205 drivers/media/platform/allegro-dvt/nal-h264.c

eba69588 Michael Tretter 2019-05-03  188  
eba69588 Michael Tretter 2019-05-03  189  static inline bool rbsp_read_bit(struct rbsp *rbsp)
                                                        ^^^^
eba69588 Michael Tretter 2019-05-03  190  {
eba69588 Michael Tretter 2019-05-03  191  	int shift;
eba69588 Michael Tretter 2019-05-03  192  	int ofs;
eba69588 Michael Tretter 2019-05-03  193  	bool bit;
eba69588 Michael Tretter 2019-05-03  194  	int err;
eba69588 Michael Tretter 2019-05-03  195  
eba69588 Michael Tretter 2019-05-03  196  	if (rbsp->num_consecutive_zeros == 22) {
eba69588 Michael Tretter 2019-05-03  197  		err = discard_emulation_prevention_three_byte(rbsp);
eba69588 Michael Tretter 2019-05-03  198  		if (err)
eba69588 Michael Tretter 2019-05-03  199  			return err;
                                                                ^^^^^^^^^^

eba69588 Michael Tretter 2019-05-03  200  	}
eba69588 Michael Tretter 2019-05-03  201  
eba69588 Michael Tretter 2019-05-03  202  	shift = 7 - (rbsp->pos % 8);
eba69588 Michael Tretter 2019-05-03  203  	ofs = rbsp->pos / 8;
eba69588 Michael Tretter 2019-05-03  204  	if (ofs >= rbsp->size)
eba69588 Michael Tretter 2019-05-03 @205  		return -EINVAL;
                                                        ^^^^^^^^^^^^^^
Probably this function should return int instead of bool.

eba69588 Michael Tretter 2019-05-03  206  
eba69588 Michael Tretter 2019-05-03  207  	bit = (rbsp->data[ofs] >> shift) & 1;
eba69588 Michael Tretter 2019-05-03  208  
eba69588 Michael Tretter 2019-05-03  209  	rbsp->pos++;
eba69588 Michael Tretter 2019-05-03  210  
eba69588 Michael Tretter 2019-05-03  211  	if (bit == 1 ||
eba69588 Michael Tretter 2019-05-03  212  	    (rbsp->num_consecutive_zeros < 7 && (rbsp->pos % 8 == 0)))
eba69588 Michael Tretter 2019-05-03  213  		rbsp->num_consecutive_zeros = 0;
eba69588 Michael Tretter 2019-05-03  214  	else
eba69588 Michael Tretter 2019-05-03  215  		rbsp->num_consecutive_zeros++;
eba69588 Michael Tretter 2019-05-03  216  
eba69588 Michael Tretter 2019-05-03  217  	return bit;
eba69588 Michael Tretter 2019-05-03  218  }

[ snip ]

eba69588 Michael Tretter 2019-05-03  248  static inline int rbsp_read_bits(struct rbsp *rbsp, int n, unsigned int *value)
eba69588 Michael Tretter 2019-05-03  249  {
eba69588 Michael Tretter 2019-05-03  250  	int i;
eba69588 Michael Tretter 2019-05-03  251  	unsigned int bit;
                                                ^^^^^^^^^^^^^^^^

eba69588 Michael Tretter 2019-05-03  252  	unsigned int tmp = 0;
eba69588 Michael Tretter 2019-05-03  253  
eba69588 Michael Tretter 2019-05-03  254  	if (n > 8 * sizeof(*value))
eba69588 Michael Tretter 2019-05-03  255  		return -EINVAL;
eba69588 Michael Tretter 2019-05-03  256  
eba69588 Michael Tretter 2019-05-03  257  	for (i = n; i > 0; i--) {
eba69588 Michael Tretter 2019-05-03  258  		bit = rbsp_read_bit(rbsp);
eba69588 Michael Tretter 2019-05-03 @259  		if (bit < 0)
                                                            ^^^^^^^

eba69588 Michael Tretter 2019-05-03  260  			return bit;
eba69588 Michael Tretter 2019-05-03  261  		tmp |= bit << (i - 1);
eba69588 Michael Tretter 2019-05-03  262  	}
eba69588 Michael Tretter 2019-05-03  263  
eba69588 Michael Tretter 2019-05-03  264  	if (value)
eba69588 Michael Tretter 2019-05-03  265  		*value = tmp;
eba69588 Michael Tretter 2019-05-03  266  
eba69588 Michael Tretter 2019-05-03  267  	return 0;
eba69588 Michael Tretter 2019-05-03  268  }
eba69588 Michael Tretter 2019-05-03  269  

      parent reply	other threads:[~2019-05-06 10:24 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-03 12:20 [PATCH v5 0/5] Add ZynqMP VCU/Allegro DVT H.264 encoder driver Michael Tretter
2019-05-03 12:20 ` [PATCH v5 1/5] videobuf2-v4l2: set last_buffer_dequeued in dqbuf Michael Tretter
2019-05-03 12:20 ` [PATCH v5 2/5] media: dt-bindings: media: document allegro-dvt bindings Michael Tretter
2019-05-03 12:20 ` [PATCH v5 3/5] media: dt-bindings: media: Add vendor prefix for allegro Michael Tretter
2019-05-07 17:08   ` Rob Herring
2019-05-03 12:20 ` [PATCH v5 4/5] [media] allegro: add Allegro DVT video IP core driver Michael Tretter
2019-05-04 11:40   ` kbuild test robot
2019-05-04 11:40   ` [RFC PATCH] allegro: allegro_alloc_buffer() can be static kbuild test robot
2019-05-10  8:28   ` [PATCH v5 4/5] [media] allegro: add Allegro DVT video IP core driver Hans Verkuil
2019-05-10 10:28     ` Michael Tretter
2019-05-10 10:58       ` Hans Verkuil
2019-05-10 13:52         ` Michael Tretter
2019-05-10 14:11           ` Hans Verkuil
2019-05-10 14:58             ` Michael Tretter
2019-05-10 10:49     ` Philipp Zabel
2019-05-03 12:20 ` [PATCH v5 5/5] [media] allegro: add SPS/PPS nal unit writer Michael Tretter
2019-05-04 12:25   ` [RFC PATCH] allegro: nal_h264_write_start_code_prefix() can be static kbuild test robot
2019-05-04 12:25   ` [PATCH v5 5/5] [media] allegro: add SPS/PPS nal unit writer kbuild test robot
2019-05-06 10:24   ` Dan Carpenter [this message]

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=20190506102412.GR2239@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dshah@xilinx.com \
    --cc=hverkuil@xs4all.nl \
    --cc=kbuild-all@01.org \
    --cc=kbuild@01.org \
    --cc=kernel@pengutronix.de \
    --cc=linux-media@vger.kernel.org \
    --cc=m.tretter@pengutronix.de \
    --cc=mchehab@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=tfiga@chromium.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 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).