Re: [PATCH for-next] RDMA/cma: Remove unnecessary INIT->INIT transition
by kernel test robot
Hi "Håkon,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on rdma/for-next]
[also build test WARNING on v5.13-rc6 next-20210617]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/H-kon-Bugge/RDMA-cma-Remove-unne...
base: https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next
config: powerpc64-randconfig-r011-20210617 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
# https://github.com/0day-ci/linux/commit/c0ea00a31278d0ffe083f121ddb13e27f...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review H-kon-Bugge/RDMA-cma-Remove-unnecessary-INIT-INIT-transition/20210617-234819
git checkout c0ea00a31278d0ffe083f121ddb13e27f999c0a8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:249:1: note: expanded from here
__do_insb
^
arch/powerpc/include/asm/io.h:556:56: note: expanded from macro '__do_insb'
#define __do_insb(p, b, n) readsb((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/infiniband/core/cma.c:14:
In file included from include/linux/igmp.h:13:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:45:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:251:1: note: expanded from here
__do_insw
^
arch/powerpc/include/asm/io.h:557:56: note: expanded from macro '__do_insw'
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/infiniband/core/cma.c:14:
In file included from include/linux/igmp.h:13:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:253:1: note: expanded from here
__do_insl
^
arch/powerpc/include/asm/io.h:558:56: note: expanded from macro '__do_insl'
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/infiniband/core/cma.c:14:
In file included from include/linux/igmp.h:13:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:255:1: note: expanded from here
__do_outsb
^
arch/powerpc/include/asm/io.h:559:58: note: expanded from macro '__do_outsb'
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/infiniband/core/cma.c:14:
In file included from include/linux/igmp.h:13:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:257:1: note: expanded from here
__do_outsw
^
arch/powerpc/include/asm/io.h:560:58: note: expanded from macro '__do_outsw'
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/infiniband/core/cma.c:14:
In file included from include/linux/igmp.h:13:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:10:
In file included from include/linux/scatterlist.h:9:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:259:1: note: expanded from here
__do_outsl
^
arch/powerpc/include/asm/io.h:561:58: note: expanded from macro '__do_outsl'
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
>> drivers/infiniband/core/cma.c:948:6: warning: variable 'ret' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (id->qp_type == IB_QPT_UD)
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/core/cma.c:950:6: note: uninitialized use occurs here
if (ret)
^~~
drivers/infiniband/core/cma.c:948:2: note: remove the 'if' if its condition is always true
if (id->qp_type == IB_QPT_UD)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/core/cma.c:933:9: note: initialize the variable 'ret' to silence this warning
int ret;
^
= 0
14 warnings generated.
vim +948 drivers/infiniband/core/cma.c
e51060f08a6196 Sean Hefty 2006-06-17 927
e51060f08a6196 Sean Hefty 2006-06-17 928 int rdma_create_qp(struct rdma_cm_id *id, struct ib_pd *pd,
e51060f08a6196 Sean Hefty 2006-06-17 929 struct ib_qp_init_attr *qp_init_attr)
e51060f08a6196 Sean Hefty 2006-06-17 930 {
e51060f08a6196 Sean Hefty 2006-06-17 931 struct rdma_id_private *id_priv;
e51060f08a6196 Sean Hefty 2006-06-17 932 struct ib_qp *qp;
e51060f08a6196 Sean Hefty 2006-06-17 933 int ret;
e51060f08a6196 Sean Hefty 2006-06-17 934
e51060f08a6196 Sean Hefty 2006-06-17 935 id_priv = container_of(id, struct rdma_id_private, id);
ed999f820a6c57 Chuck Lever 2019-12-18 936 if (id->device != pd->device) {
ed999f820a6c57 Chuck Lever 2019-12-18 937 ret = -EINVAL;
ed999f820a6c57 Chuck Lever 2019-12-18 938 goto out_err;
ed999f820a6c57 Chuck Lever 2019-12-18 939 }
e51060f08a6196 Sean Hefty 2006-06-17 940
0691a286d59183 Christoph Hellwig 2016-05-03 941 qp_init_attr->port_num = id->port_num;
e51060f08a6196 Sean Hefty 2006-06-17 942 qp = ib_create_qp(pd, qp_init_attr);
ed999f820a6c57 Chuck Lever 2019-12-18 943 if (IS_ERR(qp)) {
ed999f820a6c57 Chuck Lever 2019-12-18 944 ret = PTR_ERR(qp);
ed999f820a6c57 Chuck Lever 2019-12-18 945 goto out_err;
ed999f820a6c57 Chuck Lever 2019-12-18 946 }
e51060f08a6196 Sean Hefty 2006-06-17 947
b26f9b9949013f Sean Hefty 2010-04-01 @948 if (id->qp_type == IB_QPT_UD)
c8f6a362bf3eb2 Sean Hefty 2007-02-15 949 ret = cma_init_ud_qp(id_priv, qp);
e51060f08a6196 Sean Hefty 2006-06-17 950 if (ret)
ed999f820a6c57 Chuck Lever 2019-12-18 951 goto out_destroy;
e51060f08a6196 Sean Hefty 2006-06-17 952
e51060f08a6196 Sean Hefty 2006-06-17 953 id->qp = qp;
e51060f08a6196 Sean Hefty 2006-06-17 954 id_priv->qp_num = qp->qp_num;
e51060f08a6196 Sean Hefty 2006-06-17 955 id_priv->srq = (qp->srq != NULL);
ed999f820a6c57 Chuck Lever 2019-12-18 956 trace_cm_qp_create(id_priv, pd, qp_init_attr, 0);
e51060f08a6196 Sean Hefty 2006-06-17 957 return 0;
ed999f820a6c57 Chuck Lever 2019-12-18 958 out_destroy:
e51060f08a6196 Sean Hefty 2006-06-17 959 ib_destroy_qp(qp);
ed999f820a6c57 Chuck Lever 2019-12-18 960 out_err:
ed999f820a6c57 Chuck Lever 2019-12-18 961 trace_cm_qp_create(id_priv, pd, qp_init_attr, ret);
e51060f08a6196 Sean Hefty 2006-06-17 962 return ret;
e51060f08a6196 Sean Hefty 2006-06-17 963 }
e51060f08a6196 Sean Hefty 2006-06-17 964 EXPORT_SYMBOL(rdma_create_qp);
e51060f08a6196 Sean Hefty 2006-06-17 965
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[linux-next:master 8338/10875] ice_main.c:(.text.ice_misc_intr+0x31c): undefined reference to `ice_ptp_process_ts'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 7d9c6b8147bdd76d7eb2cf6f74f84c6918ae0939
commit: ea9b847cda647b9849b0b9fa0447e876a1ac62e1 [8338/10875] ice: enable transmit timestamps for E810 devices
config: powerpc64-randconfig-c004-20210617 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout ea9b847cda647b9849b0b9fa0447e876a1ac62e1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
powerpc-linux-ld: drivers/net/ethernet/intel/ice/ice_main.o: in function `ice_do_ioctl':
ice_main.c:(.text.ice_do_ioctl+0x60): undefined reference to `ice_ptp_get_ts_config'
powerpc-linux-ld: ice_main.c:(.text.ice_do_ioctl+0x9c): undefined reference to `ice_ptp_set_ts_config'
powerpc-linux-ld: drivers/net/ethernet/intel/ice/ice_main.o: in function `ice_rebuild':
ice_main.c:(.text.ice_rebuild+0x424): undefined reference to `ice_ptp_init'
powerpc-linux-ld: drivers/net/ethernet/intel/ice/ice_main.o: in function `ice_prepare_for_reset':
ice_main.c:(.text.ice_prepare_for_reset+0x1e8): undefined reference to `ice_ptp_release'
powerpc-linux-ld: drivers/net/ethernet/intel/ice/ice_main.o: in function `ice_remove':
ice_main.c:(.text.ice_remove+0x338): undefined reference to `ice_ptp_release'
powerpc-linux-ld: drivers/net/ethernet/intel/ice/ice_main.o: in function `ice_misc_intr':
>> ice_main.c:(.text.ice_misc_intr+0x31c): undefined reference to `ice_ptp_process_ts'
powerpc-linux-ld: drivers/net/ethernet/intel/ice/ice_main.o: in function `ice_probe':
ice_main.c:(.text.ice_probe+0x13b8): undefined reference to `ice_ptp_init'
powerpc-linux-ld: drivers/net/ethernet/intel/ice/ice_txrx_lib.o: in function `ice_process_skb_fields':
ice_txrx_lib.c:(.text.ice_process_skb_fields+0x210): undefined reference to `ice_ptp_rx_hwtstamp'
powerpc-linux-ld: drivers/net/ethernet/intel/ice/ice_txrx.o: in function `ice_start_xmit':
>> ice_txrx.c:(.text.ice_start_xmit+0xa7c): undefined reference to `ice_ptp_request_ts'
powerpc-linux-ld: drivers/net/ethernet/intel/ice/ice_ethtool.o: in function `ice_get_ts_info':
ice_ethtool.c:(.text.ice_get_ts_info+0x4c): undefined reference to `ice_get_ptp_clock_index'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
Re: [PATCH 1/1] net: Allow all multicast packets to be received on a interface.
by kernel test robot
Hi Callum,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.13-rc6 next-20210617]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Callum-Sinclair/Create-multicast...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 70585216fe7730d9fb5453d3e2804e149d0fe201
config: x86_64-rhel-8.3-kselftests (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/4220b6837f4315ff557bd44f7aada23b6...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Callum-Sinclair/Create-multicast-snooping-sysctl-option/20210617-175212
git checkout 4220b6837f4315ff557bd44f7aada23b69e181b6
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from net/ipv4/devinet.c:47:
net/ipv4/devinet.c: In function 'inet_netconf_fill_devconf':
>> include/linux/inetdevice.h:53:45: error: 'IPV4_DEVCONF_NETCONFA_MC_SNOOPING' undeclared (first use in this function); did you mean 'IPV4_DEVCONF_MC_SNOOPING'?
53 | #define IPV4_DEVCONF(cnf, attr) ((cnf).data[IPV4_DEVCONF_ ## attr - 1])
| ^~~~~~~~~~~~~
net/ipv4/devinet.c:2069:4: note: in expansion of macro 'IPV4_DEVCONF'
2069 | IPV4_DEVCONF(*devconf, NETCONFA_MC_SNOOPING)) < 0)
| ^~~~~~~~~~~~
include/linux/inetdevice.h:53:45: note: each undeclared identifier is reported only once for each function it appears in
53 | #define IPV4_DEVCONF(cnf, attr) ((cnf).data[IPV4_DEVCONF_ ## attr - 1])
| ^~~~~~~~~~~~~
net/ipv4/devinet.c:2069:4: note: in expansion of macro 'IPV4_DEVCONF'
2069 | IPV4_DEVCONF(*devconf, NETCONFA_MC_SNOOPING)) < 0)
| ^~~~~~~~~~~~
vim +53 include/linux/inetdevice.h
^1da177e4c3f41 Linus Torvalds 2005-04-16 52
02291680ffba92 Eric W. Biederman 2010-02-14 @53 #define IPV4_DEVCONF(cnf, attr) ((cnf).data[IPV4_DEVCONF_ ## attr - 1])
586f12115264b7 Pavel Emelyanov 2007-12-16 54 #define IPV4_DEVCONF_ALL(net, attr) \
586f12115264b7 Pavel Emelyanov 2007-12-16 55 IPV4_DEVCONF((*(net)->ipv4.devconf_all), attr)
42f811b8bcdf66 Herbert Xu 2007-06-04 56
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[linux-next:master 6373/10489] fs/xfs/xfs_log_cil.c:897:1-10: second lock on line 900 (fwd)
by Julia Lawall
Please check line 900.
julia
---------- Forwarded message ----------
Date: Thu, 17 Jun 2021 20:02:22 +0800
From: kernel test robot <lkp(a)intel.com>
To: kbuild(a)lists.01.org
Cc: lkp(a)intel.com, Julia Lawall <julia.lawall(a)lip6.fr>
Subject: [linux-next:master 6373/10489] fs/xfs/xfs_log_cil.c:897:1-10: second
lock on line 900
CC: kbuild-all(a)lists.01.org
CC: Linux Memory Management List <linux-mm(a)kvack.org>
TO: Dave Chinner <dchinner(a)redhat.com>
CC: Chandan Babu R <chandanrlinux(a)gmail.com>
CC: "Darrick J. Wong" <djwong(a)kernel.org>
CC: Allison Henderson <allison.henderson(a)oracle.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: c7d4c1fd91ab4a6d2620497921a9c6bf54650ab8
commit: cb1acb3f324636856cb65bd4857c981a15b7f4d4 [6373/10489] xfs: journal IO cache flush reductions
:::::: branch date: 23 hours ago
:::::: commit date: 13 days ago
config: nds32-randconfig-c003-20210617 (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Julia Lawall <julia.lawall(a)lip6.fr>
cocci warnings: (new ones prefixed by >>)
>> fs/xfs/xfs_log_cil.c:897:1-10: second lock on line 900
vim +897 fs/xfs/xfs_log_cil.c
89ae379d564c5d Christoph Hellwig 2019-06-28 625
71e330b593905e Dave Chinner 2010-05-21 626 /*
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 627 * Push the Committed Item List to the log.
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 628 *
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 629 * If the current sequence is the same as xc_push_seq we need to do a flush. If
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 630 * xc_push_seq is less than the current sequence, then it has already been
a44f13edf0ebb4 Dave Chinner 2010-08-24 631 * flushed and we don't need to do anything - the caller will wait for it to
a44f13edf0ebb4 Dave Chinner 2010-08-24 632 * complete if necessary.
a44f13edf0ebb4 Dave Chinner 2010-08-24 633 *
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 634 * xc_push_seq is checked unlocked against the sequence number for a match.
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 635 * Hence we can allow log forces to run racily and not issue pushes for the
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 636 * same sequence twice. If we get a race between multiple pushes for the same
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 637 * sequence they will block on the first one and then abort, hence avoiding
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 638 * needless pushes.
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 639 */
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 640 static void
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 641 xlog_cil_push_work(
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 642 struct work_struct *work)
71e330b593905e Dave Chinner 2010-05-21 643 {
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 644 struct xfs_cil *cil =
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 645 container_of(work, struct xfs_cil, xc_push_work);
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 646 struct xlog *log = cil->xc_log;
71e330b593905e Dave Chinner 2010-05-21 647 struct xfs_log_vec *lv;
71e330b593905e Dave Chinner 2010-05-21 648 struct xfs_cil_ctx *ctx;
71e330b593905e Dave Chinner 2010-05-21 649 struct xfs_cil_ctx *new_ctx;
71e330b593905e Dave Chinner 2010-05-21 650 struct xlog_in_core *commit_iclog;
71e330b593905e Dave Chinner 2010-05-21 651 struct xlog_ticket *tic;
71e330b593905e Dave Chinner 2010-05-21 652 int num_iovecs;
71e330b593905e Dave Chinner 2010-05-21 653 int error = 0;
71e330b593905e Dave Chinner 2010-05-21 654 struct xfs_trans_header thdr;
71e330b593905e Dave Chinner 2010-05-21 655 struct xfs_log_iovec lhdr;
71e330b593905e Dave Chinner 2010-05-21 656 struct xfs_log_vec lvhdr = { NULL };
71e330b593905e Dave Chinner 2010-05-21 657 xfs_lsn_t commit_lsn;
4c2d542f2e7865 Dave Chinner 2012-04-23 658 xfs_lsn_t push_seq;
0279bbbbc03f2c Dave Chinner 2021-06-03 659 struct bio bio;
0279bbbbc03f2c Dave Chinner 2021-06-03 660 DECLARE_COMPLETION_ONSTACK(bdev_flush);
71e330b593905e Dave Chinner 2010-05-21 661
707e0ddaf67e89 Tetsuo Handa 2019-08-26 662 new_ctx = kmem_zalloc(sizeof(*new_ctx), KM_NOFS);
71e330b593905e Dave Chinner 2010-05-21 663 new_ctx->ticket = xlog_cil_ticket_alloc(log);
71e330b593905e Dave Chinner 2010-05-21 664
71e330b593905e Dave Chinner 2010-05-21 665 down_write(&cil->xc_ctx_lock);
71e330b593905e Dave Chinner 2010-05-21 666 ctx = cil->xc_ctx;
71e330b593905e Dave Chinner 2010-05-21 667
4bb928cdb900d0 Dave Chinner 2013-08-12 668 spin_lock(&cil->xc_push_lock);
4c2d542f2e7865 Dave Chinner 2012-04-23 669 push_seq = cil->xc_push_seq;
4c2d542f2e7865 Dave Chinner 2012-04-23 670 ASSERT(push_seq <= ctx->sequence);
71e330b593905e Dave Chinner 2010-05-21 671
0e7ab7efe77451 Dave Chinner 2020-03-24 672 /*
0e7ab7efe77451 Dave Chinner 2020-03-24 673 * Wake up any background push waiters now this context is being pushed.
0e7ab7efe77451 Dave Chinner 2020-03-24 674 */
c7f87f3984cfa1 Dave Chinner 2020-06-16 675 if (ctx->space_used >= XLOG_CIL_BLOCKING_SPACE_LIMIT(log))
c7f87f3984cfa1 Dave Chinner 2020-06-16 676 wake_up_all(&cil->xc_push_wait);
0e7ab7efe77451 Dave Chinner 2020-03-24 677
4c2d542f2e7865 Dave Chinner 2012-04-23 678 /*
4c2d542f2e7865 Dave Chinner 2012-04-23 679 * Check if we've anything to push. If there is nothing, then we don't
4c2d542f2e7865 Dave Chinner 2012-04-23 680 * move on to a new sequence number and so we have to be able to push
4c2d542f2e7865 Dave Chinner 2012-04-23 681 * this sequence again later.
4c2d542f2e7865 Dave Chinner 2012-04-23 682 */
4c2d542f2e7865 Dave Chinner 2012-04-23 683 if (list_empty(&cil->xc_cil)) {
4c2d542f2e7865 Dave Chinner 2012-04-23 684 cil->xc_push_seq = 0;
4bb928cdb900d0 Dave Chinner 2013-08-12 685 spin_unlock(&cil->xc_push_lock);
a44f13edf0ebb4 Dave Chinner 2010-08-24 686 goto out_skip;
4c2d542f2e7865 Dave Chinner 2012-04-23 687 }
4c2d542f2e7865 Dave Chinner 2012-04-23 688
a44f13edf0ebb4 Dave Chinner 2010-08-24 689
cf085a1b5d2214 Joe Perches 2019-11-07 690 /* check for a previously pushed sequence */
8af3dcd3c89aef Dave Chinner 2014-09-23 691 if (push_seq < cil->xc_ctx->sequence) {
8af3dcd3c89aef Dave Chinner 2014-09-23 692 spin_unlock(&cil->xc_push_lock);
df806158b0f6eb Dave Chinner 2010-05-17 693 goto out_skip;
8af3dcd3c89aef Dave Chinner 2014-09-23 694 }
8af3dcd3c89aef Dave Chinner 2014-09-23 695
8af3dcd3c89aef Dave Chinner 2014-09-23 696 /*
8af3dcd3c89aef Dave Chinner 2014-09-23 697 * We are now going to push this context, so add it to the committing
8af3dcd3c89aef Dave Chinner 2014-09-23 698 * list before we do anything else. This ensures that anyone waiting on
8af3dcd3c89aef Dave Chinner 2014-09-23 699 * this push can easily detect the difference between a "push in
8af3dcd3c89aef Dave Chinner 2014-09-23 700 * progress" and "CIL is empty, nothing to do".
8af3dcd3c89aef Dave Chinner 2014-09-23 701 *
8af3dcd3c89aef Dave Chinner 2014-09-23 702 * IOWs, a wait loop can now check for:
8af3dcd3c89aef Dave Chinner 2014-09-23 703 * the current sequence not being found on the committing list;
8af3dcd3c89aef Dave Chinner 2014-09-23 704 * an empty CIL; and
8af3dcd3c89aef Dave Chinner 2014-09-23 705 * an unchanged sequence number
8af3dcd3c89aef Dave Chinner 2014-09-23 706 * to detect a push that had nothing to do and therefore does not need
8af3dcd3c89aef Dave Chinner 2014-09-23 707 * waiting on. If the CIL is not empty, we get put on the committing
8af3dcd3c89aef Dave Chinner 2014-09-23 708 * list before emptying the CIL and bumping the sequence number. Hence
8af3dcd3c89aef Dave Chinner 2014-09-23 709 * an empty CIL and an unchanged sequence number means we jumped out
8af3dcd3c89aef Dave Chinner 2014-09-23 710 * above after doing nothing.
8af3dcd3c89aef Dave Chinner 2014-09-23 711 *
8af3dcd3c89aef Dave Chinner 2014-09-23 712 * Hence the waiter will either find the commit sequence on the
8af3dcd3c89aef Dave Chinner 2014-09-23 713 * committing list or the sequence number will be unchanged and the CIL
8af3dcd3c89aef Dave Chinner 2014-09-23 714 * still dirty. In that latter case, the push has not yet started, and
8af3dcd3c89aef Dave Chinner 2014-09-23 715 * so the waiter will have to continue trying to check the CIL
8af3dcd3c89aef Dave Chinner 2014-09-23 716 * committing list until it is found. In extreme cases of delay, the
8af3dcd3c89aef Dave Chinner 2014-09-23 717 * sequence may fully commit between the attempts the wait makes to wait
8af3dcd3c89aef Dave Chinner 2014-09-23 718 * on the commit sequence.
8af3dcd3c89aef Dave Chinner 2014-09-23 719 */
8af3dcd3c89aef Dave Chinner 2014-09-23 720 list_add(&ctx->committing, &cil->xc_committing);
8af3dcd3c89aef Dave Chinner 2014-09-23 721 spin_unlock(&cil->xc_push_lock);
df806158b0f6eb Dave Chinner 2010-05-17 722
71e330b593905e Dave Chinner 2010-05-21 723 /*
0279bbbbc03f2c Dave Chinner 2021-06-03 724 * The CIL is stable at this point - nothing new will be added to it
0279bbbbc03f2c Dave Chinner 2021-06-03 725 * because we hold the flush lock exclusively. Hence we can now issue
0279bbbbc03f2c Dave Chinner 2021-06-03 726 * a cache flush to ensure all the completed metadata in the journal we
0279bbbbc03f2c Dave Chinner 2021-06-03 727 * are about to overwrite is on stable storage.
0279bbbbc03f2c Dave Chinner 2021-06-03 728 */
0279bbbbc03f2c Dave Chinner 2021-06-03 729 xfs_flush_bdev_async(&bio, log->l_mp->m_ddev_targp->bt_bdev,
0279bbbbc03f2c Dave Chinner 2021-06-03 730 &bdev_flush);
0279bbbbc03f2c Dave Chinner 2021-06-03 731
0279bbbbc03f2c Dave Chinner 2021-06-03 732 /*
0279bbbbc03f2c Dave Chinner 2021-06-03 733 * Pull all the log vectors off the items in the CIL, and remove the
0279bbbbc03f2c Dave Chinner 2021-06-03 734 * items from the CIL. We don't need the CIL lock here because it's only
0279bbbbc03f2c Dave Chinner 2021-06-03 735 * needed on the transaction commit side which is currently locked out
0279bbbbc03f2c Dave Chinner 2021-06-03 736 * by the flush lock.
71e330b593905e Dave Chinner 2010-05-21 737 */
71e330b593905e Dave Chinner 2010-05-21 738 lv = NULL;
71e330b593905e Dave Chinner 2010-05-21 739 num_iovecs = 0;
71e330b593905e Dave Chinner 2010-05-21 740 while (!list_empty(&cil->xc_cil)) {
71e330b593905e Dave Chinner 2010-05-21 741 struct xfs_log_item *item;
71e330b593905e Dave Chinner 2010-05-21 742
71e330b593905e Dave Chinner 2010-05-21 743 item = list_first_entry(&cil->xc_cil,
71e330b593905e Dave Chinner 2010-05-21 744 struct xfs_log_item, li_cil);
71e330b593905e Dave Chinner 2010-05-21 745 list_del_init(&item->li_cil);
71e330b593905e Dave Chinner 2010-05-21 746 if (!ctx->lv_chain)
71e330b593905e Dave Chinner 2010-05-21 747 ctx->lv_chain = item->li_lv;
71e330b593905e Dave Chinner 2010-05-21 748 else
71e330b593905e Dave Chinner 2010-05-21 749 lv->lv_next = item->li_lv;
71e330b593905e Dave Chinner 2010-05-21 750 lv = item->li_lv;
71e330b593905e Dave Chinner 2010-05-21 751 item->li_lv = NULL;
71e330b593905e Dave Chinner 2010-05-21 752 num_iovecs += lv->lv_niovecs;
71e330b593905e Dave Chinner 2010-05-21 753 }
71e330b593905e Dave Chinner 2010-05-21 754
71e330b593905e Dave Chinner 2010-05-21 755 /*
71e330b593905e Dave Chinner 2010-05-21 756 * initialise the new context and attach it to the CIL. Then attach
c7f87f3984cfa1 Dave Chinner 2020-06-16 757 * the current context to the CIL committing list so it can be found
71e330b593905e Dave Chinner 2010-05-21 758 * during log forces to extract the commit lsn of the sequence that
71e330b593905e Dave Chinner 2010-05-21 759 * needs to be forced.
71e330b593905e Dave Chinner 2010-05-21 760 */
71e330b593905e Dave Chinner 2010-05-21 761 INIT_LIST_HEAD(&new_ctx->committing);
71e330b593905e Dave Chinner 2010-05-21 762 INIT_LIST_HEAD(&new_ctx->busy_extents);
71e330b593905e Dave Chinner 2010-05-21 763 new_ctx->sequence = ctx->sequence + 1;
71e330b593905e Dave Chinner 2010-05-21 764 new_ctx->cil = cil;
71e330b593905e Dave Chinner 2010-05-21 765 cil->xc_ctx = new_ctx;
71e330b593905e Dave Chinner 2010-05-21 766
71e330b593905e Dave Chinner 2010-05-21 767 /*
71e330b593905e Dave Chinner 2010-05-21 768 * The switch is now done, so we can drop the context lock and move out
71e330b593905e Dave Chinner 2010-05-21 769 * of a shared context. We can't just go straight to the commit record,
71e330b593905e Dave Chinner 2010-05-21 770 * though - we need to synchronise with previous and future commits so
71e330b593905e Dave Chinner 2010-05-21 771 * that the commit records are correctly ordered in the log to ensure
71e330b593905e Dave Chinner 2010-05-21 772 * that we process items during log IO completion in the correct order.
71e330b593905e Dave Chinner 2010-05-21 773 *
71e330b593905e Dave Chinner 2010-05-21 774 * For example, if we get an EFI in one checkpoint and the EFD in the
71e330b593905e Dave Chinner 2010-05-21 775 * next (e.g. due to log forces), we do not want the checkpoint with
71e330b593905e Dave Chinner 2010-05-21 776 * the EFD to be committed before the checkpoint with the EFI. Hence
71e330b593905e Dave Chinner 2010-05-21 777 * we must strictly order the commit records of the checkpoints so
71e330b593905e Dave Chinner 2010-05-21 778 * that: a) the checkpoint callbacks are attached to the iclogs in the
71e330b593905e Dave Chinner 2010-05-21 779 * correct order; and b) the checkpoints are replayed in correct order
71e330b593905e Dave Chinner 2010-05-21 780 * in log recovery.
71e330b593905e Dave Chinner 2010-05-21 781 *
71e330b593905e Dave Chinner 2010-05-21 782 * Hence we need to add this context to the committing context list so
71e330b593905e Dave Chinner 2010-05-21 783 * that higher sequences will wait for us to write out a commit record
71e330b593905e Dave Chinner 2010-05-21 784 * before they do.
f876e44603ad09 Dave Chinner 2014-02-27 785 *
f876e44603ad09 Dave Chinner 2014-02-27 786 * xfs_log_force_lsn requires us to mirror the new sequence into the cil
f876e44603ad09 Dave Chinner 2014-02-27 787 * structure atomically with the addition of this sequence to the
f876e44603ad09 Dave Chinner 2014-02-27 788 * committing list. This also ensures that we can do unlocked checks
f876e44603ad09 Dave Chinner 2014-02-27 789 * against the current sequence in log forces without risking
f876e44603ad09 Dave Chinner 2014-02-27 790 * deferencing a freed context pointer.
71e330b593905e Dave Chinner 2010-05-21 791 */
4bb928cdb900d0 Dave Chinner 2013-08-12 792 spin_lock(&cil->xc_push_lock);
f876e44603ad09 Dave Chinner 2014-02-27 793 cil->xc_current_sequence = new_ctx->sequence;
4bb928cdb900d0 Dave Chinner 2013-08-12 794 spin_unlock(&cil->xc_push_lock);
71e330b593905e Dave Chinner 2010-05-21 795 up_write(&cil->xc_ctx_lock);
71e330b593905e Dave Chinner 2010-05-21 796
71e330b593905e Dave Chinner 2010-05-21 797 /*
71e330b593905e Dave Chinner 2010-05-21 798 * Build a checkpoint transaction header and write it to the log to
71e330b593905e Dave Chinner 2010-05-21 799 * begin the transaction. We need to account for the space used by the
71e330b593905e Dave Chinner 2010-05-21 800 * transaction header here as it is not accounted for in xlog_write().
71e330b593905e Dave Chinner 2010-05-21 801 *
71e330b593905e Dave Chinner 2010-05-21 802 * The LSN we need to pass to the log items on transaction commit is
71e330b593905e Dave Chinner 2010-05-21 803 * the LSN reported by the first log vector write. If we use the commit
71e330b593905e Dave Chinner 2010-05-21 804 * record lsn then we can move the tail beyond the grant write head.
71e330b593905e Dave Chinner 2010-05-21 805 */
71e330b593905e Dave Chinner 2010-05-21 806 tic = ctx->ticket;
71e330b593905e Dave Chinner 2010-05-21 807 thdr.th_magic = XFS_TRANS_HEADER_MAGIC;
71e330b593905e Dave Chinner 2010-05-21 808 thdr.th_type = XFS_TRANS_CHECKPOINT;
71e330b593905e Dave Chinner 2010-05-21 809 thdr.th_tid = tic->t_tid;
71e330b593905e Dave Chinner 2010-05-21 810 thdr.th_num_items = num_iovecs;
4e0d5f926b80b0 Christoph Hellwig 2010-06-23 811 lhdr.i_addr = &thdr;
71e330b593905e Dave Chinner 2010-05-21 812 lhdr.i_len = sizeof(xfs_trans_header_t);
71e330b593905e Dave Chinner 2010-05-21 813 lhdr.i_type = XLOG_REG_TYPE_TRANSHDR;
71e330b593905e Dave Chinner 2010-05-21 814 tic->t_curr_res -= lhdr.i_len + sizeof(xlog_op_header_t);
71e330b593905e Dave Chinner 2010-05-21 815
71e330b593905e Dave Chinner 2010-05-21 816 lvhdr.lv_niovecs = 1;
71e330b593905e Dave Chinner 2010-05-21 817 lvhdr.lv_iovecp = &lhdr;
71e330b593905e Dave Chinner 2010-05-21 818 lvhdr.lv_next = ctx->lv_chain;
71e330b593905e Dave Chinner 2010-05-21 819
0279bbbbc03f2c Dave Chinner 2021-06-03 820 /*
0279bbbbc03f2c Dave Chinner 2021-06-03 821 * Before we format and submit the first iclog, we have to ensure that
0279bbbbc03f2c Dave Chinner 2021-06-03 822 * the metadata writeback ordering cache flush is complete.
0279bbbbc03f2c Dave Chinner 2021-06-03 823 */
0279bbbbc03f2c Dave Chinner 2021-06-03 824 wait_for_completion(&bdev_flush);
0279bbbbc03f2c Dave Chinner 2021-06-03 825
69d51e0e16864f Dave Chinner 2021-06-04 826 error = xlog_write(log, &lvhdr, tic, &ctx->start_lsn, NULL,
69d51e0e16864f Dave Chinner 2021-06-04 827 XLOG_START_TRANS);
71e330b593905e Dave Chinner 2010-05-21 828 if (error)
7db37c5e6575b2 Dave Chinner 2011-01-27 829 goto out_abort_free_ticket;
71e330b593905e Dave Chinner 2010-05-21 830
71e330b593905e Dave Chinner 2010-05-21 831 /*
71e330b593905e Dave Chinner 2010-05-21 832 * now that we've written the checkpoint into the log, strictly
71e330b593905e Dave Chinner 2010-05-21 833 * order the commit records so replay will get them in the right order.
71e330b593905e Dave Chinner 2010-05-21 834 */
71e330b593905e Dave Chinner 2010-05-21 835 restart:
4bb928cdb900d0 Dave Chinner 2013-08-12 836 spin_lock(&cil->xc_push_lock);
71e330b593905e Dave Chinner 2010-05-21 837 list_for_each_entry(new_ctx, &cil->xc_committing, committing) {
ac983517ec5941 Dave Chinner 2014-05-07 838 /*
ac983517ec5941 Dave Chinner 2014-05-07 839 * Avoid getting stuck in this loop because we were woken by the
ac983517ec5941 Dave Chinner 2014-05-07 840 * shutdown, but then went back to sleep once already in the
ac983517ec5941 Dave Chinner 2014-05-07 841 * shutdown state.
ac983517ec5941 Dave Chinner 2014-05-07 842 */
ac983517ec5941 Dave Chinner 2014-05-07 843 if (XLOG_FORCED_SHUTDOWN(log)) {
ac983517ec5941 Dave Chinner 2014-05-07 844 spin_unlock(&cil->xc_push_lock);
ac983517ec5941 Dave Chinner 2014-05-07 845 goto out_abort_free_ticket;
ac983517ec5941 Dave Chinner 2014-05-07 846 }
ac983517ec5941 Dave Chinner 2014-05-07 847
71e330b593905e Dave Chinner 2010-05-21 848 /*
71e330b593905e Dave Chinner 2010-05-21 849 * Higher sequences will wait for this one so skip them.
ac983517ec5941 Dave Chinner 2014-05-07 850 * Don't wait for our own sequence, either.
71e330b593905e Dave Chinner 2010-05-21 851 */
71e330b593905e Dave Chinner 2010-05-21 852 if (new_ctx->sequence >= ctx->sequence)
71e330b593905e Dave Chinner 2010-05-21 853 continue;
71e330b593905e Dave Chinner 2010-05-21 854 if (!new_ctx->commit_lsn) {
71e330b593905e Dave Chinner 2010-05-21 855 /*
71e330b593905e Dave Chinner 2010-05-21 856 * It is still being pushed! Wait for the push to
71e330b593905e Dave Chinner 2010-05-21 857 * complete, then start again from the beginning.
71e330b593905e Dave Chinner 2010-05-21 858 */
4bb928cdb900d0 Dave Chinner 2013-08-12 859 xlog_wait(&cil->xc_commit_wait, &cil->xc_push_lock);
71e330b593905e Dave Chinner 2010-05-21 860 goto restart;
71e330b593905e Dave Chinner 2010-05-21 861 }
71e330b593905e Dave Chinner 2010-05-21 862 }
4bb928cdb900d0 Dave Chinner 2013-08-12 863 spin_unlock(&cil->xc_push_lock);
71e330b593905e Dave Chinner 2010-05-21 864
f10e925def9a6d Dave Chinner 2020-03-25 865 error = xlog_commit_record(log, tic, &commit_iclog, &commit_lsn);
dd401770b0ff68 Dave Chinner 2020-03-25 866 if (error)
dd401770b0ff68 Dave Chinner 2020-03-25 867 goto out_abort_free_ticket;
dd401770b0ff68 Dave Chinner 2020-03-25 868
8b41e3f98e6ca1 Christoph Hellwig 2020-03-25 869 xfs_log_ticket_ungrant(log, tic);
71e330b593905e Dave Chinner 2010-05-21 870
89ae379d564c5d Christoph Hellwig 2019-06-28 871 spin_lock(&commit_iclog->ic_callback_lock);
1858bb0bec612d Christoph Hellwig 2019-10-14 872 if (commit_iclog->ic_state == XLOG_STATE_IOERROR) {
89ae379d564c5d Christoph Hellwig 2019-06-28 873 spin_unlock(&commit_iclog->ic_callback_lock);
71e330b593905e Dave Chinner 2010-05-21 874 goto out_abort;
89ae379d564c5d Christoph Hellwig 2019-06-28 875 }
89ae379d564c5d Christoph Hellwig 2019-06-28 876 ASSERT_ALWAYS(commit_iclog->ic_state == XLOG_STATE_ACTIVE ||
89ae379d564c5d Christoph Hellwig 2019-06-28 877 commit_iclog->ic_state == XLOG_STATE_WANT_SYNC);
89ae379d564c5d Christoph Hellwig 2019-06-28 878 list_add_tail(&ctx->iclog_entry, &commit_iclog->ic_callbacks);
89ae379d564c5d Christoph Hellwig 2019-06-28 879 spin_unlock(&commit_iclog->ic_callback_lock);
71e330b593905e Dave Chinner 2010-05-21 880
71e330b593905e Dave Chinner 2010-05-21 881 /*
71e330b593905e Dave Chinner 2010-05-21 882 * now the checkpoint commit is complete and we've attached the
71e330b593905e Dave Chinner 2010-05-21 883 * callbacks to the iclog we can assign the commit LSN to the context
71e330b593905e Dave Chinner 2010-05-21 884 * and wake up anyone who is waiting for the commit to complete.
71e330b593905e Dave Chinner 2010-05-21 885 */
4bb928cdb900d0 Dave Chinner 2013-08-12 886 spin_lock(&cil->xc_push_lock);
71e330b593905e Dave Chinner 2010-05-21 887 ctx->commit_lsn = commit_lsn;
eb40a87500ac2f Dave Chinner 2010-12-21 888 wake_up_all(&cil->xc_commit_wait);
4bb928cdb900d0 Dave Chinner 2013-08-12 889 spin_unlock(&cil->xc_push_lock);
71e330b593905e Dave Chinner 2010-05-21 890
5fd9256ce156ef Dave Chinner 2021-06-03 891 /*
5fd9256ce156ef Dave Chinner 2021-06-03 892 * If the checkpoint spans multiple iclogs, wait for all previous
cb1acb3f324636 Dave Chinner 2021-06-04 893 * iclogs to complete before we submit the commit_iclog. In this case,
cb1acb3f324636 Dave Chinner 2021-06-04 894 * the commit_iclog write needs to issue a pre-flush so that the
cb1acb3f324636 Dave Chinner 2021-06-04 895 * ordering is correctly preserved down to stable storage.
5fd9256ce156ef Dave Chinner 2021-06-03 896 */
5fd9256ce156ef Dave Chinner 2021-06-03 @897 spin_lock(&log->l_icloglock);
cb1acb3f324636 Dave Chinner 2021-06-04 898 if (ctx->start_lsn != commit_lsn) {
5fd9256ce156ef Dave Chinner 2021-06-03 899 xlog_wait_on_iclog(commit_iclog->ic_prev);
cb1acb3f324636 Dave Chinner 2021-06-04 @900 spin_lock(&log->l_icloglock);
cb1acb3f324636 Dave Chinner 2021-06-04 901 commit_iclog->ic_flags |= XLOG_ICL_NEED_FLUSH;
5fd9256ce156ef Dave Chinner 2021-06-03 902 }
5fd9256ce156ef Dave Chinner 2021-06-03 903
cb1acb3f324636 Dave Chinner 2021-06-04 904 /*
cb1acb3f324636 Dave Chinner 2021-06-04 905 * The commit iclog must be written to stable storage to guarantee
cb1acb3f324636 Dave Chinner 2021-06-04 906 * journal IO vs metadata writeback IO is correctly ordered on stable
cb1acb3f324636 Dave Chinner 2021-06-04 907 * storage.
cb1acb3f324636 Dave Chinner 2021-06-04 908 */
cb1acb3f324636 Dave Chinner 2021-06-04 909 commit_iclog->ic_flags |= XLOG_ICL_NEED_FUA;
cb1acb3f324636 Dave Chinner 2021-06-04 910 xlog_state_release_iclog(log, commit_iclog);
cb1acb3f324636 Dave Chinner 2021-06-04 911 spin_unlock(&log->l_icloglock);
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 912 return;
71e330b593905e Dave Chinner 2010-05-21 913
71e330b593905e Dave Chinner 2010-05-21 914 out_skip:
71e330b593905e Dave Chinner 2010-05-21 915 up_write(&cil->xc_ctx_lock);
71e330b593905e Dave Chinner 2010-05-21 916 xfs_log_ticket_put(new_ctx->ticket);
71e330b593905e Dave Chinner 2010-05-21 917 kmem_free(new_ctx);
c7cc296ddd1f6d Christoph Hellwig 2020-03-20 918 return;
71e330b593905e Dave Chinner 2010-05-21 919
7db37c5e6575b2 Dave Chinner 2011-01-27 920 out_abort_free_ticket:
8b41e3f98e6ca1 Christoph Hellwig 2020-03-25 921 xfs_log_ticket_ungrant(log, tic);
71e330b593905e Dave Chinner 2010-05-21 922 out_abort:
12e6a0f449d585 Christoph Hellwig 2020-03-20 923 ASSERT(XLOG_FORCED_SHUTDOWN(log));
12e6a0f449d585 Christoph Hellwig 2020-03-20 924 xlog_cil_committed(ctx);
4c2d542f2e7865 Dave Chinner 2012-04-23 925 }
4c2d542f2e7865 Dave Chinner 2012-04-23 926
:::::: The code at line 897 was first introduced by commit
:::::: 5fd9256ce156ef7780f05c9ff0a5b9e2ed9f6679 xfs: separate CIL commit record IO
:::::: TO: Dave Chinner <dchinner(a)redhat.com>
:::::: CC: Dave Chinner <david(a)fromorbit.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
Re: [PATCH 1/1] net: Allow all multicast packets to be received on a interface.
by kernel test robot
Hi Callum,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.13-rc6 next-20210617]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Callum-Sinclair/Create-multicast...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 70585216fe7730d9fb5453d3e2804e149d0fe201
config: x86_64-randconfig-r024-20210617 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/4220b6837f4315ff557bd44f7aada23b6...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Callum-Sinclair/Create-multicast-snooping-sysctl-option/20210617-175212
git checkout 4220b6837f4315ff557bd44f7aada23b69e181b6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> net/ipv4/devinet.c:2069:4: error: use of undeclared identifier 'IPV4_DEVCONF_NETCONFA_MC_SNOOPING'; did you mean 'IPV4_DEVCONF_MC_SNOOPING'?
IPV4_DEVCONF(*devconf, NETCONFA_MC_SNOOPING)) < 0)
^
include/linux/inetdevice.h:53:45: note: expanded from macro 'IPV4_DEVCONF'
#define IPV4_DEVCONF(cnf, attr) ((cnf).data[IPV4_DEVCONF_ ## attr - 1])
^
<scratch space>:121:1: note: expanded from here
IPV4_DEVCONF_NETCONFA_MC_SNOOPING
^
include/uapi/linux/ip.h:172:2: note: 'IPV4_DEVCONF_MC_SNOOPING' declared here
IPV4_DEVCONF_MC_SNOOPING,
^
1 error generated.
vim +2069 net/ipv4/devinet.c
2028
2029 static int inet_netconf_fill_devconf(struct sk_buff *skb, int ifindex,
2030 struct ipv4_devconf *devconf, u32 portid,
2031 u32 seq, int event, unsigned int flags,
2032 int type)
2033 {
2034 struct nlmsghdr *nlh;
2035 struct netconfmsg *ncm;
2036 bool all = false;
2037
2038 nlh = nlmsg_put(skb, portid, seq, event, sizeof(struct netconfmsg),
2039 flags);
2040 if (!nlh)
2041 return -EMSGSIZE;
2042
2043 if (type == NETCONFA_ALL)
2044 all = true;
2045
2046 ncm = nlmsg_data(nlh);
2047 ncm->ncm_family = AF_INET;
2048
2049 if (nla_put_s32(skb, NETCONFA_IFINDEX, ifindex) < 0)
2050 goto nla_put_failure;
2051
2052 if (!devconf)
2053 goto out;
2054
2055 if ((all || type == NETCONFA_FORWARDING) &&
2056 nla_put_s32(skb, NETCONFA_FORWARDING,
2057 IPV4_DEVCONF(*devconf, FORWARDING)) < 0)
2058 goto nla_put_failure;
2059 if ((all || type == NETCONFA_RP_FILTER) &&
2060 nla_put_s32(skb, NETCONFA_RP_FILTER,
2061 IPV4_DEVCONF(*devconf, RP_FILTER)) < 0)
2062 goto nla_put_failure;
2063 if ((all || type == NETCONFA_MC_FORWARDING) &&
2064 nla_put_s32(skb, NETCONFA_MC_FORWARDING,
2065 IPV4_DEVCONF(*devconf, MC_FORWARDING)) < 0)
2066 goto nla_put_failure;
2067 if ((all || type == NETCONFA_MC_SNOOPING) &&
2068 nla_put_s32(skb, NETCONFA_MC_SNOOPING,
> 2069 IPV4_DEVCONF(*devconf, NETCONFA_MC_SNOOPING)) < 0)
2070 goto nla_put_failure;
2071 if ((all || type == NETCONFA_BC_FORWARDING) &&
2072 nla_put_s32(skb, NETCONFA_BC_FORWARDING,
2073 IPV4_DEVCONF(*devconf, BC_FORWARDING)) < 0)
2074 goto nla_put_failure;
2075 if ((all || type == NETCONFA_PROXY_NEIGH) &&
2076 nla_put_s32(skb, NETCONFA_PROXY_NEIGH,
2077 IPV4_DEVCONF(*devconf, PROXY_ARP)) < 0)
2078 goto nla_put_failure;
2079 if ((all || type == NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN) &&
2080 nla_put_s32(skb, NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN,
2081 IPV4_DEVCONF(*devconf, IGNORE_ROUTES_WITH_LINKDOWN)) < 0)
2082 goto nla_put_failure;
2083
2084 out:
2085 nlmsg_end(skb, nlh);
2086 return 0;
2087
2088 nla_put_failure:
2089 nlmsg_cancel(skb, nlh);
2090 return -EMSGSIZE;
2091 }
2092
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
Re: [PATCH v3 3/4] mptcp: build ADD_ADDR/echo-ADD_ADDR option according pm.add_signal
by kernel test robot
Hi Yonglong,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on mptcp/export]
[also build test WARNING on linus/master v5.13-rc6 next-20210617]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Yonglong-Li/mptcp-fix-conflicts-...
base: https://github.com/multipath-tcp/mptcp_net-next.git export
config: x86_64-randconfig-a015-20210617 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/dcb008513c667a57c48dd885599f2d760...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Yonglong-Li/mptcp-fix-conflicts-when-using-pm-add_signal-in-ADD_ADDR-echo-and-RM_ADDR-process/20210617-171559
git checkout dcb008513c667a57c48dd885599f2d760c8cf7eb
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
net/mptcp/options.c:567:21: warning: parameter 'remaining' set but not used [-Wunused-but-set-parameter]
unsigned int remaining,
^
>> net/mptcp/options.c:698:9: warning: variable 'flags' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
} else if (mptcp_pm_should_add_signal_addr(msk)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:30: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mptcp/options.c:726:34: note: uninitialized use occurs here
WRITE_ONCE(msk->pm.addr_signal, flags | msk->pm.addr_signal);
^~~~~
include/asm-generic/rwonce.h:61:18: note: expanded from macro 'WRITE_ONCE'
__WRITE_ONCE(x, val); \
^~~
include/asm-generic/rwonce.h:55:33: note: expanded from macro '__WRITE_ONCE'
*(volatile typeof(x) *)&(x) = (val); \
^~~
net/mptcp/options.c:698:9: note: remove the 'if' if its condition is always true
} else if (mptcp_pm_should_add_signal_addr(msk)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
net/mptcp/options.c:669:20: note: initialize the variable 'flags' to silence this warning
u8 add_addr, flags;
^
= '\0'
2 warnings generated.
vim +698 net/mptcp/options.c
563
564 static bool mptcp_established_options_dss(struct sock *sk, struct sk_buff *skb,
565 bool snd_data_fin_enable,
566 unsigned int *size,
> 567 unsigned int remaining,
568 struct mptcp_out_options *opts)
569 {
570 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(sk);
571 struct mptcp_sock *msk = mptcp_sk(subflow->conn);
572 unsigned int dss_size = 0;
573 struct mptcp_ext *mpext;
574 unsigned int ack_size;
575 bool ret = false;
576 u64 ack_seq;
577
578 opts->csum_reqd = READ_ONCE(msk->csum_enabled);
579 mpext = skb ? mptcp_get_ext(skb) : NULL;
580
581 if (!skb || (mpext && mpext->use_map) || snd_data_fin_enable) {
582 unsigned int map_size = TCPOLEN_MPTCP_DSS_BASE + TCPOLEN_MPTCP_DSS_MAP64;
583
584 if (mpext) {
585 if (opts->csum_reqd)
586 map_size += TCPOLEN_MPTCP_DSS_CHECKSUM;
587
588 opts->ext_copy = *mpext;
589 }
590
591 remaining -= map_size;
592 dss_size = map_size;
593 if (skb && snd_data_fin_enable)
594 mptcp_write_data_fin(subflow, skb, &opts->ext_copy);
595 ret = true;
596 }
597
598 /* passive sockets msk will set the 'can_ack' after accept(), even
599 * if the first subflow may have the already the remote key handy
600 */
601 opts->ext_copy.use_ack = 0;
602 if (!READ_ONCE(msk->can_ack)) {
603 *size = ALIGN(dss_size, 4);
604 return ret;
605 }
606
607 ack_seq = READ_ONCE(msk->ack_seq);
608 if (READ_ONCE(msk->use_64bit_ack)) {
609 ack_size = TCPOLEN_MPTCP_DSS_ACK64;
610 opts->ext_copy.data_ack = ack_seq;
611 opts->ext_copy.ack64 = 1;
612 } else {
613 ack_size = TCPOLEN_MPTCP_DSS_ACK32;
614 opts->ext_copy.data_ack32 = (uint32_t)ack_seq;
615 opts->ext_copy.ack64 = 0;
616 }
617 opts->ext_copy.use_ack = 1;
618 WRITE_ONCE(msk->old_wspace, __mptcp_space((struct sock *)msk));
619
620 /* Add kind/length/subtype/flag overhead if mapping is not populated */
621 if (dss_size == 0)
622 ack_size += TCPOLEN_MPTCP_DSS_BASE;
623
624 dss_size += ack_size;
625
626 *size = ALIGN(dss_size, 4);
627 return true;
628 }
629
630 static u64 add_addr_generate_hmac(u64 key1, u64 key2,
631 struct mptcp_addr_info *addr)
632 {
633 u16 port = ntohs(addr->port);
634 u8 hmac[SHA256_DIGEST_SIZE];
635 u8 msg[19];
636 int i = 0;
637
638 msg[i++] = addr->id;
639 if (addr->family == AF_INET) {
640 memcpy(&msg[i], &addr->addr.s_addr, 4);
641 i += 4;
642 }
643 #if IS_ENABLED(CONFIG_MPTCP_IPV6)
644 else if (addr->family == AF_INET6) {
645 memcpy(&msg[i], &addr->addr6.s6_addr, 16);
646 i += 16;
647 }
648 #endif
649 msg[i++] = port >> 8;
650 msg[i++] = port & 0xFF;
651
652 mptcp_crypto_hmac_sha(key1, key2, msg, i, hmac);
653
654 return get_unaligned_be64(&hmac[SHA256_DIGEST_SIZE - sizeof(u64)]);
655 }
656
657 static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff *skb,
658 unsigned int *size,
659 unsigned int remaining,
660 struct mptcp_out_options *opts)
661 {
662 struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(sk);
663 struct mptcp_sock *msk = mptcp_sk(subflow->conn);
664 bool drop_other_suboptions = false;
665 unsigned int opt_size = *size;
666 struct mptcp_addr_info remote;
667 struct mptcp_addr_info local;
668 int ret = false;
669 u8 add_addr, flags;
670 int len;
671
672 if (!mptcp_pm_should_add_signal(msk))
673 goto out;
674
675 *size = 0;
676 mptcp_pm_add_addr_signal(msk, &local, &remote, &add_addr);
677 if (mptcp_pm_should_add_signal_echo(msk)) {
678 if (skb && skb_is_tcp_pure_ack(skb)) {
679 pr_debug("drop other suboptions");
680 opts->suboptions = 0;
681 opts->ext_copy.use_ack = 0;
682 opts->ext_copy.use_map = 0;
683 remaining += opt_size;
684 drop_other_suboptions = true;
685 }
686 len = mptcp_add_addr_len(remote.family, true, !!remote.port);
687 if (remaining < len && mptcp_pm_should_add_signal_addr(msk))
688 goto add_addr;
689 else if (remaining < len)
690 goto out;
691 remaining -= len;
692 *size += len;
693 opts->remote = remote;
694 flags = (u8)~BIT(MPTCP_ADD_ADDR_ECHO);
695 opts->suboptions |= OPTION_MPTCP_ADD_ECHO;
696 pr_debug("addr_id=%d, echo=1, port=%d addr_signal:%x",
697 opts->remote.id, ntohs(opts->remote.port), add_addr);
> 698 } else if (mptcp_pm_should_add_signal_addr(msk)) {
699 add_addr:
700 if ((local.family == AF_INET6 || local.port) && skb &&
701 skb_is_tcp_pure_ack(skb)) {
702 pr_debug("drop other suboptions");
703 opts->suboptions = 0;
704 opts->ext_copy.use_ack = 0;
705 opts->ext_copy.use_map = 0;
706 remaining += opt_size;
707 drop_other_suboptions = true;
708 }
709 len = mptcp_add_addr_len(local.family, false, !!local.port);
710 if (remaining < len)
711 goto out;
712 *size += len;
713 opts->addr = local;
714 opts->ahmac = add_addr_generate_hmac(msk->local_key,
715 msk->remote_key,
716 &opts->addr);
717 opts->suboptions |= OPTION_MPTCP_ADD_ADDR;
718 flags = (u8)~BIT(MPTCP_ADD_ADDR_SIGNAL);
719 pr_debug("addr_id=%d, ahmac=%llu, echo=0, port=%d, addr_signal:%x",
720 opts->addr.id, opts->ahmac, ntohs(opts->addr.port), add_addr);
721 }
722
723 if (drop_other_suboptions)
724 *size -= opt_size;
725 spin_lock_bh(&msk->pm.lock);
726 WRITE_ONCE(msk->pm.addr_signal, flags | msk->pm.addr_signal);
727 spin_unlock_bh(&msk->pm.lock);
728 ret = true;
729
730 out:
731 return ret;
732 }
733
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[iwlwifi-next:iwlmei 3/6] drivers/net/wireless/intel/iwlwifi/mvm/ops.c:1496:32: warning: no previous prototype for 'iwl_mvm_get_csme_conn_info'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git iwlmei
head: 05468ee36282cd2564af0a4d085bd98771ecf5d5
commit: 678fa0dd5cd6c9ee44e1ece46b1086be459d5f6f [3/6] iwlwifi: mvm: add vendor commands needed for iwlmei
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git/...
git remote add iwlwifi-next https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git
git fetch --no-tags iwlwifi-next iwlmei
git checkout 678fa0dd5cd6c9ee44e1ece46b1086be459d5f6f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/net/wireless/intel/iwlwifi/mvm/ops.c:1496:32: warning: no previous prototype for 'iwl_mvm_get_csme_conn_info' [-Wmissing-prototypes]
1496 | struct iwl_mvm_csme_conn_info *iwl_mvm_get_csme_conn_info(struct iwl_mvm *mvm)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/iwl_mvm_get_csme_conn_info +1496 drivers/net/wireless/intel/iwlwifi/mvm/ops.c
9ee718aa9269cf drivers/net/wireless/iwlwifi/mvm/ops.c Eytan Lifshitz 2013-05-19 1495
9dba7c7aa7fbb8 drivers/net/wireless/intel/iwlwifi/mvm/ops.c Emmanuel Grumbach 2021-04-20 @1496 struct iwl_mvm_csme_conn_info *iwl_mvm_get_csme_conn_info(struct iwl_mvm *mvm)
9dba7c7aa7fbb8 drivers/net/wireless/intel/iwlwifi/mvm/ops.c Emmanuel Grumbach 2021-04-20 1497 {
9dba7c7aa7fbb8 drivers/net/wireless/intel/iwlwifi/mvm/ops.c Emmanuel Grumbach 2021-04-20 1498 return rcu_dereference_protected(mvm->csme_conn_info,
9dba7c7aa7fbb8 drivers/net/wireless/intel/iwlwifi/mvm/ops.c Emmanuel Grumbach 2021-04-20 1499 lockdep_is_held(&mvm->mutex));
9dba7c7aa7fbb8 drivers/net/wireless/intel/iwlwifi/mvm/ops.c Emmanuel Grumbach 2021-04-20 1500 }
9dba7c7aa7fbb8 drivers/net/wireless/intel/iwlwifi/mvm/ops.c Emmanuel Grumbach 2021-04-20 1501
:::::: The code at line 1496 was first introduced by commit
:::::: 9dba7c7aa7fbb8c5a38bebd804b54a03ce627527 iwlwifi: integrate with iwlmei
:::::: TO: Emmanuel Grumbach <emmanuel.grumbach(a)intel.com>
:::::: CC: Luca Coelho <luciano.coelho(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[jimc:dd-merge 20/37] lib/dynamic_debug.c:155:12: error: '__start___dyndbg' undeclared; did you mean '__start___dyndbgs'?
by kernel test robot
tree: https://github.com/jimc/linux.git dd-merge
head: 751c4af184aac85e647bfad89defad95f86dcd24
commit: 3c23cffcf721b5bf124ad1c3178170d8e0a30cb4 [20/37] dyndbg: validate ddebug_site_get invariants
config: i386-randconfig-r004-20210617 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/jimc/linux/commit/3c23cffcf721b5bf124ad1c3178170d8e0a3...
git remote add jimc https://github.com/jimc/linux.git
git fetch --no-tags jimc dd-merge
git checkout 3c23cffcf721b5bf124ad1c3178170d8e0a30cb4
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the jimc/dd-merge HEAD 751c4af184aac85e647bfad89defad95f86dcd24 builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>):
lib/dynamic_debug.c: In function 'ddebug_site_get':
>> lib/dynamic_debug.c:155:12: error: '__start___dyndbg' undeclared (first use in this function); did you mean '__start___dyndbgs'?
155 | if (dp >= __start___dyndbg && dp < __stop___dyndbg) {
| ^~~~~~~~~~~~~~~~
| __start___dyndbgs
lib/dynamic_debug.c:155:12: note: each undeclared identifier is reported only once for each function it appears in
>> lib/dynamic_debug.c:155:37: error: '__stop___dyndbg' undeclared (first use in this function); did you mean '__stop___dyndbgs'?
155 | if (dp >= __start___dyndbg && dp < __stop___dyndbg) {
| ^~~~~~~~~~~~~~~
| __stop___dyndbgs
vim +155 lib/dynamic_debug.c
148
149 static struct _ddebug_site *ddebug_site_get(struct _ddebug *dp)
150 {
151 struct _ddebug *dh = dp - (dp->_index);
152
153 WARN_ON(!is_dyndbg_header_pair(dh, dh->site));
154
> 155 if (dp >= __start___dyndbg && dp < __stop___dyndbg) {
156
157 v5pr_info("get: %s is builtin: %d %d %s:%s:%d\n",
158 dp->site->modname, dp->_index, (int)(dp - dh),
159 dh->site[dp->_index].filename,
160 dh->site[dp->_index].function, dp->lineno);
161
162 WARN_ON(dp != &__start___dyndbg[dp->_index]);
163
164 WARN_ON(!(dp->_index == (dp - dh) &&
165 dp->_index == (dp - __start___dyndbg) &&
166 dp->_index == (&__start___dyndbg_sites[dp->_index]
167 - &__start___dyndbg_sites[0])));
168
169 WARN_ON(&__start___dyndbg_sites[dp->_index] != dp->site);
170 } else {
171 v4pr_info("get: %s is loaded: %d %s:%s:%d\n",
172 dp->site->modname, dp->_index,
173 dh->site[dp->_index].filename,
174 dh->site[dp->_index].function, dp->lineno);
175 }
176 WARN_ON(&dh->site[dp->_index] != dp->site);
177
178 return dp->site;
179 }
180 static inline void ddebug_site_put(struct _ddebug *dp)
181 {
182 }
183
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months