diff options
author | Iyán Méndez Veiga | 2022-05-30 21:17:59 +0200 |
---|---|---|
committer | Iyán Méndez Veiga | 2022-05-30 21:19:04 +0200 |
commit | b01220b05eec204386b2d84ba913de8ad0f16fe5 (patch) | |
tree | 0deda4ef8459187948d9855e10e17a5abb2be413 | |
parent | 27c7a596838f0ada24950c4b1c212b3a57073d37 (diff) | |
download | aur-b01220b05eec204386b2d84ba913de8ad0f16fe5.tar.gz |
Apply patches for linux 5.18
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | 959.patch | 36 | ||||
-rw-r--r-- | 961.patch | 232 | ||||
-rw-r--r-- | PKGBUILD | 34 |
4 files changed, 297 insertions, 11 deletions
@@ -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 @@ -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 } |