mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 23:13:01 +02:00
xen: branch for v6.14-rc1
-----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQRTLbB6QfY48x44uB6AXGG7T9hjvgUCZ5pznQAKCRCAXGG7T9hj vugFAP9C2pZzIEHcXxw5SzlxRw7ntMdLT+aLplhze5+kUOy0OAD/UisdiFAVaN77 Y3h/Jw7J8wh4QMLkVkPBafTWUvXbLwI= =4rig -----END PGP SIGNATURE----- Merge tag 'for-linus-6.14-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen updates from Juergen Gross: "Three minor fixes" * tag 'for-linus-6.14-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen: update pvcalls_front_accept prototype Grab mm lock before grabbing pt lock xen: pcpu: remove unnecessary __ref annotation
This commit is contained in:
commit
b2091a6482
|
@ -781,6 +781,7 @@ void xen_mm_pin_all(void)
|
|||
{
|
||||
struct page *page;
|
||||
|
||||
spin_lock(&init_mm.page_table_lock);
|
||||
spin_lock(&pgd_lock);
|
||||
|
||||
list_for_each_entry(page, &pgd_list, lru) {
|
||||
|
@ -791,6 +792,7 @@ void xen_mm_pin_all(void)
|
|||
}
|
||||
|
||||
spin_unlock(&pgd_lock);
|
||||
spin_unlock(&init_mm.page_table_lock);
|
||||
}
|
||||
|
||||
static void __init xen_mark_pinned(struct mm_struct *mm, struct page *page,
|
||||
|
@ -887,6 +889,7 @@ void xen_mm_unpin_all(void)
|
|||
{
|
||||
struct page *page;
|
||||
|
||||
spin_lock(&init_mm.page_table_lock);
|
||||
spin_lock(&pgd_lock);
|
||||
|
||||
list_for_each_entry(page, &pgd_list, lru) {
|
||||
|
@ -898,6 +901,7 @@ void xen_mm_unpin_all(void)
|
|||
}
|
||||
|
||||
spin_unlock(&pgd_lock);
|
||||
spin_unlock(&init_mm.page_table_lock);
|
||||
}
|
||||
|
||||
static void xen_enter_mmap(struct mm_struct *mm)
|
||||
|
|
|
@ -105,7 +105,7 @@ static ssize_t online_show(struct device *dev,
|
|||
return sprintf(buf, "%u\n", !!(cpu->flags & XEN_PCPU_FLAGS_ONLINE));
|
||||
}
|
||||
|
||||
static ssize_t __ref online_store(struct device *dev,
|
||||
static ssize_t online_store(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
|
|
|
@ -341,6 +341,7 @@ int pvcalls_front_socket(struct socket *sock)
|
|||
pvcalls_exit();
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pvcalls_front_socket);
|
||||
|
||||
static void free_active_ring(struct sock_mapping *map)
|
||||
{
|
||||
|
@ -486,6 +487,7 @@ int pvcalls_front_connect(struct socket *sock, struct sockaddr *addr,
|
|||
pvcalls_exit_sock(sock);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pvcalls_front_connect);
|
||||
|
||||
static int __write_ring(struct pvcalls_data_intf *intf,
|
||||
struct pvcalls_data *data,
|
||||
|
@ -581,6 +583,7 @@ again:
|
|||
pvcalls_exit_sock(sock);
|
||||
return tot_sent;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pvcalls_front_sendmsg);
|
||||
|
||||
static int __read_ring(struct pvcalls_data_intf *intf,
|
||||
struct pvcalls_data *data,
|
||||
|
@ -666,6 +669,7 @@ int pvcalls_front_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
|
|||
pvcalls_exit_sock(sock);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pvcalls_front_recvmsg);
|
||||
|
||||
int pvcalls_front_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
|
||||
{
|
||||
|
@ -719,6 +723,7 @@ int pvcalls_front_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
|
|||
pvcalls_exit_sock(sock);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pvcalls_front_bind);
|
||||
|
||||
int pvcalls_front_listen(struct socket *sock, int backlog)
|
||||
{
|
||||
|
@ -768,8 +773,10 @@ int pvcalls_front_listen(struct socket *sock, int backlog)
|
|||
pvcalls_exit_sock(sock);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pvcalls_front_listen);
|
||||
|
||||
int pvcalls_front_accept(struct socket *sock, struct socket *newsock, int flags)
|
||||
int pvcalls_front_accept(struct socket *sock, struct socket *newsock,
|
||||
struct proto_accept_arg *arg)
|
||||
{
|
||||
struct pvcalls_bedata *bedata;
|
||||
struct sock_mapping *map;
|
||||
|
@ -788,7 +795,7 @@ int pvcalls_front_accept(struct socket *sock, struct socket *newsock, int flags)
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
nonblock = flags & SOCK_NONBLOCK;
|
||||
nonblock = arg->flags & SOCK_NONBLOCK;
|
||||
/*
|
||||
* Backend only supports 1 inflight accept request, will return
|
||||
* errors for the others
|
||||
|
@ -904,6 +911,7 @@ received:
|
|||
pvcalls_exit_sock(sock);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pvcalls_front_accept);
|
||||
|
||||
static __poll_t pvcalls_front_poll_passive(struct file *file,
|
||||
struct pvcalls_bedata *bedata,
|
||||
|
@ -1004,6 +1012,7 @@ __poll_t pvcalls_front_poll(struct file *file, struct socket *sock,
|
|||
pvcalls_exit_sock(sock);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pvcalls_front_poll);
|
||||
|
||||
int pvcalls_front_release(struct socket *sock)
|
||||
{
|
||||
|
@ -1087,6 +1096,7 @@ int pvcalls_front_release(struct socket *sock)
|
|||
pvcalls_exit();
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pvcalls_front_release);
|
||||
|
||||
static const struct xenbus_device_id pvcalls_front_ids[] = {
|
||||
{ "pvcalls" },
|
||||
|
|
|
@ -12,7 +12,7 @@ int pvcalls_front_bind(struct socket *sock,
|
|||
int pvcalls_front_listen(struct socket *sock, int backlog);
|
||||
int pvcalls_front_accept(struct socket *sock,
|
||||
struct socket *newsock,
|
||||
int flags);
|
||||
struct proto_accept_arg *arg);
|
||||
int pvcalls_front_sendmsg(struct socket *sock,
|
||||
struct msghdr *msg,
|
||||
size_t len);
|
||||
|
|
Loading…
Reference in New Issue
Block a user