All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [peterz-queue:x86/wip.ibt 2/15] fs/eventpoll.c:1303:26: warning: The right operand of '>' is a garbage value due to array index out of bounds [clang-analyzer-core.UndefinedBinaryOperatorResult]
Date: Mon, 17 Jan 2022 14:33:53 +0800	[thread overview]
Message-ID: <202201171415.W4YAFAWN-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 25393 bytes --]

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Peter Zijlstra <peterz@infradead.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git x86/wip.ibt
head:   7b31f08c5f3fb5f3cfd75deb24787569f35315d5
commit: f348a305ec94fcc9a5ac3aefb53dbf2269f26e18 [2/15] x86: Annotate _THIS_IP_
:::::: branch date: 3 days ago
:::::: commit date: 3 days ago
config: x86_64-randconfig-c007 (https://download.01.org/0day-ci/archive/20220117/202201171415.W4YAFAWN-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c63a3175c2947e8c1a2d3bbe16a8586600705c54)
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
        # https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?id=f348a305ec94fcc9a5ac3aefb53dbf2269f26e18
        git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
        git fetch --no-tags peterz-queue x86/wip.ibt
        git checkout f348a305ec94fcc9a5ac3aefb53dbf2269f26e18
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 clang-analyzer 

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


clang-analyzer warnings: (new ones prefixed by >>)
           ^
   include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON'
           BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:335:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:323:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:307:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   ipc/sem.c:741:13: note: Taking false branch
                   int idx = array_index_nospec(sop->sem_num, sma->sem_nsems);
                             ^
   include/linux/nospec.h:58:2: note: expanded from macro 'array_index_nospec'
           BUILD_BUG_ON(sizeof(_s) > sizeof(long));                        \
           ^
   include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON'
           BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:335:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:323:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:315:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   ipc/sem.c:741:13: note: Loop condition is false.  Exiting loop
                   int idx = array_index_nospec(sop->sem_num, sma->sem_nsems);
                             ^
   include/linux/nospec.h:58:2: note: expanded from macro 'array_index_nospec'
           BUILD_BUG_ON(sizeof(_s) > sizeof(long));                        \
           ^
   include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON'
           BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:335:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:323:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:307:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   ipc/sem.c:747:7: note: Assuming 'sem_op' is not equal to 0
                   if (!sem_op && result)
                       ^~~~~~~
   ipc/sem.c:747:15: note: Left side of '&&' is false
                   if (!sem_op && result)
                               ^
   ipc/sem.c:751:7: note: Assuming 'result' is >= 0
                   if (result < 0)
                       ^~~~~~~~~~
   ipc/sem.c:751:3: note: Taking false branch
                   if (result < 0)
                   ^
   ipc/sem.c:754:7: note: Assuming 'result' is <= SEMVMX
                   if (result > SEMVMX)
                       ^~~~~~~~~~~~~~~
   ipc/sem.c:754:3: note: Taking false branch
                   if (result > SEMVMX)
                   ^
   ipc/sem.c:757:7: note: Assuming the condition is true
                   if (sop->sem_flg & SEM_UNDO) {
                       ^~~~~~~~~~~~~~~~~~~~~~~
   ipc/sem.c:757:3: note: Taking true branch
                   if (sop->sem_flg & SEM_UNDO) {
                   ^
   ipc/sem.c:758:15: note: Access to field 'semadj' results in a dereference of a null pointer (loaded from variable 'un')
                           int undo = un->semadj[sop->sem_num] - sem_op;
                                      ^~
   ipc/sem.c:769:3: warning: Value stored to 'result' is never read [clang-analyzer-deadcode.DeadStores]
                   result = curr->semval;
                   ^        ~~~~~~~~~~~~
   ipc/sem.c:769:3: note: Value stored to 'result' is never read
                   result = curr->semval;
                   ^        ~~~~~~~~~~~~
   ipc/sem.c:1433:2: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
           err = -EACCES;
           ^     ~~~~~~~
   ipc/sem.c:1433:2: note: Value stored to 'err' is never read
           err = -EACCES;
           ^     ~~~~~~~
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
>> fs/eventpoll.c:1303:26: warning: The right operand of '>' is a garbage value due to array index out of bounds [clang-analyzer-core.UndefinedBinaryOperatorResult]
           if (++path_count[nests] > path_limits[nests])
                                   ^
   fs/eventpoll.c:1321:6: note: Assuming 'depth' is <= EP_MAX_NESTS
           if (depth > EP_MAX_NESTS) /* too deep nesting */
               ^~~~~~~~~~~~~~~~~~~~
   fs/eventpoll.c:1321:2: note: Taking false branch
           if (depth > EP_MAX_NESTS) /* too deep nesting */
           ^
   fs/eventpoll.c:1325:2: note: Left side of '||' is false
           hlist_for_each_entry_rcu(epi, refs, fllink) {
           ^
   include/linux/rculist.h:706:30: note: expanded from macro 'hlist_for_each_entry_rcu'
                pos = hlist_entry_safe(rcu_dereference_raw(hlist_first_rcu(head)),\
                                       ^
   include/linux/rcupdate.h:404:25: note: expanded from macro 'rcu_dereference_raw'
           typeof(p) ________p1 = READ_ONCE(p); \
                                  ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                              ^
   include/linux/compiler_types.h:302:3: note: expanded from macro '__native_word'
           (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
            ^
   fs/eventpoll.c:1325:2: note: Left side of '||' is false
           hlist_for_each_entry_rcu(epi, refs, fllink) {
           ^
   include/linux/rculist.h:706:30: note: expanded from macro 'hlist_for_each_entry_rcu'
                pos = hlist_entry_safe(rcu_dereference_raw(hlist_first_rcu(head)),\
                                       ^
   include/linux/rcupdate.h:404:25: note: expanded from macro 'rcu_dereference_raw'
           typeof(p) ________p1 = READ_ONCE(p); \
                                  ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                              ^
   include/linux/compiler_types.h:302:3: note: expanded from macro '__native_word'
           (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
            ^
   fs/eventpoll.c:1325:2: note: Left side of '||' is false
           hlist_for_each_entry_rcu(epi, refs, fllink) {
           ^
   include/linux/rculist.h:706:30: note: expanded from macro 'hlist_for_each_entry_rcu'
                pos = hlist_entry_safe(rcu_dereference_raw(hlist_first_rcu(head)),\
                                       ^
   include/linux/rcupdate.h:404:25: note: expanded from macro 'rcu_dereference_raw'
           typeof(p) ________p1 = READ_ONCE(p); \
                                  ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                              ^
   include/linux/compiler_types.h:302:3: note: expanded from macro '__native_word'
           (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
            ^
   fs/eventpoll.c:1325:2: note: Left side of '||' is true
           hlist_for_each_entry_rcu(epi, refs, fllink) {
           ^
   include/linux/rculist.h:706:30: note: expanded from macro 'hlist_for_each_entry_rcu'
                pos = hlist_entry_safe(rcu_dereference_raw(hlist_first_rcu(head)),\
                                       ^
   include/linux/rcupdate.h:404:25: note: expanded from macro 'rcu_dereference_raw'
           typeof(p) ________p1 = READ_ONCE(p); \
                                  ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:38: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                                               ^
   fs/eventpoll.c:1325:2: note: Taking false branch
           hlist_for_each_entry_rcu(epi, refs, fllink) {
           ^
   include/linux/rculist.h:706:30: note: expanded from macro 'hlist_for_each_entry_rcu'
                pos = hlist_entry_safe(rcu_dereference_raw(hlist_first_rcu(head)),\
                                       ^
   include/linux/rcupdate.h:404:25: note: expanded from macro 'rcu_dereference_raw'
           typeof(p) ________p1 = READ_ONCE(p); \
                                  ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:335:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:323:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:315:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   fs/eventpoll.c:1325:2: note: Loop condition is false.  Exiting loop
--
   fs/reiserfs/journal.c:4316:21: note: Use of memory after it is freed
           list_for_each_safe(entry, safe, &journal->j_journal_list) {
                              ^
   include/linux/list.h:600:31: note: expanded from macro 'list_for_each_safe'
           for (pos = (head)->next, n = pos->next; pos != (head); \
                                        ^~~~~~~~~
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   7 warnings generated.
   lib/mpi/ec.c:396:2: warning: Value stored to 'cy' is never read [clang-analyzer-deadcode.DeadStores]
           cy += mpihelp_add_n(b0, b0, a3, LIMB_SIZE_HALF_448);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   lib/mpi/ec.c:396:2: note: Value stored to 'cy' is never read
           cy += mpihelp_add_n(b0, b0, a3, LIMB_SIZE_HALF_448);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   lib/mpi/ec.c:410:2: warning: Value stored to 'cy' is never read [clang-analyzer-deadcode.DeadStores]
           cy += mpihelp_add_n(b1, b1, a3, LIMB_SIZE_HALF_448);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   lib/mpi/ec.c:410:2: note: Value stored to 'cy' is never read
           cy += mpihelp_add_n(b1, b1, a3, LIMB_SIZE_HALF_448);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   18 warnings generated.
   net/ipv6/route.c:568:6: warning: Access to field 'nh' results in a dereference of a null pointer (loaded from variable 'f6i') [clang-analyzer-core.NullDereference]
           if (unlikely(f6i->nh)) {
               ^
   include/linux/compiler.h:78:41: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                              ^~
   net/ipv6/route.c:527:2: note: 'f6i' initialized here
           struct fib6_info *f6i = res->f6i;
           ^~~~~~~~~~~~~~~~~~~~~
   net/ipv6/route.c:531:6: note: Assuming 'oif' is not equal to 0
           if (!oif && ipv6_addr_any(saddr)) {
               ^~~~
   net/ipv6/route.c:531:11: note: Left side of '&&' is false
           if (!oif && ipv6_addr_any(saddr)) {
                    ^
   net/ipv6/route.c:543:20: note: Assuming pointer value is null
           for (spf6i = f6i; spf6i; spf6i = rcu_dereference(spf6i->fib6_next)) {
                             ^~~~~
   net/ipv6/route.c:543:2: note: Loop condition is false. Execution continues on line 562
           for (spf6i = f6i; spf6i; spf6i = rcu_dereference(spf6i->fib6_next)) {
           ^
   net/ipv6/route.c:562:6: note: 'oif' is not equal to 0
           if (oif && flags & RT6_LOOKUP_F_IFACE) {
               ^~~
   net/ipv6/route.c:562:6: note: Left side of '&&' is true
   net/ipv6/route.c:562:13: note: Assuming the condition is false
           if (oif && flags & RT6_LOOKUP_F_IFACE) {
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
   net/ipv6/route.c:562:2: note: Taking false branch
           if (oif && flags & RT6_LOOKUP_F_IFACE) {
           ^
   net/ipv6/route.c:568:6: note: Access to field 'nh' results in a dereference of a null pointer (loaded from variable 'f6i')
           if (unlikely(f6i->nh)) {
               ^
   include/linux/compiler.h:78:41: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                              ^~
>> net/ipv6/route.c:3424:9: warning: Dereference of null pointer (loaded from variable '_dev') [clang-analyzer-core.NullDereference]
                   *_dev = dev = res.nh->fib_nh_dev;
                    ~~~~ ^
   net/ipv6/route.c:3384:27: note: Assuming '_dev' is null
           struct net_device *dev = _dev ? *_dev : NULL;
                                    ^~~~
   net/ipv6/route.c:3384:27: note: '?' condition is false
   net/ipv6/route.c:3389:6: note: Assuming field 'fc_table' is 0
           if (cfg->fc_table) {
               ^~~~~~~~~~~~~
   net/ipv6/route.c:3389:2: note: Taking false branch
           if (cfg->fc_table) {
           ^
   net/ipv6/route.c:3401:6: note: 'err' is < 0
           if (err < 0) {
               ^~~
   net/ipv6/route.c:3401:2: note: Taking true branch
           if (err < 0) {
           ^
   net/ipv6/route.c:3408:7: note: Assuming 'err' is 0
                   if (err || res.fib6_flags & RTF_REJECT ||
                       ^~~
   net/ipv6/route.c:3408:7: note: Left side of '||' is false
   net/ipv6/route.c:3408:14: note: Assuming the condition is false
                   if (err || res.fib6_flags & RTF_REJECT ||
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/ipv6/route.c:3408:7: note: Left side of '||' is false
                   if (err || res.fib6_flags & RTF_REJECT ||
                       ^
   net/ipv6/route.c:3409:7: note: Assuming field 'nhc_gw_family' is 0
                       res.nh->fib_nh_gw_family)
                       ^~~~~~~~~~~~~~~~~~~~~~~~
   net/ipv6/route.c:3408:3: note: Taking false branch
                   if (err || res.fib6_flags & RTF_REJECT ||
                   ^
   net/ipv6/route.c:3412:7: note: 'err' is 0
                   if (err)
                       ^~~
   net/ipv6/route.c:3412:3: note: Taking false branch
                   if (err)
                   ^
   net/ipv6/route.c:3416:6: note: Assuming field 'fc_ifindex' is equal to 0
                                    cfg->fc_ifindex != 0, NULL, flags);
                                    ^~~~~~~~~~~~~~~~~~~~
   net/ipv6/route.c:3420:6: note: 'dev' is null
           if (dev) {
               ^~~
   net/ipv6/route.c:3420:2: note: Taking false branch
           if (dev) {
           ^
   net/ipv6/route.c:3424:9: note: Dereference of null pointer (loaded from variable '_dev')
                   *_dev = dev = res.nh->fib_nh_dev;
                    ~~~~ ^
   net/ipv6/route.c:3631:24: warning: Access to field 'ifindex' results in a dereference of a null pointer (loaded from variable 'dev') [clang-analyzer-core.NullDereference]
           fib6_nh->fib_nh_oif = dev->ifindex;
                                 ^
   net/ipv6/route.c:3715:6: note: Assuming the condition is false
           if (cfg->fc_flags & RTF_PCPU) {
               ^~~~~~~~~~~~~~~~~~~~~~~~
   net/ipv6/route.c:3715:2: note: Taking false branch
           if (cfg->fc_flags & RTF_PCPU) {
           ^
   net/ipv6/route.c:3721:6: note: Assuming the condition is false
           if (cfg->fc_flags & RTF_CACHE) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~
   net/ipv6/route.c:3721:2: note: Taking false branch
           if (cfg->fc_flags & RTF_CACHE) {
           ^
   net/ipv6/route.c:3726:6: note: Assuming the condition is false
           if (cfg->fc_type > RTN_MAX) {
               ^~~~~~~~~~~~~~~~~~~~~~
   net/ipv6/route.c:3726:2: note: Taking false branch
           if (cfg->fc_type > RTN_MAX) {
           ^
   net/ipv6/route.c:3731:6: note: Assuming field 'fc_dst_len' is <= 128
           if (cfg->fc_dst_len > 128) {
               ^~~~~~~~~~~~~~~~~~~~~
   net/ipv6/route.c:3731:2: note: Taking false branch
           if (cfg->fc_dst_len > 128) {
           ^
   net/ipv6/route.c:3735:6: note: Assuming field 'fc_src_len' is <= 128
           if (cfg->fc_src_len > 128) {
               ^~~~~~~~~~~~~~~~~~~~~
   net/ipv6/route.c:3735:2: note: Taking false branch
           if (cfg->fc_src_len > 128) {
           ^
   net/ipv6/route.c:3740:6: note: Assuming field 'fc_src_len' is 0
           if (cfg->fc_src_len) {
               ^~~~~~~~~~~~~~~
   net/ipv6/route.c:3740:2: note: Taking false branch
           if (cfg->fc_src_len) {
           ^
   net/ipv6/route.c:3746:6: note: Assuming field 'fc_nh_id' is 0
           if (cfg->fc_nh_id) {
               ^~~~~~~~~~~~~
   net/ipv6/route.c:3746:2: note: Taking false branch
           if (cfg->fc_nh_id) {
           ^
   net/ipv6/route.c:3758:6: note: Assuming field 'nlh' is null
           if (cfg->fc_nlinfo.nlh &&
               ^~~~~~~~~~~~~~~~~~

vim +1303 fs/eventpoll.c

28d82dc1c4edbc Jason Baron 2012-01-12  1296  
28d82dc1c4edbc Jason Baron 2012-01-12  1297  static int path_count_inc(int nests)
28d82dc1c4edbc Jason Baron 2012-01-12  1298  {
93dc6107a76dae Jason Baron 2012-03-16  1299  	/* Allow an arbitrary number of depth 1 paths */
93dc6107a76dae Jason Baron 2012-03-16  1300  	if (nests == 0)
93dc6107a76dae Jason Baron 2012-03-16  1301  		return 0;
93dc6107a76dae Jason Baron 2012-03-16  1302  
28d82dc1c4edbc Jason Baron 2012-01-12 @1303  	if (++path_count[nests] > path_limits[nests])
28d82dc1c4edbc Jason Baron 2012-01-12  1304  		return -1;
28d82dc1c4edbc Jason Baron 2012-01-12  1305  	return 0;
28d82dc1c4edbc Jason Baron 2012-01-12  1306  }
28d82dc1c4edbc Jason Baron 2012-01-12  1307  

:::::: The code at line 1303 was first introduced by commit
:::::: 28d82dc1c4edbc352129f97f4ca22624d1fe61de epoll: limit paths

:::::: TO: Jason Baron <jbaron@redhat.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

                 reply	other threads:[~2022-01-17  6:33 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202201171415.W4YAFAWN-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.