summarylogtreecommitdiffstats
path: root/vmnet.patch
diff options
context:
space:
mode:
authorJean-Marc Lenoir2020-03-13 15:21:57 +0100
committerJean-Marc Lenoir2020-03-13 15:21:57 +0100
commite79bf6fcaf6e062e5cc4fea57594642778b0626e (patch)
tree15e780b014f589fd008b4bf8051a603a62cdd820 /vmnet.patch
parent13aca7afd5c8ec0394448324ce5d60f95f84939d (diff)
downloadaur-e79bf6fcaf6e062e5cc4fea57594642778b0626e.tar.gz
Update to 15.5.2
Diffstat (limited to 'vmnet.patch')
-rw-r--r--vmnet.patch127
1 files changed, 0 insertions, 127 deletions
diff --git a/vmnet.patch b/vmnet.patch
index 4bfb6c58c075..60fc5a12d86f 100644
--- a/vmnet.patch
+++ b/vmnet.patch
@@ -12,130 +12,3 @@
# Header directory for the running kernel
ifdef LINUXINCLUDE
-From f404bc6855ea2c731b617d3b0a2971481eb31cbd Mon Sep 17 00:00:00 2001
-From: Michal Kubecek <mkubecek@suse.cz>
-Date: Thu, 19 Sep 2019 12:20:20 +0200
-Subject: [PATCH] vmnet: handle switch of skb_frag_t to bio_vec
-
-The switch from custom skb_frag_t implementation to bio_vec in v5.4-rc1 is
-mostly transparent for modules which use accessor for skb_frag_t members.
-Unfortunately many users access the members directly and function
-VNetCsumCopyDatagram() in vmnet is one of those.
-
-Use accessors everywhere so that vmnet code is compatible with kernel 5.4
-and newer. Use "compat_" prefix to avoid clashes with backports adding the
-accessors to older codebase.
----
- vmnet-only/userif.c | 39 +++++++++++++++++++++++++++++----------
- 1 file changed, 29 insertions(+), 10 deletions(-)
-
-diff --git a/vmnet-only/userif.c b/vmnet-only/userif.c
-index d385088..aab9478 100644
---- a/vmnet-only/userif.c
-+++ b/vmnet-only/userif.c
-@@ -78,13 +78,31 @@ static int VNetUserIfSetUplinkState(VNetPort *port, uint8 linkUp);
- extern unsigned int vnet_max_qlen;
-
- #if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
--# define compat_kmap(page) kmap(page)
--# define compat_kunmap(page) kunmap(page)
-+# define compat_kmap_frag(frag) kmap((frag)->page)
-+# define compat_kunmap_frag(page) kunmap((frag)->page)
- #else
--# define compat_kmap(page) kmap((page).p)
--# define compat_kunmap(page) kunmap((page).p)
-+# define compat_kmap_frag(frag) kmap(skb_frag_page(frag))
-+# define compat_kunmap_frag(frag) kunmap(skb_frag_page(frag))
- #endif
-
-+static unsigned int compat_skb_frag_size(const skb_frag_t *frag)
-+{
-+#if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
-+ return frag->size;
-+#else
-+ return skb_frag_size(frag);
-+#endif
-+}
-+
-+static unsigned int compat_skb_frag_off(const skb_frag_t *frag)
-+{
-+#if COMPAT_LINUX_VERSION_CHECK_LT(5, 4, 0)
-+ return frag->page_offset;
-+#else
-+ return skb_frag_off(frag);
-+#endif
-+}
-+
- /*
- *-----------------------------------------------------------------------------
- *
-@@ -568,20 +586,21 @@ VNetCsumCopyDatagram(const struct sk_buff *skb, // IN: skb to copy
- for (frag = skb_shinfo(skb)->frags;
- frag != skb_shinfo(skb)->frags + skb_shinfo(skb)->nr_frags;
- frag++) {
-- if (frag->size > 0) {
-+ if (compat_skb_frag_size(frag) > 0) {
- unsigned int tmpCsum;
- const void *vaddr;
-
-- vaddr = compat_kmap(frag->page);
-- tmpCsum = csum_and_copy_to_user(vaddr + frag->page_offset,
-- curr, frag->size, 0, &err);
-- compat_kunmap(frag->page);
-+ vaddr = compat_kmap_frag(frag);
-+ tmpCsum = csum_and_copy_to_user(vaddr + compat_skb_frag_off(frag),
-+ curr, compat_skb_frag_size(frag), 0,
-+ &err);
-+ compat_kunmap_frag(frag);
-
- if (err) {
- return err;
- }
- csum = csum_block_add(csum, tmpCsum, curr - buf);
-- curr += frag->size;
-+ curr += compat_skb_frag_size(frag);
- }
- }
-
-From d8e6c50b735f95af01ddfe8b9d2775ed68aaa625 Mon Sep 17 00:00:00 2001
-From: Michal Kubecek <mkubecek@suse.cz>
-Date: Wed, 5 Feb 2020 07:29:14 +0100
-Subject: [PATCH] vmnet: convert from file_operations to proc_ops
-
-Manline commit 97a32539b956 ("proc: convert everything to "struct
-proc_ops"") in v5.6-rc1 introduces struct proc_ops and converts procfs file
-operations to it. Convert vmnet to do the same.
-
-As the same commit also introduces DEFINE_PROC_SHOW_ATTRIBUTE macro, we can
-use it for detection rather than rely on version comparison.
----
- vmnet-only/procfs.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/vmnet-only/procfs.c b/vmnet-only/procfs.c
-index 165cda0..58e1c4e 100644
---- a/vmnet-only/procfs.c
-+++ b/vmnet-only/procfs.c
-@@ -161,6 +161,14 @@ VNetProcOpen(struct inode *inode, // IN:
- }
-
- /* Our procfs callbacks. We only need to specialize open. */
-+#ifdef DEFINE_PROC_SHOW_ATTRIBUTE
-+static const struct proc_ops fops = {
-+ .proc_open = VNetProcOpen,
-+ .proc_read = seq_read,
-+ .proc_lseek = seq_lseek,
-+ .proc_release = single_release,
-+};
-+#else
- static struct file_operations fops = {
- .open = VNetProcOpen,
- .read = seq_read,
-@@ -168,6 +176,7 @@ static struct file_operations fops = {
- .release = single_release,
- };
- #endif
-+#endif
-
-
- /*