All of lore.kernel.org
 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  

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@01.org, Michael Tretter <m.tretter@pengutronix.de>
Cc: kbuild-all@01.org, linux-media@vger.kernel.org,
	devicetree@vger.kernel.org, kernel@pengutronix.de,
	robh+dt@kernel.org, mchehab@kernel.org, tfiga@chromium.org,
	dshah@xilinx.com, hverkuil@xs4all.nl,
	Michael Tretter <m.tretter@pengutronix.de>
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  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

Thread overview: 25+ 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-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     ` kbuild test robot
2019-05-04 11:40   ` [RFC PATCH] allegro: allegro_alloc_buffer() can be static kbuild test robot
2019-05-04 11:40     ` 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   ` kbuild test robot
2019-05-04 12:25     ` kbuild test robot
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     ` kbuild test robot
2019-05-06 10:24   ` Dan Carpenter [this message]
2019-05-06 10:24     ` [PATCH v5 5/5] [media] allegro: add SPS/PPS nal unit writer Dan Carpenter

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 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.