Skip to content

Commit b0a930e

Browse files
stefano-garzarellakuba-moo
authored andcommitted
vsock/virtio: fix "comparison of distinct pointer types lacks a cast" warning
After backporting commit 581512a ("vsock/virtio: MSG_ZEROCOPY flag support") in CentOS Stream 9, CI reported the following error: In file included from ./include/linux/kernel.h:17, from ./include/linux/list.h:9, from ./include/linux/preempt.h:11, from ./include/linux/spinlock.h:56, from net/vmw_vsock/virtio_transport_common.c:9: net/vmw_vsock/virtio_transport_common.c: In function ‘virtio_transport_can_zcopy‘: ./include/linux/minmax.h:20:35: error: comparison of distinct pointer types lacks a cast [-Werror] 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^~ ./include/linux/minmax.h:26:18: note: in expansion of macro ‘__typecheck‘ 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ ./include/linux/minmax.h:36:31: note: in expansion of macro ‘__safe_cmp‘ 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ ./include/linux/minmax.h:45:25: note: in expansion of macro ‘__careful_cmp‘ 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ net/vmw_vsock/virtio_transport_common.c:63:37: note: in expansion of macro ‘min‘ 63 | int pages_to_send = min(pages_in_iov, MAX_SKB_FRAGS); We could solve it by using min_t(), but this operation seems entirely unnecessary, because we also pass MAX_SKB_FRAGS to iov_iter_npages(), which performs almost the same check, returning at most MAX_SKB_FRAGS elements. So, let's eliminate this unnecessary comparison. Fixes: 581512a ("vsock/virtio: MSG_ZEROCOPY flag support") Cc: [email protected] Signed-off-by: Stefano Garzarella <[email protected]> Acked-by: Michael S. Tsirkin <[email protected]> Reviewed-by: Arseniy Krasnov <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent c5a1039 commit b0a930e

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

net/vmw_vsock/virtio_transport_common.c

+1-2
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,7 @@ static bool virtio_transport_can_zcopy(const struct virtio_transport *t_ops,
5959
t_ops = virtio_transport_get_ops(info->vsk);
6060

6161
if (t_ops->can_msgzerocopy) {
62-
int pages_in_iov = iov_iter_npages(iov_iter, MAX_SKB_FRAGS);
63-
int pages_to_send = min(pages_in_iov, MAX_SKB_FRAGS);
62+
int pages_to_send = iov_iter_npages(iov_iter, MAX_SKB_FRAGS);
6463

6564
/* +1 is for packet header. */
6665
return t_ops->can_msgzerocopy(pages_to_send + 1);

0 commit comments

Comments
 (0)