:::::: 
:::::: Manual check reason: "low confidence static check warning: 
fs/netfs/buffered_write.c:937:2: sparse: sparse: TRIGGER NEW FLUSH GROUP FOR 
TESTING"
:::::: 

CC: [email protected]
BCC: [email protected]
CC: "GNU/Weeb Mailing List" <[email protected]>
CC: [email protected]
TO: David Howells <[email protected]>

tree:   https://github.com/ammarfaizi2/linux-block 
dhowells/linux-fs/netfs-linked-list
head:   ce4670495468b797b0c5927fcb661bc0da48b9ab
commit: ce4670495468b797b0c5927fcb661bc0da48b9ab [61/61] netfs: Add a struct to 
group modifications together and flushed in order
:::::: branch date: 6 days ago
:::::: commit date: 6 days ago
config: nios2-randconfig-s031-20220707 
(https://download.01.org/0day-ci/archive/20220708/[email protected]/config)
compiler: nios2-linux-gcc (GCC) 11.3.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        # 
https://github.com/ammarfaizi2/linux-block/commit/ce4670495468b797b0c5927fcb661bc0da48b9ab
        git remote add ammarfaizi2-block 
https://github.com/ammarfaizi2/linux-block
        git fetch --no-tags ammarfaizi2-block 
dhowells/linux-fs/netfs-linked-list
        git checkout ce4670495468b797b0c5927fcb661bc0da48b9ab
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=nios2 
SHELL=/bin/bash fs/netfs/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)
>> fs/netfs/buffered_write.c:937:2: sparse: sparse: TRIGGER NEW FLUSH GROUP FOR 
>> TESTING
   fs/netfs/buffered_write.c:361:28: sparse: sparse: context imbalance in 
'netfs_split_off_front' - unexpected unlock

vim +937 fs/netfs/buffered_write.c

