From 58063e52081998472f514e53f6f3fe9bcb3083e1 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Wed, 28 Dec 2022 15:17:07 -0500 Subject: bcachefs: Fix some memcpy() warnings With CONFIG_FORTIFY_SOURCE, the compiler attempts to warn about mempcys that extend past struct field boundaries. This results in some spurious warnings where we use embedded variable length structs, this patch switches to unsafe_mecpy() to fix the warnings. Signed-off-by: Kent Overstreet --- fs/bcachefs/buckets.c | 3 ++- fs/bcachefs/journal_io.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c index 40d9599e6ac5..9cd56c76cc13 100644 --- a/fs/bcachefs/buckets.c +++ b/fs/bcachefs/buckets.c @@ -156,7 +156,8 @@ retry: do { seq = read_seqcount_begin(&c->usage_lock); - memcpy(&ret->u, c->usage_base, u64s * sizeof(u64)); + unsafe_memcpy(&ret->u, c->usage_base, u64s * sizeof(u64), + "embedded variable length struct"); for (i = 0; i < ARRAY_SIZE(c->usage); i++) acc_u64s_percpu((u64 *) &ret->u, (u64 __percpu *) c->usage[i], u64s); } while (read_seqcount_retry(&c->usage_lock, seq)); diff --git a/fs/bcachefs/journal_io.c b/fs/bcachefs/journal_io.c index b5c662754f4d..6d1389cffd17 100644 --- a/fs/bcachefs/journal_io.c +++ b/fs/bcachefs/journal_io.c @@ -154,7 +154,7 @@ replace: i->nr_ptrs = 0; i->csum_good = entry_ptr.csum_good; i->ignore = false; - memcpy(&i->j, j, bytes); + unsafe_memcpy(&i->j, j, bytes, "embedded variable length struct"); i->ptrs[i->nr_ptrs++] = entry_ptr; if (dup) { -- cgit v1.2.3