Re: fs/xfs/scrub/fscounters.c:227:(.text+0xaa0): relocation truncated to fit: R_CKCORE_PCREL_IMM16BY4 against `__jump_table'

From: Philip Li
Date: Sat Dec 16 2023 - 01:10:50 EST


On Fri, Dec 15, 2023 at 09:47:22PM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 3f7168591ebf7bbdb91797d02b1afaf00a4289b1
> commit: ce85a1e04645b1ed386b074297df27ab5b8801c0 xfs: stabilize fs summary counters for online fsck
> date: 4 months ago
> config: csky-randconfig-r033-20230427 (https://download.01.org/0day-ci/archive/20231215/202312152147.JntukftP-lkp@xxxxxxxxx/config)
> compiler: csky-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231215/202312152147.JntukftP-lkp@xxxxxxxxx/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of

Kindly ignore this report, which could be the same reason as [1] that it is a
problem of csky when certain config is enabled. And the bot will skip the future
report for this.

[1] https://lore.kernel.org/oe-kbuild-all/202312161000.zSaZMSRO-lkp@xxxxxxxxx/

> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202312152147.JntukftP-lkp@xxxxxxxxx/
>
> All errors (new ones prefixed by >>):
>
> fs/xfs/scrub/fscounters.o: in function `__fatal_signal_pending':
> >> include/linux/sched/signal.h:406:(.text+0xa0a): relocation truncated to fit: R_CKCORE_PCREL_IMM16BY4 against `__jump_table'
> fs/xfs/scrub/fscounters.o: in function `xfs_buf_relse':
> >> fs/xfs/xfs_buf.h:285:(.text+0xa2a): relocation truncated to fit: R_CKCORE_PCREL_IMM16BY4 against `__jump_table'
> fs/xfs/xfs_buf.h:286:(.text+0xa36): relocation truncated to fit: R_CKCORE_PCREL_IMM16BY4 against `__jump_table'
> fs/xfs/scrub/fscounters.o: in function `kmalloc_type':
> >> include/linux/slab.h:395:(.text+0xa6c): relocation truncated to fit: R_CKCORE_PCREL_IMM16BY4 against `__jump_table'
> fs/xfs/scrub/fscounters.o: in function `kmalloc':
> include/linux/slab.h:582:(.text+0xa80): relocation truncated to fit: R_CKCORE_PCREL_IMM16BY4 against `__jump_table'
> fs/xfs/scrub/fscounters.o: in function `xchk_setup_fscounters':
> >> fs/xfs/scrub/fscounters.c:227:(.text+0xaa0): relocation truncated to fit: R_CKCORE_PCREL_IMM16BY4 against `__jump_table'
> fs/xfs/scrub/fscounters.c:230:(.text+0xaaa): relocation truncated to fit: R_CKCORE_PCREL_IMM16BY4 against `__jump_table'
> fs/xfs/scrub/fscounters.c:240:(.text+0xac2): relocation truncated to fit: R_CKCORE_PCREL_IMM16BY4 against `__jump_table'
> fs/xfs/scrub/fscounters.c:245:(.text+0xad4): relocation truncated to fit: R_CKCORE_PCREL_IMM16BY4 against `__jump_table'
> fs/xfs/scrub/fscounters.c:218:(.text+0xae0): relocation truncated to fit: R_CKCORE_PCREL_IMM16BY4 against `__jump_table'
> fs/xfs/scrub/fscounters.o: in function `xchk_fscounters':
> fs/xfs/scrub/fscounters.c:515:(.text+0xb30): additional relocation overflows omitted from the output
>
>
> vim +227 fs/xfs/scrub/fscounters.c
>
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 205
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 206 int
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 207 xchk_setup_fscounters(
> 026f57ebe1beea Darrick J. Wong 2021-04-07 208 struct xfs_scrub *sc)
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 209 {
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 210 struct xchk_fscounters *fsc;
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 211 int error;
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 212
> 466c525d6d35e6 Darrick J. Wong 2023-04-11 213 /*
> 466c525d6d35e6 Darrick J. Wong 2023-04-11 214 * If the AGF doesn't track btreeblks, we have to lock the AGF to count
> 466c525d6d35e6 Darrick J. Wong 2023-04-11 215 * btree block usage by walking the actual btrees.
> 466c525d6d35e6 Darrick J. Wong 2023-04-11 216 */
> 466c525d6d35e6 Darrick J. Wong 2023-04-11 217 if (!xfs_has_lazysbcount(sc->mp))
> 466c525d6d35e6 Darrick J. Wong 2023-04-11 218 xchk_fsgates_enable(sc, XCHK_FSGATES_DRAIN);
> 466c525d6d35e6 Darrick J. Wong 2023-04-11 219
> 306195f355bbdc Darrick J. Wong 2022-11-06 220 sc->buf = kzalloc(sizeof(struct xchk_fscounters), XCHK_GFP_FLAGS);
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 221 if (!sc->buf)
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 222 return -ENOMEM;
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 223 sc->buf_cleanup = xchk_fscounters_cleanup;
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 224 fsc = sc->buf;
> e74331d6fa2c21 Darrick J. Wong 2022-11-06 225 fsc->sc = sc;
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 226
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 @227 xfs_icount_range(sc->mp, &fsc->icount_min, &fsc->icount_max);
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 228
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 229 /* We must get the incore counters set up before we can proceed. */
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 230 error = xchk_fscount_warmup(sc);
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 231 if (error)
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 232 return error;
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 233
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 234 /*
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 235 * Pause all writer activity in the filesystem while we're scrubbing to
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 236 * reduce the likelihood of background perturbations to the counters
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 237 * throwing off our calculations.
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 238 */
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 239 if (sc->flags & XCHK_TRY_HARDER) {
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 240 error = xchk_fscounters_freeze(sc);
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 241 if (error)
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 242 return error;
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 243 }
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 244
> ce85a1e04645b1 Darrick J. Wong 2023-08-04 245 return xfs_trans_alloc_empty(sc->mp, &sc->tp);
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 246 }
> 75efa57d0bf5fc Darrick J. Wong 2019-04-25 247
>
> :::::: The code at line 227 was first introduced by commit
> :::::: 75efa57d0bf5fcf650a183f0ce0dc011ba8c4bc8 xfs: add online scrub for superblock counters
>
> :::::: TO: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> :::::: CC: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>