Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 591284 | Differences between
and this patch

Collapse All | Expand All

(-)a/vmmon-only/linux/hostif.c (-1 / +5 lines)
Lines 140-145 static DECLARE_TASKLET(timerTasklet, Hos Link Here
140
 */
140
 */
141
#define LOCKED_PAGE_SLACK 10000
141
#define LOCKED_PAGE_SLACK 10000
142
142
143
#if LINUX_VERSION_CODE > KERNEL_VERSION(4, 7, 0)
144
#define NR_ANON_PAGES NR_ANON_MAPPED
145
#endif
146
143
static struct {
147
static struct {
144
   Atomic_uint64     uptimeBase;
148
   Atomic_uint64     uptimeBase;
145
   VersionedAtomic   version;
149
   VersionedAtomic   version;
Lines 1167-1173 Link Here
1167
   int retval;
1167
   int retval;
1168
1168
1169
   down_read(&current->mm->mmap_sem);
1169
   down_read(&current->mm->mmap_sem);
1170
   retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,
1170
   retval = get_user_pages((unsigned long)uvAddr,
1171
                           numPages, 0, 0, ppages, NULL);
1171
                           numPages, 0, 0, ppages, NULL);
1172
   up_read(&current->mm->mmap_sem);
1172
   up_read(&current->mm->mmap_sem);
1173
1173
(-)a/vmnet-only/userif.c (-1 / +1 lines)
Lines 113-119 Link Here
113
   int retval;
113
   int retval;
114
114
115
   down_read(&current->mm->mmap_sem);
115
   down_read(&current->mm->mmap_sem);
116
   retval = get_user_pages(current, current->mm, addr,
116
   retval = get_user_pages(addr,
117
			   1, 1, 0, &page, NULL);
117
			   1, 1, 0, &page, NULL);
118
   up_read(&current->mm->mmap_sem);
118
   up_read(&current->mm->mmap_sem);
119
119
(-)a/vmnet-only/netif.c (-1 / +1 lines)
Lines 465-471 Link Here
465
   VNetSend(&netIf->port.jack, skb);
465
   VNetSend(&netIf->port.jack, skb);
466
466
467
   netIf->stats.tx_packets++;
467
   netIf->stats.tx_packets++;
468
   dev->trans_start = jiffies;
468
   dev->_tx->trans_start = jiffies;
469
469
470
   return 0;
470
   return 0;
471
}
471
}
(-)a/vmci-only/linux/vmciKernelIf.c (-6 / +2 lines)
Lines 2049-2057 Link Here
2049
   int err = VMCI_SUCCESS;
2049
   int err = VMCI_SUCCESS;
2050
2050
2051
   down_write(&current->mm->mmap_sem);
2051
   down_write(&current->mm->mmap_sem);
2052
   retval = get_user_pages(current,
2052
   retval = get_user_pages((VA)produceUVA,
2053
                           current->mm,
2054
                           (VA)produceUVA,
2055
                           produceQ->kernelIf->numPages,
2053
                           produceQ->kernelIf->numPages,
2056
                           1, 0,
2054
                           1, 0,
2057
                           produceQ->kernelIf->u.h.headerPage,
2055
                           produceQ->kernelIf->u.h.headerPage,
Lines 2063-2071 Link Here
2063
      goto out;
2061
      goto out;
2064
   }
2062
   }
2065
2063
2066
   retval = get_user_pages(current,
2064
   retval = get_user_pages((VA)consumeUVA,
2067
                           current->mm,
2068
                           (VA)consumeUVA,
2069
                           consumeQ->kernelIf->numPages,
2065
                           consumeQ->kernelIf->numPages,
2070
                           1, 0,
2066
                           1, 0,
2071
                           consumeQ->kernelIf->u.h.headerPage,
2067
                           consumeQ->kernelIf->u.h.headerPage,
(-)a/vmci-only/linux/driver.c (-1 / +1 lines)
Lines 1468-1474 Link Here
1468
   int retval;
1468
   int retval;
1469
1469
1470
   down_read(&current->mm->mmap_sem);
1470
   down_read(&current->mm->mmap_sem);
1471
   retval = get_user_pages(current, current->mm, addr,
1471
   retval = get_user_pages(addr,
1472
                           1, 1, 0, &page, NULL);
1472
                           1, 1, 0, &page, NULL);
1473
   up_read(&current->mm->mmap_sem);
1473
   up_read(&current->mm->mmap_sem);
1474
1474
(-)a/vmci-only/linux/vmciKernelIf.c (-1 / +1 lines)
Lines 1835-1841 Link Here
1835
      if (dirty) {
1835
      if (dirty) {
1836
         set_page_dirty(pages[i]);
1836
         set_page_dirty(pages[i]);
1837
      }
1837
      }
1838
      page_cache_release(pages[i]);
1838
      put_page(pages[i]);
1839
      pages[i] = NULL;
1839
      pages[i] = NULL;
1840
   }
1840
   }
1841
}
1841
}
(-)a/vmblock-only/linux/inode.c (+15 lines)
Lines 28-33 Link Here
28
#include <linux/fs.h>
28
#include <linux/fs.h>
29
#include <linux/time.h>
29
#include <linux/time.h>
30
#include <linux/namei.h>
30
#include <linux/namei.h>
31
#include <linux/uaccess.h>
31
32
32
#include "vmblockInt.h"
33
#include "vmblockInt.h"
33
#include "filesystem.h"
34
#include "filesystem.h"
Lines 33-38 Link Here
33
#include "filesystem.h"
33
#include "filesystem.h"
34
#include "block.h"
34
#include "block.h"
35
35
36
inline int readlink_copy(char __user *buffer, int buflen, const char *link)
37
{
38
	int len = PTR_ERR(link);
39
	if (IS_ERR(link))
40
		goto out;
41
42
	len = strlen(link);
43
	if (len > (unsigned) buflen)
44
		len = buflen;
45
	if (copy_to_user(buffer, link, len))
46
		len = -EFAULT;
47
out:
48
	return len;
49
}
36
50
37
/* Inode operations */
51
/* Inode operations */
38
52

Return to bug 591284