lkml.org 
[lkml]   [2023]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subjectfs/splice.c:53:19: sparse: sparse: cast from restricted fmode_t
    tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
    head: 6bc40e44f1ddef16a787f3501b97f1fff909177c
    commit: 0f99fc513ddd28de155c58547824a9fd63daacea splice: clear FMODE_NOWAIT on file if splice/vmsplice is used
    date: 7 months ago
    config: sparc-randconfig-r021-20230427 (https://download.01.org/0day-ci/archive/20231118/202311180228.sLGuM7AA-lkp@intel.com/config)
    compiler: sparc-linux-gcc (GCC) 12.3.0
    reproduce: (https://download.01.org/0day-ci/archive/20231118/202311180228.sLGuM7AA-lkp@intel.com/reproduce)

    If you fix the issue in a separate patch/commit (i.e. not just a new version of
    the same patch/commit), kindly add following tags
    | Reported-by: kernel test robot <lkp@intel.com>
    | Closes: https://lore.kernel.org/oe-kbuild-all/202311180228.sLGuM7AA-lkp@intel.com/

    sparse warnings: (new ones prefixed by >>)
    >> fs/splice.c:53:19: sparse: sparse: cast from restricted fmode_t
    >> fs/splice.c:53:19: sparse: sparse: cast from restricted fmode_t
    >> fs/splice.c:53:19: sparse: sparse: cast to restricted fmode_t
    fs/splice.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/xarray.h, ...):
    include/linux/page-flags.h:246:46: sparse: sparse: self-comparison always evaluates to false

    vim +53 fs/splice.c

    39
    40 /*
    41 * Splice doesn't support FMODE_NOWAIT. Since pipes may set this flag to
    42 * indicate they support non-blocking reads or writes, we must clear it
    43 * here if set to avoid blocking other users of this pipe if splice is
    44 * being done on it.
    45 */
    46 static noinline void noinline pipe_clear_nowait(struct file *file)
    47 {
    48 fmode_t fmode = READ_ONCE(file->f_mode);
    49
    50 do {
    51 if (!(fmode & FMODE_NOWAIT))
    52 break;
    > 53 } while (!try_cmpxchg(&file->f_mode, &fmode, fmode & ~FMODE_NOWAIT));
    54 }
    55

    --
    0-DAY CI Kernel Test Service
    https://github.com/intel/lkp-tests/wiki

    \
     
     \ /
      Last update: 2023-11-20 14:03    [W:5.779 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site