[tglx-devel:preempt 5/13] include/linux/pagemap.h:171:26: error: expected ';' after do/while statement
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git preempt
head: bafee3053cbbb524a19b093add8bd30fbb266001
commit: bc510815d5cad14f492e9a0033134655360365d3 [5/13] mm/pagemap: Clenaup PREEMPT_COUNT leftovers
config: arm-randconfig-r011-20200913 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 3ed89b51da38f081fedb57727076262abb81d149)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
git checkout bc510815d5cad14f492e9a0033134655360365d3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from fs/direct-io.c:30:
>> include/linux/pagemap.h:171:26: error: expected ';' after do/while statement
VM_BUG_ON(preemptible())
^
;
1 error generated.
--
In file included from fs/aio.c:21:
In file included from include/linux/backing-dev.h:15:
In file included from include/linux/blkdev.h:13:
>> include/linux/pagemap.h:171:26: error: expected ';' after do/while statement
VM_BUG_ON(preemptible())
^
;
In file included from fs/aio.c:29:
include/linux/mman.h:138:9: warning: division by zero is undefined [-Wdivision-by-zero]
_calc_vm_trans(flags, MAP_SYNC, VM_SYNC );
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mman.h:115:21: note: expanded from macro '_calc_vm_trans'
: ((x) & (bit1)) / ((bit1) / (bit2))))
^ ~~~~~~~~~~~~~~~~~
1 warning and 1 error generated.
--
In file included from fs/io_uring.c:61:
In file included from include/linux/blkdev.h:13:
>> include/linux/pagemap.h:171:26: error: expected ';' after do/while statement
VM_BUG_ON(preemptible())
^
;
In file included from fs/io_uring.c:64:
In file included from include/net/sock.h:46:
In file included from include/linux/netdevice.h:37:
In file included from include/linux/ethtool.h:18:
In file included from include/uapi/linux/ethtool.h:19:
In file included from include/linux/if_ether.h:19:
In file included from include/linux/skbuff.h:31:
include/linux/dma-mapping.h:632:9: warning: implicit conversion from 'unsigned long long' to 'unsigned long' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion]
return DMA_BIT_MASK(32);
~~~~~~ ^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:40: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^~~~~
1 warning and 1 error generated.
--
In file included from fs/pipe.c:22:
>> include/linux/pagemap.h:171:26: error: expected ';' after do/while statement
VM_BUG_ON(preemptible())
^
;
fs/pipe.c:760:15: warning: no previous prototype for function 'account_pipe_buffers' [-Wmissing-prototypes]
unsigned long account_pipe_buffers(struct user_struct *user,
^
fs/pipe.c:760:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
unsigned long account_pipe_buffers(struct user_struct *user,
^
static
fs/pipe.c:766:6: warning: no previous prototype for function 'too_many_pipe_buffers_soft' [-Wmissing-prototypes]
bool too_many_pipe_buffers_soft(unsigned long user_bufs)
^
fs/pipe.c:766:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
bool too_many_pipe_buffers_soft(unsigned long user_bufs)
^
static
fs/pipe.c:773:6: warning: no previous prototype for function 'too_many_pipe_buffers_hard' [-Wmissing-prototypes]
bool too_many_pipe_buffers_hard(unsigned long user_bufs)
^
fs/pipe.c:773:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
bool too_many_pipe_buffers_hard(unsigned long user_bufs)
^
static
fs/pipe.c:780:6: warning: no previous prototype for function 'pipe_is_unprivileged_user' [-Wmissing-prototypes]
bool pipe_is_unprivileged_user(void)
^
fs/pipe.c:780:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
bool pipe_is_unprivileged_user(void)
^
static
fs/pipe.c:1211:5: warning: no previous prototype for function 'pipe_resize_ring' [-Wmissing-prototypes]
int pipe_resize_ring(struct pipe_inode_info *pipe, unsigned int nr_slots)
^
fs/pipe.c:1211:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int pipe_resize_ring(struct pipe_inode_info *pipe, unsigned int nr_slots)
^
static
5 warnings and 1 error generated.
--
In file included from fs/proc/meminfo.c:12:
In file included from include/linux/swap.h:9:
In file included from include/linux/memcontrol.h:22:
In file included from include/linux/writeback.h:14:
In file included from include/linux/blk-cgroup.h:23:
In file included from include/linux/blkdev.h:13:
>> include/linux/pagemap.h:171:26: error: expected ';' after do/while statement
VM_BUG_ON(preemptible())
^
;
fs/proc/meminfo.c:22:28: warning: no previous prototype for function 'arch_report_meminfo' [-Wmissing-prototypes]
void __attribute__((weak)) arch_report_meminfo(struct seq_file *m)
^
fs/proc/meminfo.c:22:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __attribute__((weak)) arch_report_meminfo(struct seq_file *m)
^
static
1 warning and 1 error generated.
--
In file included from fs/kernfs/file.c:14:
>> include/linux/pagemap.h:171:26: error: expected ';' after do/while statement
VM_BUG_ON(preemptible())
^
;
fs/kernfs/file.c:127:15: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
return NULL + !*ppos;
~~~~ ^
1 warning and 1 error generated.
--
In file included from fs/nfs/nfstrace.c:5:
In file included from include/linux/nfs_fs.h:24:
>> include/linux/pagemap.h:171:26: error: expected ';' after do/while statement
VM_BUG_ON(preemptible())
^
;
In file included from fs/nfs/nfstrace.c:5:
In file included from include/linux/nfs_fs.h:31:
In file included from include/linux/sunrpc/auth.h:14:
In file included from include/linux/sunrpc/msg_prot.h:202:
In file included from include/linux/inet.h:42:
In file included from include/net/net_namespace.h:39:
In file included from include/linux/skbuff.h:31:
include/linux/dma-mapping.h:632:9: warning: implicit conversion from 'unsigned long long' to 'unsigned long' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion]
return DMA_BIT_MASK(32);
~~~~~~ ^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:40: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^~~~~
In file included from fs/nfs/nfstrace.c:10:
In file included from fs/nfs/nfstrace.h:1444:
include/trace/define_trace.h:95:10: fatal error: './nfstrace.h' file not found
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/trace/define_trace.h:90:32: note: expanded from macro 'TRACE_INCLUDE'
# define TRACE_INCLUDE(system) __TRACE_INCLUDE(system)
^~~~~~~~~~~~~~~~~~~~~~~
include/trace/define_trace.h:87:34: note: expanded from macro '__TRACE_INCLUDE'
# define __TRACE_INCLUDE(system) __stringify(TRACE_INCLUDE_PATH/system.h)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/stringify.h:10:27: note: expanded from macro '__stringify'
#define __stringify(x...) __stringify_1(x)
^~~~~~~~~~~~~~~~
include/linux/stringify.h:9:29: note: expanded from macro '__stringify_1'
#define __stringify_1(x...) #x
^~
<scratch space>:80:1: note: expanded from here
"./nfstrace.h"
^~~~~~~~~~~~~~
1 warning and 2 errors generated.
--
In file included from fs/nfs/nfs4trace.c:5:
In file included from include/linux/nfs_fs.h:24:
>> include/linux/pagemap.h:171:26: error: expected ';' after do/while statement
VM_BUG_ON(preemptible())
^
;
In file included from fs/nfs/nfs4trace.c:5:
In file included from include/linux/nfs_fs.h:31:
In file included from include/linux/sunrpc/auth.h:14:
In file included from include/linux/sunrpc/msg_prot.h:202:
In file included from include/linux/inet.h:42:
In file included from include/net/net_namespace.h:39:
In file included from include/linux/skbuff.h:31:
include/linux/dma-mapping.h:632:9: warning: implicit conversion from 'unsigned long long' to 'unsigned long' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion]
return DMA_BIT_MASK(32);
~~~~~~ ^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:40: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^~~~~
In file included from fs/nfs/nfs4trace.c:13:
In file included from fs/nfs/nfs4trace.h:2308:
include/trace/define_trace.h:95:10: fatal error: './nfs4trace.h' file not found
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/trace/define_trace.h:90:32: note: expanded from macro 'TRACE_INCLUDE'
# define TRACE_INCLUDE(system) __TRACE_INCLUDE(system)
^~~~~~~~~~~~~~~~~~~~~~~
include/trace/define_trace.h:87:34: note: expanded from macro '__TRACE_INCLUDE'
# define __TRACE_INCLUDE(system) __stringify(TRACE_INCLUDE_PATH/system.h)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/stringify.h:10:27: note: expanded from macro '__stringify'
#define __stringify(x...) __stringify_1(x)
^~~~~~~~~~~~~~~~
include/linux/stringify.h:9:29: note: expanded from macro '__stringify_1'
#define __stringify_1(x...) #x
^~
<scratch space>:9:1: note: expanded from here
"./nfs4trace.h"
^~~~~~~~~~~~~~~
1 warning and 2 errors generated.
--
In file included from fs/gfs2/glock.c:12:
In file included from include/linux/buffer_head.h:14:
>> include/linux/pagemap.h:171:26: error: expected ';' after do/while statement
VM_BUG_ON(preemptible())
^
;
In file included from fs/gfs2/glock.c:49:
In file included from fs/gfs2/trace_gfs2.h:632:
include/trace/define_trace.h:95:10: fatal error: './trace_gfs2.h' file not found
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/trace/define_trace.h:90:32: note: expanded from macro 'TRACE_INCLUDE'
# define TRACE_INCLUDE(system) __TRACE_INCLUDE(system)
^~~~~~~~~~~~~~~~~~~~~~~
include/trace/define_trace.h:87:34: note: expanded from macro '__TRACE_INCLUDE'
# define __TRACE_INCLUDE(system) __stringify(TRACE_INCLUDE_PATH/system.h)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/stringify.h:10:27: note: expanded from macro '__stringify'
#define __stringify(x...) __stringify_1(x)
^~~~~~~~~~~~~~~~
include/linux/stringify.h:9:29: note: expanded from macro '__stringify_1'
#define __stringify_1(x...) #x
^~
<scratch space>:14:1: note: expanded from here
"./trace_gfs2.h"
^~~~~~~~~~~~~~~~
2 errors generated.
--
In file included from drivers/usb/host/ehci-platform.c:37:
In file included from include/linux/usb/of.h:12:
In file included from include/linux/usb/otg.h:13:
In file included from include/linux/phy/phy.h:17:
In file included from include/linux/regulator/consumer.h:35:
In file included from include/linux/suspend.h:5:
In file included from include/linux/swap.h:9:
In file included from include/linux/memcontrol.h:22:
In file included from include/linux/writeback.h:14:
In file included from include/linux/blk-cgroup.h:23:
In file included from include/linux/blkdev.h:13:
>> include/linux/pagemap.h:171:26: error: expected ';' after do/while statement
VM_BUG_ON(preemptible())
^
;
drivers/usb/host/ehci-platform.c:251:24: warning: shift count >= width of type [-Wshift-count-overflow]
pdata->dma_mask_64 ? DMA_BIT_MASK(64) : DMA_BIT_MASK(32));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
1 warning and 1 error generated.
--
In file included from drivers/usb/host/xhci-plat.c:21:
In file included from include/linux/usb/of.h:12:
In file included from include/linux/usb/otg.h:13:
In file included from include/linux/phy/phy.h:17:
In file included from include/linux/regulator/consumer.h:35:
In file included from include/linux/suspend.h:5:
In file included from include/linux/swap.h:9:
In file included from include/linux/memcontrol.h:22:
In file included from include/linux/writeback.h:14:
In file included from include/linux/blk-cgroup.h:23:
In file included from include/linux/blkdev.h:13:
>> include/linux/pagemap.h:171:26: error: expected ';' after do/while statement
VM_BUG_ON(preemptible())
^
;
>> drivers/usb/host/xhci-plat.c:210:10: warning: shift count >= width of type [-Wshift-count-overflow]
DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
drivers/usb/host/xhci-plat.c:212:43: warning: shift count >= width of type [-Wshift-count-overflow]
ret = dma_set_mask_and_coherent(sysdev, DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
2 warnings and 1 error generated.
..
# https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git/commit/?id...
git remote add tglx-devel https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git
git fetch --no-tags tglx-devel preempt
git checkout bc510815d5cad14f492e9a0033134655360365d3
vim +171 include/linux/pagemap.h
123
124 /*
125 * speculatively take a reference to a page.
126 * If the page is free (_refcount == 0), then _refcount is untouched, and 0
127 * is returned. Otherwise, _refcount is incremented by 1 and 1 is returned.
128 *
129 * This function must be called inside the same rcu_read_lock() section as has
130 * been used to lookup the page in the pagecache radix-tree (or page table):
131 * this allows allocators to use a synchronize_rcu() to stabilize _refcount.
132 *
133 * Unless an RCU grace period has passed, the count of all pages coming out
134 * of the allocator must be considered unstable. page_count may return higher
135 * than expected, and put_page must be able to do the right thing when the
136 * page has been finished with, no matter what it is subsequently allocated
137 * for (because put_page is what is used here to drop an invalid speculative
138 * reference).
139 *
140 * This is the interesting part of the lockless pagecache (and lockless
141 * get_user_pages) locking protocol, where the lookup-side (eg. find_get_page)
142 * has the following pattern:
143 * 1. find page in radix tree
144 * 2. conditionally increment refcount
145 * 3. check the page is still in pagecache (if no, goto 1)
146 *
147 * Remove-side that cares about stability of _refcount (eg. reclaim) has the
148 * following (with the i_pages lock held):
149 * A. atomically check refcount is correct and set it to 0 (atomic_cmpxchg)
150 * B. remove page from pagecache
151 * C. free the page
152 *
153 * There are 2 critical interleavings that matter:
154 * - 2 runs before A: in this case, A sees elevated refcount and bails out
155 * - A runs before 2: in this case, 2 sees zero refcount and retries;
156 * subsequently, B will complete and 1 will find no page, causing the
157 * lookup to return NULL.
158 *
159 * It is possible that between 1 and 2, the page is removed then the exact same
160 * page is inserted into the same position in pagecache. That's OK: the
161 * old find_get_page using a lock could equally have run before or after
162 * such a re-insertion, depending on order that locks are granted.
163 *
164 * Lookups racing against pagecache insertion isn't a big problem: either 1
165 * will find the page or it will not. Likewise, the old find_get_page could run
166 * either before the insertion or afterwards, depending on timing.
167 */
168 static inline int __page_cache_add_speculative(struct page *page, int count)
169 {
170 #ifdef CONFIG_TINY_RCU
> 171 VM_BUG_ON(preemptible())
172 /*
173 * Preempt must be disabled here - we rely on rcu_read_lock doing
174 * this for us.
175 *
176 * Pagecache won't be truncated from interrupt context, so if we have
177 * found a page in the radix tree here, we have pinned its refcount by
178 * disabling preempt, and hence no need for the "speculative get" that
179 * SMP requires.
180 */
181 VM_BUG_ON_PAGE(page_count(page) == 0, page);
182 page_ref_add(page, count);
183
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [PATCH 2/2] mm: introduce vma_set_file function
by kernel test robot
Hi "Christian,
I love your patch! Yet something to improve:
[auto build test ERROR on hnaz-linux-mm/master]
[also build test ERROR on drm-intel/for-linux-next drm-tip/drm-tip linus/master v5.9-rc5 next-20200914]
[cannot apply to tegra-drm/drm/tegra/for-next drm-exynos/exynos-drm-next drm/drm-next]
[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/Christian-K-nig/drm-shmem-helper...
base: https://github.com/hnaz/linux-mm master
config: h8300-randconfig-r023-20200914 (attached as .config)
compiler: h8300-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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300
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 >>):
h8300-linux-ld: drivers/dma-buf/dma-buf.o: in function `dma_buf_mmap':
>> drivers/dma-buf/dma-buf.c:1166: undefined reference to `vma_set_file'
>> h8300-linux-ld: drivers/dma-buf/dma-buf.c:1172: undefined reference to `vma_set_file'
h8300-linux-ld: drivers/leds/leds-lp55xx-common.o: in function `devm_led_classdev_register':
include/linux/leds.h:200: undefined reference to `devm_led_classdev_register_ext'
# https://github.com/0day-ci/linux/commit/c558278651bbea7cb67487890a9836087...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Christian-K-nig/drm-shmem-helpers-revert-Redirect-mmap-for-imported-dma-buf/20200914-222921
git checkout c558278651bbea7cb67487890a983608764cc7f4
vim +1166 drivers/dma-buf/dma-buf.c
1127
1128
1129 /**
1130 * dma_buf_mmap - Setup up a userspace mmap with the given vma
1131 * @dmabuf: [in] buffer that should back the vma
1132 * @vma: [in] vma for the mmap
1133 * @pgoff: [in] offset in pages where this mmap should start within the
1134 * dma-buf buffer.
1135 *
1136 * This function adjusts the passed in vma so that it points at the file of the
1137 * dma_buf operation. It also adjusts the starting pgoff and does bounds
1138 * checking on the size of the vma. Then it calls the exporters mmap function to
1139 * set up the mapping.
1140 *
1141 * Can return negative error values, returns 0 on success.
1142 */
1143 int dma_buf_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma,
1144 unsigned long pgoff)
1145 {
1146 struct file *oldfile;
1147 int ret;
1148
1149 if (WARN_ON(!dmabuf || !vma))
1150 return -EINVAL;
1151
1152 /* check if buffer supports mmap */
1153 if (!dmabuf->ops->mmap)
1154 return -EINVAL;
1155
1156 /* check for offset overflow */
1157 if (pgoff + vma_pages(vma) < pgoff)
1158 return -EOVERFLOW;
1159
1160 /* check for overflowing the buffer's size */
1161 if (pgoff + vma_pages(vma) >
1162 dmabuf->size >> PAGE_SHIFT)
1163 return -EINVAL;
1164
1165 /* readjust the vma */
> 1166 oldfile = vma_set_file(vma, dmabuf->file);
1167 vma->vm_pgoff = pgoff;
1168
1169 ret = dmabuf->ops->mmap(dmabuf, vma);
1170 /* restore old parameters on failure */
1171 if (ret)
> 1172 vma_set_file(vma, oldfile);
1173
1174 return ret;
1175
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[net-next:master 108/112] drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c:752: undefined reference to `cxgb4_reclaim_completed_tx'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master
head: a33d91ee3817ef00fc7abfe95ab0b8ccef1b26fb
commit: 6bd860ac1c2a0ec2bbe3470bf2b82348ee354dfc [108/112] chelsio/chtls: CHELSIO_INLINE_CRYPTO should depend on CHELSIO_T4
config: x86_64-randconfig-a001-20200914 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout 6bd860ac1c2a0ec2bbe3470bf2b82348ee354dfc
# 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 >>):
ld: drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.o: in function `chcr_ipsec_xmit':
>> drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c:752: undefined reference to `cxgb4_reclaim_completed_tx'
>> ld: drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c:773: undefined reference to `cxgb4_map_skb'
>> ld: drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c:797: undefined reference to `cxgb4_inline_tx_skb'
>> ld: drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c:807: undefined reference to `cxgb4_ring_tx_db'
>> ld: drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c:800: undefined reference to `cxgb4_write_sgl'
ld: drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.o: in function `chcr_ipsec_exit':
>> drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c:847: undefined reference to `cxgb4_unregister_uld'
ld: drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.o: in function `chcr_ipsec_init':
>> drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c:825: undefined reference to `cxgb4_register_uld'
# https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit...
git remote add net-next https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
git fetch --no-tags net-next master
git checkout 6bd860ac1c2a0ec2bbe3470bf2b82348ee354dfc
vim +752 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 718
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 719 /*
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 720 * chcr_ipsec_xmit called from ULD Tx handler
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 721 */
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 722 int chcr_ipsec_xmit(struct sk_buff *skb, struct net_device *dev)
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 723 {
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 724 struct xfrm_state *x = xfrm_input_state(skb);
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 725 unsigned int last_desc, ndesc, flits = 0;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 726 struct ipsec_sa_entry *sa_entry;
267469ea65fd2e drivers/crypto/chelsio/chcr_ipsec.c Colin Ian King 2017-11-30 727 u64 *pos, *end, *before, *sgl;
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 728 struct tx_sw_desc *sgl_sdesc;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 729 int qidx, left, credits;
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 730 bool immediate = false;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 731 struct sge_eth_txq *q;
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 732 struct adapter *adap;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 733 struct port_info *pi;
a053c866496d0c drivers/crypto/chelsio/chcr_ipsec.c Florian Westphal 2018-12-18 734 struct sec_path *sp;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 735
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 736 if (!x->xso.offload_handle)
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 737 return NETDEV_TX_BUSY;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 738
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 739 sa_entry = (struct ipsec_sa_entry *)x->xso.offload_handle;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 740
a053c866496d0c drivers/crypto/chelsio/chcr_ipsec.c Florian Westphal 2018-12-18 741 sp = skb_sec_path(skb);
a053c866496d0c drivers/crypto/chelsio/chcr_ipsec.c Florian Westphal 2018-12-18 742 if (sp->len != 1) {
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 743 out_free: dev_kfree_skb_any(skb);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 744 return NETDEV_TX_OK;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 745 }
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 746
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 747 pi = netdev_priv(dev);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 748 adap = pi->adapter;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 749 qidx = skb->queue_mapping;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 750 q = &adap->sge.ethtxq[qidx + pi->first_qset];
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 751
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 @752 cxgb4_reclaim_completed_tx(adap, &q->q, true);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 753
8cd9d183731a8b drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2019-02-18 754 flits = calc_tx_sec_flits(skb, sa_entry, &immediate);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 755 ndesc = flits_to_desc(flits);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 756 credits = txq_avail(&q->q) - ndesc;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 757
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 758 if (unlikely(credits < 0)) {
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 759 eth_txq_stop(q);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 760 dev_err(adap->pdev_dev,
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 761 "%s: Tx ring %u full while queue awake! cred:%d %d %d flits:%d\n",
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 762 dev->name, qidx, credits, ndesc, txq_avail(&q->q),
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 763 flits);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 764 return NETDEV_TX_BUSY;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 765 }
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 766
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 767 last_desc = q->q.pidx + ndesc - 1;
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 768 if (last_desc >= q->q.size)
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 769 last_desc -= q->q.size;
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 770 sgl_sdesc = &q->q.sdesc[last_desc];
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 771
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 772 if (!immediate &&
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 @773 unlikely(cxgb4_map_skb(adap->pdev_dev, skb, sgl_sdesc->addr) < 0)) {
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 774 memset(sgl_sdesc->addr, 0, sizeof(sgl_sdesc->addr));
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 775 q->mapping_err++;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 776 goto out_free;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 777 }
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 778
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 779 pos = (u64 *)&q->q.desc[q->q.pidx];
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 780 before = (u64 *)pos;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 781 end = (u64 *)pos + flits;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 782 /* Setup IPSec CPL */
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 783 pos = (void *)chcr_crypto_wreq(skb, dev, (void *)pos,
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 784 credits, sa_entry);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 785 if (before > (u64 *)pos) {
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 786 left = (u8 *)end - (u8 *)q->q.stat;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 787 end = (void *)q->q.desc + left;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 788 }
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 789 if (pos == (u64 *)q->q.stat) {
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 790 left = (u8 *)end - (u8 *)q->q.stat;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 791 end = (void *)q->q.desc + left;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 792 pos = (void *)q->q.desc;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 793 }
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 794
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 795 sgl = (void *)pos;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 796 if (immediate) {
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 @797 cxgb4_inline_tx_skb(skb, &q->q, sgl);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 798 dev_consume_skb_any(skb);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 799 } else {
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 @800 cxgb4_write_sgl(skb, &q->q, (void *)sgl, end,
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 801 0, sgl_sdesc->addr);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 802 skb_orphan(skb);
0ed96b46c0ac26 drivers/crypto/chelsio/chcr_ipsec.c Rahul Lakkireddy 2019-11-22 803 sgl_sdesc->skb = skb;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 804 }
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 805 txq_advance(&q->q, ndesc);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 806
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 @807 cxgb4_ring_tx_db(adap, &q->q, ndesc);
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 808 return NETDEV_TX_OK;
6dad4e8ab3ec65 drivers/crypto/chelsio/chcr_ipsec.c Atul Gupta 2017-11-16 809 }
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 810
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 811 static void update_netdev_features(void)
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 812 {
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 813 struct ipsec_uld_ctx *u_ctx, *tmp;
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 814
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 815 mutex_lock(&dev_mutex);
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 816 list_for_each_entry_safe(u_ctx, tmp, &uld_ctx_list, entry) {
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 817 if (u_ctx->lldi.crypto & ULP_CRYPTO_IPSEC_INLINE)
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 818 chcr_add_xfrmops(&u_ctx->lldi);
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 819 }
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 820 mutex_unlock(&dev_mutex);
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 821 }
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 822
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 823 static int __init chcr_ipsec_init(void)
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 824 {
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 @825 cxgb4_register_uld(CXGB4_ULD_IPSEC, &ch_ipsec_uld_info);
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 826
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 827 rtnl_lock();
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 828 update_netdev_features();
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 829 rtnl_unlock();
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 830
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 831 return 0;
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 832 }
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 833
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 834 static void __exit chcr_ipsec_exit(void)
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 835 {
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 836 struct ipsec_uld_ctx *u_ctx, *tmp;
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 837 struct adapter *adap;
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 838
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 839 mutex_lock(&dev_mutex);
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 840 list_for_each_entry_safe(u_ctx, tmp, &uld_ctx_list, entry) {
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 841 adap = pci_get_drvdata(u_ctx->lldi.pdev);
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 842 atomic_set(&adap->ch_ipsec_stats.ipsec_cnt, 0);
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 843 list_del(&u_ctx->entry);
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 844 kfree(u_ctx);
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 845 }
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 846 mutex_unlock(&dev_mutex);
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 @847 cxgb4_unregister_uld(CXGB4_ULD_IPSEC);
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 848 }
1b77be463929e6 drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c Vinay Kumar Yadav 2020-08-19 849
:::::: The code at line 752 was first introduced by commit
:::::: 6dad4e8ab3ec65c3b948ad79e83751cf0f04cbdf chcr: Add support for Inline IPSec
:::::: TO: Atul Gupta <atul.gupta(a)chelsio.com>
:::::: CC: Herbert Xu <herbert(a)gondor.apana.org.au>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[curro:intel_pstate-vlp-v3 7/16] include/linux/acpi.h:1177:9: sparse: this was the original definition
by kernel test robot
tree: https://github.com/curro/linux intel_pstate-vlp-v3
head: 320f232d1770592e468b87a378dc08ede8f654dc
commit: 38a4edd698dc7ea425825088702686ee52294192 [7/16] cpufreq: intel_pstate: Implement VLP controller statistics and target range calculation.
:::::: branch date: 8 days ago
:::::: commit date: 8 days ago
config: x86_64-randconfig-s022-20200914 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-191-g10164920-dirty
git checkout 38a4edd698dc7ea425825088702686ee52294192
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/cpufreq/intel_pstate.c: note: in included file (through drivers/cpufreq/../../kernel/sched/sched.h):
include/asm-generic/vmlinux.lds.h:299:9: sparse: sparse: preprocessor token ACPI_PROBE_TABLE redefined
drivers/cpufreq/intel_pstate.c: note: in included file:
>> include/linux/acpi.h:1177:9: sparse: this was the original definition
# https://github.com/curro/linux/commit/38a4edd698dc7ea425825088702686ee522...
git remote add curro https://github.com/curro/linux
git fetch --no-tags curro intel_pstate-vlp-v3
git checkout 38a4edd698dc7ea425825088702686ee52294192
vim +1177 include/linux/acpi.h
e647b532275bb3 Marc Zyngier 2015-09-28 1154
8ebf642f3d809b Oscar Carter 2020-05-30 1155 #define ACPI_DECLARE_PROBE_ENTRY(table, name, table_id, subtable, \
8ebf642f3d809b Oscar Carter 2020-05-30 1156 valid, data, fn) \
e647b532275bb3 Marc Zyngier 2015-09-28 1157 static const struct acpi_probe_entry __acpi_probe_##name \
8ebf642f3d809b Oscar Carter 2020-05-30 1158 __used __section(__##table##_acpi_probe_table) = { \
e647b532275bb3 Marc Zyngier 2015-09-28 1159 .id = table_id, \
e647b532275bb3 Marc Zyngier 2015-09-28 1160 .type = subtable, \
e647b532275bb3 Marc Zyngier 2015-09-28 1161 .subtable_valid = valid, \
8ebf642f3d809b Oscar Carter 2020-05-30 1162 .probe_table = fn, \
e647b532275bb3 Marc Zyngier 2015-09-28 1163 .driver_data = data, \
e647b532275bb3 Marc Zyngier 2015-09-28 1164 }
e647b532275bb3 Marc Zyngier 2015-09-28 1165
89778093d38d54 Oscar Carter 2020-05-30 1166 #define ACPI_DECLARE_SUBTABLE_PROBE_ENTRY(table, name, table_id, \
89778093d38d54 Oscar Carter 2020-05-30 1167 subtable, valid, data, fn) \
89778093d38d54 Oscar Carter 2020-05-30 1168 static const struct acpi_probe_entry __acpi_probe_##name \
89778093d38d54 Oscar Carter 2020-05-30 1169 __used __section(__##table##_acpi_probe_table) = { \
89778093d38d54 Oscar Carter 2020-05-30 1170 .id = table_id, \
89778093d38d54 Oscar Carter 2020-05-30 1171 .type = subtable, \
89778093d38d54 Oscar Carter 2020-05-30 1172 .subtable_valid = valid, \
89778093d38d54 Oscar Carter 2020-05-30 1173 .probe_subtbl = fn, \
e647b532275bb3 Marc Zyngier 2015-09-28 1174 .driver_data = data, \
e647b532275bb3 Marc Zyngier 2015-09-28 1175 }
e647b532275bb3 Marc Zyngier 2015-09-28 1176
e647b532275bb3 Marc Zyngier 2015-09-28 @1177 #define ACPI_PROBE_TABLE(name) __##name##_acpi_probe_table
e647b532275bb3 Marc Zyngier 2015-09-28 1178 #define ACPI_PROBE_TABLE_END(name) __##name##_acpi_probe_table_end
e647b532275bb3 Marc Zyngier 2015-09-28 1179
:::::: The code at line 1177 was first introduced by commit
:::::: e647b532275bb357e87272e052fccf5fcdb36a17 ACPI: Add early device probing infrastructure
:::::: TO: Marc Zyngier <Marc.Zyngier(a)arm.com>
:::::: CC: Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[ti:ti-linux-5.4.y 3139/9667] drivers/usb/cdns3/cdns3-ti.c:55:24: sparse: sparse: dubious one-bit signed bitfield
by kernel test robot
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-linux-5.4.y
head: 6940ba1d3944a80020d39cd9cf00530f928979c9
commit: 58c2bef2e443bc8b05737b47ec2ed992529976c7 [3139/9667] usb: cdns3: Add TI specific wrapper driver
:::::: branch date: 7 hours ago
:::::: commit date: 7 months ago
config: x86_64-randconfig-s021-20200914 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-191-g10164920-dirty
git checkout 58c2bef2e443bc8b05737b47ec2ed992529976c7
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/usb/cdns3/cdns3-ti.c:55:24: sparse: sparse: dubious one-bit signed bitfield
drivers/usb/cdns3/cdns3-ti.c:56:27: sparse: sparse: dubious one-bit signed bitfield
git remote add ti git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
git fetch --no-tags ti ti-linux-5.4.y
git checkout 58c2bef2e443bc8b05737b47ec2ed992529976c7
vim +55 drivers/usb/cdns3/cdns3-ti.c
58c2bef2e443bc Roger Quadros 2020-02-03 46
58c2bef2e443bc Roger Quadros 2020-02-03 47 /* Modestrap modes */
58c2bef2e443bc Roger Quadros 2020-02-03 48 enum modestrap_mode { USBSS_MODESTRAP_MODE_NONE,
58c2bef2e443bc Roger Quadros 2020-02-03 49 USBSS_MODESTRAP_MODE_HOST,
58c2bef2e443bc Roger Quadros 2020-02-03 50 USBSS_MODESTRAP_MODE_PERIPHERAL};
58c2bef2e443bc Roger Quadros 2020-02-03 51
58c2bef2e443bc Roger Quadros 2020-02-03 52 struct cdns_ti {
58c2bef2e443bc Roger Quadros 2020-02-03 53 struct device *dev;
58c2bef2e443bc Roger Quadros 2020-02-03 54 void __iomem *usbss;
58c2bef2e443bc Roger Quadros 2020-02-03 @55 int usb2_only:1;
58c2bef2e443bc Roger Quadros 2020-02-03 56 int vbus_divider:1;
58c2bef2e443bc Roger Quadros 2020-02-03 57 struct clk *usb2_refclk;
58c2bef2e443bc Roger Quadros 2020-02-03 58 struct clk *lpm_clk;
58c2bef2e443bc Roger Quadros 2020-02-03 59 };
58c2bef2e443bc Roger Quadros 2020-02-03 60
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[dhowells-fs:fscache-iter 25/55] include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git fscache-iter
head: f6ac6a6db767d26c3330f0cecadd4f331ee6d291
commit: 1a31bac9fae197781cf11fea38e3b352c7945362 [25/55] fscache: Replace the object management state machine
:::::: branch date: 28 hours ago
:::::: commit date: 35 hours ago
config: i386-randconfig-s001-20200909 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-191-g10164920-dirty
git checkout 1a31bac9fae197781cf11fea38e3b352c7945362
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
fs/nfs/client.c: note: in included file (through fs/nfs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/nfs/dir.c: note: in included file (through fs/nfs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/nfs/file.c: note: in included file (through fs/nfs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/nfs/inode.c: note: in included file (through fs/nfs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/nfs/super.c: note: in included file (through fs/nfs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/nfs/read.c: note: in included file (through fs/nfs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/nfs/write.c: note: in included file (through fs/nfs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/nfs/nfs4proc.c: note: in included file (through fs/nfs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/nfs/nfs4file.c: note: in included file (through fs/nfs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/cifs/cifsfs.c: note: in included file (through fs/cifs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/cifs/cifssmb.c: note: in included file (through fs/cifs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/cifs/connect.c: note: in included file (through fs/cifs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/cifs/file.c: note: in included file (through fs/cifs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/cifs/inode.c: note: in included file (through fs/cifs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/cifs/smb2inode.c: note: in included file (through fs/cifs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
--
fs/cifs/smb2file.c: note: in included file (through fs/cifs/fscache.h):
>> include/linux/fscache.h:84:30: sparse: sparse: don't know how to apply mode to unsigned int enum fscache_cookie_stage
# https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/com...
git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
git fetch --no-tags dhowells-fs fscache-iter
git checkout 1a31bac9fae197781cf11fea38e3b352c7945362
vim +84 include/linux/fscache.h
2d6fff637037395 David Howells 2009-04-03 68
1a31bac9fae1977 David Howells 2020-02-06 69 /*
1a31bac9fae1977 David Howells 2020-02-06 70 * Data object state.
1a31bac9fae1977 David Howells 2020-02-06 71 */
1a31bac9fae1977 David Howells 2020-02-06 72 enum fscache_cookie_stage {
1a31bac9fae1977 David Howells 2020-02-06 73 FSCACHE_COOKIE_STAGE_INDEX, /* The cookie is an index cookie */
1a31bac9fae1977 David Howells 2020-02-06 74 FSCACHE_COOKIE_STAGE_QUIESCENT, /* The cookie is uncached */
1a31bac9fae1977 David Howells 2020-02-06 75 FSCACHE_COOKIE_STAGE_INITIALISING, /* The in-memory structs are being inited */
1a31bac9fae1977 David Howells 2020-02-06 76 FSCACHE_COOKIE_STAGE_LOOKING_UP, /* The cache object is being looked up */
1a31bac9fae1977 David Howells 2020-02-06 77 FSCACHE_COOKIE_STAGE_NO_DATA_YET, /* The cache has no data, read to network */
1a31bac9fae1977 David Howells 2020-02-06 78 FSCACHE_COOKIE_STAGE_ACTIVE, /* The cache is active, readable and writable */
1a31bac9fae1977 David Howells 2020-02-06 79 FSCACHE_COOKIE_STAGE_INVALIDATING, /* The cache is being invalidated */
1a31bac9fae1977 David Howells 2020-02-06 80 FSCACHE_COOKIE_STAGE_FAILED, /* The cache failed, withdraw to clear */
1a31bac9fae1977 David Howells 2020-02-06 81 FSCACHE_COOKIE_STAGE_WITHDRAWING, /* The cache is being withdrawn */
1a31bac9fae1977 David Howells 2020-02-06 82 FSCACHE_COOKIE_STAGE_RELINQUISHING, /* The cookie is being relinquished */
1a31bac9fae1977 David Howells 2020-02-06 83 FSCACHE_COOKIE_STAGE_DROPPED, /* The cookie has been dropped */
1a31bac9fae1977 David Howells 2020-02-06 @84 } __attribute__((mode(byte)));
1a31bac9fae1977 David Howells 2020-02-06 85
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [PATCH v3 3/7] mm/memory_hotplug: prepare passing flags to add_memory() and friends
by kernel test robot
Hi David,
I love your patch! Perhaps something to improve:
[auto build test WARNING on next-20200909]
[cannot apply to mmotm/master hnaz-linux-mm/master xen-tip/linux-next powerpc/next linus/master v5.9-rc4 v5.9-rc3 v5.9-rc2 v5.9-rc4]
[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/David-Hildenbrand/mm-memory_hotp...
base: 7204eaa2c1f509066486f488c9dcb065d7484494
:::::: branch date: 9 hours ago
:::::: commit date: 9 hours ago
config: powerpc-randconfig-r011-20200909 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 0a5dc7effb191eff740e0e7ae7bd8e1f6bdb3ad9)
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 powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
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 >>):
In file included from arch/powerpc/kernel/asm-offsets.c:14:
In file included from include/linux/compat.h:17:
In file included from include/linux/fs.h:15:
In file included from include/linux/radix-tree.h:18:
In file included from include/linux/xarray.h:14:
In file included from include/linux/gfp.h:6:
In file included from include/linux/mmzone.h:853:
include/linux/memory_hotplug.h:354:55: error: unknown type name 'mhp_t'
extern int __add_memory(int nid, u64 start, u64 size, mhp_t mhp_flags);
^
include/linux/memory_hotplug.h:355:53: error: unknown type name 'mhp_t'
extern int add_memory(int nid, u64 start, u64 size, mhp_t mhp_flags);
^
include/linux/memory_hotplug.h:357:11: error: unknown type name 'mhp_t'
mhp_t mhp_flags);
^
include/linux/memory_hotplug.h:360:10: error: unknown type name 'mhp_t'
mhp_t mhp_flags);
^
In file included from arch/powerpc/kernel/asm-offsets.c:21:
>> include/linux/mman.h:137:9: warning: division by zero is undefined [-Wdivision-by-zero]
_calc_vm_trans(flags, MAP_LOCKED, VM_LOCKED ) |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mman.h:115:21: note: expanded from macro '_calc_vm_trans'
: ((x) & (bit1)) / ((bit1) / (bit2))))
^ ~~~~~~~~~~~~~~~~~
include/linux/mman.h:138:9: warning: division by zero is undefined [-Wdivision-by-zero]
_calc_vm_trans(flags, MAP_SYNC, VM_SYNC );
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mman.h:115:21: note: expanded from macro '_calc_vm_trans'
: ((x) & (bit1)) / ((bit1) / (bit2))))
^ ~~~~~~~~~~~~~~~~~
2 warnings and 4 errors generated.
make[2]: *** [scripts/Makefile.build:117: arch/powerpc/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1196: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
# https://github.com/0day-ci/linux/commit/d88270d1c0783a7f99f24a85692be90fd...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review David-Hildenbrand/mm-memory_hotplug-selective-merging-of-system-ram-resources/20200910-171630
git checkout d88270d1c0783a7f99f24a85692be90fd2ae0d7d
vim +137 include/linux/mman.h
^1da177e4c3f41 Linus Torvalds 2005-04-16 128
^1da177e4c3f41 Linus Torvalds 2005-04-16 129 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 130 * Combine the mmap "flags" argument into "vm_flags" used internally.
^1da177e4c3f41 Linus Torvalds 2005-04-16 131 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 132 static inline unsigned long
^1da177e4c3f41 Linus Torvalds 2005-04-16 133 calc_vm_flag_bits(unsigned long flags)
^1da177e4c3f41 Linus Torvalds 2005-04-16 134 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 135 return _calc_vm_trans(flags, MAP_GROWSDOWN, VM_GROWSDOWN ) |
^1da177e4c3f41 Linus Torvalds 2005-04-16 136 _calc_vm_trans(flags, MAP_DENYWRITE, VM_DENYWRITE ) |
b6fb293f2497a9 Jan Kara 2017-11-01 @137 _calc_vm_trans(flags, MAP_LOCKED, VM_LOCKED ) |
b6fb293f2497a9 Jan Kara 2017-11-01 138 _calc_vm_trans(flags, MAP_SYNC, VM_SYNC );
^1da177e4c3f41 Linus Torvalds 2005-04-16 139 }
00619bcc44d6b7 Jerome Marchand 2013-11-12 140
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [PATCH bpf-next v4 3/8] bpf: wrap prog->aux->linked_prog in a bpf_tracing_link
by kernel test robot
Hi "Toke,
I love your patch! Yet something to improve:
[auto build test ERROR on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Toke-H-iland-J-rgensen/bpf-Suppo...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: i386-randconfig-a014-20200914 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# 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>
All errors (new ones prefixed by >>):
ld: kernel/bpf/core.o: in function `bpf_prog_free_deferred':
>> kernel/bpf/core.c:2133: undefined reference to `bpf_tracing_link_free'
# https://github.com/0day-ci/linux/commit/3c0e2196879a758e13a0dc59ea06c3c02...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Toke-H-iland-J-rgensen/bpf-Support-multi-attach-for-freplace-programs/20200915-003428
git checkout 3c0e2196879a758e13a0dc59ea06c3c02e5236bf
vim +2133 kernel/bpf/core.c
2119
2120 static void bpf_prog_free_deferred(struct work_struct *work)
2121 {
2122 struct bpf_prog_aux *aux;
2123 int i;
2124
2125 aux = container_of(work, struct bpf_prog_aux, work);
2126 bpf_free_used_maps(aux);
2127 if (bpf_prog_is_dev_bound(aux))
2128 bpf_prog_offload_destroy(aux->prog);
2129 #ifdef CONFIG_PERF_EVENTS
2130 if (aux->prog->has_callchain_buf)
2131 put_callchain_buffers();
2132 #endif
> 2133 bpf_tracing_link_free(aux->tgt_link);
2134 for (i = 0; i < aux->func_cnt; i++)
2135 bpf_jit_free(aux->func[i]);
2136 if (aux->func_cnt) {
2137 kfree(aux->func);
2138 bpf_prog_unlock_free(aux->prog);
2139 } else {
2140 bpf_jit_free(aux->prog);
2141 }
2142 }
2143
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
undefined reference to `start_isolate_page_range'
by kernel test robot
Hi Michal,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fc4f28bb3daf3265d6bc5f73b497306985bb23ab
commit: 2602276d3d3811b1a48c48113042cd75fcbfc27d microblaze: Wire CMA allocator
date: 7 months ago
config: microblaze-randconfig-r025-20200913 (attached as .config)
compiler: microblaze-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
git checkout 2602276d3d3811b1a48c48113042cd75fcbfc27d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=microblaze
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 >>):
microblaze-linux-ld: mm/page_alloc.o: in function `alloc_contig_range':
>> (.text+0xbac4): undefined reference to `start_isolate_page_range'
>> microblaze-linux-ld: (.text+0xbb7c): undefined reference to `undo_isolate_page_range'
>> microblaze-linux-ld: (.text+0xbcd4): undefined reference to `test_pages_isolated'
microblaze-linux-ld: (.text+0xbd44): undefined reference to `undo_isolate_page_range'
microblaze-linux-ld: (.text+0xbd88): undefined reference to `undo_isolate_page_range'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[android-common:android-5.4-stable 8965/9854] drivers/media/tuners/tuner-i2c.h:29: undefined reference to `i2c_transfer'
by kernel test robot
Hi Greg,
FYI, the error/warning still remains.
tree: https://android.googlesource.com/kernel/common android-5.4-stable
head: bad091cc4bf33d4eb8086f5761311ceba1e71283
commit: 9c8aa25e2955df58dae59e409ec1bc7f850935d9 [8965/9854] ANDROID: GKI: fix symbol_get/put() build error on arm64 defconfig
config: i386-randconfig-a005-20200914 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout 9c8aa25e2955df58dae59e409ec1bc7f850935d9
# 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>
All errors (new ones prefixed by >>):
ld: drivers/i2c/algos/i2c-algo-bit.o: in function `i2c_bit_add_bus':
drivers/i2c/algos/i2c-algo-bit.c:685: undefined reference to `i2c_add_adapter'
ld: drivers/i2c/algos/i2c-algo-bit.o: in function `i2c_bit_add_numbered_bus':
drivers/i2c/algos/i2c-algo-bit.c:691: undefined reference to `i2c_add_numbered_adapter'
ld: drivers/media/tuners/tda8290.o: in function `tuner_i2c_xfer_send':
>> drivers/media/tuners/tuner-i2c.h:29: undefined reference to `i2c_transfer'
>> ld: drivers/media/tuners/tuner-i2c.h:29: undefined reference to `i2c_transfer'
ld: drivers/media/tuners/tda8290.o: in function `tda8290_standby':
drivers/media/tuners/tda8290.c:468: undefined reference to `i2c_transfer'
ld: drivers/media/tuners/tda8290.o: in function `tuner_i2c_xfer_send':
>> drivers/media/tuners/tuner-i2c.h:29: undefined reference to `i2c_transfer'
>> ld: drivers/media/tuners/tuner-i2c.h:29: undefined reference to `i2c_transfer'
ld: drivers/media/tuners/tda8290.o:drivers/media/tuners/tda8290.c:584: more undefined references to `i2c_transfer' follow
ld: drivers/media/common/b2c2/flexcop.o: in function `flexcop_pass_dmx_packets':
drivers/media/common/b2c2/flexcop.c:173: undefined reference to `dvb_dmx_swfilter_packets'
ld: drivers/media/common/b2c2/flexcop.o: in function `flexcop_dvb_exit':
drivers/media/common/b2c2/flexcop.c:148: undefined reference to `dvb_net_release'
ld: drivers/media/common/b2c2/flexcop.c:155: undefined reference to `dvb_dmxdev_release'
ld: drivers/media/common/b2c2/flexcop.c:156: undefined reference to `dvb_dmx_release'
ld: drivers/media/common/b2c2/flexcop.c:157: undefined reference to `dvb_unregister_adapter'
ld: drivers/media/common/b2c2/flexcop.o: in function `flexcop_dvb_init':
drivers/media/common/b2c2/flexcop.c:68: undefined reference to `dvb_register_adapter'
ld: drivers/media/common/b2c2/flexcop.c:85: undefined reference to `dvb_dmx_init'
ld: drivers/media/common/b2c2/flexcop.c:96: undefined reference to `dvb_dmxdev_init'
ld: drivers/media/common/b2c2/flexcop.c:121: undefined reference to `dvb_net_init'
ld: drivers/media/common/b2c2/flexcop.o: in function `flexcop_pass_dmx_data':
drivers/media/common/b2c2/flexcop.c:167: undefined reference to `dvb_dmx_swfilter'
ld: drivers/media/common/b2c2/flexcop.o: in function `flexcop_dvb_init':
drivers/media/common/b2c2/flexcop.c:137: undefined reference to `dvb_dmxdev_release'
ld: drivers/media/common/b2c2/flexcop.c:139: undefined reference to `dvb_dmx_release'
ld: drivers/media/common/b2c2/flexcop.c:141: undefined reference to `dvb_unregister_adapter'
ld: drivers/media/common/b2c2/flexcop-fe-tuner.o: in function `flexcop_frontend_init':
drivers/media/common/b2c2/flexcop-fe-tuner.c:694: undefined reference to `dvb_frontend_detach'
ld: drivers/media/common/b2c2/flexcop-fe-tuner.o: in function `flexcop_frontend_exit':
drivers/media/common/b2c2/flexcop-fe-tuner.c:717: undefined reference to `dvb_unregister_frontend'
ld: drivers/media/common/b2c2/flexcop-fe-tuner.c:718: undefined reference to `dvb_frontend_detach'
ld: drivers/media/common/b2c2/flexcop-fe-tuner.o: in function `flexcop_frontend_init':
drivers/media/common/b2c2/flexcop-fe-tuner.c:704: undefined reference to `dvb_register_frontend'
ld: drivers/media/common/b2c2/flexcop-fe-tuner.c:706: undefined reference to `dvb_frontend_detach'
ld: drivers/media/common/b2c2/flexcop-i2c.o: in function `flexcop_i2c_init':
drivers/media/common/b2c2/flexcop-i2c.c:250: undefined reference to `i2c_add_adapter'
ld: drivers/media/common/b2c2/flexcop-i2c.c:254: undefined reference to `i2c_add_adapter'
ld: drivers/media/common/b2c2/flexcop-i2c.c:258: undefined reference to `i2c_add_adapter'
ld: drivers/media/common/b2c2/flexcop-i2c.c:266: undefined reference to `i2c_del_adapter'
ld: drivers/media/common/b2c2/flexcop-i2c.c:268: undefined reference to `i2c_del_adapter'
ld: drivers/media/common/b2c2/flexcop-i2c.o: in function `flexcop_i2c_exit':
drivers/media/common/b2c2/flexcop-i2c.c:275: undefined reference to `i2c_del_adapter'
ld: drivers/media/common/b2c2/flexcop-i2c.c:276: undefined reference to `i2c_del_adapter'
ld: drivers/media/common/b2c2/flexcop-i2c.c:277: undefined reference to `i2c_del_adapter'
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android-5.4-stable
git checkout 9c8aa25e2955df58dae59e409ec1bc7f850935d9
vim +29 drivers/media/tuners/tuner-i2c.h
db8a695658cda2 drivers/media/video/tuner-i2c.h Michael Krufky 2007-08-21 23
ceefaf5d8e0441 drivers/media/tuners/tuner-i2c.h Mauro Carvalho Chehab 2015-06-22 24 static inline int tuner_i2c_xfer_send(struct tuner_i2c_props *props,
ceefaf5d8e0441 drivers/media/tuners/tuner-i2c.h Mauro Carvalho Chehab 2015-06-22 25 unsigned char *buf, int len)
db8a695658cda2 drivers/media/video/tuner-i2c.h Michael Krufky 2007-08-21 26 {
db8a695658cda2 drivers/media/video/tuner-i2c.h Michael Krufky 2007-08-21 27 struct i2c_msg msg = { .addr = props->addr, .flags = 0,
db8a695658cda2 drivers/media/video/tuner-i2c.h Michael Krufky 2007-08-21 28 .buf = buf, .len = len };
db8a695658cda2 drivers/media/video/tuner-i2c.h Michael Krufky 2007-08-21 @29 int ret = i2c_transfer(props->adap, &msg, 1);
db8a695658cda2 drivers/media/video/tuner-i2c.h Michael Krufky 2007-08-21 30
db8a695658cda2 drivers/media/video/tuner-i2c.h Michael Krufky 2007-08-21 31 return (ret == 1) ? len : ret;
db8a695658cda2 drivers/media/video/tuner-i2c.h Michael Krufky 2007-08-21 32 }
db8a695658cda2 drivers/media/video/tuner-i2c.h Michael Krufky 2007-08-21 33
:::::: The code at line 29 was first introduced by commit
:::::: db8a695658cda21eacfa2a5e3b15e8964bfb93ef V4L/DVB (6127): tuner: kill i2c_client interface to tuner sub-drivers
:::::: TO: Michael Krufky <mkrufky(a)linuxtv.org>
:::::: CC: Mauro Carvalho Chehab <mchehab(a)infradead.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years