]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Dec 2018 05:59:34 +0000 (06:59 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Dec 2018 05:59:34 +0000 (06:59 +0100)
added patches:
kobject-replace-strncpy-with-memcpy.patch
test_hexdump-use-memcpy-instead-of-strncpy.patch

queue-4.9/kobject-replace-strncpy-with-memcpy.patch [new file with mode: 0644]
queue-4.9/series
queue-4.9/test_hexdump-use-memcpy-instead-of-strncpy.patch [new file with mode: 0644]

diff --git a/queue-4.9/kobject-replace-strncpy-with-memcpy.patch b/queue-4.9/kobject-replace-strncpy-with-memcpy.patch
new file mode 100644 (file)
index 0000000..5eaa6a5
--- /dev/null
@@ -0,0 +1,40 @@
+From 77d2a24b6107bd9b3bf2403a65c1428a9da83dd0 Mon Sep 17 00:00:00 2001
+From: Guenter Roeck <linux@roeck-us.net>
+Date: Sun, 1 Jul 2018 13:57:16 -0700
+Subject: kobject: Replace strncpy with memcpy
+
+From: Guenter Roeck <linux@roeck-us.net>
+
+commit 77d2a24b6107bd9b3bf2403a65c1428a9da83dd0 upstream.
+
+gcc 8.1.0 complains:
+
+lib/kobject.c:128:3: warning:
+       'strncpy' output truncated before terminating nul copying as many
+       bytes from a string as its length [-Wstringop-truncation]
+lib/kobject.c: In function 'kobject_get_path':
+lib/kobject.c:125:13: note: length computed here
+
+Using strncpy() is indeed less than perfect since the length of data to
+be copied has already been determined with strlen(). Replace strncpy()
+with memcpy() to address the warning and optimize the code a little.
+
+Signed-off-by: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ lib/kobject.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/lib/kobject.c
++++ b/lib/kobject.c
+@@ -127,7 +127,7 @@ static void fill_kobj_path(struct kobjec
+               int cur = strlen(kobject_name(parent));
+               /* back up enough to print this name with '/' */
+               length -= cur;
+-              strncpy(path + length, kobject_name(parent), cur);
++              memcpy(path + length, kobject_name(parent), cur);
+               *(path + --length) = '/';
+       }
index f3152749a59207015f4ef1ccd85e03dee5fbf117..4d3ed0d7b33fca7abf04a78dbf6276285aa8d60e 100644 (file)
@@ -1,2 +1,4 @@
 kbuild-suppress-packed-not-aligned-warning-for-default-setting-only.patch
 disable-stringop-truncation-warnings-for-now.patch
+test_hexdump-use-memcpy-instead-of-strncpy.patch
+kobject-replace-strncpy-with-memcpy.patch
diff --git a/queue-4.9/test_hexdump-use-memcpy-instead-of-strncpy.patch b/queue-4.9/test_hexdump-use-memcpy-instead-of-strncpy.patch
new file mode 100644 (file)
index 0000000..0b15408
--- /dev/null
@@ -0,0 +1,38 @@
+From b1286ed7158e9b62787508066283ab0b8850b518 Mon Sep 17 00:00:00 2001
+From: Linus Torvalds <torvalds@linux-foundation.org>
+Date: Fri, 30 Nov 2018 12:13:15 -0800
+Subject: test_hexdump: use memcpy instead of strncpy
+
+From: Linus Torvalds <torvalds@linux-foundation.org>
+
+commit b1286ed7158e9b62787508066283ab0b8850b518 upstream.
+
+New versions of gcc reasonably warn about the odd pattern of
+
+       strncpy(p, q, strlen(q));
+
+which really doesn't make sense: the strncpy() ends up being just a slow
+and odd way to write memcpy() in this case.
+
+Apparently there was a patch for this floating around earlier, but it
+got lost.
+
+Acked-again-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ lib/test_hexdump.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/lib/test_hexdump.c
++++ b/lib/test_hexdump.c
+@@ -81,7 +81,7 @@ static void __init test_hexdump_prepare_
+               const char *q = *result++;
+               size_t amount = strlen(q);
+-              strncpy(p, q, amount);
++              memcpy(p, q, amount);
+               p += amount;
+               *p++ = ' ';