* [cip:linux-4.4.y-st-rc 2271/2326] net/unix/garbage.c:249:21: warning: comparison between signed and unsigned integer expressions
@ 2024-06-03 14:02 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-06-03 14:02 UTC (permalink / raw)
To: Nobuhiro Iwamatsu, Pavel Machek; +Cc: oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git linux-4.4.y-st-rc
head: ecbb82ce18d073400afead62c777e18a6b64ef28
commit: 51fdba566ffe49757a962bc4e281ad85b46465dc [2271/2326] af_unix: Do not use atomic ops for unix_sk(sk)->inflight.
config: parisc-defconfig (https://download.01.org/0day-ci/archive/20240603/202406032149.96qRWeN6-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240603/202406032149.96qRWeN6-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/202406032149.96qRWeN6-lkp@intel.com/
All warnings (new ones prefixed by >>):
^
include/linux/rhashtable.h: In function 'rht_grow_above_100':
include/linux/rhashtable.h:289:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
return atomic_read(&ht->nelems) > tbl->size &&
^
include/linux/rhashtable.h: In function 'rht_grow_above_max':
include/linux/rhashtable.h:302:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
atomic_read(&ht->nelems) >= ht->p.insecure_max_entries;
^~
In file included from net/unix/garbage.c:78:0:
include/linux/netdevice.h: In function '__skb_gro_checksum_validate_needed':
include/linux/netdevice.h:2396:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
skb_checksum_start_offset(skb) <
^
In file included from include/linux/linkage.h:4:0,
from include/linux/kernel.h:6,
from net/unix/garbage.c:71:
include/linux/netdevice.h: In function 'get_netdev_rx_queue_index':
include/linux/netdevice.h:3034:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
BUG_ON(index >= dev->num_rx_queues);
^
include/linux/compiler.h:182:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/netdevice.h:3034:2: note: in expansion of macro 'BUG_ON'
BUG_ON(index >= dev->num_rx_queues);
^~~~~~
In file included from net/unix/garbage.c:78:0:
include/linux/netdevice.h: In function 'netif_msg_init':
include/linux/netdevice.h:3310:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (debug_value < 0 || debug_value >= (sizeof(u32) * 8))
^~
In file included from include/net/rtnetlink.h:5:0,
from include/net/sch_generic.h:12,
from include/linux/filter.h:16,
from include/net/sock.h:62,
from net/unix/garbage.c:84:
include/net/netlink.h: In function 'nlmsg_ok':
include/net/netlink.h:337:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
nlh->nlmsg_len <= remaining);
^~
include/net/netlink.h: In function 'nlmsg_parse':
include/net/netlink.h:372:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen))
^
include/net/netlink.h: In function 'nlmsg_validate':
include/net/netlink.h:405:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen))
^
In file included from include/net/sch_generic.h:12:0,
from include/linux/filter.h:16,
from include/net/sock.h:62,
from net/unix/garbage.c:84:
include/net/rtnetlink.h: In function 'rtnl_msg_family':
include/net/rtnetlink.h:20:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (nlmsg_len(nlh) >= sizeof(struct rtgenmsg))
^~
In file included from include/linux/linkage.h:4:0,
from include/linux/kernel.h:6,
from net/unix/garbage.c:71:
include/net/sch_generic.h: In function 'qdisc_cb_private_validate':
include/net/sch_generic.h:267:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
BUILD_BUG_ON(sizeof(qcb->data) < sz);
^
include/linux/compiler.h:493:19: note: in definition of macro '__compiletime_assert'
bool __cond = !(condition); \
^~~~~~~~~
include/linux/compiler.h:513:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~~~~~~~~~~~
include/linux/bug.h:50:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
include/linux/bug.h:74:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
^~~~~~~~~~~~~~~~
include/net/sch_generic.h:267:2: note: in expansion of macro 'BUILD_BUG_ON'
BUILD_BUG_ON(sizeof(qcb->data) < sz);
^~~~~~~~~~~~
In file included from include/net/sock.h:62:0,
from net/unix/garbage.c:84:
include/linux/filter.h: In function 'bpf_needs_clear_a':
include/linux/filter.h:517:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (first->k == SKF_AD_OFF + SKF_AD_ALU_XOR_X)
^~
In file included from net/unix/garbage.c:84:0:
include/net/sock.h: In function 'skb_do_copy_data_nocache':
include/net/sock.h:1859:54: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (csum_and_copy_from_iter(to, copy, &csum, from) != copy)
^~
include/net/sock.h:1863:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (copy_from_iter_nocache(to, copy, from) != copy)
^~
include/net/sock.h:1865:44: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
} else if (copy_from_iter(to, copy, from) != copy)
^~
In file included from include/linux/linkage.h:4:0,
from include/linux/kernel.h:6,
from net/unix/garbage.c:71:
net/unix/garbage.c: In function 'unix_gc':
>> net/unix/garbage.c:249:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
BUG_ON(total_refs < u->inflight);
^
include/linux/compiler.h:182:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
net/unix/garbage.c:249:3: note: in expansion of macro 'BUG_ON'
BUG_ON(total_refs < u->inflight);
^~~~~~
net/unix/garbage.c:250:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (total_refs == u->inflight) {
^~
vim +249 net/unix/garbage.c
209
210 /* The external entry point: unix_gc() */
211 void unix_gc(void)
212 {
213 struct unix_sock *u;
214 struct unix_sock *next;
215 struct sk_buff_head hitlist;
216 struct list_head cursor;
217 LIST_HEAD(not_cycle_list);
218
219 spin_lock(&unix_gc_lock);
220
221 /* Avoid a recursive GC. */
222 if (gc_in_progress)
223 goto out;
224
225 /* Paired with READ_ONCE() in wait_for_unix_gc(). */
226 WRITE_ONCE(gc_in_progress, true);
227
228 /* First, select candidates for garbage collection. Only
229 * in-flight sockets are considered, and from those only ones
230 * which don't have any external reference.
231 *
232 * Holding unix_gc_lock will protect these candidates from
233 * being detached, and hence from gaining an external
234 * reference. Since there are no possible receivers, all
235 * buffers currently on the candidates' queues stay there
236 * during the garbage collection.
237 *
238 * We also know that no new candidate can be added onto the
239 * receive queues. Other, non candidate sockets _can_ be
240 * added to queue, so we must make sure only to touch
241 * candidates.
242 */
243 list_for_each_entry_safe(u, next, &gc_inflight_list, link) {
244 long total_refs;
245
246 total_refs = file_count(u->sk.sk_socket->file);
247
248 BUG_ON(!u->inflight);
> 249 BUG_ON(total_refs < u->inflight);
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-06-03 14:02 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-03 14:02 [cip:linux-4.4.y-st-rc 2271/2326] net/unix/garbage.c:249:21: warning: comparison between signed and unsigned integer expressions kernel test robot
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.