summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorIyán Méndez Veiga2022-05-30 21:17:59 +0200
committerIyán Méndez Veiga2022-05-30 21:19:04 +0200
commitb01220b05eec204386b2d84ba913de8ad0f16fe5 (patch)
tree0deda4ef8459187948d9855e10e17a5abb2be413
parent27c7a596838f0ada24950c4b1c212b3a57073d37 (diff)
downloadaur-b01220b05eec204386b2d84ba913de8ad0f16fe5.tar.gz
Apply patches for linux 5.18
-rw-r--r--.SRCINFO6
-rw-r--r--959.patch36
-rw-r--r--961.patch232
-rw-r--r--PKGBUILD34
4 files changed, 297 insertions, 11 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3996c892f5a0..4601ad68ff1c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = rtl88xxau-aircrack-dkms-git
pkgdesc = Aircrack-ng kernel module for Realtek 88XXau (USB adapters only) network cards (8811au, 8812au and 8821au chipsets) with monitor mode and injection support
- pkgver = r1174.3a6402e
+ pkgver = r1181.37e27f9
pkgrel = 1
url = https://github.com/aircrack-ng/rtl8812au
arch = x86_64
@@ -14,7 +14,11 @@ pkgbase = rtl88xxau-aircrack-dkms-git
conflicts = rtl8812au-inject-dkms-git
source = rtl88xxau::git+https://github.com/aircrack-ng/rtl8812au.git#branch=v5.6.4.2
source = dkms.conf
+ source = 961.patch
+ source = 959.patch
sha256sums = SKIP
sha256sums = 1ac36b3713d6b719b8c5f820653bbe30ead8323165d52e6ad95d56da627fde88
+ sha256sums = fbf128266b787e86e9391559772b143c69b8e922b422d1c1dddc7a4ef823e136
+ sha256sums = 820eb9056f676ba02df708fe7cb943a66dd2ccf86f6ebb31757739f2dced9c80
pkgname = rtl88xxau-aircrack-dkms-git
diff --git a/959.patch b/959.patch
new file mode 100644
index 000000000000..0e2163ee642b
--- /dev/null
+++ b/959.patch
@@ -0,0 +1,36 @@
+From 8dbec95de2a2f244f7abb85e5d8de8dcad57c5d7 Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Tue, 26 Apr 2022 12:11:19 +0000
+Subject: [PATCH] rtl8812au: Fix builds with kernel 5.18
+
+Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
+---
+ include/ieee80211.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/include/ieee80211.h b/include/ieee80211.h
+index 92dd3173..3360ba00 100644
+--- a/include/ieee80211.h
++++ b/include/ieee80211.h
+@@ -1616,18 +1616,18 @@ enum ieee80211_state {
+ (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
+ (((Addr[5]) & 0xff) == 0xff))
+ #else
+-extern __inline int is_multicast_mac_addr(const u8 *addr)
++static inline int is_multicast_mac_addr(const u8 *addr)
+ {
+ return (addr[0] != 0xff) && (0x01 & addr[0]);
+ }
+
+-extern __inline int is_broadcast_mac_addr(const u8 *addr)
++static inline int is_broadcast_mac_addr(const u8 *addr)
+ {
+ return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
+ (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
+ }
+
+-extern __inline int is_zero_mac_addr(const u8 *addr)
++static inline int is_zero_mac_addr(const u8 *addr)
+ {
+ return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
+ (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
diff --git a/961.patch b/961.patch
new file mode 100644
index 000000000000..d96e5320fb7e
--- /dev/null
+++ b/961.patch
@@ -0,0 +1,232 @@
+From 5bb4bffa971da0532ffe79f1304c7cd0ad352db8 Mon Sep 17 00:00:00 2001
+From: Shmuel H <shmuelhazan0@gmail.com>
+Date: Sat, 7 May 2022 14:05:45 +0300
+Subject: [PATCH 1/2] linux: set netdev macaddr using dev_addr_set
+
+dev_addr is const now, therefore, we have to use dev_addr_set
+in order to modify it.
+---
+ include/drv_types_linux.h | 3 +++
+ os_dep/linux/ioctl_linux.c | 2 +-
+ os_dep/linux/mlme_linux.c | 2 +-
+ os_dep/linux/os_intfs.c | 8 ++++----
+ os_dep/osdep_service.c | 2 +-
+ 5 files changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/include/drv_types_linux.h b/include/drv_types_linux.h
+index 91ca68b3..85fd09e9 100644
+--- a/include/drv_types_linux.h
++++ b/include/drv_types_linux.h
+@@ -15,5 +15,8 @@
+ #ifndef __DRV_TYPES_LINUX_H__
+ #define __DRV_TYPES_LINUX_H__
+
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0))
++#define dev_addr_set(netdev, ethdata) _rtw_memcpy(netdev, ethdata, ETH_ALEN)
++#endif
+
+ #endif
+diff --git a/os_dep/linux/ioctl_linux.c b/os_dep/linux/ioctl_linux.c
+index 8b958817..b2a7560d 100644
+--- a/os_dep/linux/ioctl_linux.c
++++ b/os_dep/linux/ioctl_linux.c
+@@ -9725,7 +9725,7 @@ static int rtw_mp_efuse_set(struct net_device *dev,
+ rtw_hal_read_chip_info(padapter);
+ /* set mac addr*/
+ rtw_macaddr_cfg(adapter_mac_addr(padapter), get_hal_mac_addr(padapter));
+- _rtw_memcpy(padapter->pnetdev->dev_addr, get_hal_mac_addr(padapter), ETH_ALEN); /* set mac addr to net_device */
++ dev_addr_set(padapter->pnetdev, get_hal_mac_addr(padapter)); /* set mac addr to net_device */
+
+ #ifdef CONFIG_P2P
+ rtw_init_wifidirect_addrs(padapter, adapter_mac_addr(padapter), adapter_mac_addr(padapter));
+diff --git a/os_dep/linux/mlme_linux.c b/os_dep/linux/mlme_linux.c
+index 247e45e5..771c6272 100644
+--- a/os_dep/linux/mlme_linux.c
++++ b/os_dep/linux/mlme_linux.c
+@@ -404,7 +404,7 @@ int hostapd_mode_init(_adapter *padapter)
+ mac[4] = 0x11;
+ mac[5] = 0x12;
+
+- _rtw_memcpy(pnetdev->dev_addr, mac, ETH_ALEN);
++ dev_addr_set(pnetdev, mac);
+
+
+ rtw_netif_carrier_off(pnetdev);
+diff --git a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c
+index a37e488b..a762fd45 100644
+--- a/os_dep/linux/os_intfs.c
++++ b/os_dep/linux/os_intfs.c
+@@ -1288,7 +1288,7 @@ static int rtw_net_set_mac_address(struct net_device *pnetdev, void *addr)
+ }
+
+ _rtw_memcpy(adapter_mac_addr(padapter), sa->sa_data, ETH_ALEN); /* set mac addr to adapter */
+- _rtw_memcpy(pnetdev->dev_addr, sa->sa_data, ETH_ALEN); /* set mac addr to net_device */
++ dev_addr_set(pnetdev, sa->sa_data); /* set mac addr to net_device */
+
+ #if 0
+ if (rtw_is_hw_init_completed(padapter)) {
+@@ -1753,7 +1753,7 @@ int rtw_os_ndev_register(_adapter *adapter, const char *name)
+ /* alloc netdev name */
+ rtw_init_netdev_name(ndev, name);
+
+- _rtw_memcpy(ndev->dev_addr, adapter_mac_addr(adapter), ETH_ALEN);
++ dev_addr_set(ndev, adapter_mac_addr(adapter));
+ #if defined(CONFIG_NET_NS)
+ dev_net_set(ndev, wiphy_net(adapter_to_wiphy(adapter)));
+ #endif //defined(CONFIG_NET_NS)
+@@ -2722,7 +2722,7 @@ int _netdev_vir_if_open(struct net_device *pnetdev)
+ rtw_mbid_camid_alloc(padapter, adapter_mac_addr(padapter));
+ #endif
+ rtw_init_wifidirect_addrs(padapter, adapter_mac_addr(padapter), adapter_mac_addr(padapter));
+- _rtw_memcpy(pnetdev->dev_addr, adapter_mac_addr(padapter), ETH_ALEN);
++ dev_addr_set(pnetdev, adapter_mac_addr(padapter));
+ }
+ #endif /*CONFIG_PLATFORM_INTEL_BYT*/
+
+@@ -3471,7 +3471,7 @@ int _netdev_open(struct net_device *pnetdev)
+ rtw_mbid_camid_alloc(padapter, adapter_mac_addr(padapter));
+ #endif
+ rtw_init_wifidirect_addrs(padapter, adapter_mac_addr(padapter), adapter_mac_addr(padapter));
+- _rtw_memcpy(pnetdev->dev_addr, adapter_mac_addr(padapter), ETH_ALEN);
++ dev_addr_set(pnetdev, adapter_mac_addr(padapter));
+ #endif /* CONFIG_PLATFORM_INTEL_BYT */
+
+ rtw_clr_surprise_removed(padapter);
+diff --git a/os_dep/osdep_service.c b/os_dep/osdep_service.c
+index 5e0bd8ab..28e464bd 100644
+--- a/os_dep/osdep_service.c
++++ b/os_dep/osdep_service.c
+@@ -2516,7 +2516,7 @@ int rtw_change_ifname(_adapter *padapter, const char *ifname)
+
+ rtw_init_netdev_name(pnetdev, ifname);
+
+- _rtw_memcpy(pnetdev->dev_addr, adapter_mac_addr(padapter), ETH_ALEN);
++ dev_addr_set(pnetdev, adapter_mac_addr(padapter));
+
+ if (rtnl_lock_needed)
+ ret = register_netdev(pnetdev);
+
+From a7e64bafd4ed674d74469a669c551cc8c90782d7 Mon Sep 17 00:00:00 2001
+From: Shmuel H <shmuelhazan0@gmail.com>
+Date: Sat, 7 May 2022 14:12:54 +0300
+Subject: [PATCH 2/2] linux: proc: use pde_data instead of PDE_DATA in >=5.17
+
+---
+ os_dep/linux/rtw_proc.c | 32 --------------------------------
+ os_dep/linux/rtw_proc.h | 3 +++
+ 2 files changed, 3 insertions(+), 32 deletions(-)
+
+diff --git a/os_dep/linux/rtw_proc.c b/os_dep/linux/rtw_proc.c
+index 840a675c..f1016e1c 100644
+--- a/os_dep/linux/rtw_proc.c
++++ b/os_dep/linux/rtw_proc.c
+@@ -213,11 +213,7 @@ const int drv_proc_hdls_num = sizeof(drv_proc_hdls) / sizeof(struct rtw_proc_hdl
+ static int rtw_drv_proc_open(struct inode *inode, struct file *file)
+ {
+ /* struct net_device *dev = proc_get_parent_data(inode); */
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
+ ssize_t index = (ssize_t)PDE_DATA(inode);
+-#else
+- ssize_t index = (ssize_t)inode->i_private;
+-#endif
+ const struct rtw_proc_hdl *hdl = drv_proc_hdls + index;
+ void *private = NULL;
+
+@@ -239,11 +235,7 @@ static int rtw_drv_proc_open(struct inode *inode, struct file *file)
+
+ static ssize_t rtw_drv_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *pos)
+ {
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
+ ssize_t index = (ssize_t)PDE_DATA(file_inode(file));
+-#else
+- ssize_t index = (ssize_t)file_inode(file)->i_private;
+-#endif
+ const struct rtw_proc_hdl *hdl = drv_proc_hdls + index;
+ ssize_t (*write)(struct file *, const char __user *, size_t, loff_t *, void *) = hdl->write;
+
+@@ -4163,11 +4155,7 @@ const int adapter_proc_hdls_num = sizeof(adapter_proc_hdls) / sizeof(struct rtw_
+
+ static int rtw_adapter_proc_open(struct inode *inode, struct file *file)
+ {
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
+ ssize_t index = (ssize_t)PDE_DATA(inode);
+-#else
+- ssize_t index = (ssize_t)inode->i_private;
+-#endif
+ const struct rtw_proc_hdl *hdl = adapter_proc_hdls + index;
+ void *private = proc_get_parent_data(inode);
+
+@@ -4189,11 +4177,7 @@ static int rtw_adapter_proc_open(struct inode *inode, struct file *file)
+
+ static ssize_t rtw_adapter_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *pos)
+ {
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
+ ssize_t index = (ssize_t)PDE_DATA(file_inode(file));
+-#else
+- ssize_t index = (ssize_t)file_inode(file)->i_private;
+-#endif
+ const struct rtw_proc_hdl *hdl = adapter_proc_hdls + index;
+ ssize_t (*write)(struct file *, const char __user *, size_t, loff_t *, void *) = hdl->write;
+
+@@ -4358,11 +4342,7 @@ const int odm_proc_hdls_num = sizeof(odm_proc_hdls) / sizeof(struct rtw_proc_hdl
+
+ static int rtw_odm_proc_open(struct inode *inode, struct file *file)
+ {
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
+ ssize_t index = (ssize_t)PDE_DATA(inode);
+-#else
+- ssize_t index = (ssize_t)inode->i_private;
+-#endif
+ const struct rtw_proc_hdl *hdl = odm_proc_hdls + index;
+ void *private = proc_get_parent_data(inode);
+
+@@ -4384,11 +4364,7 @@ static int rtw_odm_proc_open(struct inode *inode, struct file *file)
+
+ static ssize_t rtw_odm_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *pos)
+ {
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
+ ssize_t index = (ssize_t)PDE_DATA(file_inode(file));
+-#else
+- ssize_t index = (ssize_t)file_inode(file)->i_private;
+-#endif
+ const struct rtw_proc_hdl *hdl = odm_proc_hdls + index;
+ ssize_t (*write)(struct file *, const char __user *, size_t, loff_t *, void *) = hdl->write;
+
+@@ -4525,11 +4501,7 @@ const int mcc_proc_hdls_num = sizeof(mcc_proc_hdls) / sizeof(struct rtw_proc_hdl
+
+ static int rtw_mcc_proc_open(struct inode *inode, struct file *file)
+ {
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
+ ssize_t index = (ssize_t)PDE_DATA(inode);
+-#else
+- ssize_t index = (ssize_t)inode->i_private;
+-#endif
+ const struct rtw_proc_hdl *hdl = mcc_proc_hdls + index;
+ void *private = proc_get_parent_data(inode);
+
+@@ -4551,11 +4523,7 @@ static int rtw_mcc_proc_open(struct inode *inode, struct file *file)
+
+ static ssize_t rtw_mcc_proc_write(struct file *file, const char __user *buffer, size_t count, loff_t *pos)
+ {
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0)
+ ssize_t index = (ssize_t)PDE_DATA(file_inode(file));
+-#else
+- ssize_t index = (ssize_t)file_inode(file)->i_private;
+-#endif
+ const struct rtw_proc_hdl *hdl = mcc_proc_hdls + index;
+ ssize_t (*write)(struct file *, const char __user *, size_t, loff_t *, void *) = hdl->write;
+
+diff --git a/os_dep/linux/rtw_proc.h b/os_dep/linux/rtw_proc.h
+index c2c7c8ed..af6f22f1 100644
+--- a/os_dep/linux/rtw_proc.h
++++ b/os_dep/linux/rtw_proc.h
+@@ -17,6 +17,9 @@
+
+ #include <linux/proc_fs.h>
+ #include <linux/seq_file.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)
++#define PDE_DATA pde_data
++#endif
+
+ #define RTW_PROC_HDL_TYPE_SEQ 0
+ #define RTW_PROC_HDL_TYPE_SSEQ 1
diff --git a/PKGBUILD b/PKGBUILD
index 0eca81e99556..2abb49ab5d1d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=rtl88xxau-aircrack-dkms-git
_pkgbase=rtl88xxau
-pkgver=r1174.3a6402e
+pkgver=r1181.37e27f9
pkgrel=1
pkgdesc="Aircrack-ng kernel module for Realtek 88XXau (USB adapters only) network cards (8811au, 8812au and 8821au chipsets) with monitor mode and injection support"
url="https://github.com/aircrack-ng/rtl8812au"
@@ -14,18 +14,32 @@ makedepends=('git')
depends=('dkms')
conflicts=('rtl8812au-aircrack-dkms-git' 'rtl8812au-dkms-git' 'rtl8821au-dkms-git' 'rtl8814au-dkms-git' 'rtl8812au-inject-dkms-git')
-source=('rtl88xxau::git+https://github.com/aircrack-ng/rtl8812au.git#branch=v5.6.4.2'
- 'dkms.conf')
+source=(
+ 'rtl88xxau::git+https://github.com/aircrack-ng/rtl8812au.git#branch=v5.6.4.2'
+ 'dkms.conf'
+ '961.patch' # https://github.com/aircrack-ng/rtl8812au/pull/961
+ '959.patch' # https://github.com/aircrack-ng/rtl8812au/pull/959
+)
-sha256sums=('SKIP'
- '1ac36b3713d6b719b8c5f820653bbe30ead8323165d52e6ad95d56da627fde88')
+sha256sums=(
+ 'SKIP'
+ '1ac36b3713d6b719b8c5f820653bbe30ead8323165d52e6ad95d56da627fde88'
+ 'fbf128266b787e86e9391559772b143c69b8e922b422d1c1dddc7a4ef823e136'
+ '820eb9056f676ba02df708fe7cb943a66dd2ccf86f6ebb31757739f2dced9c80'
+)
pkgver() {
- cd "${srcdir}/${_pkgbase}"
- ( set -o pipefail
+ cd "${srcdir}/${_pkgbase}"
+ ( set -o pipefail
git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
- )
+ )
+}
+
+prepare() {
+ cd "${srcdir}/${_pkgbase}"
+ patch --forward --strip=1 --input="${srcdir}/959.patch"
+ patch --forward --strip=1 --input="${srcdir}/961.patch"
}
package() {
@@ -36,6 +50,6 @@ package() {
# Set name and version
sed -e "s/@_PKGBASE@/${_pkgbase}-dkms/" \
- -e "s/@PKGVER@/${pkgver}/" \
- -i "${pkgdir}"/usr/src/${_pkgbase}-${pkgver}/dkms.conf
+ -e "s/@PKGVER@/${pkgver}/" \
+ -i "${pkgdir}"/usr/src/${_pkgbase}-${pkgver}/dkms.conf
}