diff -Nru v4l2loopback-0.12.7/debian/changelog v4l2loopback-0.12.7/debian/changelog --- v4l2loopback-0.12.7/debian/changelog 2023-07-05 12:05:05.000000000 +0000 +++ v4l2loopback-0.12.7/debian/changelog 2024-02-09 14:25:38.000000000 +0000 @@ -1,3 +1,10 @@ +v4l2loopback (0.12.7-2ubuntu5) noble; urgency=medium + + * Support Linux 6.8 (LP: #2052801): + - debian/patches/0008-handle-strlcpy.patch + + -- Andrea Righi Fri, 09 Feb 2024 14:25:38 +0000 + v4l2loopback (0.12.7-2ubuntu4) mantic; urgency=medium * Fix wrong income frame length. (LP: #2025204) diff -Nru v4l2loopback-0.12.7/debian/patches/0008-handle-strlcpy.patch v4l2loopback-0.12.7/debian/patches/0008-handle-strlcpy.patch --- v4l2loopback-0.12.7/debian/patches/0008-handle-strlcpy.patch 1970-01-01 00:00:00.000000000 +0000 +++ v4l2loopback-0.12.7/debian/patches/0008-handle-strlcpy.patch 2024-02-09 14:25:38.000000000 +0000 @@ -0,0 +1,55 @@ +From: Andrea Righi +Subject: spport strlcpy/strscpy with kernel 6.8 +Origin: upstream, https://github.com/umlaeute/v4l2loopback + +Index: v4l2loopback-0.12.7/v4l2loopback.c +=================================================================== +--- v4l2loopback-0.12.7.orig/v4l2loopback.c ++++ v4l2loopback-0.12.7/v4l2loopback.c +@@ -40,6 +40,10 @@ + #define kstrtoul strict_strtoul + #endif + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0) ++#define strscpy strlcpy ++#endif ++ + #if defined(timer_setup) && defined(from_timer) + #define HAVE_TIMER_SETUP + #endif +@@ -739,7 +743,7 @@ static int vidioc_querycap(struct file * + ->devicenr; + __u32 capabilities = V4L2_CAP_STREAMING | V4L2_CAP_READWRITE; + +- strlcpy(cap->driver, "v4l2 loopback", sizeof(cap->driver)); ++ strscpy(cap->driver, "v4l2 loopback", sizeof(cap->driver)); + vidioc_fill_name(cap->card, sizeof(cap->card), devnr); + snprintf(cap->bus_info, sizeof(cap->bus_info), + "platform:v4l2loopback-%03d", devnr); +@@ -1247,7 +1251,7 @@ static int vidioc_queryctrl(struct file + if (!cnf) + BUG(); + +- strlcpy(q->name, cnf->name, sizeof(q->name)); ++ strscpy(q->name, cnf->name, sizeof(q->name)); + q->default_value = cnf->def; + q->type = cnf->type; + q->minimum = cnf->min; +@@ -1352,7 +1356,7 @@ static int vidioc_enum_output(struct fil + memset(outp, 0, sizeof(*outp)); + + outp->index = index; +- strlcpy(outp->name, "loopback in", sizeof(outp->name)); ++ strscpy(outp->name, "loopback in", sizeof(outp->name)); + outp->type = V4L2_OUTPUT_TYPE_ANALOG; + outp->audioset = 0; + outp->modulator = 0; +@@ -1411,7 +1415,7 @@ static int vidioc_enum_input(struct file + memset(inp, 0, sizeof(*inp)); + + inp->index = index; +- strlcpy(inp->name, "loopback", sizeof(inp->name)); ++ strscpy(inp->name, "loopback", sizeof(inp->name)); + inp->type = V4L2_INPUT_TYPE_CAMERA; + inp->audioset = 0; + inp->tuner = 0; diff -Nru v4l2loopback-0.12.7/debian/patches/series v4l2loopback-0.12.7/debian/patches/series --- v4l2loopback-0.12.7/debian/patches/series 2023-07-05 12:05:03.000000000 +0000 +++ v4l2loopback-0.12.7/debian/patches/series 2024-02-09 14:25:38.000000000 +0000 @@ -2,3 +2,4 @@ 0005-track-active-readers.patch 0006-UBUNTU-SAUCE-event-support-V4L2_EVENT_PRI_CLIENT_USA.patch 0007-v4l2loopback-Fixup-bytesused-field-when-writer-sends.patch +0008-handle-strlcpy.patch