[PATCH] dm vdo: Fix W=1 allmodconfig build error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



For an allmodconfig build, I currently get this error when building with
W=1:

$ make W=1 drivers/md/dm-vdo/vdo.o
  CALL    scripts/checksyscalls.sh
  DESCEND objtool
  INSTALL libsubcmd_headers
  CC [M]  drivers/md/dm-vdo/vdo.o
drivers/md/dm-vdo/vdo.c: In function ‘vdo_make’:
drivers/md/dm-vdo/vdo.c:564:5: error: ‘%s’ directive output may be truncated writing up to 55 bytes into a region of size 16 [-Werror=format-truncation=]
    "%s%u", MODULE_NAME, instance);
     ^~
drivers/md/dm-vdo/vdo.c:563:2: note: ‘snprintf’ output between 2 and 66 bytes into a destination of size 16
  snprintf(vdo->thread_name_prefix, sizeof(vdo->thread_name_prefix),
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "%s%u", MODULE_NAME, instance);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Fix by defining MAX_VDO_WORK_QUEUE_NAME_LEN to be sum of MODULE_NAME_LEN
plus 11 - 11 comes from number of characters required to print max unsigned
int plus NUL terminator.

Also relocate the include of sched.h to the only c file which it is
actually needed.

Signed-off-by: John Garry <john.g.garry@xxxxxxxxxx>

diff --git a/drivers/md/dm-vdo/funnel-workqueue.c b/drivers/md/dm-vdo/funnel-workqueue.c
index ae11941c90a9..7e42342263ab 100644
--- a/drivers/md/dm-vdo/funnel-workqueue.c
+++ b/drivers/md/dm-vdo/funnel-workqueue.c
@@ -11,6 +11,7 @@
 #include <linux/err.h>
 #include <linux/kthread.h>
 #include <linux/percpu.h>
+#include <linux/sched.h>
 
 #include "funnel-queue.h"
 #include "logger.h"
diff --git a/drivers/md/dm-vdo/funnel-workqueue.h b/drivers/md/dm-vdo/funnel-workqueue.h
index b5be6e9e83bc..3447aac5b188 100644
--- a/drivers/md/dm-vdo/funnel-workqueue.h
+++ b/drivers/md/dm-vdo/funnel-workqueue.h
@@ -6,12 +6,10 @@
 #ifndef VDO_WORK_QUEUE_H
 #define VDO_WORK_QUEUE_H
 
-#include <linux/sched.h> /* for TASK_COMM_LEN */
-
 #include "types.h"
 
 enum {
-	MAX_VDO_WORK_QUEUE_NAME_LEN = TASK_COMM_LEN,
+	MAX_VDO_WORK_QUEUE_NAME_LEN = MODULE_NAME_LEN + 11,
 };
 
 struct vdo_work_queue_type {
-- 
2.31.1





[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux