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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).