fcf2d3b23ed11b David Howells 2021-06-17  897  
fcf2d3b23ed11b David Howells 2021-06-17  898  /**
e237ecdc44f74b Jeff Layton   2022-07-01  899   * netfs_file_write_iter_locked - 
write data to a file
fcf2d3b23ed11b David Howells 2021-06-17  900   * @iocb: IO state structure
fcf2d3b23ed11b David Howells 2021-06-17  901   * @from: iov_iter with data to 
write
fcf2d3b23ed11b David Howells 2021-06-17  902   *
fcf2d3b23ed11b David Howells 2021-06-17  903   * This is a wrapper around 
__generic_file_write_iter() to be used by most
e237ecdc44f74b Jeff Layton   2022-07-01  904   * filesystems that want to deal 
with the locking themselves. It takes care
e237ecdc44f74b Jeff Layton   2022-07-01  905   * of syncing the file in case of 
O_SYNC.
fcf2d3b23ed11b David Howells 2021-06-17  906   * Return:
fcf2d3b23ed11b David Howells 2021-06-17  907   * * negative error code if no 
data has been written at all of
fcf2d3b23ed11b David Howells 2021-06-17  908   *   vfs_fsync_range() failed for 
a synchronous write
fcf2d3b23ed11b David Howells 2021-06-17  909   * * number of bytes written, 
even for truncated writes
fcf2d3b23ed11b David Howells 2021-06-17  910   */
e237ecdc44f74b Jeff Layton   2022-07-01  911  ssize_t 
netfs_file_write_iter_locked(struct kiocb *iocb, struct iov_iter *from)
fcf2d3b23ed11b David Howells 2021-06-17  912  {
fcf2d3b23ed11b David Howells 2021-06-17  913    struct file *file = 
iocb->ki_filp;
fcf2d3b23ed11b David Howells 2021-06-17  914    struct inode *inode = 
file->f_mapping->host;
07b2258e7d9724 David Howells 2022-02-15  915    struct netfs_inode *ctx = 
netfs_inode(inode);
fcf2d3b23ed11b David Howells 2021-06-17  916    ssize_t ret;
fcf2d3b23ed11b David Howells 2021-06-17  917  
fcf2d3b23ed11b David Howells 2021-06-17  918    _enter("%llx,%zx,%llx", 
iocb->ki_pos, iov_iter_count(from), i_size_read(inode));
fcf2d3b23ed11b David Howells 2021-06-17  919  
fcf2d3b23ed11b David Howells 2021-06-17  920    ret = 
generic_write_checks(iocb, from);
fcf2d3b23ed11b David Howells 2021-06-17  921    if (ret <= 0)
e237ecdc44f74b Jeff Layton   2022-07-01  922            return ret;
fcf2d3b23ed11b David Howells 2021-06-17  923  
fcf2d3b23ed11b David Howells 2021-06-17  924    trace_netfs_write_iter(iocb, 
from);
fcf2d3b23ed11b David Howells 2021-06-17  925  
fcf2d3b23ed11b David Howells 2021-06-17  926    /* We can write back this queue 
in page reclaim */
fcf2d3b23ed11b David Howells 2021-06-17  927    current->backing_dev_info = 
inode_to_bdi(inode);
fcf2d3b23ed11b David Howells 2021-06-17  928    ret = file_remove_privs(file);
fcf2d3b23ed11b David Howells 2021-06-17  929    if (ret)
fcf2d3b23ed11b David Howells 2021-06-17  930            goto error;
fcf2d3b23ed11b David Howells 2021-06-17  931  
fcf2d3b23ed11b David Howells 2021-06-17  932    ret = file_update_time(file);
fcf2d3b23ed11b David Howells 2021-06-17  933    if (ret)
fcf2d3b23ed11b David Howells 2021-06-17  934            goto error;
fcf2d3b23ed11b David Howells 2021-06-17  935  
ce4670495468b7 David Howells 2022-02-07  936    {
ce4670495468b7 David Howells 2022-02-07 @937  #warning TRIGGER NEW FLUSH GROUP 
FOR TESTING
ce4670495468b7 David Howells 2022-02-07  938            static atomic_t jump;
ce4670495468b7 David Howells 2022-02-07  939            ret = 
netfs_require_flush_group(inode, (atomic_inc_return(&jump) & 3) == 3);
ce4670495468b7 David Howells 2022-02-07  940            if (ret < 0)
ce4670495468b7 David Howells 2022-02-07  941                    goto error;
ce4670495468b7 David Howells 2022-02-07  942    }
ce4670495468b7 David Howells 2022-02-07  943  
07b2258e7d9724 David Howells 2022-02-15  944    ret = 
netfs_flush_conflicting_writes(ctx, file, iocb->ki_pos,
07b2258e7d9724 David Howells 2022-02-15  945                                    
     iov_iter_count(from), NULL);
07b2258e7d9724 David Howells 2022-02-15  946    if (ret < 0 && ret != -EAGAIN)
07b2258e7d9724 David Howells 2022-02-15  947            goto error;
07b2258e7d9724 David Howells 2022-02-15  948  
fcf2d3b23ed11b David Howells 2021-06-17  949    if (iocb->ki_flags & 
IOCB_DIRECT)
fcf2d3b23ed11b David Howells 2021-06-17  950            ret = 
netfs_direct_write_iter(iocb, from);
fcf2d3b23ed11b David Howells 2021-06-17  951    else
fcf2d3b23ed11b David Howells 2021-06-17  952            ret = 
netfs_perform_write(iocb, from);
fcf2d3b23ed11b David Howells 2021-06-17  953  
fcf2d3b23ed11b David Howells 2021-06-17  954  error:
fcf2d3b23ed11b David Howells 2021-06-17  955    /* TODO: Wait for DSYNC region 
here. */
fcf2d3b23ed11b David Howells 2021-06-17  956    current->backing_dev_info = 
NULL;
fcf2d3b23ed11b David Howells 2021-06-17  957    return ret;
e237ecdc44f74b Jeff Layton   2022-07-01  958  }
e237ecdc44f74b Jeff Layton   2022-07-01  959  
EXPORT_SYMBOL(netfs_file_write_iter_locked);
e237ecdc44f74b Jeff Layton   2022-07-01  960  

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

Reply via email to