Re: blk-merge warning in for-5.2/block

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 01, 2019 at 08:25:00AM -0600, Jens Axboe wrote:
> Hi Ming,
> 
> I'm getting this one when building the new set with gcc 8.3.0:
> 
> 
> -- In file included from block/blk-merge.c:13:
> block/blk-merge.c: In function ‘blk_rq_map_sg’:
> block/blk.h:73:56: warning: ‘bvec.bv_offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
>   phys_addr_t addr1 = page_to_phys(vec1->bv_page) + vec1->bv_offset;
>                                                     ~~~~^~~~~~~~~~~
> block/blk-merge.c:530:17: note: ‘bvec.bv_offset’ was declared here
>   struct bio_vec bvec, bvprv = { NULL };
>                  ^~~~
> In file included from block/blk-merge.c:13:
> block/blk.h:76:18: warning: ‘bvec.bv_len’ may be used uninitialized in this function [-Wmaybe-uninitialized]
>   if (addr1 + vec1->bv_len != addr2)
>               ~~~~^~~~~~~~
> block/blk-merge.c:530:17: note: ‘bvec.bv_len’ was declared here
>   struct bio_vec bvec, bvprv = { NULL };
>                  ^~~~
> In file included from ./arch/x86/include/asm/page.h:76,
>                  from ./arch/x86/include/asm/thread_info.h:12,
>                  from ./include/linux/thread_info.h:38,
>                  from ./arch/x86/include/asm/preempt.h:7,
>                  from ./include/linux/preempt.h:78,
>                  from ./include/linux/spinlock.h:51,
>                  from ./include/linux/seqlock.h:36,
>                  from ./include/linux/time.h:6,
>                  from ./include/linux/stat.h:19,
>                  from ./include/linux/module.h:10,
>                  from block/blk-merge.c:6:
> ./include/asm-generic/memory_model.h:55:52: warning: ‘bvec.bv_page’ may be used uninitialized in this function [-Wmaybe-uninitialized]
>  #define __page_to_pfn(page) (unsigned long)((page) - vmemmap)
>                                                     ^
> block/blk-merge.c:530:17: note: ‘bvec.bv_page’ was declared here
>   struct bio_vec bvec, bvprv = { NULL };
>                  ^~~~

It is one issue only if one bio doesn't include any bvec, I will post a
patch soon to fix it.

Thanks,
Ming



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux