This is a note to let you know that I've just added the patch titled bcachefs: Don't pass memcmp() as a pointer to the 6.7-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: bcachefs-don-t-pass-memcmp-as-a-pointer.patch and it can be found in the queue-6.7 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 0124f42da70c513dc371b73688663c54e5a9666f Mon Sep 17 00:00:00 2001 From: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Mon, 15 Jan 2024 14:12:43 -0500 Subject: bcachefs: Don't pass memcmp() as a pointer From: Kent Overstreet <kent.overstreet@xxxxxxxxx> commit 0124f42da70c513dc371b73688663c54e5a9666f upstream. Some (buggy!) compilers have issues with this. Fixes: https://github.com/koverstreet/bcachefs/issues/625 Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- fs/bcachefs/replicas.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) --- a/fs/bcachefs/replicas.c +++ b/fs/bcachefs/replicas.c @@ -9,6 +9,12 @@ static int bch2_cpu_replicas_to_sb_replicas(struct bch_fs *, struct bch_replicas_cpu *); +/* Some (buggy!) compilers don't allow memcmp to be passed as a pointer */ +static int bch2_memcmp(const void *l, const void *r, size_t size) +{ + return memcmp(l, r, size); +} + /* Replicas tracking - in memory: */ static void verify_replicas_entry(struct bch_replicas_entry *e) @@ -33,7 +39,7 @@ void bch2_replicas_entry_sort(struct bch static void bch2_cpu_replicas_sort(struct bch_replicas_cpu *r) { - eytzinger0_sort(r->entries, r->nr, r->entry_size, memcmp, NULL); + eytzinger0_sort(r->entries, r->nr, r->entry_size, bch2_memcmp, NULL); } static void bch2_replicas_entry_v0_to_text(struct printbuf *out, @@ -833,7 +839,7 @@ static int bch2_cpu_replicas_validate(st sort_cmp_size(cpu_r->entries, cpu_r->nr, cpu_r->entry_size, - memcmp, NULL); + bch2_memcmp, NULL); for (i = 0; i < cpu_r->nr; i++) { struct bch_replicas_entry *e = Patches currently in stable-queue which might be from kent.overstreet@xxxxxxxxx are queue-6.7/bcachefs-don-t-pass-memcmp-as-a-pointer.patch queue-6.7/bcachefs-add-missing-bch2_moving_ctxt_flush_all.patch queue-6.7/bcachefs-rebalance-should-wakeup-on-shutdown-if-disabled.patch