All of lore.kernel.org
 help / color / mirror / Atom feed
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.