From: kernel test robot <lkp@intel.com>
To: Kent Overstreet <kmo@daterainc.com>
Cc: oe-kbuild-all@lists.linux.dev,
Linux Memory Management List <linux-mm@kvack.org>
Subject: [linux-next:master 4236/6333] fs/bcachefs/journal_seq_blacklist.c:176:64: warning: array subscript '(unsigned int) _33 + 4294967295' is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]'
Date: Wed, 20 Sep 2023 01:36:46 +0800 [thread overview]
Message-ID: <202309200103.grXWDKTx-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 29e400e3ea486bf942b214769fc9778098114113
commit: 9a3dedfe50c12acbbea714a7e88dde7ede69290f [4236/6333] bcachefs: Array bounds fixes
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20230920/202309200103.grXWDKTx-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230920/202309200103.grXWDKTx-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309200103.grXWDKTx-lkp@intel.com/
All warnings (new ones prefixed by >>):
from fs/bcachefs/bcachefs.h:186:
fs/bcachefs/journal_seq_blacklist.c:53:34: warning: array subscript 4294967294 is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
53 | if (le64_to_cpu(bl->start[i].end) >=
| ~~~~~~~~~^~~
include/uapi/linux/byteorder/little_endian.h:33:51: note: in definition of macro '__le64_to_cpu'
33 | #define __le64_to_cpu(x) ((__force __u64)(__le64)(x))
| ^
fs/bcachefs/journal_seq_blacklist.c:53:13: note: in expansion of macro 'le64_to_cpu'
53 | if (le64_to_cpu(bl->start[i].end) >=
| ^~~~~~~~~~~
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
fs/bcachefs/journal_seq_blacklist.c:54:34: warning: array subscript 4294967295 is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
54 | le64_to_cpu(bl->start[i + 1].start)) {
| ~~~~~~~~~^~~~~~~
include/uapi/linux/byteorder/little_endian.h:33:51: note: in definition of macro '__le64_to_cpu'
33 | #define __le64_to_cpu(x) ((__force __u64)(__le64)(x))
| ^
fs/bcachefs/journal_seq_blacklist.c:54:13: note: in expansion of macro 'le64_to_cpu'
54 | le64_to_cpu(bl->start[i + 1].start)) {
| ^~~~~~~~~~~
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
fs/bcachefs/journal_seq_blacklist.c:55:45: warning: array subscript 4294967295 is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
55 | bl->start[i].end = bl->start[i + 1].end;
| ~~~~~~~~~^~~~~~~
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
fs/bcachefs/journal_seq_blacklist.c:55:26: warning: array subscript 4294967294 is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
55 | bl->start[i].end = bl->start[i + 1].end;
| ~~~~~~~~~^~~
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
In file included from include/linux/string.h:254,
from include/linux/bitmap.h:11,
from include/linux/cpumask.h:12,
from include/linux/smp.h:13,
from include/linux/lockdep.h:14,
from include/linux/radix-tree.h:14:
fs/bcachefs/journal_seq_blacklist.c:57:25: warning: array subscript 4294967294 is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
57 | memmove(&bl->start[i],
| ^~~~~~~~~~~~~
include/linux/fortify-string.h:637:34: note: in definition of macro '__fortify_memcpy_chk'
637 | const size_t __p_size = (p_size); \
| ^~~~~~
include/linux/fortify-string.h:698:17: note: in expansion of macro '__struct_size'
698 | __struct_size(p), __struct_size(q), \
| ^~~~~~~~~~~~~
fs/bcachefs/journal_seq_blacklist.c:57:17: note: in expansion of macro 'memmove'
57 | memmove(&bl->start[i],
| ^~~~~~~
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
fs/bcachefs/journal_seq_blacklist.c:58:25: warning: array subscript 4294967295 is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
58 | &bl->start[i + 1],
| ^~~~~~~~~~~~~~~~~
include/linux/fortify-string.h:638:34: note: in definition of macro '__fortify_memcpy_chk'
638 | const size_t __q_size = (q_size); \
| ^~~~~~
include/linux/fortify-string.h:698:35: note: in expansion of macro '__struct_size'
698 | __struct_size(p), __struct_size(q), \
| ^~~~~~~~~~~~~
fs/bcachefs/journal_seq_blacklist.c:57:17: note: in expansion of macro 'memmove'
57 | memmove(&bl->start[i],
| ^~~~~~~
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
In function 'blacklist_nr_entries',
inlined from 'bch2_sb_journal_seq_blacklist_validate' at fs/bcachefs/journal_seq_blacklist.c:197:19:
fs/bcachefs/journal_seq_blacklist.h:9:56: warning: array subscript 0 is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
9 | ? ((vstruct_end(&bl->field) - (void *) &bl->start[0]) /
| ^~~~~~~~~~~~~
fs/bcachefs/bcachefs_format.h: In function 'bch2_sb_journal_seq_blacklist_validate':
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
In function 'blacklist_nr_entries',
inlined from 'bch2_sb_journal_seq_blacklist_to_text' at fs/bcachefs/journal_seq_blacklist.c:228:16:
fs/bcachefs/journal_seq_blacklist.h:9:56: warning: array subscript 0 is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
9 | ? ((vstruct_end(&bl->field) - (void *) &bl->start[0]) /
| ^~~~~~~~~~~~~
fs/bcachefs/bcachefs_format.h: In function 'bch2_sb_journal_seq_blacklist_to_text':
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
In function 'blacklist_nr_entries',
inlined from 'bch2_blacklist_table_initialize' at fs/bcachefs/journal_seq_blacklist.c:163:19:
fs/bcachefs/journal_seq_blacklist.h:9:56: warning: array subscript 0 is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
9 | ? ((vstruct_end(&bl->field) - (void *) &bl->start[0]) /
| ^~~~~~~~~~~~~
fs/bcachefs/bcachefs_format.h: In function 'bch2_blacklist_table_initialize':
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
>> fs/bcachefs/journal_seq_blacklist.c:176:64: warning: array subscript '(unsigned int) _33 + 4294967295' is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
176 | t->entries[i].start = le64_to_cpu(bl->start[i].start);
| ~~~~~~~~~^~~
include/uapi/linux/byteorder/little_endian.h:33:51: note: in definition of macro '__le64_to_cpu'
33 | #define __le64_to_cpu(x) ((__force __u64)(__le64)(x))
| ^
fs/bcachefs/journal_seq_blacklist.c:176:43: note: in expansion of macro 'le64_to_cpu'
176 | t->entries[i].start = le64_to_cpu(bl->start[i].start);
| ^~~~~~~~~~~
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
fs/bcachefs/journal_seq_blacklist.c:177:64: warning: array subscript '(unsigned int) _33 + 4294967295' is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
177 | t->entries[i].end = le64_to_cpu(bl->start[i].end);
| ~~~~~~~~~^~~
include/uapi/linux/byteorder/little_endian.h:33:51: note: in definition of macro '__le64_to_cpu'
33 | #define __le64_to_cpu(x) ((__force __u64)(__le64)(x))
| ^
fs/bcachefs/journal_seq_blacklist.c:177:43: note: in expansion of macro 'le64_to_cpu'
177 | t->entries[i].end = le64_to_cpu(bl->start[i].end);
| ^~~~~~~~~~~
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
In function 'blacklist_nr_entries',
inlined from 'bch2_journal_seq_blacklist_add' at fs/bcachefs/journal_seq_blacklist.c:83:7:
fs/bcachefs/journal_seq_blacklist.h:9:56: warning: array subscript 0 is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
9 | ? ((vstruct_end(&bl->field) - (void *) &bl->start[0]) /
| ^~~~~~~~~~~~~
fs/bcachefs/bcachefs_format.h: In function 'bch2_journal_seq_blacklist_add':
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
>> fs/bcachefs/journal_seq_blacklist.c:110:18: warning: array subscript 'i' is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
110 | bl->start[nr].start = cpu_to_le64(start);
| ~~~~~~~~~^~~~
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
fs/bcachefs/journal_seq_blacklist.c:111:18: warning: array subscript 'i' is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
111 | bl->start[nr].end = cpu_to_le64(end);
| ~~~~~~~~~^~~~
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
In function 'blacklist_nr_entries',
inlined from 'bch2_blacklist_entries_gc' at fs/bcachefs/journal_seq_blacklist.c:290:7:
fs/bcachefs/journal_seq_blacklist.h:9:56: warning: array subscript 0 is outside the bounds of an interior zero-length array 'struct journal_seq_blacklist_entry[0]' [-Wzero-length-bounds]
9 | ? ((vstruct_end(&bl->field) - (void *) &bl->start[0]) /
| ^~~~~~~~~~~~~
fs/bcachefs/bcachefs_format.h: In function 'bch2_blacklist_entries_gc':
fs/bcachefs/bcachefs_format.h:1566:44: note: while referencing 'start'
1566 | struct journal_seq_blacklist_entry start[0];
| ^~~~~
vim +176 fs/bcachefs/journal_seq_blacklist.c
51249d03060513 Kent Overstreet 2022-01-04 74
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 75 int bch2_journal_seq_blacklist_add(struct bch_fs *c, u64 start, u64 end)
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 76 {
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 77 struct bch_sb_field_journal_seq_blacklist *bl;
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 78 unsigned i, nr;
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 79 int ret = 0;
e0750d9473522d Kent Overstreet 2017-03-16 80
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 81 mutex_lock(&c->sb_lock);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 82 bl = bch2_sb_get_journal_seq_blacklist(c->disk_sb.sb);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 @83 nr = blacklist_nr_entries(bl);
e0750d9473522d Kent Overstreet 2017-03-16 84
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 85 for (i = 0; i < nr; i++) {
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 86 struct journal_seq_blacklist_entry *e =
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 87 bl->start + i;
e0750d9473522d Kent Overstreet 2017-03-16 88
51249d03060513 Kent Overstreet 2022-01-04 89 if (bl_entry_contig_or_overlaps(e, start, end)) {
51249d03060513 Kent Overstreet 2022-01-04 90 e->start = cpu_to_le64(min(start, le64_to_cpu(e->start)));
51249d03060513 Kent Overstreet 2022-01-04 91 e->end = cpu_to_le64(max(end, le64_to_cpu(e->end)));
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 92
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 93 if (i + 1 < nr)
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 94 bl = blacklist_entry_try_merge(c,
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 95 bl, i);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 96 if (i)
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 97 bl = blacklist_entry_try_merge(c,
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 98 bl, i - 1);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 99 goto out_write_sb;
e0750d9473522d Kent Overstreet 2017-03-16 100 }
e0750d9473522d Kent Overstreet 2017-03-16 101 }
e0750d9473522d Kent Overstreet 2017-03-16 102
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 103 bl = bch2_sb_resize_journal_seq_blacklist(&c->disk_sb,
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 104 sb_blacklist_u64s(nr + 1));
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 105 if (!bl) {
dd5ce1e55fc983 Kent Overstreet 2023-03-14 106 ret = -BCH_ERR_ENOSPC_sb_journal_seq_blacklist;
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 107 goto out;
e0750d9473522d Kent Overstreet 2017-03-16 108 }
e0750d9473522d Kent Overstreet 2017-03-16 109
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 @110 bl->start[nr].start = cpu_to_le64(start);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 111 bl->start[nr].end = cpu_to_le64(end);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 112 out_write_sb:
539caa353e671b Kent Overstreet 2021-05-23 113 c->disk_sb.sb->features[0] |= cpu_to_le64(1ULL << BCH_FEATURE_journal_seq_blacklist_v3);
e0750d9473522d Kent Overstreet 2017-03-16 114
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 115 ret = bch2_write_super(c);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 116 out:
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 117 mutex_unlock(&c->sb_lock);
e0750d9473522d Kent Overstreet 2017-03-16 118
b3caa4f1f7ea8e Kent Overstreet 2020-11-14 119 return ret ?: bch2_blacklist_table_initialize(c);
e0750d9473522d Kent Overstreet 2017-03-16 120 }
e0750d9473522d Kent Overstreet 2017-03-16 121
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 122 static int journal_seq_blacklist_table_cmp(const void *_l,
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 123 const void *_r, size_t size)
e0750d9473522d Kent Overstreet 2017-03-16 124 {
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 125 const struct journal_seq_blacklist_table_entry *l = _l;
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 126 const struct journal_seq_blacklist_table_entry *r = _r;
e0750d9473522d Kent Overstreet 2017-03-16 127
5049ecf31eb1f6 Kent Overstreet 2019-04-12 128 return cmp_int(l->start, r->start);
e0750d9473522d Kent Overstreet 2017-03-16 129 }
e0750d9473522d Kent Overstreet 2017-03-16 130
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 131 bool bch2_journal_seq_is_blacklisted(struct bch_fs *c, u64 seq,
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 132 bool dirty)
e0750d9473522d Kent Overstreet 2017-03-16 133 {
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 134 struct journal_seq_blacklist_table *t = c->journal_seq_blacklist_table;
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 135 struct journal_seq_blacklist_table_entry search = { .start = seq };
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 136 int idx;
e0750d9473522d Kent Overstreet 2017-03-16 137
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 138 if (!t)
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 139 return false;
e0750d9473522d Kent Overstreet 2017-03-16 140
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 141 idx = eytzinger0_find_le(t->entries, t->nr,
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 142 sizeof(t->entries[0]),
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 143 journal_seq_blacklist_table_cmp,
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 144 &search);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 145 if (idx < 0)
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 146 return false;
e0750d9473522d Kent Overstreet 2017-03-16 147
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 148 BUG_ON(t->entries[idx].start > seq);
e0750d9473522d Kent Overstreet 2017-03-16 149
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 150 if (seq >= t->entries[idx].end)
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 151 return false;
e0750d9473522d Kent Overstreet 2017-03-16 152
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 153 if (dirty)
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 154 t->entries[idx].dirty = true;
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 155 return true;
e0750d9473522d Kent Overstreet 2017-03-16 156 }
e0750d9473522d Kent Overstreet 2017-03-16 157
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 158 int bch2_blacklist_table_initialize(struct bch_fs *c)
e0750d9473522d Kent Overstreet 2017-03-16 159 {
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 160 struct bch_sb_field_journal_seq_blacklist *bl =
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 161 bch2_sb_get_journal_seq_blacklist(c->disk_sb.sb);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 162 struct journal_seq_blacklist_table *t;
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 @163 unsigned i, nr = blacklist_nr_entries(bl);
e0750d9473522d Kent Overstreet 2017-03-16 164
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 165 if (!bl)
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 166 return 0;
e0750d9473522d Kent Overstreet 2017-03-16 167
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 168 t = kzalloc(sizeof(*t) + sizeof(t->entries[0]) * nr,
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 169 GFP_KERNEL);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 170 if (!t)
dd5ce1e55fc983 Kent Overstreet 2023-03-14 171 return -BCH_ERR_ENOMEM_blacklist_table_init;
e0750d9473522d Kent Overstreet 2017-03-16 172
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 173 t->nr = nr;
e0750d9473522d Kent Overstreet 2017-03-16 174
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 175 for (i = 0; i < nr; i++) {
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 @176 t->entries[i].start = le64_to_cpu(bl->start[i].start);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 177 t->entries[i].end = le64_to_cpu(bl->start[i].end);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 178 }
e0750d9473522d Kent Overstreet 2017-03-16 179
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 180 eytzinger0_sort(t->entries,
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 181 t->nr,
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 182 sizeof(t->entries[0]),
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 183 journal_seq_blacklist_table_cmp,
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 184 NULL);
e0750d9473522d Kent Overstreet 2017-03-16 185
b3caa4f1f7ea8e Kent Overstreet 2020-11-14 186 kfree(c->journal_seq_blacklist_table);
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 187 c->journal_seq_blacklist_table = t;
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 188 return 0;
e0750d9473522d Kent Overstreet 2017-03-16 189 }
8b35d6a1e1f2a9 Kent Overstreet 2019-04-04 190
:::::: The code at line 176 was first introduced by commit
:::::: 8b35d6a1e1f2a9b790744db7883cfc04814a73fb bcachefs: Rewrite journal_seq_blacklist machinery
:::::: TO: Kent Overstreet <kent.overstreet@gmail.com>
:::::: CC: Kent Overstreet <kent.overstreet@linux.dev>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2023-09-19 17:37 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202309200103.grXWDKTx-lkp@intel.com \
--to=lkp@intel.com \
--cc=kmo@daterainc.com \
--cc=linux-mm@kvack.org \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.