Baptiste Daroussin wrote:
The branch main has been updated by bapt:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=599a4d6beff07f93f019e0aff9105a8e642a600f

commit 599a4d6beff07f93f019e0aff9105a8e642a600f
Author:     Baptiste Daroussin <[email protected]>
AuthorDate: 2026-07-22 11:53:34 +0000
Commit:     Baptiste Daroussin <[email protected]>
CommitDate: 2026-07-22 15:10:58 +0000

     uvideo: use size_t for sc_mmap_count and loop index in reqbufs
---
  sys/dev/usb/video/uvideo.c | 11 +++++------
  1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/sys/dev/usb/video/uvideo.c b/sys/dev/usb/video/uvideo.c
index 57d31d2b5286..b31b3fe294cd 100644
--- a/sys/dev/usb/video/uvideo.c
+++ b/sys/dev/usb/video/uvideo.c
@@ -246,7 +246,7 @@ struct uvideo_softc {
        vm_offset_t             sc_mmap_kva;
        int                     sc_mmap_buffer_idx;
        q_mmap                  sc_mmap_q;
-       int                     sc_mmap_count;
+       size_t                  sc_mmap_count;
        int                     sc_mmap_flag;
        vm_object_t                     sc_mmap_object;
@@ -3609,7 +3609,7 @@ uvideo_g_input(struct uvideo_softc *sc, int *input)
  static int
  uvideo_reqbufs(struct uvideo_softc *sc, struct v4l2_requestbuffers *rb)
  {
-       int i;
+       size_t i;
        uint32_t buf_size;
        size_t buf_size_total;
        vm_object_t obj;
@@ -3637,7 +3637,7 @@ uvideo_reqbufs(struct uvideo_softc *sc, struct 
v4l2_requestbuffers *rb)
                return (EINVAL);
        if (SIZE_MAX / sc->sc_mmap_count < buf_size)
                return (EINVAL);
-       buf_size_total = (size_t)sc->sc_mmap_count * buf_size;
+       buf_size_total = sc->sc_mmap_count * buf_size;
        buf_size_total = round_page(buf_size_total);
/*
@@ -3684,11 +3684,10 @@ uvideo_reqbufs(struct uvideo_softc *sc, struct 
v4l2_requestbuffers *rb)
            buf_size_total, (uintmax_t)kva);
for (i = 0; i < sc->sc_mmap_count; i++) {
-               sc->sc_mmap[i].buf = sc->sc_mmap_buffer +
-                   ((size_t)i * buf_size);
+               sc->sc_mmap[i].buf = sc->sc_mmap_buffer + (i * buf_size);
sc->sc_mmap[i].v4l2_buf.index = i;
-               sc->sc_mmap[i].v4l2_buf.m.offset = (size_t)i * buf_size;
+               sc->sc_mmap[i].v4l2_buf.m.offset = i * buf_size;
                sc->sc_mmap[i].v4l2_buf.length = buf_size;
                sc->sc_mmap[i].v4l2_buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
                sc->sc_mmap[i].v4l2_buf.sequence = 0;


/usr/src/sys/dev/usb/video/uvideo.c:3710:6: error: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Werror,-Wformat]
 3709 |         DPRINTFN(1, "allocated %d bytes mmap buffer at kva %#jx\n",
      |                                ~~
      |                                %zu
 3710 |             buf_size_total, (uintmax_t)kva);
      |             ^~~~~~~~~~~~~~
/usr/src/sys/dev/usb/usb_debug.h:42:21: note: expanded from macro 'DPRINTFN'
   41 |     printf("%s: " fmt,                          \
      |                   ~~~
   42 |            __FUNCTION__ ,##__VA_ARGS__);        \
      |                            ^~~~~~~~~~~
1 error generated.
*** [uvideo.o] Error code 1

--
Charlie Li
...nope, still don't have an exit line.

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to