tree:
git://git.infradead.org/users/hch/block.git bvec-kmap
head: dcf9fd7b54aa00cdd89251aebaa3cc713f035e26
commit: 6c6ba14b40bddff8b03d07039769120a6cf32036 [2/46] bvec: add a bvec_kmap_local
helper
config: mips-rb532_defconfig (attached as .config)
compiler: mipsel-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 remote add hch-block
git://git.infradead.org/users/hch/block.git
git fetch --no-tags hch-block bvec-kmap
git checkout 6c6ba14b40bddff8b03d07039769120a6cf32036
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips
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 include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from mm/mempool.c:15:
include/linux/bvec.h: In function 'bvec_kmap_local':
> include/linux/bvec.h:189:9: error: implicit declaration of
function 'kmap_local_page'; did you mean 'drain_local_pages'?
[-Werror=implicit-function-declaration]
189 | return
kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
| drain_local_pages
> include/linux/bvec.h:189:40: warning: returning 'unsigned
int' from a function with return type 'void *' makes pointer from integer
without a cast [-Wint-conversion]
189 | return
kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
In file included from include/linux/highmem.h:14,
from mm/mempool.c:15:
include/linux/highmem-internal.h: At top level:
> include/linux/highmem-internal.h:158:21: error: conflicting types
for 'kmap_local_page'
158 | static inline void *kmap_local_page(struct
page *page)
| ^~~~~~~~~~~~~~~
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from mm/mempool.c:15:
include/linux/bvec.h:189:9: note: previous implicit declaration of
'kmap_local_page' was here
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/bvec.h:10,
from include/linux/blk_types.h:10,
from include/linux/writeback.h:13,
from mm/vmstat.c:26:
include/linux/genhd.h: In function 'get_disk_ro':
> include/linux/genhd.h:227:20: error: dereferencing pointer to
incomplete type 'struct block_device'
227 | return
disk->part0->bd_read_only ||
| ^~
--
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from mm/vmalloc.c:14:
include/linux/bvec.h: In function 'bvec_kmap_local':
> include/linux/bvec.h:189:9: error: implicit declaration of
function 'kmap_local_page'; did you mean 'drain_local_pages'?
[-Werror=implicit-function-declaration]
189 | return
kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
| drain_local_pages
> include/linux/bvec.h:189:40: warning: returning 'unsigned
int' from a function with return type 'void *' makes pointer from integer
without a cast [-Wint-conversion]
189 | return
kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
In file included from include/linux/highmem.h:14,
from mm/vmalloc.c:14:
include/linux/highmem-internal.h: At top level:
> include/linux/highmem-internal.h:158:21: error: conflicting types
for 'kmap_local_page'
158 | static inline void *kmap_local_page(struct
page *page)
| ^~~~~~~~~~~~~~~
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from mm/vmalloc.c:14:
include/linux/bvec.h:189:9: note: previous implicit declaration of
'kmap_local_page' was here
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
mm/vmalloc.c:1599:6: warning: no previous prototype for 'set_iounmap_nonlazy'
[-Wmissing-prototypes]
1599 | void set_iounmap_nonlazy(void)
| ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from mm/page_alloc.c:20:
include/linux/bvec.h: In function 'bvec_kmap_local':
> include/linux/bvec.h:189:9: error: implicit declaration of
function 'kmap_local_page'; did you mean 'drain_local_pages'?
[-Werror=implicit-function-declaration]
189 | return
kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
| drain_local_pages
> include/linux/bvec.h:189:40: warning: returning 'unsigned
int' from a function with return type 'void *' makes pointer from integer
without a cast [-Wint-conversion]
189 | return
kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
In file included from include/linux/highmem.h:14,
from mm/page_alloc.c:20:
include/linux/highmem-internal.h: At top level:
> include/linux/highmem-internal.h:158:21: error: conflicting types
for 'kmap_local_page'
158 | static inline void *kmap_local_page(struct
page *page)
| ^~~~~~~~~~~~~~~
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from mm/page_alloc.c:20:
include/linux/bvec.h:189:9: note: previous implicit declaration of
'kmap_local_page' was here
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
mm/page_alloc.c:3651:15: warning: no previous prototype for
'should_fail_alloc_page' [-Wmissing-prototypes]
3651 | noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:16,
from include/linux/migrate.h:6,
from mm/migrate.c:16:
include/linux/bvec.h: In function 'bvec_kmap_local':
include/linux/bvec.h:189:9: error: implicit declaration of function
'kmap_local_page'; did you mean 'dax_lock_page'?
[-Werror=implicit-function-declaration]
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
| dax_lock_page
> include/linux/bvec.h:189:40: warning: returning 'unsigned
int' from a function with return type 'void *' makes pointer from integer
without a cast [-Wint-conversion]
189 | return
kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
In file included from include/linux/highmem.h:14,
from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:16,
from include/linux/migrate.h:6,
from mm/migrate.c:16:
include/linux/highmem-internal.h: At top level:
> include/linux/highmem-internal.h:158:21: error: conflicting types
for 'kmap_local_page'
158 | static inline void *kmap_local_page(struct
page *page)
| ^~~~~~~~~~~~~~~
In file included from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:16,
from include/linux/migrate.h:6,
from mm/migrate.c:16:
include/linux/bvec.h:189:9: note: previous implicit declaration of
'kmap_local_page' was here
189 | return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/bvec.h:10,
from include/linux/skbuff.h:17,
from include/linux/if_ether.h:19,
from include/linux/etherdevice.h:20,
from net/devres.c:7:
> include/linux/blk_types.h:236:19: error: field 'bi_iter'
has incomplete type
236 | struct bvec_iter bi_iter;
| ^~~~~~~
> include/linux/blk_types.h:284:18: error: array type has
incomplete element type 'struct bio_vec'
284 | struct bio_vec
bi_inline_vecs[];
| ^~~~~~~~~~~~~~
--
In file included from include/linux/genhd.h:19,
from arch/mips/include/asm/mach-rc32434/rb.h:10,
from arch/mips/include/asm/mach-rc32434/irq.h:8,
from arch/mips/include/asm/irq.h:18,
from include/linux/irq.h:23,
from include/asm-generic/hardirq.h:17,
from arch/mips/include/asm/hardirq.h:16,
from include/linux/hardirq.h:11,
from include/linux/highmem.h:10,
from include/linux/bvec.h:10,
from include/linux/skbuff.h:17,
from include/linux/if_ether.h:19,
from include/uapi/linux/ethtool.h:19,
from include/linux/ethtool.h:18,
from net/socket.c:55:
> include/linux/blk_types.h:236:19: error: field 'bi_iter'
has incomplete type
236 | struct bvec_iter bi_iter;
| ^~~~~~~
> include/linux/blk_types.h:284:18: error: array type has
incomplete element type 'struct bio_vec'
284 | struct bio_vec
bi_inline_vecs[];
| ^~~~~~~~~~~~~~
In file included from include/linux/kernel.h:15,
from include/linux/list.h:9,
from include/linux/smp.h:12,
from arch/mips/include/asm/cpu-type.h:12,
from arch/mips/include/asm/timex.h:19,
from include/linux/timex.h:65,
from include/linux/time32.h:13,
from include/linux/time.h:60,
from include/linux/compat.h:10,
from include/linux/ethtool.h:17,
from net/socket.c:55:
include/linux/bio.h: In function 'bio_cur_bytes':
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:18:21: note: in definition of macro '__typecheck'
18 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
| ^
include/linux/minmax.h:42:24: note: in expansion of macro '__safe_cmp'
42 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:96:10: note: in expansion of macro 'bio_iovec'
96 | return bio_iovec(bio).bv_len;
| ^~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:26:48: note: in definition of macro '__is_constexpr'
26 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8)))
| ^
include/linux/minmax.h:32:25: note: in expansion of macro '__no_side_effects'
32 | (__typecheck(x, y) && __no_side_effects(x, y))
| ^~~~~~~~~~~~~~~~~
include/linux/minmax.h:42:24: note: in expansion of macro '__safe_cmp'
42 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:96:10: note: in expansion of macro 'bio_iovec'
96 | return bio_iovec(bio).bv_len;
| ^~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:27: note: in definition of macro '__cmp'
34 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
| ^
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:96:10: note: in expansion of macro 'bio_iovec'
96 | return bio_iovec(bio).bv_len;
| ^~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:40: note: in definition of macro '__cmp'
34 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
| ^
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:96:10: note: in expansion of macro 'bio_iovec'
96 | return bio_iovec(bio).bv_len;
| ^~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:37:10: note: in definition of macro '__cmp_once'
37 | typeof(x) unique_x = (x); \
| ^
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:96:10: note: in expansion of macro 'bio_iovec'
96 | return bio_iovec(bio).bv_len;
| ^~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:37:25: note: in definition of macro '__cmp_once'
37 | typeof(x) unique_x = (x); \
| ^
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:96:10: note: in expansion of macro 'bio_iovec'
96 | return bio_iovec(bio).bv_len;
| ^~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:96:10: note: in expansion of macro 'bio_iovec'
96 | return bio_iovec(bio).bv_len;
| ^~~~~~~~~
include/linux/bio.h: In function 'bio_get_first_bvec':
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:18:21: note: in definition of macro '__typecheck'
18 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
| ^
include/linux/minmax.h:42:24: note: in expansion of macro '__safe_cmp'
42 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:274:8: note: in expansion of macro 'bio_iovec'
274 | *bv = bio_iovec(bio);
| ^~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:26:48: note: in definition of macro '__is_constexpr'
26 | (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8)))
| ^
include/linux/minmax.h:32:25: note: in expansion of macro '__no_side_effects'
32 | (__typecheck(x, y) && __no_side_effects(x, y))
| ^~~~~~~~~~~~~~~~~
include/linux/minmax.h:42:24: note: in expansion of macro '__safe_cmp'
42 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:274:8: note: in expansion of macro 'bio_iovec'
274 | *bv = bio_iovec(bio);
| ^~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:27: note: in definition of macro '__cmp'
34 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
| ^
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:274:8: note: in expansion of macro 'bio_iovec'
274 | *bv = bio_iovec(bio);
| ^~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:40: note: in definition of macro '__cmp'
34 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
| ^
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:274:8: note: in expansion of macro 'bio_iovec'
274 | *bv = bio_iovec(bio);
| ^~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:37:10: note: in definition of macro '__cmp_once'
37 | typeof(x) unique_x = (x); \
| ^
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:274:8: note: in expansion of macro 'bio_iovec'
274 | *bv = bio_iovec(bio);
| ^~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:37:25: note: in definition of macro '__cmp_once'
37 | typeof(x) unique_x = (x); \
| ^
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:274:8: note: in expansion of macro 'bio_iovec'
274 | *bv = bio_iovec(bio);
| ^~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:274:8: note: in expansion of macro 'bio_iovec'
274 | *bv = bio_iovec(bio);
| ^~~~~~~~~
In file included from include/linux/build_bug.h:5,
from include/linux/bits.h:22,
from include/linux/bitops.h:6,
from include/linux/bitmap.h:8,
from include/linux/ethtool.h:16,
from net/socket.c:55:
include/linux/bio.h: In function 'bio_get_last_bvec':
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/minmax.h:32:4: note: in expansion of macro '__typecheck'
32 | (__typecheck(x, y) && __no_side_effects(x, y))
| ^~~~~~~~~~~
include/linux/minmax.h:42:24: note: in expansion of macro '__safe_cmp'
42 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:48:29: note: in expansion of macro 'bio_iovec'
48 | ((bio)->bi_iter.bi_size != bio_iovec(bio).bv_len)
| ^~~~~~~~~
include/linux/bio.h:282:16: note: in expansion of macro
'bio_multiple_segments'
282 | if (unlikely(!bio_multiple_segments(bio))) {
| ^~~~~~~~~~~~~~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/minmax.h:29:4: note: in expansion of macro '__is_constexpr'
29 | (__is_constexpr(x) && __is_constexpr(y))
| ^~~~~~~~~~~~~~
include/linux/minmax.h:32:25: note: in expansion of macro '__no_side_effects'
32 | (__typecheck(x, y) && __no_side_effects(x, y))
| ^~~~~~~~~~~~~~~~~
include/linux/minmax.h:42:24: note: in expansion of macro '__safe_cmp'
42 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:48:29: note: in expansion of macro 'bio_iovec'
48 | ((bio)->bi_iter.bi_size != bio_iovec(bio).bv_len)
| ^~~~~~~~~
include/linux/bio.h:282:16: note: in expansion of macro
'bio_multiple_segments'
282 | if (unlikely(!bio_multiple_segments(bio))) {
| ^~~~~~~~~~~~~~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/minmax.h:43:3: note: in expansion of macro '__cmp'
43 | __cmp(x, y, op), \
| ^~~~~
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:48:29: note: in expansion of macro 'bio_iovec'
48 | ((bio)->bi_iter.bi_size != bio_iovec(bio).bv_len)
| ^~~~~~~~~
include/linux/bio.h:282:16: note: in expansion of macro
'bio_multiple_segments'
282 | if (unlikely(!bio_multiple_segments(bio))) {
| ^~~~~~~~~~~~~~~~~~~~~
> include/linux/minmax.h:42:2: error: first argument to
'__builtin_choose_expr' not a constant
42 |
__builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/minmax.h:43:3: note: in expansion of macro '__cmp'
43 | __cmp(x, y, op), \
| ^~~~~
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:48:29: note: in expansion of macro 'bio_iovec'
48 | ((bio)->bi_iter.bi_size != bio_iovec(bio).bv_len)
| ^~~~~~~~~
include/linux/bio.h:282:16: note: in expansion of macro
'bio_multiple_segments'
282 | if (unlikely(!bio_multiple_segments(bio))) {
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:42:2: error: first argument to '__builtin_choose_expr'
not a constant
42 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/minmax.h:44:3: note: in expansion of macro '__cmp_once'
44 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
| ^~~~~~~~~~
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~~~~
include/linux/bvec.h:97:13: note: in expansion of macro 'bvec_iter_len'
97 | .bv_len = bvec_iter_len((bvec), (iter)), \
| ^~~~~~~~~~~~~
include/linux/bio.h:34:2: note: in expansion of macro 'bvec_iter_bvec'
34 | bvec_iter_bvec((bio)->bi_io_vec, (iter))
| ^~~~~~~~~~~~~~
include/linux/bio.h:45:25: note: in expansion of macro 'bio_iter_iovec'
45 | #define bio_iovec(bio) bio_iter_iovec((bio), (bio)->bi_iter)
| ^~~~~~~~~~~~~~
include/linux/bio.h:48:29: note: in expansion of macro 'bio_iovec'
48 | ((bio)->bi_iter.bi_size != bio_iovec(bio).bv_len)
| ^~~~~~~~~
include/linux/bio.h:282:16: note: in expansion of macro
'bio_multiple_segments'
282 | if (unlikely(!bio_multiple_segments(bio))) {
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:42:2: error: first argument to '__builtin_choose_expr'
not a constant
42 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/minmax.h:44:3: note: in expansion of macro '__cmp_once'
44 | __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
| ^~~~~~~~~~
include/linux/minmax.h:110:27: note: in expansion of macro '__careful_cmp'
110 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:87:2: note: in expansion of macro 'min_t'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
| ^~~~~
include/linux/minmax.h:51:19: note: in expansion of macro '__careful_cmp'
51 | #define min(x, y) __careful_cmp(x, y, <)
| ^~~~~~~~~~~~~
include/linux/bvec.h:66:2: note: in expansion of macro 'min'
66 | min((iter).bi_size, \
| ^~~
include/linux/bvec.h:87:18: note: in expansion of macro 'mp_bvec_iter_len'
87 | min_t(unsigned, mp_bvec_iter_len((bvec), (iter)), \
..
vim +189 include/linux/bvec.h
186
187 static inline void *bvec_kmap_local(struct bio_vec *bvec)
188 {
189 return kmap_local_page(bvec->bv_page) + bvec->bv_offset;
190 }
191
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org