kernel: lantiq: vrx518_tc: add patch fix compilation warning for atm_tc
authorChristian Marangi <ansuelsmth@gmail.com>
Tue, 9 May 2023 21:32:16 +0000 (23:32 +0200)
committerChristian Marangi <ansuelsmth@gmail.com>
Fri, 12 May 2023 01:15:44 +0000 (03:15 +0200)
Add patch fixing compilation warning for atm_tc module.
Fix compilation warning:
/home/ansuel/openwrt-ansuel/openwrt/build_dir/target-arm-openwrt-linux-muslgnueabi_musl/linux-ipq40xx_generic/vrx518_tc_drv-ugw_8.5.2.10/dcdp/atm_tc.c: In function 'print_datetime':
/home/ansuel/openwrt-ansuel/openwrt/build_dir/target-arm-openwrt-linux-muslgnueabi_musl/linux-ipq40xx_generic/vrx518_tc_drv-ugw_8.5.2.10/dcdp/atm_tc.c:768:32: error: argument to 'sizeof' in 'snprintf' call is the same expression as the destination; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
  768 |         snprintf(buffer, sizeof(buffer), "%s.%06d", tmbuf, (int)datetime->tv_nsec / 1000);
      |                                ^
cc1: all warnings being treated as errors

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
package/kernel/lantiq/vrx518_tc/patches/204-dcdp-atm_tc-fix-compilation-warning.patch [new file with mode: 0644]

diff --git a/package/kernel/lantiq/vrx518_tc/patches/204-dcdp-atm_tc-fix-compilation-warning.patch b/package/kernel/lantiq/vrx518_tc/patches/204-dcdp-atm_tc-fix-compilation-warning.patch
new file mode 100644 (file)
index 0000000..bf2d82e
--- /dev/null
@@ -0,0 +1,31 @@
+--- a/dcdp/atm_tc.c
++++ b/dcdp/atm_tc.c
+@@ -746,7 +746,8 @@ static void atm_aca_init(struct atm_priv
+               ACA_TXOUT_EN | ACA_RXIN_EN | ACA_RXOUT_EN, 1);
+ }
+-static int print_datetime(char *buffer, const struct timespec64 *datetime)
++static int print_datetime(char *buffer, int buffer_size,
++                        const struct timespec64 *datetime)
+ {
+       struct tm nowtm;
+       char tmbuf[64];
+@@ -765,7 +766,8 @@ static int print_datetime(char *buffer,
+                       nowtm.tm_hour,
+                       nowtm.tm_min,
+                       nowtm.tm_sec);
+-      snprintf(buffer, sizeof(buffer), "%s.%06d", tmbuf, (int)datetime->tv_nsec / 1000);
++      snprintf(buffer, sizeof(tmbuf)+buffer_size, "%s.%06d",
++               tmbuf, (int)datetime->tv_nsec / 1000);
+       return 0;
+ }
+@@ -967,7 +969,7 @@ void show_atm_pvc(struct seq_file *seq,
+       char buf[64];
+       seq_printf(seq, "\tNet device: %s\n", pvc->dev->name);
+-      print_datetime(buf, &(pvc->access_time));
++      print_datetime(buf, sizeof(buf), &(pvc->access_time));
+       seq_printf(seq, "\tLast user cell: %s\n", buf);
+       seq_printf(seq, "\tPort: %d\n", pvc->port);
+       seq_printf(seq, "\tSoftware TX Queue: %u\n", pvc->sw_txq_tbl);