Merge pull request #1290 from IdrisKalp/master

kernel 5.15.1
This commit is contained in:
Idris Kalp
2021-11-10 02:11:36 +03:00
committed by GitHub
49 changed files with 68497 additions and 27782 deletions
+9 -2
View File
@@ -13,7 +13,7 @@
<Summary>Kernel module allowing to switch dedicated graphics card on Optimus laptops</Summary>
<Description>kernel module allowing to switch dedicated graphics card on Optimus laptops</Description>
<BuildDependencies>
<Dependency version="5.10.78">kernel-module-headers</Dependency>
<Dependency version="5.15.1">kernel-module-headers</Dependency>
</BuildDependencies>
<Archive sha1sum="e282ee682d794e3962baa4dead01917c42571e78" type="targz">https://github.com/Bumblebee-Project/bbswitch/archive/v0.8.tar.gz</Archive>
<Patches>
@@ -24,7 +24,7 @@
<Package>
<Name>module-bbswitch</Name>
<RuntimeDependencies>
<Dependency version="5.10.78">kernel</Dependency>
<Dependency version="5.15.1">kernel</Dependency>
<Dependency release="current">bbswitch-common</Dependency>
</RuntimeDependencies>
<Files>
@@ -62,6 +62,13 @@
</Package>
<History>
<Update release="56">
<Date>2021-11-10</Date>
<Version>0.8</Version>
<Comment>Rebuild</Comment>
<Name>İdris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="55">
<Date>2021-11-08</Date>
<Version>0.8</Version>
+9 -2
View File
@@ -15,7 +15,7 @@
<Archive sha1sum="8acbdbb4ab4ab4123d1773b616904798fbef9277" type="targz" target="i686">https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35-nodebug-pcoem-6_30_223_271.tar.gz</Archive>
<Archive sha1sum="1f568bb989d175813c5631c6629d9479eae6f3be" type="targz" target="x86_64">https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz</Archive>
<BuildDependencies>
<Dependency version="5.10.78">kernel-module-headers</Dependency>
<Dependency version="5.15.1">kernel-module-headers</Dependency>
</BuildDependencies>
<Patches>
<Patch level="1">broadcom-wl-6.30.223.271-debian-fix-kernel-warnings.patch</Patch>
@@ -41,7 +41,7 @@
<Package>
<Name>module-broadcom-wl</Name>
<RuntimeDependencies>
<Dependency version="5.10.78">kernel</Dependency>
<Dependency version="5.15.1">kernel</Dependency>
<Dependency release="current">module-broadcom-wl-userspace</Dependency>
</RuntimeDependencies>
<Files>
@@ -70,6 +70,13 @@
</Package>
<History>
<Update release="55">
<Date>2021-11-10</Date>
<Version>6.30.223.271</Version>
<Comment>Rebuild</Comment>
<Name>İdris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="54">
<Date>2021-11-08</Date>
<Version>6.30.223.271</Version>
@@ -14,7 +14,7 @@
<Description>This package provides the kernel modules needed for mouse integration and shared folder support between VirtualBox host and guest systems.</Description>
<Archive sha1sum="7476bf384ee27bccd8c2f5b1a4991a5bb4c15c46" type="tarxz">https://sourceforge.net/projects/pisilinux/files/source/module-virtualbox-guest-6.1.28.tar.xz</Archive>
<BuildDependencies>
<Dependency version="5.10.78">kernel-module-headers</Dependency>
<Dependency version="5.15.1">kernel-module-headers</Dependency>
</BuildDependencies>
<Patches>
<!-- <Patch>vboxsf-make.patch</Patch> -->
@@ -24,7 +24,7 @@
<Package>
<Name>module-virtualbox-guest</Name>
<RuntimeDependencies>
<Dependency version="5.10.78">kernel</Dependency>
<Dependency version="5.15.1">kernel</Dependency>
<Dependency>baselayout</Dependency>
<Dependency version="current">module-virtualbox-guest-userspace</Dependency>
</RuntimeDependencies>
@@ -55,6 +55,13 @@
</Package>
<History>
<Update release="85">
<Date>2021-11-11</Date>
<Version>6.1.28</Version>
<Comment>Version bump.</Comment>
<Name>İdris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="84">
<Date>2021-11-08</Date>
<Version>6.1.28</Version>
+9 -2
View File
@@ -14,7 +14,7 @@
<Description>This package provides the kernel support for VirtualBox.</Description>
<Archive sha1sum="b46a9e803a55654fa276c2e0c4db917eb085de92" type="tarxz">https://sourceforge.net/projects/pisilinux/files/source/module-virtualbox-6.1.28.tar.xz</Archive>
<BuildDependencies>
<Dependency version="5.10.78">kernel-module-headers</Dependency>
<Dependency version="5.15.1">kernel-module-headers</Dependency>
</BuildDependencies>
<Patches>
<!--Patch level="2">fixes_for_5.6.patch</Patch>
@@ -25,7 +25,7 @@
<Package>
<Name>module-virtualbox</Name>
<RuntimeDependencies>
<Dependency version="5.10.78">kernel</Dependency>
<Dependency version="5.15.1">kernel</Dependency>
<Dependency version="current">module-virtualbox-userspace</Dependency>
</RuntimeDependencies>
<Files>
@@ -51,6 +51,13 @@
</Package>
<History>
<Update release="85">
<Date>2021-11-11</Date>
<Version>6.1.28</Version>
<Comment>Rebuild.</Comment>
<Name>İdris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="84">
<Date>2021-11-08</Date>
<Version>6.1.28</Version>
File diff suppressed because it is too large Load Diff
Binary file not shown.
@@ -16,38 +16,42 @@ Signed-off-by: Thomas Backlund <tmb@mageia.org>
arch/x86/Kconfig | 2 ++
4 files changed, 7 insertions(+), 1 deletion(-)
--- linux-5.8/arch/arm64/Kconfig.orig 2020-08-05 16:08:02.466740952 +0200
+++ linux-5.8/arch/arm64/Kconfig 2020-08-05 16:08:13.368741815 +0200
@@ -1910,3 +1910,5 @@ source "arch/arm64/kvm/Kconfig"
if CRYPTO
source "arch/arm64/crypto/Kconfig"
endif
+
+source "3rdparty/Kconfig"
--- linux-5.8/Makefile.orig 2020-08-05 16:09:32.265748061 +0200
+++ linux-5.8/Makefile 2020-08-05 16:10:02.553750458 +0200
@@ -651,7 +651,7 @@ endif
ifeq ($(KBUILD_EXTMOD),)
# Objects we will link into vmlinux / subdirs we need to visit
core-y := init/ usr/
-drivers-y := drivers/ sound/
+drivers-y := drivers/ sound/ 3rdparty/
drivers-$(CONFIG_SAMPLES) += samples/
drivers-y += net/ virt/
libs-y := lib/
--- linux-5.8/arch/x86/Kconfig.orig 2020-08-05 16:10:48.805754119 +0200
+++ linux-5.8/arch/x86/Kconfig 2020-08-05 16:11:04.602755370 +0200
@@ -2913,3 +2913,5 @@ source "drivers/firmware/Kconfig"
source "arch/x86/kvm/Kconfig"
source "arch/x86/Kconfig.assembler"
+
+source "3rdparty/Kconfig"
--- linux-5.8/arch/arm/Kconfig.orig 2020-08-05 16:12:08.314760413 +0200
+++ linux-5.8/arch/arm/Kconfig 2020-08-05 16:12:22.786761559 +0200
@@ -2064,3 +2064,5 @@ source "arch/arm/crypto/Kconfig"
diff -Nurp linux-5.12/arch/arm/Kconfig linux-5.12-3rd/arch/arm/Kconfig
--- linux-5.12/arch/arm/Kconfig 2021-04-25 23:49:08.000000000 +0300
+++ linux-5.12-3rd/arch/arm/Kconfig 2021-04-26 18:10:06.513775304 +0300
@@ -2016,3 +2016,5 @@ source "arch/arm/crypto/Kconfig"
endif
source "arch/arm/Kconfig.assembler"
+
+source "3rdparty/Kconfig"
diff -Nurp linux-5.12/arch/arm64/Kconfig linux-5.12-3rd/arch/arm64/Kconfig
--- linux-5.12/arch/arm64/Kconfig 2021-04-25 23:49:08.000000000 +0300
+++ linux-5.12-3rd/arch/arm64/Kconfig 2021-04-26 18:10:06.512775257 +0300
@@ -1959,3 +1959,5 @@ source "arch/arm64/kvm/Kconfig"
if CRYPTO
source "arch/arm64/crypto/Kconfig"
endif
+
+source "3rdparty/Kconfig"
diff -Nurp linux-5.12/arch/x86/Kconfig linux-5.12-3rd/arch/x86/Kconfig
--- linux-5.12/arch/x86/Kconfig 2021-04-25 23:49:08.000000000 +0300
+++ linux-5.12-3rd/arch/x86/Kconfig 2021-04-26 18:10:06.512775257 +0300
@@ -2909,3 +2909,5 @@ source "drivers/firmware/Kconfig"
source "arch/x86/kvm/Kconfig"
source "arch/x86/Kconfig.assembler"
+
+source "3rdparty/Kconfig"
diff -Nurp linux-5.14/Makefile linux-5.14-3rd/Makefile
--- linux-5.14/Makefile
+++ linux-5.14-3rd/Makefile
@@ -670,7 +670,7 @@ endif
ifeq ($(KBUILD_EXTMOD),)
# Objects we will link into vmlinux / subdirs we need to visit
core-y := init/ usr/ arch/$(SRCARCH)/
-drivers-y := drivers/ sound/
+drivers-y := drivers/ sound/ 3rdparty/
drivers-$(CONFIG_SAMPLES) += samples/
drivers-$(CONFIG_NET) += net/
drivers-y += virt/
@@ -8,7 +8,7 @@ diff -up ./3rdparty/rtl8723de/Kconfig.tv ./3rdparty/rtl8723de/Kconfig
- ---help---
+ help
Help message of RTL8723DE
diff -up ./3rdparty/rtl8821ce/Kconfig.tv ./3rdparty/rtl8821ce/Kconfig
--- ./3rdparty/rtl8821ce/Kconfig.tv 2020-10-13 16:09:11.157856145 +0200
+++ ./3rdparty/rtl8821ce/Kconfig 2020-10-13 20:58:17.242118685 +0200
@@ -19,7 +19,7 @@ diff -up ./3rdparty/rtl8821ce/Kconfig.tv ./3rdparty/rtl8821ce/Kconfig
- ---help---
+ help
Help message of RTL8821CE
diff -up ./3rdparty/viahss/Kconfig.tv ./3rdparty/viahss/Kconfig
--- ./3rdparty/viahss/Kconfig.tv 2020-10-13 21:02:44.844168369 +0200
+++ ./3rdparty/viahss/Kconfig 2020-10-13 20:59:19.875488718 +0200
@@ -0,0 +1,12 @@
diff -urp linux/3rdparty/rtl8812au.orig/os_dep/linux/recv_linux.c linux/3rdparty/rtl8812au/os_dep/linux/recv_linux.c
--- linux/3rdparty/rtl8812au.orig/os_dep/linux/recv_linux.c 2021-04-26 18:35:37.411027594 +0300
+++ linux/3rdparty/rtl8812au/os_dep/linux/recv_linux.c 2021-04-26 18:53:13.502814526 +0300
@@ -353,7 +353,7 @@ static int napi_recv(_adapter *padapter,
rx_ok = _FALSE;
-#ifdef CONFIG_RTW_GRO
+#if defined(CONFIG_RTW_GRO) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 12, 0)
if (pregistrypriv->en_gro) {
if (rtw_napi_gro_receive(&padapter->napi, pskb) != GRO_DROP)
rx_ok = _TRUE;
@@ -0,0 +1,66 @@
From:
https://github.com/aircrack-ng/rtl8812au/commit/47a38b7c736dd9e9baac9eb07a6dceb83429fb49
diff -Nurp linux-5.15/3rdparty/rtl8812au.orig/core/rtw_br_ext.c linux-5.15/3rdparty/rtl8812au/core/rtw_br_ext.c
--- linux-5.15/3rdparty/rtl8812au.orig/core/rtw_br_ext.c 2021-11-08 23:40:48.236272741 +0200
+++ linux-5.15/3rdparty/rtl8812au/core/rtw_br_ext.c 2021-11-08 23:49:12.118046953 +0200
@@ -17,7 +17,10 @@
#ifdef __KERNEL__
#include <linux/if_arp.h>
#include <net/ip.h>
+ #include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
#include <net/ipx.h>
+#endif
#include <linux/atalk.h>
#include <linux/udp.h>
#include <linux/if_pppox.h>
@@ -169,6 +172,7 @@ static __inline__ void __nat25_generate_
}
+#ifdef _NET_INET_IPX_H_
static __inline__ void __nat25_generate_ipx_network_addr_with_node(unsigned char *networkAddr,
unsigned int *ipxNetAddr, unsigned char *ipxNodeAddr)
{
@@ -189,6 +193,7 @@ static __inline__ void __nat25_generate_
memcpy(networkAddr + 1, (unsigned char *)ipxNetAddr, 4);
memcpy(networkAddr + 5, (unsigned char *)ipxSocketAddr, 2);
}
+#endif
static __inline__ void __nat25_generate_apple_network_addr(unsigned char *networkAddr,
@@ -330,6 +335,7 @@ static __inline__ int __nat25_network_ha
x = networkAddr[7] ^ networkAddr[8] ^ networkAddr[9] ^ networkAddr[10];
return x & (NAT25_HASH_SIZE - 1);
+#ifdef _NET_INET_IPX_H_
} else if (networkAddr[0] == NAT25_IPX) {
unsigned long x;
@@ -337,6 +343,7 @@ static __inline__ int __nat25_network_ha
networkAddr[6] ^ networkAddr[7] ^ networkAddr[8] ^ networkAddr[9] ^ networkAddr[10];
return x & (NAT25_HASH_SIZE - 1);
+#endif
} else if (networkAddr[0] == NAT25_APPLE) {
unsigned long x;
@@ -889,6 +896,7 @@ int nat25_db_handle(_adapter *priv, stru
}
}
+#ifdef _NET_INET_IPX_H_
/*---------------------------------------------------*/
/* Handle IPX and Apple Talk frame */
/*---------------------------------------------------*/
@@ -1109,6 +1117,7 @@ int nat25_db_handle(_adapter *priv, stru
return -1;
}
+#endif
/*---------------------------------------------------*/
/* Handle PPPoE frame */
@@ -0,0 +1,12 @@
diff -urp linux/3rdparty/rtl8821ce.orig/os_dep/linux/recv_linux.c linux/3rdparty/rtl8821ce/os_dep/linux/recv_linux.c
--- linux/3rdparty/rtl8821ce.orig/os_dep/linux/recv_linux.c 2021-04-26 18:35:37.690041052 +0300
+++ linux/3rdparty/rtl8821ce/os_dep/linux/recv_linux.c 2021-04-26 18:53:23.534295732 +0300
@@ -353,7 +353,7 @@ static int napi_recv(_adapter *padapter,
rx_ok = _FALSE;
-#ifdef CONFIG_RTW_GRO
+#if defined(CONFIG_RTW_GRO) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 12, 0)
if (pregistrypriv->en_gro) {
if (rtw_napi_gro_receive(&padapter->napi, pskb) != GRO_DROP)
rx_ok = _TRUE;
@@ -0,0 +1,66 @@
From:
https://github.com/aircrack-ng/rtl8812au/commit/47a38b7c736dd9e9baac9eb07a6dceb83429fb49
diff -Nurp linux-5.15/3rdparty/rtl8821ce.orig/core/rtw_br_ext.c linux-5.15/3rdparty/rtl8821ce/core/rtw_br_ext.c
--- linux-5.15/3rdparty/rtl8821ce.orig/core/rtw_br_ext.c 2021-11-08 23:40:48.236272741 +0200
+++ linux-5.15/3rdparty/rtl8821ce/core/rtw_br_ext.c 2021-11-08 23:49:12.118046953 +0200
@@ -17,7 +17,10 @@
#ifdef __KERNEL__
#include <linux/if_arp.h>
#include <net/ip.h>
+ #include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
#include <net/ipx.h>
+#endif
#include <linux/atalk.h>
#include <linux/udp.h>
#include <linux/if_pppox.h>
@@ -169,6 +172,7 @@ static __inline__ void __nat25_generate_
}
+#ifdef _NET_INET_IPX_H_
static __inline__ void __nat25_generate_ipx_network_addr_with_node(unsigned char *networkAddr,
unsigned int *ipxNetAddr, unsigned char *ipxNodeAddr)
{
@@ -189,6 +193,7 @@ static __inline__ void __nat25_generate_
memcpy(networkAddr + 1, (unsigned char *)ipxNetAddr, 4);
memcpy(networkAddr + 5, (unsigned char *)ipxSocketAddr, 2);
}
+#endif
static __inline__ void __nat25_generate_apple_network_addr(unsigned char *networkAddr,
@@ -330,6 +335,7 @@ static __inline__ int __nat25_network_ha
x = networkAddr[7] ^ networkAddr[8] ^ networkAddr[9] ^ networkAddr[10];
return x & (NAT25_HASH_SIZE - 1);
+#ifdef _NET_INET_IPX_H_
} else if (networkAddr[0] == NAT25_IPX) {
unsigned long x;
@@ -337,6 +343,7 @@ static __inline__ int __nat25_network_ha
networkAddr[6] ^ networkAddr[7] ^ networkAddr[8] ^ networkAddr[9] ^ networkAddr[10];
return x & (NAT25_HASH_SIZE - 1);
+#endif
} else if (networkAddr[0] == NAT25_APPLE) {
unsigned long x;
@@ -889,6 +896,7 @@ int nat25_db_handle(_adapter *priv, stru
}
}
+#ifdef _NET_INET_IPX_H_
/*---------------------------------------------------*/
/* Handle IPX and Apple Talk frame */
/*---------------------------------------------------*/
@@ -1109,6 +1117,7 @@ int nat25_db_handle(_adapter *priv, stru
return -1;
}
+#endif
/*---------------------------------------------------*/
/* Handle PPPoE frame */
@@ -0,0 +1,284 @@
fs/dcache.c | 2 ++
fs/exec.c | 1 +
fs/fcntl.c | 1 +
fs/file_table.c | 2 ++
fs/inode.c | 1 +
fs/namespace.c | 3 +++
fs/notify/group.c | 1 +
fs/open.c | 1 +
fs/read_write.c | 2 ++
fs/splice.c | 2 ++
fs/sync.c | 1 +
fs/xattr.c | 1 +
kernel/locking/lockdep.c | 1 +
kernel/task_work.c | 1 +
security/security.c | 8 ++++++++
15 files changed, 28 insertions(+)
diff -Nurp linux-5.15.1-aufs/fs/dcache.c linux-5.15.1-aufs-mod/fs/dcache.c
--- linux-5.15.1-aufs/fs/dcache.c 2021-11-08 23:01:48.275645778 +0200
+++ linux-5.15.1-aufs-mod/fs/dcache.c 2021-11-08 23:02:45.270309130 +0200
@@ -1425,6 +1425,7 @@ rename_retry:
seq = 1;
goto again;
}
+EXPORT_SYMBOL_GPL(d_walk);
struct check_mount {
struct vfsmount *mnt;
@@ -2970,6 +2971,7 @@ void d_exchange(struct dentry *dentry1,
write_sequnlock(&rename_lock);
}
+EXPORT_SYMBOL_GPL(d_exchange);
/**
* d_ancestor - search for an ancestor
diff -Nurp linux-5.15.1-aufs/fs/exec.c linux-5.15.1-aufs-mod/fs/exec.c
--- linux-5.15.1-aufs/fs/exec.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/fs/exec.c 2021-11-08 23:02:45.270309130 +0200
@@ -111,6 +111,7 @@ bool path_noexec(const struct path *path
return (path->mnt->mnt_flags & MNT_NOEXEC) ||
(path->mnt->mnt_sb->s_iflags & SB_I_NOEXEC);
}
+EXPORT_SYMBOL_GPL(path_noexec);
#ifdef CONFIG_USELIB
/*
diff -Nurp linux-5.15.1-aufs/fs/fcntl.c linux-5.15.1-aufs-mod/fs/fcntl.c
--- linux-5.15.1-aufs/fs/fcntl.c 2021-11-08 23:01:48.275645778 +0200
+++ linux-5.15.1-aufs-mod/fs/fcntl.c 2021-11-08 23:02:45.270309130 +0200
@@ -86,6 +86,7 @@ int setfl(int fd, struct file *filp, uns
out:
return error;
}
+EXPORT_SYMBOL_GPL(setfl);
static void f_modown(struct file *filp, struct pid *pid, enum pid_type type,
int force)
diff -Nurp linux-5.15.1-aufs/fs/file_table.c linux-5.15.1-aufs-mod/fs/file_table.c
--- linux-5.15.1-aufs/fs/file_table.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/fs/file_table.c 2021-11-08 23:02:45.270309130 +0200
@@ -161,6 +161,7 @@ over:
}
return ERR_PTR(-ENFILE);
}
+EXPORT_SYMBOL_GPL(alloc_empty_file);
/*
* Variant of alloc_empty_file() that doesn't check and modify nr_files.
@@ -375,6 +376,7 @@ void __fput_sync(struct file *file)
}
EXPORT_SYMBOL(fput);
+EXPORT_SYMBOL_GPL(__fput_sync);
void __init files_init(void)
{
diff -Nurp linux-5.15.1-aufs/fs/inode.c linux-5.15.1-aufs-mod/fs/inode.c
--- linux-5.15.1-aufs/fs/inode.c 2021-11-08 23:01:48.275645778 +0200
+++ linux-5.15.1-aufs-mod/fs/inode.c 2021-11-08 23:02:45.270309130 +0200
@@ -1788,6 +1788,7 @@ int update_time(struct inode *inode, str
return inode->i_op->update_time(inode, time, flags);
return generic_update_time(inode, time, flags);
}
+EXPORT_SYMBOL_GPL(update_time);
/**
* atime_needs_update - update the access time
diff -Nurp linux-5.15.1-aufs/fs/namespace.c linux-5.15.1-aufs-mod/fs/namespace.c
--- linux-5.15.1-aufs/fs/namespace.c 2021-11-08 23:01:48.276645825 +0200
+++ linux-5.15.1-aufs-mod/fs/namespace.c 2021-11-08 23:02:45.271309177 +0200
@@ -439,6 +439,7 @@ void __mnt_drop_write(struct vfsmount *m
mnt_dec_writers(real_mount(mnt));
preempt_enable();
}
+EXPORT_SYMBOL_GPL(__mnt_drop_write);
/**
* mnt_drop_write - give up write access to a mount
@@ -813,6 +814,7 @@ int is_current_mnt_ns(struct vfsmount *m
{
return check_mnt(real_mount(mnt));
}
+EXPORT_SYMBOL_GPL(is_current_mnt_ns);
/*
* vfsmount lock must be held for write
@@ -2011,6 +2013,7 @@ int iterate_mounts(int (*f)(struct vfsmo
}
return 0;
}
+EXPORT_SYMBOL_GPL(iterate_mounts);
static void lock_mnt_tree(struct mount *mnt)
{
diff -Nurp linux-5.15.1-aufs/fs/notify/group.c linux-5.15.1-aufs-mod/fs/notify/group.c
--- linux-5.15.1-aufs/fs/notify/group.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/fs/notify/group.c 2021-11-08 23:02:45.271309177 +0200
@@ -100,6 +100,7 @@ void fsnotify_get_group(struct fsnotify_
{
refcount_inc(&group->refcnt);
}
+EXPORT_SYMBOL_GPL(fsnotify_get_group);
/*
* Drop a reference to a group. Free it if it's through.
diff -Nurp linux-5.15.1-aufs/fs/open.c linux-5.15.1-aufs-mod/fs/open.c
--- linux-5.15.1-aufs/fs/open.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/fs/open.c 2021-11-08 23:02:45.271309177 +0200
@@ -65,6 +65,7 @@ int do_truncate(struct user_namespace *m
inode_unlock(dentry->d_inode);
return ret;
}
+EXPORT_SYMBOL_GPL(do_truncate);
long vfs_truncate(const struct path *path, loff_t length)
{
diff -Nurp linux-5.15.1-aufs/fs/read_write.c linux-5.15.1-aufs-mod/fs/read_write.c
--- linux-5.15.1-aufs/fs/read_write.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/fs/read_write.c 2021-11-08 23:02:45.271309177 +0200
@@ -492,6 +492,7 @@ ssize_t vfs_read(struct file *file, char
inc_syscr(current);
return ret;
}
+EXPORT_SYMBOL_GPL(vfs_read);
static ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos)
{
@@ -602,6 +603,7 @@ ssize_t vfs_write(struct file *file, con
file_end_write(file);
return ret;
}
+EXPORT_SYMBOL_GPL(vfs_write);
/* file_ppos returns &file->f_pos or NULL if file is stream */
static inline loff_t *file_ppos(struct file *file)
diff -Nurp linux-5.15.1-aufs/fs/splice.c linux-5.15.1-aufs-mod/fs/splice.c
--- linux-5.15.1-aufs/fs/splice.c 2021-11-08 23:01:48.276645825 +0200
+++ linux-5.15.1-aufs-mod/fs/splice.c 2021-11-08 23:02:45.271309177 +0200
@@ -766,6 +766,7 @@ long do_splice_from(struct pipe_inode_in
return warn_unsupported(out, "write");
return out->f_op->splice_write(pipe, out, ppos, len, flags);
}
+EXPORT_SYMBOL_GPL(do_splice_from);
/*
* Attempt to initiate a splice from a file to a pipe.
@@ -795,6 +796,7 @@ long do_splice_to(struct file *in, loff_
return warn_unsupported(in, "read");
return in->f_op->splice_read(in, ppos, pipe, len, flags);
}
+EXPORT_SYMBOL_GPL(do_splice_to);
/**
* splice_direct_to_actor - splices data directly between two non-pipes
diff -Nurp linux-5.15.1-aufs/fs/sync.c linux-5.15.1-aufs-mod/fs/sync.c
--- linux-5.15.1-aufs/fs/sync.c 2021-11-08 23:01:48.276645825 +0200
+++ linux-5.15.1-aufs-mod/fs/sync.c 2021-11-08 23:02:45.271309177 +0200
@@ -39,6 +39,7 @@ int __sync_filesystem(struct super_block
sb->s_op->sync_fs(sb, wait);
return __sync_blockdev(sb->s_bdev, wait);
}
+EXPORT_SYMBOL_GPL(__sync_filesystem);
/*
* Write out and wait upon all dirty data associated with this
diff -Nurp linux-5.15.1-aufs/fs/xattr.c linux-5.15.1-aufs-mod/fs/xattr.c
--- linux-5.15.1-aufs/fs/xattr.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/fs/xattr.c 2021-11-08 23:02:45.271309177 +0200
@@ -384,6 +384,7 @@ vfs_getxattr_alloc(struct user_namespace
*xattr_value = value;
return error;
}
+EXPORT_SYMBOL_GPL(vfs_getxattr_alloc);
ssize_t
__vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name,
diff -Nurp linux-5.15.1-aufs/kernel/locking/lockdep.c linux-5.15.1-aufs-mod/kernel/locking/lockdep.c
--- linux-5.15.1-aufs/kernel/locking/lockdep.c 2021-11-08 23:01:48.277645871 +0200
+++ linux-5.15.1-aufs-mod/kernel/locking/lockdep.c 2021-11-08 23:02:45.271309177 +0200
@@ -210,6 +210,7 @@ inline struct lock_class *lockdep_hlock_
*/
return lock_classes + class_idx;
}
+EXPORT_SYMBOL_GPL(lockdep_hlock_class);
#define hlock_class(hlock) lockdep_hlock_class(hlock)
#ifdef CONFIG_LOCK_STAT
diff -Nurp linux-5.15.1-aufs/kernel/task_work.c linux-5.15.1-aufs-mod/kernel/task_work.c
--- linux-5.15.1-aufs/kernel/task_work.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/kernel/task_work.c 2021-11-08 23:02:45.271309177 +0200
@@ -167,3 +167,4 @@ void task_work_run(void)
} while (work);
}
}
+EXPORT_SYMBOL_GPL(task_work_run);
diff -Nurp linux-5.15.1-aufs/security/security.c linux-5.15.1-aufs-mod/security/security.c
--- linux-5.15.1-aufs/security/security.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/security/security.c 2021-11-08 23:02:45.272309224 +0200
@@ -1147,6 +1147,7 @@ int security_path_rmdir(const struct pat
return 0;
return call_int_hook(path_rmdir, 0, dir, dentry);
}
+EXPORT_SYMBOL_GPL(security_path_rmdir);
int security_path_unlink(const struct path *dir, struct dentry *dentry)
{
@@ -1163,6 +1164,7 @@ int security_path_symlink(const struct p
return 0;
return call_int_hook(path_symlink, 0, dir, dentry, old_name);
}
+EXPORT_SYMBOL_GPL(security_path_symlink);
int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
struct dentry *new_dentry)
@@ -1171,6 +1173,7 @@ int security_path_link(struct dentry *ol
return 0;
return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry);
}
+EXPORT_SYMBOL_GPL(security_path_link);
int security_path_rename(const struct path *old_dir, struct dentry *old_dentry,
const struct path *new_dir, struct dentry *new_dentry,
@@ -1198,6 +1201,7 @@ int security_path_truncate(const struct
return 0;
return call_int_hook(path_truncate, 0, path);
}
+EXPORT_SYMBOL_GPL(security_path_truncate);
int security_path_chmod(const struct path *path, umode_t mode)
{
@@ -1205,6 +1209,7 @@ int security_path_chmod(const struct pat
return 0;
return call_int_hook(path_chmod, 0, path, mode);
}
+EXPORT_SYMBOL_GPL(security_path_chmod);
int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
{
@@ -1212,6 +1217,7 @@ int security_path_chown(const struct pat
return 0;
return call_int_hook(path_chown, 0, path, uid, gid);
}
+EXPORT_SYMBOL_GPL(security_path_chown);
int security_path_chroot(const struct path *path)
{
@@ -1312,6 +1318,7 @@ int security_inode_permission(struct ino
return 0;
return call_int_hook(inode_permission, 0, inode, mask);
}
+EXPORT_SYMBOL_GPL(security_inode_permission);
int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
{
@@ -1509,6 +1516,7 @@ int security_file_permission(struct file
return fsnotify_perm(file, mask);
}
+EXPORT_SYMBOL_GPL(security_file_permission);
int security_file_alloc(struct file *file)
{
@@ -0,0 +1,36 @@
From 435664ed44c4a17e6715d007061e2b155d3535c8 Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
Date: Fri, 1 Oct 2021 13:38:15 +1000
Subject: procfs: do not list TID 0 in /proc/<pid>/task
If a task exits concurrently, task_pid_nr_ns may return 0.
Link: https://lkml.kernel.org/r/8735pn5dx7.fsf@oldenburg.str.redhat.com
Signed-off-by: Florian Weimer <fweimer@redhat.com>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
fs/proc/base.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 533d5836eb9a4..54f29399088f0 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -3800,6 +3800,9 @@ static int proc_task_readdir(struct file *file, struct dir_context *ctx)
char name[10 + 1];
unsigned int len;
tid = task_pid_nr_ns(task, ns);
+ if (!tid)
+ /* The task has just exited. */
+ continue;
len = snprintf(name, sizeof(name), "%u", tid);
if (!proc_fill_cache(file, ctx, name, len,
proc_task_instantiate, task, NULL)) {
--
cgit 1.2.3-1.el7
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,30 @@
sparse_keymap_free() is now obsolete.
Signed-off-by: Thomas Backlund <tmb@mageia.org>
--- linux/drivers/platform/x86/shuttle-wmi.c.orig 2017-10-15 00:39:53.041395980 +0300
+++ linux/drivers/platform/x86/shuttle-wmi.c 2017-10-15 01:05:37.008662881 +0300
@@ -763,14 +763,9 @@ static int shuttle_wmi_input_init(struct
goto err_free_dev;
rc = input_register_device(input);
- if (rc)
- goto err_free_keymap;
priv->inputdev = input;
return 0;
-
-err_free_keymap:
- sparse_keymap_free(input);
err_free_dev:
input_free_device(input);
return rc;
@@ -780,7 +775,6 @@ static void shuttle_wmi_input_remove(str
{
struct input_dev *input = priv->inputdev;
- sparse_keymap_free(input);
input_unregister_device(input);
}
@@ -0,0 +1,19 @@
--- linux/drivers/platform/x86/shuttle-wmi.c.orig 2015-09-30 00:51:13.000000000 +0300
+++ linux/drivers/platform/x86/shuttle-wmi.c 2015-09-30 02:04:20.808458393 +0300
@@ -26,6 +26,7 @@
#include <linux/input/sparse-keymap.h>
#include <linux/backlight.h>
#include <linux/fb.h>
+#include <acpi/video.h>
MODULE_AUTHOR("Herton Ronaldo Krzesinski");
MODULE_DESCRIPTION("Shuttle WMI Extras Driver");
@@ -1161,7 +1162,7 @@ static int shuttle_wmi_probe(struct plat
goto err_notify;
}
- if (!acpi_video_backlight_support()) {
+ if (acpi_video_get_backlight_type() == acpi_backlight_vendor) {
rc = shuttle_wmi_backlight_init(priv);
if (rc)
goto err_backlight;
@@ -0,0 +1,38 @@
--- ./drivers/platform/x86/shuttle-wmi.c.orig 2013-01-16 18:13:57.000000000 +0200
+++ ./drivers/platform/x86/shuttle-wmi.c 2013-01-16 18:41:13.676433242 +0200
@@ -294,7 +294,7 @@ static struct dmi_system_id shuttle_dmi_
{}
};
-static struct dmi_system_id __devinitdata shuttle_quirk_bl_dmi_ids[] = {
+static struct dmi_system_id shuttle_quirk_bl_dmi_ids[] = {
{
.ident = "Positivo M13",
.matches = {
@@ -1105,7 +1105,7 @@ fn_init_err:
return rc;
}
-static int __devinit shuttle_wmi_probe(struct platform_device *pdev)
+static int shuttle_wmi_probe(struct platform_device *pdev)
{
struct shuttle_wmi *priv;
int rc, i;
@@ -1181,7 +1181,7 @@ err_debugfs:
return rc;
}
-static int __devexit shuttle_wmi_remove(struct platform_device *pdev)
+static int shuttle_wmi_remove(struct platform_device *pdev)
{
struct shuttle_wmi *priv = platform_get_drvdata(pdev);
@@ -1211,7 +1211,7 @@ static struct platform_driver shuttle_wm
.pm = &shuttle_wmi_pm_ops,
},
.probe = shuttle_wmi_probe,
- .remove = __devexit_p(shuttle_wmi_remove),
+ .remove = shuttle_wmi_remove,
};
static struct platform_device *shuttle_wmi_device;
@@ -0,0 +1,35 @@
pr_warning is now pr_warn
Signed-off-by: Thomas Backlund <tmb@mageia.org>
--- ./drivers/platform/x86/shuttle-wmi.c.orig 2020-02-03 17:22:16.374611323 +0200
+++ ./drivers/platform/x86/shuttle-wmi.c 2020-02-03 18:19:03.663898669 +0200
@@ -379,7 +379,7 @@ static int wmi_setget_mtd(struct shuttle
kfree(obj);
} else {
if (res) {
- pr_warning("No result from WMI method (%s)", __func__);
+ pr_warn("No result from WMI method (%s)", __func__);
res = NULL;
}
}
@@ -628,7 +628,7 @@ static void shuttle_wmi_notify(u32 value
status = wmi_get_event_data(value, &res);
if (status != AE_OK) {
- pr_warning("unable to retrieve wmi event status"
+ pr_warn("unable to retrieve wmi event status"
" (error=0x%x)\n", status);
return;
}
@@ -678,7 +678,7 @@ static void shuttle_wmi_notify(u32 value
break;
case 0xec: /* Lost event */
if (printk_ratelimit())
- pr_warning("lost event because of buggy BIOS");
+ pr_warn("lost event because of buggy BIOS");
break;
default:
pr_info("unknown wmi notification type (0x%02x)\n", type);
+29 -6
View File
@@ -12,7 +12,7 @@
<IsA>kernel</IsA>
<Summary>The Linux kernel (the core of the Linux operating system) for Pisi Linux</Summary>
<Description>kernel contains the Linux kernel, the core of any Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc.</Description>
<Archive sha1sum="baa841f624f6cfdafe01026963dcd32b334a3752" type="targz">https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.gz</Archive>
<Archive sha1sum="01961045127c21f8a9dbaa9e7705dbb9e4cffbaa" type="targz">https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.gz</Archive>
<AdditionalFiles>
<AdditionalFile target="configs/kernel-x86_64-config">configs/kernel-x86_64-config</AdditionalFile>
<AdditionalFile permission="0755" target="generate-module-list">scripts/generate-module-list</AdditionalFile>
@@ -33,13 +33,22 @@
</BuildDependencies>
<Patches>
<!-- Linux patches -->
<Patch level="1" compressionType="xz">patches/linux/patch-5.10.78.xz</Patch>
<Patch level="1" compressionType="xz">patches/linux/patch-5.15.1.xz</Patch>
<!-- Mageia Linux patches-->
<Patch level="1">patches/mageia/fs-aufs5.10.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs5.10-symbol-exports.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs5.10-tristate.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs5.15.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs5.15-symbol-exports.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs5.15-tristate.patch</Patch>
<Patch level="1">patches/mageia/fs-procfs-do-not-list-TID-0-in-proc-pid-task.patch</Patch>
<Patch level="1">patches/mageia/CVE-2019-12379.patch</Patch>
<Patch level="1">patches/mageia/CVE-2020-16119-DCCP-CCID-structure-use-after-free.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-add-shuttle-wmi-driver.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-shuttle-wmi-drop-devinit-exit.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-shuttle-wmi-4.2-buildfix.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-shuttle-wmi-4.13-buildfix.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-shuttle-wmi-kernel-5.5.patch</Patch>
<Patch level="1">patches/mageia/3rd-3rdparty-tree.patch</Patch>
<Patch level="1">patches/mageia/3rd-3rdparty-merge.patch</Patch>
@@ -52,7 +61,8 @@
<Patch level="1">patches/mageia/3rd-rtl8812au.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8812au-Kconfig-Makefile.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8812au-rename.patch</Patch>
<!-- <Patch level="1">patches/mageia/3rd-rtl8812au-kernel-5.10.patch</Patch> -->
<Patch level="1">patches/mageia/3rd-rtl8812au-kernel-5.12.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8812au-kernel-5.15.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8723de.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8723de-Kconfig-Makefile.patch</Patch>
@@ -72,6 +82,8 @@
<Patch level="1">patches/mageia/3rd-rtl8821ce-Kconfig-Makefile.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8821ce-5.8-fix.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8821ce-kernel-5.10.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8821ce-kernel-5.12.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8821ce-kernel-5.15.patch</Patch>
<Patch level="1">patches/mageia/3rd-fix-kconfig.patch</Patch>
@@ -142,6 +154,17 @@
</Package>
<History>
<Update release="63">
<Date>2021-11-10</Date>
<Version>5.15.1</Version>
<Comment>Version bump.</Comment>
<Type package="kernel">security</Type>
<Requires>
<Action package="kernel">systemRestart</Action>
</Requires>
<Name>İdris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="62">
<Date>2021-11-08</Date>
<Version>5.10.78</Version>
@@ -16,38 +16,42 @@ Signed-off-by: Thomas Backlund <tmb@mageia.org>
arch/x86/Kconfig | 2 ++
4 files changed, 7 insertions(+), 1 deletion(-)
--- linux-5.8/arch/arm64/Kconfig.orig 2020-08-05 16:08:02.466740952 +0200
+++ linux-5.8/arch/arm64/Kconfig 2020-08-05 16:08:13.368741815 +0200
@@ -1910,3 +1910,5 @@ source "arch/arm64/kvm/Kconfig"
if CRYPTO
source "arch/arm64/crypto/Kconfig"
endif
+
+source "3rdparty/Kconfig"
--- linux-5.8/Makefile.orig 2020-08-05 16:09:32.265748061 +0200
+++ linux-5.8/Makefile 2020-08-05 16:10:02.553750458 +0200
@@ -651,7 +651,7 @@ endif
ifeq ($(KBUILD_EXTMOD),)
# Objects we will link into vmlinux / subdirs we need to visit
core-y := init/ usr/
-drivers-y := drivers/ sound/
+drivers-y := drivers/ sound/ 3rdparty/
drivers-$(CONFIG_SAMPLES) += samples/
drivers-y += net/ virt/
libs-y := lib/
--- linux-5.8/arch/x86/Kconfig.orig 2020-08-05 16:10:48.805754119 +0200
+++ linux-5.8/arch/x86/Kconfig 2020-08-05 16:11:04.602755370 +0200
@@ -2913,3 +2913,5 @@ source "drivers/firmware/Kconfig"
source "arch/x86/kvm/Kconfig"
source "arch/x86/Kconfig.assembler"
+
+source "3rdparty/Kconfig"
--- linux-5.8/arch/arm/Kconfig.orig 2020-08-05 16:12:08.314760413 +0200
+++ linux-5.8/arch/arm/Kconfig 2020-08-05 16:12:22.786761559 +0200
@@ -2064,3 +2064,5 @@ source "arch/arm/crypto/Kconfig"
diff -Nurp linux-5.12/arch/arm/Kconfig linux-5.12-3rd/arch/arm/Kconfig
--- linux-5.12/arch/arm/Kconfig 2021-04-25 23:49:08.000000000 +0300
+++ linux-5.12-3rd/arch/arm/Kconfig 2021-04-26 18:10:06.513775304 +0300
@@ -2016,3 +2016,5 @@ source "arch/arm/crypto/Kconfig"
endif
source "arch/arm/Kconfig.assembler"
+
+source "3rdparty/Kconfig"
diff -Nurp linux-5.12/arch/arm64/Kconfig linux-5.12-3rd/arch/arm64/Kconfig
--- linux-5.12/arch/arm64/Kconfig 2021-04-25 23:49:08.000000000 +0300
+++ linux-5.12-3rd/arch/arm64/Kconfig 2021-04-26 18:10:06.512775257 +0300
@@ -1959,3 +1959,5 @@ source "arch/arm64/kvm/Kconfig"
if CRYPTO
source "arch/arm64/crypto/Kconfig"
endif
+
+source "3rdparty/Kconfig"
diff -Nurp linux-5.12/arch/x86/Kconfig linux-5.12-3rd/arch/x86/Kconfig
--- linux-5.12/arch/x86/Kconfig 2021-04-25 23:49:08.000000000 +0300
+++ linux-5.12-3rd/arch/x86/Kconfig 2021-04-26 18:10:06.512775257 +0300
@@ -2909,3 +2909,5 @@ source "drivers/firmware/Kconfig"
source "arch/x86/kvm/Kconfig"
source "arch/x86/Kconfig.assembler"
+
+source "3rdparty/Kconfig"
diff -Nurp linux-5.14/Makefile linux-5.14-3rd/Makefile
--- linux-5.14/Makefile
+++ linux-5.14-3rd/Makefile
@@ -670,7 +670,7 @@ endif
ifeq ($(KBUILD_EXTMOD),)
# Objects we will link into vmlinux / subdirs we need to visit
core-y := init/ usr/ arch/$(SRCARCH)/
-drivers-y := drivers/ sound/
+drivers-y := drivers/ sound/ 3rdparty/
drivers-$(CONFIG_SAMPLES) += samples/
drivers-$(CONFIG_NET) += net/
drivers-y += virt/
@@ -9,17 +9,6 @@ diff -up ./3rdparty/rtl8723de/Kconfig.tv ./3rdparty/rtl8723de/Kconfig
+ help
Help message of RTL8723DE
diff -up ./3rdparty/rtl8812au/Kconfig.tv ./3rdparty/rtl8812au/Kconfig
--- ./3rdparty/rtl8812au/Kconfig.tv 2020-10-13 21:02:36.391016614 +0200
+++ ./3rdparty/rtl8812au/Kconfig 2020-10-13 20:59:07.421226249 +0200
@@ -1,6 +1,6 @@
config RTL8812AU
tristate "Realtek 8812au USB WiFi"
depends on USB
- ---help---
+ help
Help message of 8812au
diff -up ./3rdparty/rtl8821ce/Kconfig.tv ./3rdparty/rtl8821ce/Kconfig
--- ./3rdparty/rtl8821ce/Kconfig.tv 2020-10-13 16:09:11.157856145 +0200
+++ ./3rdparty/rtl8821ce/Kconfig 2020-10-13 20:58:17.242118685 +0200
@@ -50102,7 +50102,7 @@ diff -Nurp linux-5.6.3/3rdparty/rtl8723de/core/rtw_mlme_ext.c linux-5.6.3-rtl872
+
+ rtw_phydm_ability_backup(padapter);
+
+ sitesurvey_set_ici(padapter);
+ sitesurvey_set_igi(padapter);
+
+ /* config dynamic functions for off channel */
+ rtw_phydm_func_for_offchannel(padapter);
@@ -1,281 +0,0 @@
From ee9619ba0c8840db6d59d11989c31e24a8f0d806 Mon Sep 17 00:00:00 2001
From: Carlos <CGarces@users.noreply.github.com>
Date: Sun, 8 Nov 2020 12:25:43 +0000
Subject: [PATCH] Fix kernel 5.10-rc1
---
3rdparty/rtl8812au/core/rtw_btcoex.c | 7 ++++++-
3rdparty/rtl8812au/core/rtw_wlan_util.c | 10 ++++++----
3rdparty/rtl8812au/os_dep/linux/os_intfs.c | 19 +++++++++++++-----
3rdparty/rtl8812au/os_dep/osdep_service.c | 43 +++++++++++++++++++++++++++--------------
4 files changed, 54 insertions(+), 25 deletions(-)
diff --git a/3rdparty/rtl8812au/core/rtw_btcoex.c b/3rdparty/rtl8812au/core/rtw_btcoex.c
index d5b89bdc..f5e0f567 100644
--- a/3rdparty/rtl8812au/core/rtw_btcoex.c
+++ b/3rdparty/rtl8812au/core/rtw_btcoex.c
@@ -1443,7 +1443,9 @@ u8 rtw_btcoex_sendmsgbysocket(_adapter *padapter, u8 *msg, u8 msg_size, bool for
{
u8 error;
struct msghdr udpmsg;
+#ifdef set_fs
mm_segment_t oldfs;
+#endif
struct iovec iov;
struct bt_coex_info *pcoex_info = &padapter->coex_info;
@@ -1473,15 +1475,18 @@ u8 rtw_btcoex_sendmsgbysocket(_adapter *padapter, u8 *msg, u8 msg_size, bool for
udpmsg.msg_control = NULL;
udpmsg.msg_controllen = 0;
udpmsg.msg_flags = MSG_DONTWAIT | MSG_NOSIGNAL;
+#ifdef set_fs
oldfs = get_fs();
set_fs(KERNEL_DS);
-
+#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
error = sock_sendmsg(pcoex_info->udpsock, &udpmsg);
#else
error = sock_sendmsg(pcoex_info->udpsock, &udpmsg, msg_size);
#endif
+#ifdef set_fs
set_fs(oldfs);
+#endif
if (error < 0) {
RTW_INFO("Error when sendimg msg, error:%d\n", error);
return _FAIL;
diff --git a/3rdparty/rtl8812au/core/rtw_wlan_util.c b/3rdparty/rtl8812au/core/rtw_wlan_util.c
index b4cecd11..e465e9b5 100644
--- a/3rdparty/rtl8812au/core/rtw_wlan_util.c
+++ b/3rdparty/rtl8812au/core/rtw_wlan_util.c
@@ -4744,7 +4744,9 @@ int rtw_dev_nlo_info_set(struct pno_nlo_info *nlo_info, pno_ssid_t *ssid,
int i = 0;
struct file *fp;
+#ifdef set_fs
mm_segment_t fs;
+#endif
loff_t pos = 0;
u8 *source = NULL;
long len = 0;
@@ -4780,10 +4782,10 @@ int rtw_dev_nlo_info_set(struct pno_nlo_info *nlo_info, pno_ssid_t *ssid,
RTW_INFO("Error, cipher array using default value.\n");
return 0;
}
-
+#ifdef set_fs
fs = get_fs();
set_fs(KERNEL_DS);
-
+#endif
source = rtw_zmalloc(2048);
if (source != NULL) {
@@ -4791,10 +4793,10 @@ int rtw_dev_nlo_info_set(struct pno_nlo_info *nlo_info, pno_ssid_t *ssid,
rtw_parse_cipher_list(nlo_info, source);
rtw_mfree(source, 2048);
}
-
+#ifdef set_fs
set_fs(fs);
filp_close(fp, NULL);
-
+#endif
RTW_INFO("-%s-\n", __func__);
return 0;
}
diff --git a/3rdparty/rtl8812au/os_dep/linux/os_intfs.c b/3rdparty/rtl8812au/os_dep/linux/os_intfs.c
index 1085d6cd..a37e488b 100644
--- a/3rdparty/rtl8812au/os_dep/linux/os_intfs.c
+++ b/3rdparty/rtl8812au/os_dep/linux/os_intfs.c
@@ -4029,7 +4029,9 @@ static int route_dump(u32 *gw_addr , int *gw_index)
struct msghdr msg;
struct iovec iov;
struct sockaddr_nl nladdr;
+#ifdef set_fs
mm_segment_t oldfs;
+#endif
char *pg;
int size = 0;
@@ -4067,16 +4069,18 @@ static int route_dump(u32 *gw_addr , int *gw_index)
msg.msg_control = NULL;
msg.msg_controllen = 0;
msg.msg_flags = MSG_DONTWAIT;
-
+#ifdef set_fs
oldfs = get_fs();
set_fs(KERNEL_DS);
+#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
err = sock_sendmsg(sock, &msg);
#else
err = sock_sendmsg(sock, &msg, sizeof(req));
#endif
+#ifdef set_fs
set_fs(oldfs);
-
+#endif
if (err < 0)
goto out_sock;
@@ -4099,16 +4103,18 @@ static int route_dump(u32 *gw_addr , int *gw_index)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0))
iov_iter_init(&msg.msg_iter, READ, &iov, 1, PAGE_SIZE);
#endif
-
+#ifdef set_fs
oldfs = get_fs();
set_fs(KERNEL_DS);
+#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0))
err = sock_recvmsg(sock, &msg, MSG_DONTWAIT);
#else
err = sock_recvmsg(sock, &msg, PAGE_SIZE, MSG_DONTWAIT);
#endif
+#ifdef set_fs
set_fs(oldfs);
-
+#endif
if (err < 0)
goto out_sock_pg;
@@ -4178,15 +4184,18 @@ static int route_dump(u32 *gw_addr , int *gw_index)
msg.msg_controllen = 0;
msg.msg_flags = MSG_DONTWAIT;
+#ifdef set_fs
oldfs = get_fs();
set_fs(KERNEL_DS);
+#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
err = sock_sendmsg(sock, &msg);
#else
err = sock_sendmsg(sock, &msg, sizeof(req));
#endif
+#ifdef set_fs
set_fs(oldfs);
-
+#endif
if (err > 0)
goto restart;
}
diff --git a/3rdparty/rtl8812au/os_dep/osdep_service.c b/3rdparty/rtl8812au/os_dep/osdep_service.c
index 7c6d1208..0769b49d 100644
--- a/3rdparty/rtl8812au/os_dep/osdep_service.c
+++ b/3rdparty/rtl8812au/os_dep/osdep_service.c
@@ -2164,11 +2164,21 @@ static int writeFile(struct file *fp, char *buf, int len)
{
int wlen = 0, sum = 0;
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
+ if (!(fp->f_mode & FMODE_CAN_WRITE))
+#else
if (!fp->f_op || !fp->f_op->write)
+#endif
return -EPERM;
while (sum < len) {
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0))
+ wlen = kernel_write(fp, buf + sum, len - sum, &fp->f_pos);
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
+ wlen = __vfs_write(fp, buf + sum, len - sum, &fp->f_pos);
+#else
wlen = fp->f_op->write(fp, buf + sum, len - sum, &fp->f_pos);
+#endif
if (wlen > 0)
sum += wlen;
else if (0 != wlen)
@@ -2191,19 +2201,19 @@ static int isFileReadable(const char *path, u32 *sz)
{
struct file *fp;
int ret = 0;
+#ifdef set_fs
mm_segment_t oldfs;
+#endif
char buf;
fp = filp_open(path, O_RDONLY, 0);
if (IS_ERR(fp))
ret = PTR_ERR(fp);
else {
+#ifdef set_fs
oldfs = get_fs();
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0))
set_fs(KERNEL_DS);
- #else
- set_fs(get_ds());
- #endif
+#endif
if (1 != readFile(fp, &buf, 1))
ret = PTR_ERR(fp);
@@ -2215,8 +2225,9 @@ static int isFileReadable(const char *path, u32 *sz)
*sz = i_size_read(fp->f_dentry->d_inode);
#endif
}
-
+#ifdef set_fs
set_fs(oldfs);
+#endif
filp_close(fp, NULL);
}
return ret;
@@ -2232,22 +2243,23 @@ static int isFileReadable(const char *path, u32 *sz)
static int retriveFromFile(const char *path, u8 *buf, u32 sz)
{
int ret = -1;
+#ifdef set_fs
mm_segment_t oldfs;
+#endif
struct file *fp;
if (path && buf) {
ret = openFile(&fp, path, O_RDONLY, 0);
if (0 == ret) {
RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp);
-
+#ifdef set_fs
oldfs = get_fs();
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0))
set_fs(KERNEL_DS);
- #else
- set_fs(get_ds());
- #endif
ret = readFile(fp, buf, sz);
set_fs(oldfs);
+#else
+ ret = readFile(fp, buf, sz);
+#endif
closeFile(fp);
RTW_INFO("%s readFile, ret:%d\n", __FUNCTION__, ret);
@@ -2271,22 +2283,23 @@ static int retriveFromFile(const char *path, u8 *buf, u32 sz)
static int storeToFile(const char *path, u8 *buf, u32 sz)
{
int ret = 0;
+#ifdef set_fs
mm_segment_t oldfs;
+#endif
struct file *fp;
if (path && buf) {
ret = openFile(&fp, path, O_CREAT | O_WRONLY, 0666);
if (0 == ret) {
RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp);
-
+#ifdef set_fs
oldfs = get_fs();
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0))
set_fs(KERNEL_DS);
- #else
- set_fs(get_ds());
- #endif
ret = writeFile(fp, buf, sz);
set_fs(oldfs);
+#else
+ ret = writeFile(fp, buf, sz);
+#endif
closeFile(fp);
RTW_INFO("%s writeFile, ret:%d\n", __FUNCTION__, ret);
@@ -0,0 +1,12 @@
diff -urp linux/3rdparty/rtl8812au.orig/os_dep/linux/recv_linux.c linux/3rdparty/rtl8812au/os_dep/linux/recv_linux.c
--- linux/3rdparty/rtl8812au.orig/os_dep/linux/recv_linux.c 2021-04-26 18:35:37.411027594 +0300
+++ linux/3rdparty/rtl8812au/os_dep/linux/recv_linux.c 2021-04-26 18:53:13.502814526 +0300
@@ -353,7 +353,7 @@ static int napi_recv(_adapter *padapter,
rx_ok = _FALSE;
-#ifdef CONFIG_RTW_GRO
+#if defined(CONFIG_RTW_GRO) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 12, 0)
if (pregistrypriv->en_gro) {
if (rtw_napi_gro_receive(&padapter->napi, pskb) != GRO_DROP)
rx_ok = _TRUE;
@@ -0,0 +1,66 @@
From:
https://github.com/aircrack-ng/rtl8812au/commit/47a38b7c736dd9e9baac9eb07a6dceb83429fb49
diff -Nurp linux-5.15/3rdparty/rtl8812au.orig/core/rtw_br_ext.c linux-5.15/3rdparty/rtl8812au/core/rtw_br_ext.c
--- linux-5.15/3rdparty/rtl8812au.orig/core/rtw_br_ext.c 2021-11-08 23:40:48.236272741 +0200
+++ linux-5.15/3rdparty/rtl8812au/core/rtw_br_ext.c 2021-11-08 23:49:12.118046953 +0200
@@ -17,7 +17,10 @@
#ifdef __KERNEL__
#include <linux/if_arp.h>
#include <net/ip.h>
+ #include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
#include <net/ipx.h>
+#endif
#include <linux/atalk.h>
#include <linux/udp.h>
#include <linux/if_pppox.h>
@@ -169,6 +172,7 @@ static __inline__ void __nat25_generate_
}
+#ifdef _NET_INET_IPX_H_
static __inline__ void __nat25_generate_ipx_network_addr_with_node(unsigned char *networkAddr,
unsigned int *ipxNetAddr, unsigned char *ipxNodeAddr)
{
@@ -189,6 +193,7 @@ static __inline__ void __nat25_generate_
memcpy(networkAddr + 1, (unsigned char *)ipxNetAddr, 4);
memcpy(networkAddr + 5, (unsigned char *)ipxSocketAddr, 2);
}
+#endif
static __inline__ void __nat25_generate_apple_network_addr(unsigned char *networkAddr,
@@ -330,6 +335,7 @@ static __inline__ int __nat25_network_ha
x = networkAddr[7] ^ networkAddr[8] ^ networkAddr[9] ^ networkAddr[10];
return x & (NAT25_HASH_SIZE - 1);
+#ifdef _NET_INET_IPX_H_
} else if (networkAddr[0] == NAT25_IPX) {
unsigned long x;
@@ -337,6 +343,7 @@ static __inline__ int __nat25_network_ha
networkAddr[6] ^ networkAddr[7] ^ networkAddr[8] ^ networkAddr[9] ^ networkAddr[10];
return x & (NAT25_HASH_SIZE - 1);
+#endif
} else if (networkAddr[0] == NAT25_APPLE) {
unsigned long x;
@@ -889,6 +896,7 @@ int nat25_db_handle(_adapter *priv, stru
}
}
+#ifdef _NET_INET_IPX_H_
/*---------------------------------------------------*/
/* Handle IPX and Apple Talk frame */
/*---------------------------------------------------*/
@@ -1109,6 +1117,7 @@ int nat25_db_handle(_adapter *priv, stru
return -1;
}
+#endif
/*---------------------------------------------------*/
/* Handle PPPoE frame */
@@ -4,15 +4,15 @@ Adjust driver bits so it keeps the name of the replaced driver
Signed-off-by: Thomas Backlund <tmb@mageia.org>
---
3rdparty/rtl8812au/Kconfig | 6 +++---
3rdparty/rtl8812au/Kconfig | 7 +++----
3rdparty/rtl8812au/Makefile | 8 ++++----
3rdparty/rtl8812au/hal/hal_com.c | 2 +-
3rdparty/rtl8812au/os_dep/linux/ioctl_cfg80211.c | 2 +-
4 files changed, 9 insertions(+), 9 deletions(-)
4 files changed, 9 insertions(+), 10 deletions(-)
diff -Nurp linux-5.5/3rdparty/rtl8812au.orig/hal/hal_com.c linux-5.5/3rdparty/rtl8812au/hal/hal_com.c
--- linux-5.5/3rdparty/rtl8812au.orig/hal/hal_com.c 2020-03-09 01:46:04.750166543 +0200
+++ linux-5.5/3rdparty/rtl8812au/hal/hal_com.c 2020-03-11 18:23:33.839805026 +0200
diff -Nurp linux-5.11/3rdparty/rtl8812au.orig/hal/hal_com.c linux-5.11/3rdparty/rtl8812au/hal/hal_com.c
--- linux-5.11/3rdparty/rtl8812au.orig/hal/hal_com.c 2021-03-07 18:43:20.313672664 +0200
+++ linux-5.11/3rdparty/rtl8812au/hal/hal_com.c 2021-03-07 18:43:51.392141299 +0200
@@ -12879,7 +12879,7 @@ bypass_hw_pg:
_rtw_memset(hal_data->EEPROMMACAddr, 0, ETH_ALEN);
ret = _FAIL;
@@ -22,25 +22,25 @@ diff -Nurp linux-5.5/3rdparty/rtl8812au.orig/hal/hal_com.c linux-5.5/3rdparty/rt
return ret;
}
diff -Nurp linux-5.5/3rdparty/rtl8812au.orig/Kconfig linux-5.5/3rdparty/rtl8812au/Kconfig
--- linux-5.5/3rdparty/rtl8812au.orig/Kconfig 2020-03-09 01:46:04.682163430 +0200
+++ linux-5.5/3rdparty/rtl8812au/Kconfig 2020-03-11 18:21:33.457357175 +0200
@@ -1,6 +1,6 @@
diff -Nurp linux-5.11/3rdparty/rtl8812au.orig/Kconfig linux-5.11/3rdparty/rtl8812au/Kconfig
--- linux-5.11/3rdparty/rtl8812au.orig/Kconfig 2021-03-07 18:43:20.369675309 +0200
+++ linux-5.11/3rdparty/rtl8812au/Kconfig 2021-03-07 18:45:22.910465892 +0200
@@ -1,6 +1,5 @@
-config 88XXAU
- tristate "Realtek 88XXau USB WiFi"
+config RTL8812AU
+ tristate "Realtek 8812au USB WiFi"
depends on USB
---help---
help
- Help message of 88XXau
-
+ Help message of 8812au
diff -Nurp linux-5.11/3rdparty/rtl8812au.orig/Makefile linux-5.11/3rdparty/rtl8812au/Makefile
--- linux-5.11/3rdparty/rtl8812au.orig/Makefile 2021-03-07 18:43:20.370675357 +0200
+++ linux-5.11/3rdparty/rtl8812au/Makefile 2021-03-07 18:43:51.401141725 +0200
@@ -180,9 +180,9 @@ endif
diff -Nurp linux-5.5/3rdparty/rtl8812au.orig/Makefile linux-5.5/3rdparty/rtl8812au/Makefile
--- linux-5.5/3rdparty/rtl8812au.orig/Makefile 2020-03-09 01:46:04.682163430 +0200
+++ linux-5.5/3rdparty/rtl8812au/Makefile 2020-03-11 18:22:16.769317077 +0200
@@ -179,9 +179,9 @@ endif
ifeq ($(CONFIG_RTL8812A)_$(CONFIG_RTL8821A)_$(CONFIG_RTL8814A), y_y_y)
ifeq ($(CONFIG_RTL8812A)_$(CONFIG_RTL8821A)_$(CONFIG_RTL8814A), y_y_n)
-EXTRA_CFLAGS += -DDRV_NAME=\"rtl88XXau\"
+EXTRA_CFLAGS += -DDRV_NAME=\"rtl8812au\"
@@ -50,7 +50,7 @@ diff -Nurp linux-5.5/3rdparty/rtl8812au.orig/Makefile linux-5.5/3rdparty/rtl8812
endif
else
EXTRA_CFLAGS += -DDRV_NAME=\"rtl8812au\"
@@ -2233,11 +2233,11 @@ $(MODULE_NAME)-y += $(_PLATFORM_FILES)
@@ -2232,11 +2232,11 @@ $(MODULE_NAME)-y += $(_PLATFORM_FILES)
$(MODULE_NAME)-$(CONFIG_MP_INCLUDED) += core/rtw_mp.o
@@ -64,10 +64,10 @@ diff -Nurp linux-5.5/3rdparty/rtl8812au.orig/Makefile linux-5.5/3rdparty/rtl8812
all: modules
diff -Nurp linux-5.5/3rdparty/rtl8812au.orig/os_dep/linux/ioctl_cfg80211.c linux-5.5/3rdparty/rtl8812au/os_dep/linux/ioctl_cfg80211.c
--- linux-5.5/3rdparty/rtl8812au.orig/os_dep/linux/ioctl_cfg80211.c 2020-03-09 01:46:04.798168741 +0200
+++ linux-5.5/3rdparty/rtl8812au/os_dep/linux/ioctl_cfg80211.c 2020-03-11 18:24:09.196405329 +0200
@@ -2639,7 +2639,7 @@ void rtw_cfg80211_unlink_bss(_adapter *p
diff -Nurp linux-5.11/3rdparty/rtl8812au.orig/os_dep/linux/ioctl_cfg80211.c linux-5.11/3rdparty/rtl8812au/os_dep/linux/ioctl_cfg80211.c
--- linux-5.11/3rdparty/rtl8812au.orig/os_dep/linux/ioctl_cfg80211.c 2021-03-07 18:43:20.371675404 +0200
+++ linux-5.11/3rdparty/rtl8812au/os_dep/linux/ioctl_cfg80211.c 2021-03-07 18:43:51.402141772 +0200
@@ -2646,7 +2646,7 @@ void rtw_cfg80211_unlink_bss(_adapter *p
#endif
if (!wiphy) {
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,12 @@
diff -urp linux/3rdparty/rtl8821ce.orig/os_dep/linux/recv_linux.c linux/3rdparty/rtl8821ce/os_dep/linux/recv_linux.c
--- linux/3rdparty/rtl8821ce.orig/os_dep/linux/recv_linux.c 2021-04-26 18:35:37.690041052 +0300
+++ linux/3rdparty/rtl8821ce/os_dep/linux/recv_linux.c 2021-04-26 18:53:23.534295732 +0300
@@ -353,7 +353,7 @@ static int napi_recv(_adapter *padapter,
rx_ok = _FALSE;
-#ifdef CONFIG_RTW_GRO
+#if defined(CONFIG_RTW_GRO) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 12, 0)
if (pregistrypriv->en_gro) {
if (rtw_napi_gro_receive(&padapter->napi, pskb) != GRO_DROP)
rx_ok = _TRUE;
@@ -0,0 +1,66 @@
From:
https://github.com/aircrack-ng/rtl8812au/commit/47a38b7c736dd9e9baac9eb07a6dceb83429fb49
diff -Nurp linux-5.15/3rdparty/rtl8821ce.orig/core/rtw_br_ext.c linux-5.15/3rdparty/rtl8821ce/core/rtw_br_ext.c
--- linux-5.15/3rdparty/rtl8821ce.orig/core/rtw_br_ext.c 2021-11-08 23:40:48.236272741 +0200
+++ linux-5.15/3rdparty/rtl8821ce/core/rtw_br_ext.c 2021-11-08 23:49:12.118046953 +0200
@@ -17,7 +17,10 @@
#ifdef __KERNEL__
#include <linux/if_arp.h>
#include <net/ip.h>
+ #include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
#include <net/ipx.h>
+#endif
#include <linux/atalk.h>
#include <linux/udp.h>
#include <linux/if_pppox.h>
@@ -169,6 +172,7 @@ static __inline__ void __nat25_generate_
}
+#ifdef _NET_INET_IPX_H_
static __inline__ void __nat25_generate_ipx_network_addr_with_node(unsigned char *networkAddr,
unsigned int *ipxNetAddr, unsigned char *ipxNodeAddr)
{
@@ -189,6 +193,7 @@ static __inline__ void __nat25_generate_
memcpy(networkAddr + 1, (unsigned char *)ipxNetAddr, 4);
memcpy(networkAddr + 5, (unsigned char *)ipxSocketAddr, 2);
}
+#endif
static __inline__ void __nat25_generate_apple_network_addr(unsigned char *networkAddr,
@@ -330,6 +335,7 @@ static __inline__ int __nat25_network_ha
x = networkAddr[7] ^ networkAddr[8] ^ networkAddr[9] ^ networkAddr[10];
return x & (NAT25_HASH_SIZE - 1);
+#ifdef _NET_INET_IPX_H_
} else if (networkAddr[0] == NAT25_IPX) {
unsigned long x;
@@ -337,6 +343,7 @@ static __inline__ int __nat25_network_ha
networkAddr[6] ^ networkAddr[7] ^ networkAddr[8] ^ networkAddr[9] ^ networkAddr[10];
return x & (NAT25_HASH_SIZE - 1);
+#endif
} else if (networkAddr[0] == NAT25_APPLE) {
unsigned long x;
@@ -889,6 +896,7 @@ int nat25_db_handle(_adapter *priv, stru
}
}
+#ifdef _NET_INET_IPX_H_
/*---------------------------------------------------*/
/* Handle IPX and Apple Talk frame */
/*---------------------------------------------------*/
@@ -1109,6 +1117,7 @@ int nat25_db_handle(_adapter *priv, stru
return -1;
}
+#endif
/*---------------------------------------------------*/
/* Handle PPPoE frame */
@@ -1,284 +0,0 @@
SPDX-License-Identifier: GPL-2.0
aufs5.x-rcN standalone patch
diff --git a/fs/dcache.c b/fs/dcache.c
index ddca6240e0db4..30dec552278dc 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1390,6 +1390,7 @@ void d_walk(struct dentry *parent, void *data,
seq = 1;
goto again;
}
+EXPORT_SYMBOL_GPL(d_walk);
struct check_mount {
struct vfsmount *mnt;
@@ -2935,6 +2936,7 @@ void d_exchange(struct dentry *dentry1, struct dentry *dentry2)
write_sequnlock(&rename_lock);
}
+EXPORT_SYMBOL_GPL(d_exchange);
/**
* d_ancestor - search for an ancestor
diff --git a/fs/exec.c b/fs/exec.c
index 547a2390baf54..18d51d0face68 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -113,6 +113,7 @@ bool path_noexec(const struct path *path)
return (path->mnt->mnt_flags & MNT_NOEXEC) ||
(path->mnt->mnt_sb->s_iflags & SB_I_NOEXEC);
}
+EXPORT_SYMBOL_GPL(path_noexec);
#ifdef CONFIG_USELIB
/*
diff --git a/fs/fcntl.c b/fs/fcntl.c
index 073ca6af500f3..b18afdf81e762 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
@@ -85,6 +85,7 @@ int setfl(int fd, struct file *filp, unsigned long arg)
out:
return error;
}
+EXPORT_SYMBOL_GPL(setfl);
static void f_modown(struct file *filp, struct pid *pid, enum pid_type type,
int force)
diff --git a/fs/file_table.c b/fs/file_table.c
index 709ada3151da5..27a3e3c9f2a82 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -162,6 +162,7 @@ struct file *alloc_empty_file(int flags, const struct cred *cred)
}
return ERR_PTR(-ENFILE);
}
+EXPORT_SYMBOL_GPL(alloc_empty_file);
/*
* Variant of alloc_empty_file() that doesn't check and modify nr_files.
@@ -376,6 +377,7 @@ void __fput_sync(struct file *file)
}
EXPORT_SYMBOL(fput);
+EXPORT_SYMBOL_GPL(__fput_sync);
void __init files_init(void)
{
diff --git a/fs/inode.c b/fs/inode.c
index e7f0c614a58f3..6fe0a92a4c93c 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1776,6 +1776,7 @@ int update_time(struct inode *inode, struct timespec64 *time, int flags)
return inode->i_op->update_time(inode, time, flags);
return generic_update_time(inode, time, flags);
}
+EXPORT_SYMBOL_GPL(update_time);
/**
* touch_atime - update the access time
diff --git a/fs/namespace.c b/fs/namespace.c
index 451dee24a546a..38078cbede431 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -431,6 +431,7 @@ void __mnt_drop_write(struct vfsmount *mnt)
mnt_dec_writers(real_mount(mnt));
preempt_enable();
}
+EXPORT_SYMBOL_GPL(__mnt_drop_write);
/**
* mnt_drop_write - give up write access to a mount
@@ -797,6 +798,7 @@ int is_current_mnt_ns(struct vfsmount *mnt)
{
return check_mnt(real_mount(mnt));
}
+EXPORT_SYMBOL_GPL(is_current_mnt_ns);
/*
* vfsmount lock must be held for write
@@ -1961,6 +1963,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
}
return 0;
}
+EXPORT_SYMBOL_GPL(iterate_mounts);
static void lock_mnt_tree(struct mount *mnt)
{
diff --git a/fs/notify/group.c b/fs/notify/group.c
index a4a4b1c64d32a..86dc2efb1850c 100644
--- a/fs/notify/group.c
+++ b/fs/notify/group.c
@@ -100,6 +100,7 @@ void fsnotify_get_group(struct fsnotify_group *group)
{
refcount_inc(&group->refcnt);
}
+EXPORT_SYMBOL_GPL(fsnotify_get_group);
/*
* Drop a reference to a group. Free it if it's through.
diff --git a/fs/open.c b/fs/open.c
index 9af548fb841b0..2ff09b709f7bf 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -65,6 +65,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
inode_unlock(dentry->d_inode);
return ret;
}
+EXPORT_SYMBOL_GPL(do_truncate);
long vfs_truncate(const struct path *path, loff_t length)
{
diff --git a/fs/read_write.c b/fs/read_write.c
index 75f764b434184..7582bb3fb634b 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -503,6 +503,7 @@ ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
inc_syscr(current);
return ret;
}
+EXPORT_SYMBOL_GPL(vfs_read);
static ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos)
{
@@ -613,6 +614,7 @@ ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_
file_end_write(file);
return ret;
}
+EXPORT_SYMBOL_GPL(vfs_write);
/* file_ppos returns &file->f_pos or NULL if file is stream */
static inline loff_t *file_ppos(struct file *file)
diff --git a/fs/splice.c b/fs/splice.c
index 55b5356262085..c13ac0fbac318 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -763,6 +763,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
return warn_unsupported(out, "write");
return out->f_op->splice_write(pipe, out, ppos, len, flags);
}
+EXPORT_SYMBOL_GPL(do_splice_from);
/*
* Attempt to initiate a splice from a file to a pipe.
@@ -787,6 +788,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
return warn_unsupported(in, "read");
return in->f_op->splice_read(in, ppos, pipe, len, flags);
}
+EXPORT_SYMBOL_GPL(do_splice_to);
/**
* splice_direct_to_actor - splices data directly between two non-pipes
diff --git a/fs/sync.c b/fs/sync.c
index b7b5a0a0df6ff..fa5c7fba7f1ba 100644
--- a/fs/sync.c
+++ b/fs/sync.c
@@ -39,6 +39,7 @@ int __sync_filesystem(struct super_block *sb, int wait)
sb->s_op->sync_fs(sb, wait);
return __sync_blockdev(sb->s_bdev, wait);
}
+EXPORT_SYMBOL_GPL(__sync_filesystem);
/*
* Write out and wait upon all dirty data associated with this
diff --git a/fs/xattr.c b/fs/xattr.c
index cd7a563e8bcd4..7d989d57b0f0d 100644
--- a/fs/xattr.c
+++ b/fs/xattr.c
@@ -360,6 +360,7 @@ vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value,
*xattr_value = value;
return error;
}
+EXPORT_SYMBOL_GPL(vfs_getxattr_alloc);
ssize_t
__vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name,
diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index 7f006a47790cf..be002c3a30833 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -209,6 +209,7 @@ inline struct lock_class *lockdep_hlock_class(struct held_lock *hlock)
*/
return lock_classes + class_idx;
}
+EXPORT_SYMBOL_GPL(lockdep_hlock_class);
#define hlock_class(hlock) lockdep_hlock_class(hlock)
#ifdef CONFIG_LOCK_STAT
diff --git a/kernel/task_work.c b/kernel/task_work.c
index 8d6e1217c451c..0e73637adda86 100644
--- a/kernel/task_work.c
+++ b/kernel/task_work.c
@@ -154,3 +154,4 @@ void task_work_run(void)
} while (work);
}
}
+EXPORT_SYMBOL_GPL(task_work_run);
diff --git a/security/security.c b/security/security.c
index a28045dc9e7f6..310cf38efeec7 100644
--- a/security/security.c
+++ b/security/security.c
@@ -1093,6 +1093,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry)
return 0;
return call_int_hook(path_rmdir, 0, dir, dentry);
}
+EXPORT_SYMBOL_GPL(security_path_rmdir);
int security_path_unlink(const struct path *dir, struct dentry *dentry)
{
@@ -1109,6 +1110,7 @@ int security_path_symlink(const struct path *dir, struct dentry *dentry,
return 0;
return call_int_hook(path_symlink, 0, dir, dentry, old_name);
}
+EXPORT_SYMBOL_GPL(security_path_symlink);
int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
struct dentry *new_dentry)
@@ -1117,6 +1119,7 @@ int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
return 0;
return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry);
}
+EXPORT_SYMBOL_GPL(security_path_link);
int security_path_rename(const struct path *old_dir, struct dentry *old_dentry,
const struct path *new_dir, struct dentry *new_dentry,
@@ -1144,6 +1147,7 @@ int security_path_truncate(const struct path *path)
return 0;
return call_int_hook(path_truncate, 0, path);
}
+EXPORT_SYMBOL_GPL(security_path_truncate);
int security_path_chmod(const struct path *path, umode_t mode)
{
@@ -1151,6 +1155,7 @@ int security_path_chmod(const struct path *path, umode_t mode)
return 0;
return call_int_hook(path_chmod, 0, path, mode);
}
+EXPORT_SYMBOL_GPL(security_path_chmod);
int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
{
@@ -1158,6 +1163,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
return 0;
return call_int_hook(path_chown, 0, path, uid, gid);
}
+EXPORT_SYMBOL_GPL(security_path_chown);
int security_path_chroot(const struct path *path)
{
@@ -1258,6 +1264,7 @@ int security_inode_permission(struct inode *inode, int mask)
return 0;
return call_int_hook(inode_permission, 0, inode, mask);
}
+EXPORT_SYMBOL_GPL(security_inode_permission);
int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
{
@@ -1450,6 +1457,7 @@ int security_file_permission(struct file *file, int mask)
return fsnotify_perm(file, mask);
}
+EXPORT_SYMBOL_GPL(security_file_permission);
int security_file_alloc(struct file *file)
{
@@ -0,0 +1,284 @@
fs/dcache.c | 2 ++
fs/exec.c | 1 +
fs/fcntl.c | 1 +
fs/file_table.c | 2 ++
fs/inode.c | 1 +
fs/namespace.c | 3 +++
fs/notify/group.c | 1 +
fs/open.c | 1 +
fs/read_write.c | 2 ++
fs/splice.c | 2 ++
fs/sync.c | 1 +
fs/xattr.c | 1 +
kernel/locking/lockdep.c | 1 +
kernel/task_work.c | 1 +
security/security.c | 8 ++++++++
15 files changed, 28 insertions(+)
diff -Nurp linux-5.15.1-aufs/fs/dcache.c linux-5.15.1-aufs-mod/fs/dcache.c
--- linux-5.15.1-aufs/fs/dcache.c 2021-11-08 23:01:48.275645778 +0200
+++ linux-5.15.1-aufs-mod/fs/dcache.c 2021-11-08 23:02:45.270309130 +0200
@@ -1425,6 +1425,7 @@ rename_retry:
seq = 1;
goto again;
}
+EXPORT_SYMBOL_GPL(d_walk);
struct check_mount {
struct vfsmount *mnt;
@@ -2970,6 +2971,7 @@ void d_exchange(struct dentry *dentry1,
write_sequnlock(&rename_lock);
}
+EXPORT_SYMBOL_GPL(d_exchange);
/**
* d_ancestor - search for an ancestor
diff -Nurp linux-5.15.1-aufs/fs/exec.c linux-5.15.1-aufs-mod/fs/exec.c
--- linux-5.15.1-aufs/fs/exec.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/fs/exec.c 2021-11-08 23:02:45.270309130 +0200
@@ -111,6 +111,7 @@ bool path_noexec(const struct path *path
return (path->mnt->mnt_flags & MNT_NOEXEC) ||
(path->mnt->mnt_sb->s_iflags & SB_I_NOEXEC);
}
+EXPORT_SYMBOL_GPL(path_noexec);
#ifdef CONFIG_USELIB
/*
diff -Nurp linux-5.15.1-aufs/fs/fcntl.c linux-5.15.1-aufs-mod/fs/fcntl.c
--- linux-5.15.1-aufs/fs/fcntl.c 2021-11-08 23:01:48.275645778 +0200
+++ linux-5.15.1-aufs-mod/fs/fcntl.c 2021-11-08 23:02:45.270309130 +0200
@@ -86,6 +86,7 @@ int setfl(int fd, struct file *filp, uns
out:
return error;
}
+EXPORT_SYMBOL_GPL(setfl);
static void f_modown(struct file *filp, struct pid *pid, enum pid_type type,
int force)
diff -Nurp linux-5.15.1-aufs/fs/file_table.c linux-5.15.1-aufs-mod/fs/file_table.c
--- linux-5.15.1-aufs/fs/file_table.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/fs/file_table.c 2021-11-08 23:02:45.270309130 +0200
@@ -161,6 +161,7 @@ over:
}
return ERR_PTR(-ENFILE);
}
+EXPORT_SYMBOL_GPL(alloc_empty_file);
/*
* Variant of alloc_empty_file() that doesn't check and modify nr_files.
@@ -375,6 +376,7 @@ void __fput_sync(struct file *file)
}
EXPORT_SYMBOL(fput);
+EXPORT_SYMBOL_GPL(__fput_sync);
void __init files_init(void)
{
diff -Nurp linux-5.15.1-aufs/fs/inode.c linux-5.15.1-aufs-mod/fs/inode.c
--- linux-5.15.1-aufs/fs/inode.c 2021-11-08 23:01:48.275645778 +0200
+++ linux-5.15.1-aufs-mod/fs/inode.c 2021-11-08 23:02:45.270309130 +0200
@@ -1788,6 +1788,7 @@ int update_time(struct inode *inode, str
return inode->i_op->update_time(inode, time, flags);
return generic_update_time(inode, time, flags);
}
+EXPORT_SYMBOL_GPL(update_time);
/**
* atime_needs_update - update the access time
diff -Nurp linux-5.15.1-aufs/fs/namespace.c linux-5.15.1-aufs-mod/fs/namespace.c
--- linux-5.15.1-aufs/fs/namespace.c 2021-11-08 23:01:48.276645825 +0200
+++ linux-5.15.1-aufs-mod/fs/namespace.c 2021-11-08 23:02:45.271309177 +0200
@@ -439,6 +439,7 @@ void __mnt_drop_write(struct vfsmount *m
mnt_dec_writers(real_mount(mnt));
preempt_enable();
}
+EXPORT_SYMBOL_GPL(__mnt_drop_write);
/**
* mnt_drop_write - give up write access to a mount
@@ -813,6 +814,7 @@ int is_current_mnt_ns(struct vfsmount *m
{
return check_mnt(real_mount(mnt));
}
+EXPORT_SYMBOL_GPL(is_current_mnt_ns);
/*
* vfsmount lock must be held for write
@@ -2011,6 +2013,7 @@ int iterate_mounts(int (*f)(struct vfsmo
}
return 0;
}
+EXPORT_SYMBOL_GPL(iterate_mounts);
static void lock_mnt_tree(struct mount *mnt)
{
diff -Nurp linux-5.15.1-aufs/fs/notify/group.c linux-5.15.1-aufs-mod/fs/notify/group.c
--- linux-5.15.1-aufs/fs/notify/group.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/fs/notify/group.c 2021-11-08 23:02:45.271309177 +0200
@@ -100,6 +100,7 @@ void fsnotify_get_group(struct fsnotify_
{
refcount_inc(&group->refcnt);
}
+EXPORT_SYMBOL_GPL(fsnotify_get_group);
/*
* Drop a reference to a group. Free it if it's through.
diff -Nurp linux-5.15.1-aufs/fs/open.c linux-5.15.1-aufs-mod/fs/open.c
--- linux-5.15.1-aufs/fs/open.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/fs/open.c 2021-11-08 23:02:45.271309177 +0200
@@ -65,6 +65,7 @@ int do_truncate(struct user_namespace *m
inode_unlock(dentry->d_inode);
return ret;
}
+EXPORT_SYMBOL_GPL(do_truncate);
long vfs_truncate(const struct path *path, loff_t length)
{
diff -Nurp linux-5.15.1-aufs/fs/read_write.c linux-5.15.1-aufs-mod/fs/read_write.c
--- linux-5.15.1-aufs/fs/read_write.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/fs/read_write.c 2021-11-08 23:02:45.271309177 +0200
@@ -492,6 +492,7 @@ ssize_t vfs_read(struct file *file, char
inc_syscr(current);
return ret;
}
+EXPORT_SYMBOL_GPL(vfs_read);
static ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos)
{
@@ -602,6 +603,7 @@ ssize_t vfs_write(struct file *file, con
file_end_write(file);
return ret;
}
+EXPORT_SYMBOL_GPL(vfs_write);
/* file_ppos returns &file->f_pos or NULL if file is stream */
static inline loff_t *file_ppos(struct file *file)
diff -Nurp linux-5.15.1-aufs/fs/splice.c linux-5.15.1-aufs-mod/fs/splice.c
--- linux-5.15.1-aufs/fs/splice.c 2021-11-08 23:01:48.276645825 +0200
+++ linux-5.15.1-aufs-mod/fs/splice.c 2021-11-08 23:02:45.271309177 +0200
@@ -766,6 +766,7 @@ long do_splice_from(struct pipe_inode_in
return warn_unsupported(out, "write");
return out->f_op->splice_write(pipe, out, ppos, len, flags);
}
+EXPORT_SYMBOL_GPL(do_splice_from);
/*
* Attempt to initiate a splice from a file to a pipe.
@@ -795,6 +796,7 @@ long do_splice_to(struct file *in, loff_
return warn_unsupported(in, "read");
return in->f_op->splice_read(in, ppos, pipe, len, flags);
}
+EXPORT_SYMBOL_GPL(do_splice_to);
/**
* splice_direct_to_actor - splices data directly between two non-pipes
diff -Nurp linux-5.15.1-aufs/fs/sync.c linux-5.15.1-aufs-mod/fs/sync.c
--- linux-5.15.1-aufs/fs/sync.c 2021-11-08 23:01:48.276645825 +0200
+++ linux-5.15.1-aufs-mod/fs/sync.c 2021-11-08 23:02:45.271309177 +0200
@@ -39,6 +39,7 @@ int __sync_filesystem(struct super_block
sb->s_op->sync_fs(sb, wait);
return __sync_blockdev(sb->s_bdev, wait);
}
+EXPORT_SYMBOL_GPL(__sync_filesystem);
/*
* Write out and wait upon all dirty data associated with this
diff -Nurp linux-5.15.1-aufs/fs/xattr.c linux-5.15.1-aufs-mod/fs/xattr.c
--- linux-5.15.1-aufs/fs/xattr.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/fs/xattr.c 2021-11-08 23:02:45.271309177 +0200
@@ -384,6 +384,7 @@ vfs_getxattr_alloc(struct user_namespace
*xattr_value = value;
return error;
}
+EXPORT_SYMBOL_GPL(vfs_getxattr_alloc);
ssize_t
__vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name,
diff -Nurp linux-5.15.1-aufs/kernel/locking/lockdep.c linux-5.15.1-aufs-mod/kernel/locking/lockdep.c
--- linux-5.15.1-aufs/kernel/locking/lockdep.c 2021-11-08 23:01:48.277645871 +0200
+++ linux-5.15.1-aufs-mod/kernel/locking/lockdep.c 2021-11-08 23:02:45.271309177 +0200
@@ -210,6 +210,7 @@ inline struct lock_class *lockdep_hlock_
*/
return lock_classes + class_idx;
}
+EXPORT_SYMBOL_GPL(lockdep_hlock_class);
#define hlock_class(hlock) lockdep_hlock_class(hlock)
#ifdef CONFIG_LOCK_STAT
diff -Nurp linux-5.15.1-aufs/kernel/task_work.c linux-5.15.1-aufs-mod/kernel/task_work.c
--- linux-5.15.1-aufs/kernel/task_work.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/kernel/task_work.c 2021-11-08 23:02:45.271309177 +0200
@@ -167,3 +167,4 @@ void task_work_run(void)
} while (work);
}
}
+EXPORT_SYMBOL_GPL(task_work_run);
diff -Nurp linux-5.15.1-aufs/security/security.c linux-5.15.1-aufs-mod/security/security.c
--- linux-5.15.1-aufs/security/security.c 2021-10-31 22:53:10.000000000 +0200
+++ linux-5.15.1-aufs-mod/security/security.c 2021-11-08 23:02:45.272309224 +0200
@@ -1147,6 +1147,7 @@ int security_path_rmdir(const struct pat
return 0;
return call_int_hook(path_rmdir, 0, dir, dentry);
}
+EXPORT_SYMBOL_GPL(security_path_rmdir);
int security_path_unlink(const struct path *dir, struct dentry *dentry)
{
@@ -1163,6 +1164,7 @@ int security_path_symlink(const struct p
return 0;
return call_int_hook(path_symlink, 0, dir, dentry, old_name);
}
+EXPORT_SYMBOL_GPL(security_path_symlink);
int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
struct dentry *new_dentry)
@@ -1171,6 +1173,7 @@ int security_path_link(struct dentry *ol
return 0;
return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry);
}
+EXPORT_SYMBOL_GPL(security_path_link);
int security_path_rename(const struct path *old_dir, struct dentry *old_dentry,
const struct path *new_dir, struct dentry *new_dentry,
@@ -1198,6 +1201,7 @@ int security_path_truncate(const struct
return 0;
return call_int_hook(path_truncate, 0, path);
}
+EXPORT_SYMBOL_GPL(security_path_truncate);
int security_path_chmod(const struct path *path, umode_t mode)
{
@@ -1205,6 +1209,7 @@ int security_path_chmod(const struct pat
return 0;
return call_int_hook(path_chmod, 0, path, mode);
}
+EXPORT_SYMBOL_GPL(security_path_chmod);
int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
{
@@ -1212,6 +1217,7 @@ int security_path_chown(const struct pat
return 0;
return call_int_hook(path_chown, 0, path, uid, gid);
}
+EXPORT_SYMBOL_GPL(security_path_chown);
int security_path_chroot(const struct path *path)
{
@@ -1312,6 +1318,7 @@ int security_inode_permission(struct ino
return 0;
return call_int_hook(inode_permission, 0, inode, mask);
}
+EXPORT_SYMBOL_GPL(security_inode_permission);
int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
{
@@ -1509,6 +1516,7 @@ int security_file_permission(struct file
return fsnotify_perm(file, mask);
}
+EXPORT_SYMBOL_GPL(security_file_permission);
int security_file_alloc(struct file *file)
{
@@ -0,0 +1,24 @@
Allow aufs to be built as module.
Signed-off-by: Thomas Backlund <tmb@mageia.org>
--- a/fs/aufs/Kconfig
+++ b/fs/aufs/Kconfig
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
config AUFS_FS
- bool "Aufs (Advanced multi layered unification filesystem) support"
+ tristate "Aufs (Advanced multi layered unification filesystem) support"
help
Aufs is a stackable unification filesystem such as Unionfs,
which unifies several directories and provides a merged single
@@ -72,7 +72,7 @@ endchoice
config AUFS_EXPORT
bool "NFS-exportable aufs"
- depends on EXPORTFS = y
+ depends on EXPORTFS
help
If you want to export your mounted aufs via NFS, then enable this
option. There are several requirements for this configuration.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,36 @@
From 435664ed44c4a17e6715d007061e2b155d3535c8 Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
Date: Fri, 1 Oct 2021 13:38:15 +1000
Subject: procfs: do not list TID 0 in /proc/<pid>/task
If a task exits concurrently, task_pid_nr_ns may return 0.
Link: https://lkml.kernel.org/r/8735pn5dx7.fsf@oldenburg.str.redhat.com
Signed-off-by: Florian Weimer <fweimer@redhat.com>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
fs/proc/base.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 533d5836eb9a4..54f29399088f0 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -3800,6 +3800,9 @@ static int proc_task_readdir(struct file *file, struct dir_context *ctx)
char name[10 + 1];
unsigned int len;
tid = task_pid_nr_ns(task, ns);
+ if (!tid)
+ /* The task has just exited. */
+ continue;
len = snprintf(name, sizeof(name), "%u", tid);
if (!proc_fill_cache(file, ctx, name, len,
proc_task_instantiate, task, NULL)) {
--
cgit 1.2.3-1.el7
@@ -0,0 +1,30 @@
sparse_keymap_free() is now obsolete.
Signed-off-by: Thomas Backlund <tmb@mageia.org>
--- linux/drivers/platform/x86/shuttle-wmi.c.orig 2017-10-15 00:39:53.041395980 +0300
+++ linux/drivers/platform/x86/shuttle-wmi.c 2017-10-15 01:05:37.008662881 +0300
@@ -763,14 +763,9 @@ static int shuttle_wmi_input_init(struct
goto err_free_dev;
rc = input_register_device(input);
- if (rc)
- goto err_free_keymap;
priv->inputdev = input;
return 0;
-
-err_free_keymap:
- sparse_keymap_free(input);
err_free_dev:
input_free_device(input);
return rc;
@@ -780,7 +775,6 @@ static void shuttle_wmi_input_remove(str
{
struct input_dev *input = priv->inputdev;
- sparse_keymap_free(input);
input_unregister_device(input);
}
@@ -0,0 +1,19 @@
--- linux/drivers/platform/x86/shuttle-wmi.c.orig 2015-09-30 00:51:13.000000000 +0300
+++ linux/drivers/platform/x86/shuttle-wmi.c 2015-09-30 02:04:20.808458393 +0300
@@ -26,6 +26,7 @@
#include <linux/input/sparse-keymap.h>
#include <linux/backlight.h>
#include <linux/fb.h>
+#include <acpi/video.h>
MODULE_AUTHOR("Herton Ronaldo Krzesinski");
MODULE_DESCRIPTION("Shuttle WMI Extras Driver");
@@ -1161,7 +1162,7 @@ static int shuttle_wmi_probe(struct plat
goto err_notify;
}
- if (!acpi_video_backlight_support()) {
+ if (acpi_video_get_backlight_type() == acpi_backlight_vendor) {
rc = shuttle_wmi_backlight_init(priv);
if (rc)
goto err_backlight;
@@ -0,0 +1,38 @@
--- ./drivers/platform/x86/shuttle-wmi.c.orig 2013-01-16 18:13:57.000000000 +0200
+++ ./drivers/platform/x86/shuttle-wmi.c 2013-01-16 18:41:13.676433242 +0200
@@ -294,7 +294,7 @@ static struct dmi_system_id shuttle_dmi_
{}
};
-static struct dmi_system_id __devinitdata shuttle_quirk_bl_dmi_ids[] = {
+static struct dmi_system_id shuttle_quirk_bl_dmi_ids[] = {
{
.ident = "Positivo M13",
.matches = {
@@ -1105,7 +1105,7 @@ fn_init_err:
return rc;
}
-static int __devinit shuttle_wmi_probe(struct platform_device *pdev)
+static int shuttle_wmi_probe(struct platform_device *pdev)
{
struct shuttle_wmi *priv;
int rc, i;
@@ -1181,7 +1181,7 @@ err_debugfs:
return rc;
}
-static int __devexit shuttle_wmi_remove(struct platform_device *pdev)
+static int shuttle_wmi_remove(struct platform_device *pdev)
{
struct shuttle_wmi *priv = platform_get_drvdata(pdev);
@@ -1211,7 +1211,7 @@ static struct platform_driver shuttle_wm
.pm = &shuttle_wmi_pm_ops,
},
.probe = shuttle_wmi_probe,
- .remove = __devexit_p(shuttle_wmi_remove),
+ .remove = shuttle_wmi_remove,
};
static struct platform_device *shuttle_wmi_device;
@@ -0,0 +1,35 @@
pr_warning is now pr_warn
Signed-off-by: Thomas Backlund <tmb@mageia.org>
--- ./drivers/platform/x86/shuttle-wmi.c.orig 2020-02-03 17:22:16.374611323 +0200
+++ ./drivers/platform/x86/shuttle-wmi.c 2020-02-03 18:19:03.663898669 +0200
@@ -379,7 +379,7 @@ static int wmi_setget_mtd(struct shuttle
kfree(obj);
} else {
if (res) {
- pr_warning("No result from WMI method (%s)", __func__);
+ pr_warn("No result from WMI method (%s)", __func__);
res = NULL;
}
}
@@ -628,7 +628,7 @@ static void shuttle_wmi_notify(u32 value
status = wmi_get_event_data(value, &res);
if (status != AE_OK) {
- pr_warning("unable to retrieve wmi event status"
+ pr_warn("unable to retrieve wmi event status"
" (error=0x%x)\n", status);
return;
}
@@ -678,7 +678,7 @@ static void shuttle_wmi_notify(u32 value
break;
case 0xec: /* Lost event */
if (printk_ratelimit())
- pr_warning("lost event because of buggy BIOS");
+ pr_warn("lost event because of buggy BIOS");
break;
default:
pr_info("unknown wmi notification type (0x%02x)\n", type);
+25 -6
View File
@@ -12,19 +12,28 @@
<IsA>app:console</IsA>
<Summary>CPU power management tools</Summary>
<Description>cpupowertools contains utilities to manage power management and frequency scaling policies of modern CPUs.</Description>
<Archive sha1sum="baa841f624f6cfdafe01026963dcd32b334a3752" type="targz">https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.gz</Archive>
<Archive sha1sum="01961045127c21f8a9dbaa9e7705dbb9e4cffbaa" type="targz">https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.gz</Archive>
<BuildDependencies>
<Dependency>pciutils-devel</Dependency>
</BuildDependencies>
<Patches>
<!-- Linux patches -->
<Patch level="1" compressionType="xz">patches/linux/patch-5.10.78.xz</Patch>
<Patch level="1" compressionType="xz">patches/linux/patch-5.15.1.xz</Patch>
<!-- Mageia Linux patches-->
<Patch level="1">patches/mageia/fs-aufs5.10.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs5.10-symbol-exports.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs5.10-tristate.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs5.15.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs5.15-symbol-exports.patch</Patch>
<Patch level="1">patches/mageia/fs-aufs5.15-tristate.patch</Patch>
<Patch level="1">patches/mageia/fs-procfs-do-not-list-TID-0-in-proc-pid-task.patch</Patch>
<Patch level="1">patches/mageia/CVE-2019-12379.patch</Patch>
<Patch level="1">patches/mageia/CVE-2020-16119-DCCP-CCID-structure-use-after-free.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-add-shuttle-wmi-driver.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-shuttle-wmi-drop-devinit-exit.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-shuttle-wmi-4.2-buildfix.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-shuttle-wmi-4.13-buildfix.patch</Patch>
<Patch level="1">patches/mageia/platform-x86-shuttle-wmi-kernel-5.5.patch</Patch>
<Patch level="1">patches/mageia/3rd-3rdparty-tree.patch</Patch>
<Patch level="1">patches/mageia/3rd-3rdparty-merge.patch</Patch>
@@ -37,7 +46,8 @@
<Patch level="1">patches/mageia/3rd-rtl8812au.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8812au-Kconfig-Makefile.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8812au-rename.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8812au-kernel-5.10.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8812au-kernel-5.12.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8812au-kernel-5.15.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8723de.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8723de-Kconfig-Makefile.patch</Patch>
@@ -57,6 +67,8 @@
<Patch level="1">patches/mageia/3rd-rtl8821ce-Kconfig-Makefile.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8821ce-5.8-fix.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8821ce-kernel-5.10.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8821ce-kernel-5.12.patch</Patch>
<Patch level="1">patches/mageia/3rd-rtl8821ce-kernel-5.15.patch</Patch>
<Patch level="1">patches/mageia/3rd-fix-kconfig.patch</Patch>
@@ -90,6 +102,13 @@
</Package>
<History>
<Update release="61">
<Date>2021-11-10</Date>
<Version>5.15.1</Version>
<Comment>Version bump.</Comment>
<Name>İdris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="60">
<Date>2021-11-08</Date>
<Version>5.10.78</Version>