]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 28 Jul 2019 09:27:54 +0000 (11:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 28 Jul 2019 09:27:54 +0000 (11:27 +0200)
added patches:
elevator-fix-truncation-of-icq_cache_name.patch

queue-4.4/elevator-fix-truncation-of-icq_cache_name.patch [new file with mode: 0644]
queue-4.4/series

diff --git a/queue-4.4/elevator-fix-truncation-of-icq_cache_name.patch b/queue-4.4/elevator-fix-truncation-of-icq_cache_name.patch
new file mode 100644 (file)
index 0000000..aec096f
--- /dev/null
@@ -0,0 +1,50 @@
+From 9bd2bbc01d17ddd567cc0f81f77fe1163e497462 Mon Sep 17 00:00:00 2001
+From: Eric Biggers <ebiggers@google.com>
+Date: Fri, 2 Jun 2017 20:35:51 -0700
+Subject: elevator: fix truncation of icq_cache_name
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Eric Biggers <ebiggers@google.com>
+
+commit 9bd2bbc01d17ddd567cc0f81f77fe1163e497462 upstream.
+
+gcc 7.1 reports the following warning:
+
+    block/elevator.c: In function ‘elv_register’:
+    block/elevator.c:898:5: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=]
+         "%s_io_cq", e->elevator_name);
+         ^~~~~~~~~~
+    block/elevator.c:897:3: note: ‘snprintf’ output between 7 and 22 bytes into a destination of size 21
+       snprintf(e->icq_cache_name, sizeof(e->icq_cache_name),
+       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         "%s_io_cq", e->elevator_name);
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The bug is that the name of the icq_cache is 6 characters longer than
+the elevator name, but only ELV_NAME_MAX + 5 characters were reserved
+for it --- so in the case of a maximum-length elevator name, the 'q'
+character in "_io_cq" would be truncated by snprintf().  Fix it by
+reserving ELV_NAME_MAX + 6 characters instead.
+
+Signed-off-by: Eric Biggers <ebiggers@google.com>
+Reviewed-by: Bart Van Assche <Bart.VanAssche@sandisk.com>
+Signed-off-by: Jens Axboe <axboe@fb.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ include/linux/elevator.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/include/linux/elevator.h
++++ b/include/linux/elevator.h
+@@ -97,7 +97,7 @@ struct elevator_type
+       struct module *elevator_owner;
+       /* managed by elevator core */
+-      char icq_cache_name[ELV_NAME_MAX + 5];  /* elvname + "_io_cq" */
++      char icq_cache_name[ELV_NAME_MAX + 6];  /* elvname + "_io_cq" */
+       struct list_head list;
+ };
index 69e3f09a356e1c91afd27f25bc8093149f296da1..be857d57a5d2ecc2c07a1418b0ab5f6991962aa0 100644 (file)
@@ -98,3 +98,4 @@ bonding-validate-ip-header-before-check-ipproto_igmp.patch
 net-bridge-mcast-fix-stale-nsrcs-pointer-in-igmp3-mld2-report-handling.patch
 net-bridge-mcast-fix-stale-ipv6-hdr-pointer-when-handling-v6-query.patch
 net-bridge-stp-don-t-cache-eth-dest-pointer-before-skb-pull.patch
+elevator-fix-truncation-of-icq_cache_name.patch