Skip to content

Commit

Permalink
firmware: Sync with upstream (coolsnowwolf#10459)
Browse files Browse the repository at this point in the history
* firmware: intel-microcode: update to 20220809

Debian's changelog by Henrique de Moraes Holschuh <[email protected]>:

  * New upstream microcode datafile 20220809
    * Fixes INTEL-SA-00657, CVE-2022-21233
      Stale data from APIC leaks SGX memory (AEPIC leak)
    * Fixes unspecified errata (functional issues) on Xeon Scalable
    * Updated Microcodes:
      sig 0x00050653, pf_mask 0x97, 2022-03-14, rev 0x100015e, size 34816
      sig 0x00050654, pf_mask 0xb7, 2022-03-08, rev 0x2006e05, size 44032
      sig 0x000606a6, pf_mask 0x87, 2022-04-07, rev 0xd000375, size 293888
      sig 0x000706a1, pf_mask 0x01, 2022-03-23, rev 0x003c, size 75776
      sig 0x000706a8, pf_mask 0x01, 2022-03-23, rev 0x0020, size 75776
      sig 0x000706e5, pf_mask 0x80, 2022-03-17, rev 0x00b2, size 112640
      sig 0x000806c2, pf_mask 0xc2, 2022-03-19, rev 0x0028, size 97280
      sig 0x000806d1, pf_mask 0xc2, 2022-03-28, rev 0x0040, size 102400
      sig 0x00090672, pf_mask 0x03, 2022-06-07, rev 0x0022, size 216064
      sig 0x00090675, pf_mask 0x03, 2022-06-07, rev 0x0022, size 216064
      sig 0x000906a3, pf_mask 0x80, 2022-06-15, rev 0x0421, size 216064
      sig 0x000906a4, pf_mask 0x80, 2022-06-15, rev 0x0421, size 216064
      sig 0x000a0671, pf_mask 0x02, 2022-03-17, rev 0x0054, size 103424
      sig 0x000b06f2, pf_mask 0x03, 2022-06-07, rev 0x0022, size 216064
      sig 0x000b06f5, pf_mask 0x03, 2022-06-07, rev 0x0022, size 216064

Signed-off-by: Christian Lamparter <[email protected]>

* bcm27xx-gpu-fw: update to latest version

Multiple firmware fixes needed for kernel updates.

Signed-off-by: Álvaro Fernández Rojas <[email protected]>

* bcm27xx-gpu-fw: update to latest version

Latest GPU FW contains multiple fixes and improvements.

Signed-off-by: Álvaro Fernández Rojas <[email protected]>

* bcm63xx-cfe: update to the latest master

e5050f3 linksys: ea9500-v2: add cferam file

Signed-off-by: Rafał Miłecki <[email protected]>

* nat46: fix translation of ICMP protocols parameter problem and unreachable

9b3a819 nat46-core: Fix translation of ICMP protocols parameter problem and unreachable (coolsnowwolf#27)

Signed-off-by: Hans Dedecker <[email protected]>

* nat46: update to latest git HEAD

1fdf2a3 Fix kernel panic due to device deletion (coolsnowwolf#29)
e7b48d1 add the mutex lock for create/delete/config/insert nat46 devices to fix nat46 module crash issues. (coolsnowwolf#28)

Signed-off-by: Hans Dedecker <[email protected]>

* nat46: update to latest git HEAD

d9bc161 nat46-core: Fix typo since day one (coolsnowwolf#31)
840e235 Fix coverity issues observed so far (coolsnowwolf#30)

Signed-off-by: Hans Dedecker <[email protected]>

* nat46: update to git HEAD

95ca1c3 nat46-core: ignore IPv4 options when translating packets
39778c2 add a module argument to ignore TOS translate for IPv4
9a36ee1 add a module argument to ignore TOS translate for IPv4
79190a8 add a module argument to ignore TOS translate for IPv4

Signed-off-by: Hans Dedecker <[email protected]>

* mwlwifi: fix 5.15 kernel support

Fix compilation and usage under kernel 5.15 for the mwlwifi driver.

For detailed description of changes, check individual patches.

Signed-off-by: Robert Marko <[email protected]>

* rtl8812au-ct: Fix compile

Replace the extern inline with a static inline. With extern inline the
compiler will generate the function in all compile units including this
file which breaks linking later.

Signed-off-by: Hauke Mehrtens <[email protected]>

Signed-off-by: Christian Lamparter <[email protected]>
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Signed-off-by: Rafał Miłecki <[email protected]>
Signed-off-by: Hans Dedecker <[email protected]>
Signed-off-by: Robert Marko <[email protected]>
Signed-off-by: Hauke Mehrtens <[email protected]>
Co-authored-by: Christian Lamparter <[email protected]>
Co-authored-by: Álvaro Fernández Rojas <[email protected]>
Co-authored-by: Rafał Miłecki <[email protected]>
Co-authored-by: Hans Dedecker <[email protected]>
Co-authored-by: Robert Marko <[email protected]>
Co-authored-by: Hauke Mehrtens <[email protected]>
  • Loading branch information
7 people authored Nov 19, 2022
1 parent 75d227e commit 3c707a2
Show file tree
Hide file tree
Showing 9 changed files with 151 additions and 25 deletions.
4 changes: 2 additions & 2 deletions package/firmware/intel-microcode/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=intel-microcode
PKG_VERSION:=20220510
PKG_VERSION:=20220809
PKG_RELEASE:=1

PKG_SOURCE:=intel-microcode_3.$(PKG_VERSION).1.tar.xz
PKG_SOURCE_URL:=@DEBIAN/pool/non-free/i/intel-microcode/
PKG_HASH:=49752447c1b905dd130699cdef09fb2bba47b6f413d27787c98a5569273e283e
PKG_HASH:=4cf6c3638bb52d9d45c1916af866fd0929628a6f459daac3edfd369149e9c665
PKG_BUILD_DIR:=$(BUILD_DIR)/intel-microcode-3.$(PKG_VERSION).1

PKG_BUILD_DEPENDS:=iucode-tool/host
Expand Down
30 changes: 15 additions & 15 deletions package/kernel/bcm27xx-gpu-fw/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk

PKG_NAME:=bcm27xx-gpu-fw
PKG_VERSION:=2021-02-16
PKG_RELEASE:=ba6259246c702b04ea56ff1034325e476d460ae8
PKG_VERSION:=2022-05-16
PKG_RELEASE:=3673be308132de102fdff491d1333d9d0f823557

PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)/rpi-firmware-$(PKG_RELEASE)

Expand All @@ -26,103 +26,103 @@ define Download/bootcode_bin
FILE:=$(RPI_FIRMWARE_FILE)-bootcode.bin
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=bootcode.bin
HASH:=92fd15eb2468187b69d15a9482d7e8cee3704993c53bb5ba55afe550723c5975
HASH:=69309823da13dc96b89e3d82b44f820e4f84efa79d207adad2c8784559794f03
endef
$(eval $(call Download,bootcode_bin))

define Download/fixup_dat
FILE:=$(RPI_FIRMWARE_FILE)-fixup.dat
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=fixup.dat
HASH:=3daaf175decee44347fb97ece7738edf230b6fe3a86a8f521652e0052d5b3d6a
HASH:=921f56c62ad1995addb984b156c869202dc5d46bbe9ebcbd02c20f0def9058e3
endef
$(eval $(call Download,fixup_dat))

define Download/fixup_cd_dat
FILE:=$(RPI_FIRMWARE_FILE)-fixup_cd.dat
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=fixup_cd.dat
HASH:=399b10509877cc7cbbaae25757ff44ee9f666931dd5c0996b48d170735a668b0
HASH:=83a985aa0d73844786f3b3bf674826c520212f6f72fc6a890f2ebb5f87de5d8c
endef
$(eval $(call Download,fixup_cd_dat))

define Download/fixup_x_dat
FILE:=$(RPI_FIRMWARE_FILE)-fixup_x.dat
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=fixup_x.dat
HASH:=3c2a71f349bbc97bc3d9f7592bdd3f06d3d67e1ccd581cbdbb91b67a16304d76
HASH:=8b00b00678adafe01e087240d156dbc87822e745b269be4f282596b69265cd1e
endef
$(eval $(call Download,fixup_x_dat))

define Download/fixup4_dat
FILE:=$(RPI_FIRMWARE_FILE)-fixup4.dat
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=fixup4.dat
HASH:=68e9112ac7907af51cbf7f458d241e6136af1be4e968909e34cbffb70f9536b4
HASH:=ef2b5d2a0a95ca48e00a1ce78b7650ee9e947cc1c588704c8ae30c1623122e2f
endef
$(eval $(call Download,fixup4_dat))

define Download/fixup4cd_dat
FILE:=$(RPI_FIRMWARE_FILE)-fixup4cd.dat
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=fixup4cd.dat
HASH:=399b10509877cc7cbbaae25757ff44ee9f666931dd5c0996b48d170735a668b0
HASH:=83a985aa0d73844786f3b3bf674826c520212f6f72fc6a890f2ebb5f87de5d8c
endef
$(eval $(call Download,fixup4cd_dat))

define Download/fixup4x_dat
FILE:=$(RPI_FIRMWARE_FILE)-fixup4x.dat
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=fixup4x.dat
HASH:=62c0ff21c06a28c24fc537bd1d23625b3452170fbb9fbd950b67a393929c2768
HASH:=a6c4e30ada5a00fe7de83c460638ca824647651bb4a3644b8c65d7ba1d9f2d2b
endef
$(eval $(call Download,fixup4x_dat))

define Download/start_elf
FILE:=$(RPI_FIRMWARE_FILE)-start.elf
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=start.elf
HASH:=3cc30fc07a6ad99bdd14e6319ed84b6c8813e8cb08bc5fff488c33abb163f746
HASH:=5455c148f4b8b04c553809bd22b995ee49ba5279ca3848df8bde6f80a388f7e0
endef
$(eval $(call Download,start_elf))

define Download/start_cd_elf
FILE:=$(RPI_FIRMWARE_FILE)-start_cd.elf
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=start_cd.elf
HASH:=a4ae5a07b036bd82136373f2ce8a9ad01e41938884568b57c53e4be4c08d0dda
HASH:=168c0a9178d5a3b4bd89ef770826a85b4ea3132560ba3600c212c0cec4c575c6
endef
$(eval $(call Download,start_cd_elf))

define Download/start_x_elf
FILE:=$(RPI_FIRMWARE_FILE)-start_x.elf
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=start_x.elf
HASH:=b566fc8bc4cd1699f40fc73aa72910915421764933f2f2a7ba517b6b14339d09
HASH:=30c6a7f32a25185053ca3ca9e4bcfe932246ed42a1b7c37f8803209f93d86404
endef
$(eval $(call Download,start_x_elf))

define Download/start4_elf
FILE:=$(RPI_FIRMWARE_FILE)-start4.elf
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=start4.elf
HASH:=abafb4d39c2708389e1421443fdd5e8a86e03bef6ad5282c0b5836587860cc5c
HASH:=be8bbff41dba2749b7b0e812f0a9d87a9122d18508f7b5ff3cd20f303d15bc07
endef
$(eval $(call Download,start4_elf))

define Download/start4cd_elf
FILE:=$(RPI_FIRMWARE_FILE)-start4cd.elf
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=start4cd.elf
HASH:=6df423f4fa82c58efef6db1cf20c4fcbd92465a7fe91f40548c8534c1b5ef7fd
HASH:=000372e9cf6815ade595948dbd6328665f2a535eeee44e74b0ec8e56b6fbbf90
endef
$(eval $(call Download,start4cd_elf))

define Download/start4x_elf
FILE:=$(RPI_FIRMWARE_FILE)-start4x.elf
URL:=$(RPI_FIRMWARE_URL)
URL_FILE:=start4x.elf
HASH:=4060e9fedfa99ff91549c8f4324a18417db785d99054ac7fe7d1b5dd5ef232f1
HASH:=48895858f7936570dfab44c67bdcb0357ac8fcd630162c36ac9ed8f2de85c038
endef
$(eval $(call Download,start4x_elf))

Expand Down
8 changes: 4 additions & 4 deletions package/kernel/bcm63xx-cfe/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk

PKG_NAME:=bcm63xx-cfe
PKG_RELEASE:=2
PKG_RELEASE:=1

PKG_SOURCE_URL:=https://github.com/openwrt/bcm63xx-cfe.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2021-03-05
PKG_SOURCE_VERSION:=d03501629fc8b1ba8f9b0961d543c256a3d0098f
PKG_MIRROR_HASH:=b32a6f68d59c8f4534def7ec2568ad7da7a612a605b9406328309c78115ee88d
PKG_SOURCE_DATE:=2021-06-22
PKG_SOURCE_VERSION:=e5050f37150b34deb547b50feccd0e7439cb5bd7
PKG_MIRROR_HASH:=85fed9f4bdf23cf7d33a02f549ffe9073666890f786d5ffa484c0368552b75ae

PKG_FLAGS:=nonshared

Expand Down
2 changes: 1 addition & 1 deletion package/kernel/mwlwifi/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=mwlwifi
PKG_RELEASE=2
PKG_RELEASE=3

PKG_LICENSE:=ISC
PKG_LICENSE_FILES:=
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
From 392f8e9d798acff3079e753dd881e272f6150d74 Mon Sep 17 00:00:00 2001
From: Robert Marko <[email protected]>
Date: Wed, 30 Mar 2022 19:32:38 +0200
Subject: [PATCH] mwlwifi: remove MODULE_SUPPORTED_DEVICE

Kernel 5.12 finally removed all MODULE_SUPPORTED_DEVICE references and
support for it as it was never actually implemented and was safe to
drop it completely.

So, do the same in order to compile in 5.12 and newer.

Signed-off-by: Robert Marko <[email protected]>
---
hif/pcie/pcie.c | 2 --
1 file changed, 2 deletions(-)

--- a/hif/pcie/pcie.c
+++ b/hif/pcie/pcie.c
@@ -31,7 +31,6 @@
#include "hif/pcie/rx_ndp.h"

#define PCIE_DRV_DESC "Marvell Mac80211 Wireless PCIE Network Driver"
-#define PCIE_DEV_NAME "Marvell 802.11ac PCIE Adapter"

#define MAX_WAIT_FW_COMPLETE_ITERATIONS 10000
#define CHECK_BA_TRAFFIC_TIME 300 /* msec */
@@ -1641,5 +1640,4 @@ MODULE_DESCRIPTION(PCIE_DRV_DESC);
MODULE_VERSION(PCIE_DRV_VERSION);
MODULE_AUTHOR("Marvell Semiconductor, Inc.");
MODULE_LICENSE("GPL v2");
-MODULE_SUPPORTED_DEVICE(PCIE_DEV_NAME);
MODULE_DEVICE_TABLE(pci, pcie_id_tbl);
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
From 16e51cb83f9fa1717383c9d67f5531df7348347c Mon Sep 17 00:00:00 2001
From: Robert Marko <[email protected]>
Date: Wed, 30 Mar 2022 19:51:56 +0200
Subject: [PATCH] mwlwifi: replace get/set_fs() calls

Since kernel 5.9 the get/set_fs() call implementation have started to get
dropped from individual architectures, ARM64 one got dropped in 5.11.

Replace the get/set_fs() calls with force_uaccess_begin/end() to allow
compiling on newer kernels.
There is no need to add kernel version checks as the replacement functions
are available since kernel 5.9.

Signed-off-by: Robert Marko <[email protected]>
---
hif/pcie/pcie.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

--- a/hif/pcie/pcie.c
+++ b/hif/pcie/pcie.c
@@ -1293,8 +1293,7 @@ static void pcie_bf_mimo_ctrl_decode(str
char *buf = &str_buf[0];
mm_segment_t oldfs;

- oldfs = get_fs();
- set_fs(KERNEL_DS);
+ oldfs = force_uaccess_begin();

buf += sprintf(buf, "\nMAC: %pM\n", bf_mimo_ctrl->rec_mac);
buf += sprintf(buf, "SU_0_MU_1: %d\n", bf_mimo_ctrl->type);
@@ -1314,7 +1313,7 @@ static void pcie_bf_mimo_ctrl_decode(str
filename, (unsigned int)fp_data);
}

- set_fs(oldfs);
+ force_uaccess_end(oldfs);
}

static void pcie_process_account(struct ieee80211_hw *hw)
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
From 8e809b241695252e397bf0d7fc5f36e115c38831 Mon Sep 17 00:00:00 2001
From: Robert Marko <[email protected]>
Date: Fri, 5 Mar 2021 11:47:59 +0100
Subject: [PATCH] mwlwifi: fix PCIe DT node null pointer dereference

pci_bus_to_OF_node() used to get the PCI bus DT node
returns node if found or NULL if none is found.

Since the return of pci_bus_to_OF_node() is not checked in
the DT node name print it will cause a null pointer
dereference and crash the kernel.

So first check whether the node is not NULL and then print.

Signed-off-by: Robert Marko <[email protected]>
---
hif/pcie/pcie.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- a/hif/pcie/pcie.c
+++ b/hif/pcie/pcie.c
@@ -570,7 +570,8 @@ static struct device_node *pcie_get_devi
struct device_node *dev_node;

dev_node = pci_bus_to_OF_node(pcie_priv->pdev->bus);
- wiphy_info(priv->hw->wiphy, "device node: %s\n", dev_node->full_name);
+ if (dev_node)
+ wiphy_info(priv->hw->wiphy, "device node: %s\n", dev_node->full_name);

return dev_node;
}
6 changes: 3 additions & 3 deletions package/kernel/nat46/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ include $(INCLUDE_DIR)/kernel.mk

PKG_NAME:=nat46

PKG_MIRROR_HASH:=3b424241de42b96d47217decf6f9071153cd0c11651f1ee006700836c6660fe8
PKG_MIRROR_HASH:=c26b8c60aa991a087011b8b6492e43a6749f0a5d9dc79ffcfd352da5fa20b78d
PKG_SOURCE_URL:=https://github.com/ayourtch/nat46.git
PKG_SOURCE_DATE:=2021-05-17
PKG_SOURCE_DATE:=2022-03-30
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=0d5860d63a8037e001e293091ebf6219cc2f9255
PKG_SOURCE_VERSION:=95ca1c3b99376da2d0306919f2df4a8d3c9bb78b

PKG_MAINTAINER:=Hans Dedecker <[email protected]>
PKG_LICENSE:=GPL-2.0
Expand Down
24 changes: 24 additions & 0 deletions package/kernel/rtl8812au-ct/patches/004-remove-extern-inline.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
--- a/include/ieee80211.h
+++ b/include/ieee80211.h
@@ -1313,18 +1313,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)
+__inline static 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)
+__inline static 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)
+__inline static 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));

0 comments on commit 3c707a2

Please sign in to comment.