diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-12-28 15:17:07 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-02-03 21:48:49 -0500 |
commit | 58063e52081998472f514e53f6f3fe9bcb3083e1 (patch) | |
tree | cbea34196b8a8badf6f4a69d0da6872e77d700bd | |
parent | a0edc49ec66ca989028b626898c2a3756760625a (diff) |
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 <kent.overstreet@linux.dev>
-rw-r--r-- | fs/bcachefs/buckets.c | 3 | ||||
-rw-r--r-- | 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) { |