From bf8baae42c9786968c33d7b51050799b88f5bb4b Mon Sep 17 00:00:00 2001 From: idriskalp Date: Mon, 13 Apr 2020 21:35:31 +0300 Subject: [PATCH] ndiswrapper rebuild --- .../ndiswrapper/files/kernel-5.6.patch | 85 +++++++++++++++++++ kernel/drivers/ndiswrapper/pspec.xml | 12 ++- 2 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 kernel/drivers/ndiswrapper/files/kernel-5.6.patch diff --git a/kernel/drivers/ndiswrapper/files/kernel-5.6.patch b/kernel/drivers/ndiswrapper/files/kernel-5.6.patch new file mode 100644 index 00000000..9fd7d612 --- /dev/null +++ b/kernel/drivers/ndiswrapper/files/kernel-5.6.patch @@ -0,0 +1,85 @@ +diff --git a/driver/ntoskernel.c b/driver/ntoskernel.c +index fccb28e..cd87740 100644 +--- a/driver/ntoskernel.c ++++ b/driver/ntoskernel.c +@@ -1763,9 +1763,9 @@ wstdcall void __iomem *WIN_FUNC(MmMapIoSpace,3) + void __iomem *virt; + ENTER1("cache type: %d", cache); + if (cache == MmCached) +- virt = ioremap(phys_addr, size); ++ virt = ioremap_cache(phys_addr, size); + else +- virt = ioremap_nocache(phys_addr, size); ++ virt = ioremap(phys_addr, size); + TRACE1("%llx, %zu, %p", phys_addr, size, virt); + return virt; + } +diff --git a/driver/proc.c b/driver/proc.c +index 8a8cf2b..2622228 100644 +--- a/driver/proc.c ++++ b/driver/proc.c +@@ -70,7 +70,11 @@ static inline void *PDE_DATA(const struct inode *inode) + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26) + static inline struct proc_dir_entry *proc_create_data(const char *name, + umode_t mode, struct proc_dir_entry *parent, ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) ++ struct proc_ops *fops, void *data) ++#else + struct file_operations *fops, void *data) ++#endif + { + struct proc_dir_entry *de; + +@@ -86,7 +90,11 @@ static inline struct proc_dir_entry *proc_create_data(const char *name, + + static int do_proc_make_entry(const char *name, umode_t mode, + struct proc_dir_entry *parent, ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) ++ struct proc_ops *fops, kuid_t uid, ++#else + struct file_operations *fops, kuid_t uid, ++#endif + kgid_t gid, struct ndis_device *wnd) + { + struct proc_dir_entry *de; +@@ -100,6 +108,32 @@ static int do_proc_make_entry(const char *name, umode_t mode, + return 0; + } + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0) ++#define PROC_DECLARE_RO(name) \ ++ static int proc_##name##_open(struct inode *inode, struct file *file) \ ++ { \ ++ return single_open(file, proc_##name##_read, PDE_DATA(inode)); \ ++ } \ ++ static struct proc_ops name##_fops = { \ ++ .proc_open = proc_##name##_open, \ ++ .proc_read = seq_read, \ ++ .proc_lseek = seq_lseek, \ ++ .proc_release = single_release, \ ++ }; ++ ++#define PROC_DECLARE_RW(name) \ ++ static int proc_##name##_open(struct inode *inode, struct file *file) \ ++ { \ ++ return single_open(file, proc_##name##_read, PDE_DATA(inode)); \ ++ } \ ++ static struct proc_ops name##_fops = { \ ++ .proc_open = proc_##name##_open, \ ++ .proc_read = seq_read, \ ++ .proc_lseek = seq_lseek, \ ++ .proc_release = single_release, \ ++ .proc_write = proc_##name##_write, \ ++ }; ++#else + #define PROC_DECLARE_RO(name) \ + static int proc_##name##_open(struct inode *inode, struct file *file) \ + { \ +@@ -126,6 +160,7 @@ static int do_proc_make_entry(const char *name, umode_t mode, + .release = single_release, \ + .write = proc_##name##_write, \ + }; ++#endif + + #define proc_make_entry_ro(name, parent, wnd) \ + do_proc_make_entry(#name, S_IFREG | S_IRUSR | S_IRGRP, parent, \ diff --git a/kernel/drivers/ndiswrapper/pspec.xml b/kernel/drivers/ndiswrapper/pspec.xml index 7ce68f0b..576459e2 100644 --- a/kernel/drivers/ndiswrapper/pspec.xml +++ b/kernel/drivers/ndiswrapper/pspec.xml @@ -18,12 +18,13 @@ dkms.conf - kernel-module-headers + kernel-module-headers kernel-5.3.patch kernel-5.4.patch kernel-5.5.patch + kernel-5.6.patch @@ -44,7 +45,7 @@ module-ndiswrapper - kernel + kernel ndiswrapper-common @@ -76,6 +77,13 @@ + + 2020-04-13 + 1.62 + Rebuild + Mustafa Cinasal + muscnsl@gmail.com + 2020-04-03 1.62