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