[<prev] [next>] [day] [month] [year] [list]
Message-ID: <aMlVWGqpKQRqB1_j@sirena.org.uk>
Date: Tue, 16 Sep 2025 13:17:28 +0100
From: Mark Brown <broonie@...nel.org>
To: "Michael S. Tsirkin" <mst@...hat.com>, Jason Wang <jasowang@...hat.com>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Next Mailing List <linux-next@...r.kernel.org>
Subject: linux-next: build failure after merge of the vhost tree
Hi all,
After merging the vhost tree, today's linux-next build (x86_64 allmodconfig)
failed like this:
/tmp/next/build/drivers/vhost/net.c: In function 'handle_tx_copy':
/tmp/next/build/drivers/vhost/net.c:855:1: error: expected 'while' before 'static'
855 | static void handle_tx_zerocopy(struct vhost_net *net, struct socket *sock)
| ^~~~~~
/tmp/next/build/drivers/vhost/net.c:964:13: error: invalid storage class for function 'handle_tx'
964 | static void handle_tx(struct vhost_net *net)
| ^~~~~~~~~
/tmp/next/build/drivers/vhost/net.c: In function 'handle_tx':
/tmp/next/build/drivers/vhost/net.c:982:17: error: implicit declaration of function 'handle_tx_zerocopy'; did you mean 'handle_tx_copy'? [-Wimplicit-function-declaration]
982 | handle_tx_zerocopy(net, sock);
| ^~~~~~~~~~~~~~~~~~
| handle_tx_copy
/tmp/next/build/drivers/vhost/net.c: In function 'handle_tx_copy':
/tmp/next/build/drivers/vhost/net.c:990:12: error: invalid storage class for function 'peek_head_len'
990 | static int peek_head_len(struct vhost_net_virtqueue *rvq, struct sock *sk)
| ^~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1011:12: error: invalid storage class for function 'vhost_net_rx_peek_head_len'
1011 | static int vhost_net_rx_peek_head_len(struct vhost_net *net, struct sock *sk,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1043:12: error: invalid storage class for function 'get_rx_bufs'
1043 | static int get_rx_bufs(struct vhost_net_virtqueue *nvq,
| ^~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1126:13: error: invalid storage class for function 'handle_rx'
1126 | static void handle_rx(struct vhost_net *net)
| ^~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1281:13: error: invalid storage class for function 'handle_tx_kick'
1281 | static void handle_tx_kick(struct vhost_work *work)
| ^~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1290:13: error: invalid storage class for function 'handle_rx_kick'
1290 | static void handle_rx_kick(struct vhost_work *work)
| ^~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1299:13: error: invalid storage class for function 'handle_tx_net'
1299 | static void handle_tx_net(struct vhost_work *work)
| ^~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1306:13: error: invalid storage class for function 'handle_rx_net'
1306 | static void handle_rx_net(struct vhost_work *work)
| ^~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1313:12: error: invalid storage class for function 'vhost_net_open'
1313 | static int vhost_net_open(struct inode *inode, struct file *f)
| ^~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1381:23: error: invalid storage class for function 'vhost_net_stop_vq'
1381 | static struct socket *vhost_net_stop_vq(struct vhost_net *n,
| ^~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1398:13: error: invalid storage class for function 'vhost_net_stop'
1398 | static void vhost_net_stop(struct vhost_net *n, struct socket **tx_sock,
| ^~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1405:13: error: invalid storage class for function 'vhost_net_flush'
1405 | static void vhost_net_flush(struct vhost_net *n)
| ^~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1421:12: error: invalid storage class for function 'vhost_net_release'
1421 | static int vhost_net_release(struct inode *inode, struct file *f)
| ^~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1449:23: error: invalid storage class for function 'get_raw_socket'
1449 | static struct socket *get_raw_socket(int fd)
| ^~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1473:25: error: invalid storage class for function 'get_tap_ptr_ring'
1473 | static struct ptr_ring *get_tap_ptr_ring(struct file *file)
| ^~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1487:23: error: invalid storage class for function 'get_tap_socket'
1487 | static struct socket *get_tap_socket(int fd)
| ^~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1503:23: error: invalid storage class for function 'get_socket'
1503 | static struct socket *get_socket(int fd)
| ^~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1519:13: error: invalid storage class for function 'vhost_net_set_backend'
1519 | static long vhost_net_set_backend(struct vhost_net *n, unsigned index, int fd)
| ^~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1620:13: error: invalid storage class for function 'vhost_net_reset_owner'
1620 | static long vhost_net_reset_owner(struct vhost_net *n)
| ^~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1650:12: error: invalid storage class for function 'vhost_net_set_features'
1650 | static int vhost_net_set_features(struct vhost_net *n, const u64 *features)
| ^~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1701:13: error: invalid storage class for function 'vhost_net_set_owner'
1701 | static long vhost_net_set_owner(struct vhost_net *n)
| ^~~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1722:13: error: invalid storage class for function 'vhost_net_ioctl'
1722 | static long vhost_net_ioctl(struct file *f, unsigned int ioctl,
| ^~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1821:16: error: invalid storage class for function 'vhost_net_chr_read_iter'
1821 | static ssize_t vhost_net_chr_read_iter(struct kiocb *iocb, struct iov_iter *to)
| ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1831:16: error: invalid storage class for function 'vhost_net_chr_write_iter'
1831 | static ssize_t vhost_net_chr_write_iter(struct kiocb *iocb,
| ^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1841:17: error: invalid storage class for function 'vhost_net_chr_poll'
1841 | static __poll_t vhost_net_chr_poll(struct file *file, poll_table *wait)
| ^~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1851:27: error: initializer element is not constant
1851 | .release = vhost_net_release,
| ^~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1851:27: note: (near initialization for 'vhost_net_fops.release')
/tmp/next/build/drivers/vhost/net.c:1852:27: error: initializer element is not constant
1852 | .read_iter = vhost_net_chr_read_iter,
| ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1852:27: note: (near initialization for 'vhost_net_fops.read_iter')
/tmp/next/build/drivers/vhost/net.c:1853:27: error: initializer element is not constant
1853 | .write_iter = vhost_net_chr_write_iter,
| ^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1853:27: note: (near initialization for 'vhost_net_fops.write_iter')
/tmp/next/build/drivers/vhost/net.c:1854:27: error: initializer element is not constant
1854 | .poll = vhost_net_chr_poll,
| ^~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1854:27: note: (near initialization for 'vhost_net_fops.poll')
/tmp/next/build/drivers/vhost/net.c:1855:27: error: initializer element is not constant
1855 | .unlocked_ioctl = vhost_net_ioctl,
| ^~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1855:27: note: (near initialization for 'vhost_net_fops.unlocked_ioctl')
/tmp/next/build/drivers/vhost/net.c:1857:27: error: initializer element is not constant
1857 | .open = vhost_net_open,
| ^~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1857:27: note: (near initialization for 'vhost_net_fops.open')
/tmp/next/build/drivers/vhost/net.c:1867:19: error: invalid storage class for function 'vhost_net_init'
1867 | static int __init vhost_net_init(void)
| ^~~~~~~~~~~~~~
In file included from /tmp/next/build/include/linux/device/driver.h:21,
from /tmp/next/build/include/linux/device.h:32,
from /tmp/next/build/include/linux/virtio.h:9,
from /tmp/next/build/include/linux/virtio_config.h:7,
from /tmp/next/build/include/uapi/linux/vhost_types.h:16,
from /tmp/next/build/include/uapi/linux/vhost.h:14,
from /tmp/next/build/drivers/vhost/net.c:10:
/tmp/next/build/include/linux/module.h:132:49: error: invalid storage class for function '__inittest'
132 | static inline initcall_t __maybe_unused __inittest(void) \
| ^~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1873:1: note: in expansion of macro 'module_init'
1873 | module_init(vhost_net_init);
| ^~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1873:1: error: 'alias' attribute ignored [-Werror=attributes]
/tmp/next/build/drivers/vhost/net.c:1875:20: error: invalid storage class for function 'vhost_net_exit'
1875 | static void __exit vhost_net_exit(void)
| ^~~~~~~~~~~~~~
/tmp/next/build/include/linux/module.h:140:49: error: invalid storage class for function '__exittest'
140 | static inline exitcall_t __maybe_unused __exittest(void) \
| ^~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1879:1: note: in expansion of macro 'module_exit'
1879 | module_exit(vhost_net_exit);
| ^~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:1879:1: error: 'alias' attribute ignored [-Werror=attributes]
/tmp/next/build/drivers/vhost/net.c:1886:1: error: expected declaration or statement at end of input
1886 | MODULE_ALIAS("devname:vhost-net");
| ^~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c: At top level:
/tmp/next/build/drivers/vhost/net.c:620:13: error: 'vhost_exceeds_maxpend' defined but not used [-Werror=unused-function]
620 | static bool vhost_exceeds_maxpend(struct vhost_net *net)
| ^~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:340:13: error: 'vhost_net_tx_select_zcopy' defined but not used [-Werror=unused-function]
340 | static bool vhost_net_tx_select_zcopy(struct vhost_net *net)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/drivers/vhost/net.c:326:13: error: 'vhost_net_tx_packet' defined but not used [-Werror=unused-function]
326 | static void vhost_net_tx_packet(struct vhost_net *net)
| ^~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[5]: *** [/tmp/next/build/scripts/Makefile.build:287: drivers/vhost/net.o] Error 1
make[4]: *** [/tmp/next/build/scripts/Makefile.build:556: drivers/vhost] Error 2
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [/tmp/next/build/scripts/Makefile.build:556: drivers] Error 2
make[2]: *** [/tmp/next/build/Makefile:2010: .] Error 2
make[1]: *** [/tmp/next/build/Makefile:248: __sub-make] Error 2
make: *** [Makefile:248: __sub-make] Error 2
Command exited with non-zero status 2
16291.57user 1243.39system 1:51.12elapsed 15780%CPU (0avgtext+0avgdata 1397196maxresident)k
0inputs+0outputs (4572major+208444472minor)pagefaults 0swaps
Caused by commit
41bafbdcd27bf ("vhost-net: flush batched before enabling notifications")
I have used the tree from 20250915 instead.
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists