summaryrefslogtreecommitdiff
path: root/include/linux/string.h
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2017-09-11 15:56:49 -0600
committerJens Axboe <axboe@kernel.dk>2017-09-11 15:56:49 -0600
commitbe1c704329a51cbcf019f971c5d2023c0226d9cd (patch)
treeeea96c1d9a6f0a86a3eee1f4cda07ab60c69914d /include/linux/string.h
parent0b045bd1c1c2819b33f4522e3efa4666d1ecf1a4 (diff)
parent1359798f9d4082eb04575efdd19512fbd9c28464 (diff)
Merge branch 'nvme-4.14' of git://git.infradead.org/nvme into for-linus
Pull NVMe fixes from Christoph: "Below are a few small fixes for the current merge window: - fix string.h compilation failures with the new memcpy_and_pad helper (Martin Wilck) - fix incorrect dereference of a PCI data structure in the lightnvm support code (me) - HMB fixes (Akinobu Mita and me)"
Diffstat (limited to 'include/linux/string.h')
-rw-r--r--include/linux/string.h15
1 files changed, 2 insertions, 13 deletions
diff --git a/include/linux/string.h b/include/linux/string.h
index e1eeb0a8a969..54d21783e18d 100644
--- a/include/linux/string.h
+++ b/include/linux/string.h
@@ -434,20 +434,9 @@ __FORTIFY_INLINE char *strcpy(char *p, const char *q)
* @count: The number of bytes to copy
* @pad: Character to use for padding if space is left in destination.
*/
-__FORTIFY_INLINE void memcpy_and_pad(void *dest, size_t dest_len,
- const void *src, size_t count, int pad)
+static inline void memcpy_and_pad(void *dest, size_t dest_len,
+ const void *src, size_t count, int pad)
{
- size_t dest_size = __builtin_object_size(dest, 0);
- size_t src_size = __builtin_object_size(src, 0);
-
- if (__builtin_constant_p(dest_len) && __builtin_constant_p(count)) {
- if (dest_size < dest_len && dest_size < count)
- __write_overflow();
- else if (src_size < dest_len && src_size < count)
- __read_overflow3();
- }
- if (dest_size < dest_len)
- fortify_panic(__func__);
if (dest_len > count) {
memcpy(dest, src, count);
memset(dest + count, pad, dest_len - count);