CC: kbuild-...@lists.01.org
BCC: l...@intel.com
CC: Linux Memory Management List <linux...@kvack.org>
TO: Mike Snitzer <snit...@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   3ccc916812598a88b427859679ffd1641e67d4a2
commit: e1c4ab4fd11b5a5c5c59216be5ada04f1fdc87e4 [914/1999] dm: move hot dm_io 
members to same cacheline as dm_target_io
:::::: branch date: 18 hours ago
:::::: commit date: 4 days ago
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

   drivers/md/dm.c:1384:2: warning: Address of local auto-variable assigned to 
a function parameter. [autoVariables]
    ci->bio = &flush_bio;
    ^
>> drivers/md/dm.c:1685:21: warning: Uninitialized variables: io.magic, 
>> io.lock, io.start_time, io.data, io.node, io.map_task, io.stats_aux, 
>> io.flags, io.status, io.io_count, io.md, io.orig_bio, io.tio [uninitvar]
     if (dm_poll_dm_io(io, iob, flags)) {
                       ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1666:6: note: Assuming condition is false
    if (!(bio->bi_opf & REQ_DM_POLL_LIST))
        ^
   drivers/md/dm.c:1685:21: note: Uninitialized variables: io.magic, io.lock, 
io.start_time, io.data, io.node, io.map_task, io.stats_aux, io.flags, 
io.status, io.io_count, io.md, io.orig_bio, io.tio
     if (dm_poll_dm_io(io, iob, flags)) {
                       ^

vim +1685 drivers/md/dm.c

b99fdcdc36369d2 Ming Lei 2022-03-04  1656  
b99fdcdc36369d2 Ming Lei 2022-03-04  1657  static int dm_poll_bio(struct bio 
*bio, struct io_comp_batch *iob,
b99fdcdc36369d2 Ming Lei 2022-03-04  1658                      unsigned int 
flags)
b99fdcdc36369d2 Ming Lei 2022-03-04  1659  {
b99fdcdc36369d2 Ming Lei 2022-03-04  1660       struct hlist_head *head = 
dm_get_bio_hlist_head(bio);
b99fdcdc36369d2 Ming Lei 2022-03-04  1661       struct hlist_head tmp = 
HLIST_HEAD_INIT;
b99fdcdc36369d2 Ming Lei 2022-03-04  1662       struct hlist_node *next;
b99fdcdc36369d2 Ming Lei 2022-03-04  1663       struct dm_io *io;
b99fdcdc36369d2 Ming Lei 2022-03-04  1664  
b99fdcdc36369d2 Ming Lei 2022-03-04  1665       /* Only poll normal bio which 
was marked as REQ_DM_POLL_LIST */
b99fdcdc36369d2 Ming Lei 2022-03-04  1666       if (!(bio->bi_opf & 
REQ_DM_POLL_LIST))
b99fdcdc36369d2 Ming Lei 2022-03-04  1667               return 0;
b99fdcdc36369d2 Ming Lei 2022-03-04  1668  
b99fdcdc36369d2 Ming Lei 2022-03-04  1669       WARN_ON_ONCE(hlist_empty(head));
b99fdcdc36369d2 Ming Lei 2022-03-04  1670  
b99fdcdc36369d2 Ming Lei 2022-03-04  1671       hlist_move_list(head, &tmp);
b99fdcdc36369d2 Ming Lei 2022-03-04  1672  
b99fdcdc36369d2 Ming Lei 2022-03-04  1673       /*
b99fdcdc36369d2 Ming Lei 2022-03-04  1674        * Restore .bi_private before 
possibly completing dm_io.
b99fdcdc36369d2 Ming Lei 2022-03-04  1675        *
b99fdcdc36369d2 Ming Lei 2022-03-04  1676        * bio_poll() is only possible 
once @bio has been completely
b99fdcdc36369d2 Ming Lei 2022-03-04  1677        * submitted via 
submit_bio_noacct()'s depth-first submission.
b99fdcdc36369d2 Ming Lei 2022-03-04  1678        * So there is no 
dm_queue_poll_io() race associated with
b99fdcdc36369d2 Ming Lei 2022-03-04  1679        * clearing REQ_DM_POLL_LIST 
here.
b99fdcdc36369d2 Ming Lei 2022-03-04  1680        */
b99fdcdc36369d2 Ming Lei 2022-03-04  1681       bio->bi_opf &= 
~REQ_DM_POLL_LIST;
b99fdcdc36369d2 Ming Lei 2022-03-04  1682       bio->bi_private = 
hlist_entry(tmp.first, struct dm_io, node)->data;
b99fdcdc36369d2 Ming Lei 2022-03-04  1683  
b99fdcdc36369d2 Ming Lei 2022-03-04  1684       hlist_for_each_entry_safe(io, 
next, &tmp, node) {
b99fdcdc36369d2 Ming Lei 2022-03-04 @1685               if (dm_poll_dm_io(io, 
iob, flags)) {
b99fdcdc36369d2 Ming Lei 2022-03-04  1686                       
hlist_del_init(&io->node);
b99fdcdc36369d2 Ming Lei 2022-03-04  1687                       /*
b99fdcdc36369d2 Ming Lei 2022-03-04  1688                        * 
clone_endio() has already occurred, so passing
b99fdcdc36369d2 Ming Lei 2022-03-04  1689                        * error as 0 
here doesn't override io->status
b99fdcdc36369d2 Ming Lei 2022-03-04  1690                        */
b99fdcdc36369d2 Ming Lei 2022-03-04  1691                       
dm_io_dec_pending(io, 0);
b99fdcdc36369d2 Ming Lei 2022-03-04  1692               }
b99fdcdc36369d2 Ming Lei 2022-03-04  1693       }
b99fdcdc36369d2 Ming Lei 2022-03-04  1694  
b99fdcdc36369d2 Ming Lei 2022-03-04  1695       /* Not done? */
b99fdcdc36369d2 Ming Lei 2022-03-04  1696       if (!hlist_empty(&tmp)) {
b99fdcdc36369d2 Ming Lei 2022-03-04  1697               bio->bi_opf |= 
REQ_DM_POLL_LIST;
b99fdcdc36369d2 Ming Lei 2022-03-04  1698               /* Reset 
bio->bi_private to dm_io list head */
b99fdcdc36369d2 Ming Lei 2022-03-04  1699               hlist_move_list(&tmp, 
head);
b99fdcdc36369d2 Ming Lei 2022-03-04  1700               return 0;
b99fdcdc36369d2 Ming Lei 2022-03-04  1701       }
b99fdcdc36369d2 Ming Lei 2022-03-04  1702       return 1;
b99fdcdc36369d2 Ming Lei 2022-03-04  1703  }
b99fdcdc36369d2 Ming Lei 2022-03-04  1704  

:::::: The code at line 1685 was first introduced by commit
:::::: b99fdcdc36369d2a3a26bf44736d420eb629d8b7 dm: support bio polling

:::::: TO: Ming Lei <ming....@redhat.com>
:::::: CC: Mike Snitzer <snit...@redhat.com>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to