diff options
author | jc_gargma <jc_gargma@iserlohn-fortress.net> | 2020-04-02 15:03:24 -0700 |
---|---|---|
committer | jc_gargma <jc_gargma@iserlohn-fortress.net> | 2020-04-02 15:03:24 -0700 |
commit | 0933c025577c89a6d755f284d2ac8f9e0ab98207 (patch) | |
tree | d5fe55c4da407acb3535dc50994ef6702a482741 | |
parent | Rebuild with bpf hotfix (diff) | |
download | linux-0933c025577c89a6d755f284d2ac8f9e0ab98207.tar.xz |
Updated to 5.6.0
15 files changed, 471 insertions, 1113 deletions
diff --git a/0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch b/0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch deleted file mode 100644 index c98f5b1..0000000 --- a/0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 6566cb507b8ab275efd1f39e89c4db0d127eea00 Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> -Date: Tue, 24 Dec 2019 06:16:39 +0100 -Subject: iwlwifi: pcie: restore support for Killer Qu C0 NICs - -Commit 809805a820c6 ("iwlwifi: pcie: move some cfg mangling from -trans_pcie_alloc to probe") refactored the cfg mangling. Unfortunately, -in this process the lines which picked the right cfg for Killer Qu C0 -NICs after C0 detection were lost. These lines were added by commit -b9500577d361 ("iwlwifi: pcie: handle switching killer Qu B0 NICs to -C0"). - -I suspect this is more of the "merge damage" which commit 7cded5658329 -("iwlwifi: pcie: fix merge damage on making QnJ exclusive") talks about. - -Restore the missing lines so the driver loads the right firmware for -these NICs. - -Fixes: 809805a820c6 ("iwlwifi: pcie: move some cfg mangling from trans_pcie_alloc to probe") -Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> ---- - drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c -index b0b7eca1754e..de62a6dc4e73 100644 ---- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c -+++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c -@@ -1107,6 +1107,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - cfg = &iwl9560_2ac_cfg_qu_c0_jf_b0; - else if (cfg == &iwl9560_2ac_160_cfg_qu_b0_jf_b0) - cfg = &iwl9560_2ac_160_cfg_qu_c0_jf_b0; -+ else if (cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0) -+ cfg = &killer1650s_2ax_cfg_qu_c0_hr_b0; -+ else if (cfg == &killer1650i_2ax_cfg_qu_b0_hr_b0) -+ cfg = &killer1650i_2ax_cfg_qu_c0_hr_b0; - } - - /* same thing for QuZ... */ --- -cgit v1.2.1-1-g437b - diff --git a/0002-mac80211-fix-authentication-with-iwlwifi-mvm.patch b/0002-mac80211-fix-authentication-with-iwlwifi-mvm.patch new file mode 100644 index 0000000..d4449b2 --- /dev/null +++ b/0002-mac80211-fix-authentication-with-iwlwifi-mvm.patch @@ -0,0 +1,35 @@ +From 61397cbfb977f37e4423813d1ad43340a627563a Mon Sep 17 00:00:00 2001 +From: Johannes Berg <johannes.berg@intel.com> +Date: Sun, 29 Mar 2020 22:50:06 +0200 +Subject: mac80211: fix authentication with iwlwifi/mvm + +The original patch didn't copy the ieee80211_is_data() condition +because on most drivers the management frames don't go through +this path. However, they do on iwlwifi/mvm, so we do need to keep +the condition here. + +Cc: stable@vger.kernel.org +Fixes: ce2e1ca70307 ("mac80211: Check port authorization in the ieee80211_tx_dequeue() case") +Signed-off-by: Johannes Berg <johannes.berg@intel.com> +Signed-off-by: David S. Miller <davem@davemloft.net> +--- + net/mac80211/tx.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c +index d9cca6dbd870..efe4c1fc68e5 100644 +--- a/net/mac80211/tx.c ++++ b/net/mac80211/tx.c +@@ -3610,7 +3610,8 @@ begin: + * Drop unicast frames to unauthorised stations unless they are + * EAPOL frames from the local station. + */ +- if (unlikely(!ieee80211_vif_is_mesh(&tx.sdata->vif) && ++ if (unlikely(ieee80211_is_data(hdr->frame_control) && ++ !ieee80211_vif_is_mesh(&tx.sdata->vif) && + tx.sdata->vif.type != NL80211_IFTYPE_OCB && + !is_multicast_ether_addr(hdr->addr1) && + !test_sta_flag(tx.sta, WLAN_STA_AUTHORIZED) && +-- +cgit v1.2.3-1-gf6bb5 + diff --git a/0003-bpf-Undo-incorrect-__reg_bound_offset32-handling.patch b/0003-bpf-Undo-incorrect-__reg_bound_offset32-handling.patch new file mode 100644 index 0000000..590e256 --- /dev/null +++ b/0003-bpf-Undo-incorrect-__reg_bound_offset32-handling.patch @@ -0,0 +1,277 @@ +From e04420186bb7d71b7a6237f36de4d9a75e83f56d Mon Sep 17 00:00:00 2001 +From: Daniel Borkmann <daniel@iogearbox.net> +Date: Mon, 30 Mar 2020 18:03:22 +0200 +Subject: bpf: Undo incorrect __reg_bound_offset32 handling + +commit f2d67fec0b43edce8c416101cdc52e71145b5fef upstream. + +Anatoly has been fuzzing with kBdysch harness and reported a hang in +one of the outcomes: + + 0: (b7) r0 = 808464432 + 1: (7f) r0 >>= r0 + 2: (14) w0 -= 808464432 + 3: (07) r0 += 808464432 + 4: (b7) r1 = 808464432 + 5: (de) if w1 s<= w0 goto pc+0 + R0_w=invP(id=0,umin_value=808464432,umax_value=5103431727,var_off=(0x30303020;0x10000001f)) R1_w=invP808464432 R10=fp0 + 6: (07) r0 += -2144337872 + 7: (14) w0 -= -1607454672 + 8: (25) if r0 > 0x30303030 goto pc+0 + R0_w=invP(id=0,umin_value=271581184,umax_value=271581311,var_off=(0x10300000;0x7f)) R1_w=invP808464432 R10=fp0 + 9: (76) if w0 s>= 0x303030 goto pc+2 + 12: (95) exit + + from 8 to 9: safe + + from 5 to 6: R0_w=invP(id=0,umin_value=808464432,umax_value=5103431727,var_off=(0x30303020;0x10000001f)) R1_w=invP808464432 R10=fp0 + 6: (07) r0 += -2144337872 + 7: (14) w0 -= -1607454672 + 8: (25) if r0 > 0x30303030 goto pc+0 + R0_w=invP(id=0,umin_value=271581184,umax_value=271581311,var_off=(0x10300000;0x7f)) R1_w=invP808464432 R10=fp0 + 9: safe + + from 8 to 9: safe + verification time 589 usec + stack depth 0 + processed 17 insns (limit 1000000) [...] + +The underlying program was xlated as follows: + + # bpftool p d x i 9 + 0: (b7) r0 = 808464432 + 1: (7f) r0 >>= r0 + 2: (14) w0 -= 808464432 + 3: (07) r0 += 808464432 + 4: (b7) r1 = 808464432 + 5: (de) if w1 s<= w0 goto pc+0 + 6: (07) r0 += -2144337872 + 7: (14) w0 -= -1607454672 + 8: (25) if r0 > 0x30303030 goto pc+0 + 9: (76) if w0 s>= 0x303030 goto pc+2 + 10: (05) goto pc-1 + 11: (05) goto pc-1 + 12: (95) exit + +The verifier rewrote original instructions it recognized as dead code with +'goto pc-1', but reality differs from verifier simulation in that we're +actually able to trigger a hang due to hitting the 'goto pc-1' instructions. + +Taking different examples to make the issue more obvious: in this example +we're probing bounds on a completely unknown scalar variable in r1: + + [...] + 5: R0_w=inv1 R1_w=inv(id=0) R10=fp0 + 5: (18) r2 = 0x4000000000 + 7: R0_w=inv1 R1_w=inv(id=0) R2_w=inv274877906944 R10=fp0 + 7: (18) r3 = 0x2000000000 + 9: R0_w=inv1 R1_w=inv(id=0) R2_w=inv274877906944 R3_w=inv137438953472 R10=fp0 + 9: (18) r4 = 0x400 + 11: R0_w=inv1 R1_w=inv(id=0) R2_w=inv274877906944 R3_w=inv137438953472 R4_w=inv1024 R10=fp0 + 11: (18) r5 = 0x200 + 13: R0_w=inv1 R1_w=inv(id=0) R2_w=inv274877906944 R3_w=inv137438953472 R4_w=inv1024 R5_w=inv512 R10=fp0 + 13: (2d) if r1 > r2 goto pc+4 + R0_w=inv1 R1_w=inv(id=0,umax_value=274877906944,var_off=(0x0; 0x7fffffffff)) R2_w=inv274877906944 R3_w=inv137438953472 R4_w=inv1024 R5_w=inv512 R10=fp0 + 14: R0_w=inv1 R1_w=inv(id=0,umax_value=274877906944,var_off=(0x0; 0x7fffffffff)) R2_w=inv274877906944 R3_w=inv137438953472 R4_w=inv1024 R5_w=inv512 R10=fp0 + 14: (ad) if r1 < r3 goto pc+3 + R0_w=inv1 R1_w=inv(id=0,umin_value=137438953472,umax_value=274877906944,var_off=(0x0; 0x7fffffffff)) R2_w=inv274877906944 R3_w=inv137438953472 R4_w=inv1024 R5_w=inv512 R10=fp0 + 15: R0=inv1 R1=inv(id=0,umin_value=137438953472,umax_value=274877906944,var_off=(0x0; 0x7fffffffff)) R2=inv274877906944 R3=inv137438953472 R4=inv1024 R5=inv512 R10=fp0 + 15: (2e) if w1 > w4 goto pc+2 + R0=inv1 R1=inv(id=0,umin_value=137438953472,umax_value=274877906944,var_off=(0x0; 0x7f00000000)) R2=inv274877906944 R3=inv137438953472 R4=inv1024 R5=inv512 R10=fp0 + 16: R0=inv1 R1=inv(id=0,umin_value=137438953472,umax_value=274877906944,var_off=(0x0; 0x7f00000000)) R2=inv274877906944 R3=inv137438953472 R4=inv1024 R5=inv512 R10=fp0 + 16: (ae) if w1 < w5 goto pc+1 + R0=inv1 R1=inv(id=0,umin_value=137438953472,umax_value=274877906944,var_off=(0x0; 0x7f00000000)) R2=inv274877906944 R3=inv137438953472 R4=inv1024 R5=inv512 R10=fp0 + [...] + +We're first probing lower/upper bounds via jmp64, later we do a similar +check via jmp32 and examine the resulting var_off there. After fall-through +in insn 14, we get the following bounded r1 with 0x7fffffffff unknown marked +bits in the variable section. + +Thus, after knowing r1 <= 0x4000000000 and r1 >= 0x2000000000: + + max: 0b100000000000000000000000000000000000000 / 0x4000000000 + var: 0b111111111111111111111111111111111111111 / 0x7fffffffff + min: 0b010000000000000000000000000000000000000 / 0x2000000000 + +Now, in insn 15 and 16, we perform a similar probe with lower/upper bounds +in jmp32. + +Thus, after knowing r1 <= 0x4000000000 and r1 >= 0x2000000000 and + w1 <= 0x400 and w1 >= 0x200: + + max: 0b100000000000000000000000000000000000000 / 0x4000000000 + var: 0b111111100000000000000000000000000000000 / 0x7f00000000 + min: 0b010000000000000000000000000000000000000 / 0x2000000000 + +The lower/upper bounds haven't changed since they have high bits set in +u64 space and the jmp32 tests can only refine bounds in the low bits. + +However, for the var part the expectation would have been 0x7f000007ff +or something less precise up to 0x7fffffffff. A outcome of 0x7f00000000 +is not correct since it would contradict the earlier probed bounds +where we know that the result should have been in [0x200,0x400] in u32 +space. Therefore, tests with such info will lead to wrong verifier +assumptions later on like falsely predicting conditional jumps to be +always taken, etc. + +The issue here is that __reg_bound_offset32()'s implementation from +commit 581738a681b6 ("bpf: Provide better register bounds after jmp32 +instructions") makes an incorrect range assumption: + + static void __reg_bound_offset32(struct bpf_reg_state *reg) + { + u64 mask = 0xffffFFFF; + struct tnum range = tnum_range(reg->umin_value & mask, + reg->umax_value & mask); + struct tnum lo32 = tnum_cast(reg->var_off, 4); + struct tnum hi32 = tnum_lshift(tnum_rshift(reg->var_off, 32), 32); + + reg->var_off = tnum_or(hi32, tnum_intersect(lo32, range)); + } + +In the above walk-through example, __reg_bound_offset32() as-is chose +a range after masking with 0xffffffff of [0x0,0x0] since umin:0x2000000000 +and umax:0x4000000000 and therefore the lo32 part was clamped to 0x0 as +well. However, in the umin:0x2000000000 and umax:0x4000000000 range above +we'd end up with an actual possible interval of [0x0,0xffffffff] for u32 +space instead. + +In case of the original reproducer, the situation looked as follows at +insn 5 for r0: + + [...] + 5: R0_w=invP(id=0,umin_value=808464432,umax_value=5103431727,var_off=(0x0; 0x1ffffffff)) R1_w=invP808464432 R10=fp0 + 0x30303030 0x13030302f + 5: (de) if w1 s<= w0 goto pc+0 + R0_w=invP(id=0,umin_value=808464432,umax_value=5103431727,var_off=(0x30303020; 0x10000001f)) R1_w=invP808464432 R10=fp0 + 0x30303030 0x13030302f + [...] + +After the fall-through, we similarly forced the var_off result into +the wrong range [0x30303030,0x3030302f] suggesting later on that fixed +bits must only be of 0x30303020 with 0x10000001f unknowns whereas such +assumption can only be made when both bounds in hi32 range match. + +Originally, I was thinking to fix this by moving reg into a temp reg and +use proper coerce_reg_to_size() helper on the temp reg where we can then +based on that define the range tnum for later intersection: + + static void __reg_bound_offset32(struct bpf_reg_state *reg) + { + struct bpf_reg_state tmp = *reg; + struct tnum lo32, hi32, range; + + coerce_reg_to_size(&tmp, 4); + range = tnum_range(tmp.umin_value, tmp.umax_value); + lo32 = tnum_cast(reg->var_off, 4); + hi32 = tnum_lshift(tnum_rshift(reg->var_off, 32), 32); + reg->var_off = tnum_or(hi32, tnum_intersect(lo32, range)); + } + +In the case of the concrete example, this gives us a more conservative unknown +section. Thus, after knowing r1 <= 0x4000000000 and r1 >= 0x2000000000 and + w1 <= 0x400 and w1 >= 0x200: + + max: 0b100000000000000000000000000000000000000 / 0x4000000000 + var: 0b111111111111111111111111111111111111111 / 0x7fffffffff + min: 0b010000000000000000000000000000000000000 / 0x2000000000 + +However, above new __reg_bound_offset32() has no effect on refining the +knowledge of the register contents. Meaning, if the bounds in hi32 range +mismatch we'll get the identity function given the range reg spans +[0x0,0xffffffff] and we cast var_off into lo32 only to later on binary +or it again with the hi32. + +Likewise, if the bounds in hi32 range match, then we mask both bounds +with 0xffffffff, use the resulting umin/umax for the range to later +intersect the lo32 with it. However, _prior_ called __reg_bound_offset() +did already such intersection on the full reg and we therefore would only +repeat the same operation on the lo32 part twice. + +Given this has no effect and the original commit had false assumptions, +this patch reverts the code entirely which is also more straight forward +for stable trees: apparently 581738a681b6 got auto-selected by Sasha's +ML system and misclassified as a fix, so it got sucked into v5.4 where +it should never have landed. A revert is low-risk also from a user PoV +since it requires a recent kernel and llc to opt-into -mcpu=v3 BPF CPU +to generate jmp32 instructions. A proper bounds refinement would need a +significantly more complex approach which is currently being worked, but +no stable material [0]. Hence revert is best option for stable. After the +revert, the original reported program gets rejected as follows: + + 1: (7f) r0 >>= r0 + 2: (14) w0 -= 808464432 + 3: (07) r0 += 808464432 + 4: (b7) r1 = 808464432 + 5: (de) if w1 s<= w0 goto pc+0 + R0_w=invP(id=0,umin_value=808464432,umax_value=5103431727,var_off=(0x0; 0x1ffffffff)) R1_w=invP808464432 R10=fp0 + 6: (07) r0 += -2144337872 + 7: (14) w0 -= -1607454672 + 8: (25) if r0 > 0x30303030 goto pc+0 + R0_w=invP(id=0,umax_value=808464432,var_off=(0x0; 0x3fffffff)) R1_w=invP808464432 R10=fp0 + 9: (76) if w0 s>= 0x303030 goto pc+2 + R0=invP(id=0,umax_value=3158063,var_off=(0x0; 0x3fffff)) R1=invP808464432 R10=fp0 + 10: (30) r0 = *(u8 *)skb[808464432] + BPF_LD_[ABS|IND] uses reserved fields + processed 11 insns (limit 1000000) [...] + + [0] https://lore.kernel.org/bpf/158507130343.15666.8018068546764556975.stgit@john-Precision-5820-Tower/T/ + +Fixes: 581738a681b6 ("bpf: Provide better register bounds after jmp32 instructions") +Reported-by: Anatoly Trosinenko <anatoly.trosinenko@gmail.com> +Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> +Signed-off-by: Alexei Starovoitov <ast@kernel.org> +Link: https://lore.kernel.org/bpf/20200330160324.15259-2-daniel@iogearbox.net +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + kernel/bpf/verifier.c | 19 ------------------- + 1 file changed, 19 deletions(-) + +diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c +index 1cc945daa9c8..5080469094af 100644 +--- a/kernel/bpf/verifier.c ++++ b/kernel/bpf/verifier.c +@@ -1034,17 +1034,6 @@ static void __reg_bound_offset(struct bpf_reg_state *reg) + reg->umax_value)); + } + +-static void __reg_bound_offset32(struct bpf_reg_state *reg) +-{ +- u64 mask = 0xffffFFFF; +- struct tnum range = tnum_range(reg->umin_value & mask, +- reg->umax_value & mask); +- struct tnum lo32 = tnum_cast(reg->var_off, 4); +- struct tnum hi32 = tnum_lshift(tnum_rshift(reg->var_off, 32), 32); +- +- reg->var_off = tnum_or(hi32, tnum_intersect(lo32, range)); +-} +- + /* Reset the min/max bounds of a register */ + static void __mark_reg_unbounded(struct bpf_reg_state *reg) + { +@@ -5717,10 +5706,6 @@ static void reg_set_min_max(struct bpf_reg_state *true_reg, + /* We might have learned some bits from the bounds. */ + __reg_bound_offset(false_reg); + __reg_bound_offset(true_reg); +- if (is_jmp32) { +- __reg_bound_offset32(false_reg); +- __reg_bound_offset32(true_reg); +- } + /* Intersecting with the old var_off might have improved our bounds + * slightly. e.g. if umax was 0x7f...f and var_off was (0; 0xf...fc), + * then new var_off is (0; 0x7f...fc) which improves our umax. +@@ -5830,10 +5815,6 @@ static void reg_set_min_max_inv(struct bpf_reg_state *true_reg, + /* We might have learned some bits from the bounds. */ + __reg_bound_offset(false_reg); + __reg_bound_offset(true_reg); +- if (is_jmp32) { +- __reg_bound_offset32(false_reg); +- __reg_bound_offset32(true_reg); +- } + /* Intersecting with the old var_off might have improved our bounds + * slightly. e.g. if umax was 0x7f...f and var_off was (0; 0xf...fc), + * then new var_off is (0; 0x7f...fc) which improves our umax. +-- +cgit v1.2.3-1-gf6bb5 + diff --git a/0003-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch b/0003-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch deleted file mode 100644 index 15688c8..0000000 --- a/0003-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch +++ /dev/null @@ -1,91 +0,0 @@ -From c40f78c76b2f3ae55c348e8b206b0b283f01549c Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun, 2 Feb 2020 17:16:31 +0000 -Subject: drm: Remove PageReserved manipulation from drm_pci_alloc - -drm_pci_alloc/drm_pci_free are very thin wrappers around the core dma -facilities, and we have no special reason within the drm layer to behave -differently. In particular, since - -commit de09d31dd38a50fdce106c15abd68432eebbd014 -Author: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> -Date: Fri Jan 15 16:51:42 2016 -0800 - - page-flags: define PG_reserved behavior on compound pages - - As far as I can see there's no users of PG_reserved on compound pages. - Let's use PF_NO_COMPOUND here. - -it has been illegal to combine GFP_COMP with SetPageReserved, so lets -stop doing both and leave the dma layer to its own devices. - -Reported-by: Taketo Kabe -Bug: https://gitlab.freedesktop.org/drm/intel/issues/1027 -Fixes: de09d31dd38a ("page-flags: define PG_reserved behavior on compound pages") -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Cc: <stable@vger.kernel.org> # v4.5+ -Reviewed-by: Alex Deucher <alexander.deucher@amd.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20200202171635.4039044-1-chris@chris-wilson.co.uk ---- - drivers/gpu/drm/drm_pci.c | 23 ++--------------------- - 1 file changed, 2 insertions(+), 21 deletions(-) - -diff --git a/drivers/gpu/drm/drm_pci.c b/drivers/gpu/drm/drm_pci.c -index a86a3ab2771c..235729f4aadb 100644 ---- a/drivers/gpu/drm/drm_pci.c -+++ b/drivers/gpu/drm/drm_pci.c -@@ -51,8 +51,6 @@ - drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t align) - { - drm_dma_handle_t *dmah; -- unsigned long addr; -- size_t sz; - - /* pci_alloc_consistent only guarantees alignment to the smallest - * PAGE_SIZE order which is greater than or equal to the requested size. -@@ -68,20 +66,13 @@ drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t ali - dmah->size = size; - dmah->vaddr = dma_alloc_coherent(&dev->pdev->dev, size, - &dmah->busaddr, -- GFP_KERNEL | __GFP_COMP); -+ GFP_KERNEL); - - if (dmah->vaddr == NULL) { - kfree(dmah); - return NULL; - } - -- /* XXX - Is virt_to_page() legal for consistent mem? */ -- /* Reserve */ -- for (addr = (unsigned long)dmah->vaddr, sz = size; -- sz > 0; addr += PAGE_SIZE, sz -= PAGE_SIZE) { -- SetPageReserved(virt_to_page((void *)addr)); -- } -- - return dmah; - } - -@@ -94,19 +85,9 @@ EXPORT_SYMBOL(drm_pci_alloc); - */ - void __drm_legacy_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah) - { -- unsigned long addr; -- size_t sz; -- -- if (dmah->vaddr) { -- /* XXX - Is virt_to_page() legal for consistent mem? */ -- /* Unreserve */ -- for (addr = (unsigned long)dmah->vaddr, sz = dmah->size; -- sz > 0; addr += PAGE_SIZE, sz -= PAGE_SIZE) { -- ClearPageReserved(virt_to_page((void *)addr)); -- } -+ if (dmah->vaddr) - dma_free_coherent(&dev->pdev->dev, dmah->size, dmah->vaddr, - dmah->busaddr); -- } - } - - /** --- -cgit v1.2.2-1-gc45e - diff --git a/0004-drm_915_Serialise_i915_active_acquire_with__active_retire.patch b/0004-drm_915_Serialise_i915_active_acquire_with__active_retire.patch deleted file mode 100644 index 937adac..0000000 --- a/0004-drm_915_Serialise_i915_active_acquire_with__active_retire.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 167299b5c1cc6f0c1274271aec0ab2b9fec01594 Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu, 5 Dec 2019 18:33:32 +0000 -Subject: drm/i915: Serialise i915_active_acquire() with __active_retire() - -As __active_retire() does it's final atomic_dec() under the -ref->tree_lock spinlock, in order to prevent ourselves from reusing the -ref->cache and ref->tree as they are being destroyed, we need to -serialise with the retirement during i915_active_acquire(). - -[ +0.000005] kernel BUG at drivers/gpu/drm/i915/i915_active.c:157! -[ +0.000011] invalid opcode: 0000 [#1] SMP -[ +0.000004] CPU: 7 PID: 188 Comm: kworker/u16:4 Not tainted 5.4.0-rc8-03070-gac5e57322614 #89 -[ +0.000002] Hardware name: Razer Razer Blade Stealth 13 Late 2019/LY320, BIOS 1.02 09/10/2019 -[ +0.000082] Workqueue: events_unbound active_work [i915] -[ +0.000059] RIP: 0010:__active_retire+0x115/0x120 [i915] -[ +0.000003] Code: 75 28 48 8b 3d 8c 6e 1a 00 48 89 ee e8 e4 5f a5 c0 48 8b 44 24 10 65 48 33 04 25 28 00 00 00 75 0f 48 83 c4 18 5b 5d 41 5c c3 <0f> 0b 0f 0b 0f 0b e8 a0 90 87 c0 0f 1f 44 00 00 48 8b 3d 54 6e 1a -[ +0.000002] RSP: 0018:ffffb833003f7e48 EFLAGS: 00010286 -[ +0.000003] RAX: ffff8d6e8d726d00 RBX: ffff8d6f9db4e840 RCX: 0000000000000000 -[ +0.000001] RDX: ffffffff82605930 RSI: ffff8d6f9adc4908 RDI: ffff8d6e96cefe28 -[ +0.000002] RBP: ffff8d6e96cefe00 R08: 0000000000000000 R09: ffff8d6f9ffe9a50 -[ +0.000002] R10: 0000000000000048 R11: 0000000000000018 R12: ffff8d6f9adc4930 -[ +0.000001] R13: ffff8d6f9e04fb00 R14: 0000000000000000 R15: ffff8d6f9adc4988 -[ +0.000002] FS: 0000000000000000(0000) GS:ffff8d6f9ffc0000(0000) knlGS:0000000000000000 -[ +0.000002] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 -[ +0.000002] CR2: 000055eb5a34cf10 CR3: 000000018d609002 CR4: 0000000000760ee0 -[ +0.000002] PKRU: 55555554 -[ +0.000001] Call Trace: -[ +0.000010] process_one_work+0x1aa/0x350 -[ +0.000004] worker_thread+0x4d/0x3a0 -[ +0.000004] kthread+0xfb/0x130 -[ +0.000004] ? process_one_work+0x350/0x350 -[ +0.000003] ? kthread_park+0x90/0x90 -[ +0.000005] ret_from_fork+0x1f/0x40 - -Reported-by: Kenneth Graunke <kenneth@whitecape.org> -Fixes: c9ad602feabe ("drm/i915: Split i915_active.mutex into an irq-safe spinlock for the rbtree") -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> -Cc: Kenneth Graunke <kenneth@whitecape.org> -Cc: Matthew Auld <matthew.auld@intel.com> -Tested-by: Kenneth Graunke <kenneth@whitecape.org> -Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> -Link: https://patchwork.freedesktop.org/patch/msgid/20191205183332.801237-1-chris@chris-wilson.co.uk ---- - drivers/gpu/drm/i915/i915_active.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/i915/i915_active.c b/drivers/gpu/drm/i915/i915_active.c -index a19e7d89bc8a..378b52d1ab74 100644 ---- a/drivers/gpu/drm/i915/i915_active.c -+++ b/drivers/gpu/drm/i915/i915_active.c -@@ -91,10 +91,9 @@ static void debug_active_init(struct i915_active *ref) - - static void debug_active_activate(struct i915_active *ref) - { -- spin_lock_irq(&ref->tree_lock); -+ lockdep_assert_held(&ref->tree_lock); - if (!atomic_read(&ref->count)) /* before the first inc */ - debug_object_activate(ref, &active_debug_desc); -- spin_unlock_irq(&ref->tree_lock); - } - - static void debug_active_deactivate(struct i915_active *ref) -@@ -407,8 +406,10 @@ int i915_active_acquire(struct i915_active *ref) - if (!atomic_read(&ref->count) && ref->active) - err = ref->active(ref); - if (!err) { -+ spin_lock_irq(&ref->tree_lock); /* vs __active_retire() */ - debug_active_activate(ref); - atomic_inc(&ref->count); -+ spin_unlock_irq(&ref->tree_lock); - } - - mutex_unlock(&ref->mutex); --- -cgit v1.2.2-1-gc45e - diff --git a/0005-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch b/0005-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch deleted file mode 100644 index 3afe243..0000000 --- a/0005-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch +++ /dev/null @@ -1,129 +0,0 @@ -From e3d3fd13d0ac1e12848b4f2a57e9e4bf2b557bf0 Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue, 3 Dec 2019 10:13:46 +0000 -Subject: drm/i915/gem: Take runtime-pm wakeref prior to unbinding - -Some machines require ACPI for runtime resume, and ACPI is quite kmalloc -happy. We cannot handle kmalloc from inside the vm->mutex, as they are -used by the shrinker, and so we must ensure the global runtime-pm is -awake prior to unbinding to avoid the potential inversion. - -<4> [57.121748] ====================================================== -<4> [57.121750] WARNING: possible circular locking dependency detected -<4> [57.121753] 5.4.0-rc8-CI-CI_DRM_7466+ #1 Tainted: G U -<4> [57.121754] ------------------------------------------------------ -<4> [57.121756] i915_pm_rpm/1105 is trying to acquire lock: -<4> [57.121758] ffffffff82263a40 (fs_reclaim){+.+.}, at: fs_reclaim_acquire.part.117+0x0/0x30 -<4> [57.121766] -but task is already holding lock: -<4> [57.121768] ffff888475a593c0 (&vm->mutex){+.+.}, at: i915_vma_unbind+0x21/0x50 [i915] -<4> [57.121868] -which lock already depends on the new lock. - -<4> [57.121869] -the existing dependency chain (in reverse order) is: -<4> [57.121871] --> #1 (&vm->mutex){+.+.}: -<4> [57.121951] i915_gem_shrinker_taints_mutex+0xa2/0xd0 [i915] -<4> [57.122028] i915_address_space_init+0xa9/0x170 [i915] -<4> [57.122104] i915_ggtt_init_hw+0x47/0x130 [i915] -<4> [57.122150] i915_driver_probe+0xbb4/0x15f0 [i915] -<4> [57.122197] i915_pci_probe+0x43/0x1c0 [i915] -<4> [57.122202] pci_device_probe+0x9e/0x120 -<4> [57.122206] really_probe+0xea/0x420 -<4> [57.122209] driver_probe_device+0x10b/0x120 -<4> [57.122212] device_driver_attach+0x4a/0x50 -<4> [57.122214] __driver_attach+0x97/0x130 -<4> [57.122217] bus_for_each_dev+0x74/0xc0 -<4> [57.122220] bus_add_driver+0x142/0x220 -<4> [57.122222] driver_register+0x56/0xf0 -<4> [57.122226] do_one_initcall+0x58/0x2ff -<4> [57.122230] do_init_module+0x56/0x1f8 -<4> [57.122233] load_module+0x243e/0x29f0 -<4> [57.122236] __do_sys_finit_module+0xe9/0x110 -<4> [57.122239] do_syscall_64+0x4f/0x210 -<4> [57.122242] entry_SYSCALL_64_after_hwframe+0x49/0xbe -<4> [57.122244] --> #0 (fs_reclaim){+.+.}: -<4> [57.122249] __lock_acquire+0x1328/0x15d0 -<4> [57.122251] lock_acquire+0xa7/0x1c0 -<4> [57.122254] fs_reclaim_acquire.part.117+0x24/0x30 -<4> [57.122257] __kmalloc+0x48/0x320 -<4> [57.122261] acpi_ns_internalize_name+0x44/0x9b -<4> [57.122264] acpi_ns_get_node_unlocked+0x6b/0xd3 -<4> [57.122267] acpi_ns_get_node+0x3b/0x50 -<4> [57.122271] acpi_get_handle+0x8a/0xb4 -<4> [57.122274] acpi_has_method+0x1c/0x40 -<4> [57.122278] acpi_pci_set_power_state+0x40/0xe0 -<4> [57.122281] pci_platform_power_transition+0x3e/0x90 -<4> [57.122284] pci_set_power_state+0x83/0xf0 -<4> [57.122287] pci_restore_standard_config+0x22/0x40 -<4> [57.122289] pci_pm_runtime_resume+0x23/0xc0 -<4> [57.122293] __rpm_callback+0xb1/0x110 -<4> [57.122296] rpm_callback+0x1a/0x70 -<4> [57.122299] rpm_resume+0x50e/0x790 -<4> [57.122302] __pm_runtime_resume+0x42/0x80 -<4> [57.122357] __intel_runtime_pm_get+0x15/0x60 [i915] -<4> [57.122435] ggtt_unbind_vma+0x24/0x60 [i915] -<4> [57.122514] __i915_vma_unbind.part.39+0xb5/0x500 [i915] -<4> [57.122593] i915_vma_unbind+0x2d/0x50 [i915] -<4> [57.122668] i915_gem_object_unbind+0x11c/0x260 [i915] -<4> [57.122740] i915_gem_object_set_cache_level+0x32/0x90 [i915] -<4> [57.122810] i915_gem_set_caching_ioctl+0x1f7/0x2f0 [i915] -<4> [57.122815] drm_ioctl_kernel+0xa7/0xf0 -<4> [57.122818] drm_ioctl+0x2e1/0x390 -<4> [57.122822] do_vfs_ioctl+0xa0/0x6f0 -<4> [57.122825] ksys_ioctl+0x35/0x60 -<4> [57.122828] __x64_sys_ioctl+0x11/0x20 -<4> [57.122830] do_syscall_64+0x4f/0x210 -<4> [57.122833] entry_SYSCALL_64_after_hwframe+0x49/0xbe - -Closes: https://gitlab.freedesktop.org/drm/intel/issues/711 -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Reviewed-by: Matthew Auld <matthew.auld@intel.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20191203101347.2836057-1-chris@chris-wilson.co.uk ---- - drivers/gpu/drm/i915/i915_gem.c | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 3f07948ea4da..ed2436db5dd2 100644 ---- a/drivers/gpu/drm/i915/i915_gem.c -+++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -119,10 +119,23 @@ i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data, - int i915_gem_object_unbind(struct drm_i915_gem_object *obj, - unsigned long flags) - { -- struct i915_vma *vma; -+ struct intel_runtime_pm *rpm = &to_i915(obj->base.dev)->runtime_pm; - LIST_HEAD(still_in_list); -+ intel_wakeref_t wakeref; -+ struct i915_vma *vma; - int ret = 0; - -+ if (!atomic_read(&obj->bind_count)) -+ return 0; -+ -+ /* -+ * As some machines use ACPI to handle runtime-resume callbacks, and -+ * ACPI is quite kmalloc happy, we cannot resume beneath the vm->mutex -+ * as they are required by the shrinker. Ergo, we wake the device up -+ * first just in case. -+ */ -+ wakeref = intel_runtime_pm_get(rpm); -+ - spin_lock(&obj->vma.lock); - while (!ret && (vma = list_first_entry_or_null(&obj->vma.list, - struct i915_vma, -@@ -146,6 +159,8 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj, - list_splice(&still_in_list, &obj->vma.list); - spin_unlock(&obj->vma.lock); - -+ intel_runtime_pm_put(rpm, wakeref); -+ - return ret; - } - --- -cgit v1.2.2-1-gc45e - diff --git a/0006-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch b/0006-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch deleted file mode 100644 index 9887e67..0000000 --- a/0006-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 89678e8921d00143665237e719f96cfc8425f804 Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Tue, 3 Dec 2019 15:50:32 +0000 -Subject: drm/i915/gem: Avoid parking the vma as we unbind - -In order to avoid keeping a reference on the i915_vma (which is long -overdue!) we have to coordinate all the possible lifetimes and only use -the vma while we know it is alive. In this episode, we are reminded that -while idle, the closed vma are destroyed. So if the GT idles while we are -working with the vma, the vma itself becomes invalid. - -First class i915_vma here we come, but in the meantime keep piling on -the straw. - -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Reviewed-by: Matthew Auld <matthew.auld@intel.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20191203155032.3137263-1-chris@chris-wilson.co.uk ---- - drivers/gpu/drm/i915/i915_gem.c | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index ed2436db5dd2..739543812422 100644 ---- a/drivers/gpu/drm/i915/i915_gem.c -+++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -141,18 +141,33 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj, - struct i915_vma, - obj_link))) { - struct i915_address_space *vm = vma->vm; -+ bool awake = false; - -- ret = -EBUSY; -+ ret = -EAGAIN; - if (!i915_vm_tryopen(vm)) - break; - -+ /* Prevent vma being freed by i915_vma_parked as we unbind */ -+ if (intel_gt_pm_get_if_awake(vm->gt)) { -+ awake = true; -+ } else { -+ if (i915_vma_is_closed(vma)) { -+ spin_unlock(&obj->vma.lock); -+ goto err_vm; -+ } -+ } -+ - list_move_tail(&vma->obj_link, &still_in_list); - spin_unlock(&obj->vma.lock); - -+ ret = -EBUSY; - if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE || - !i915_vma_is_active(vma)) - ret = i915_vma_unbind(vma); - -+ if (awake) -+ intel_gt_pm_put(vm->gt); -+err_vm: - i915_vm_close(vm); - spin_lock(&obj->vma.lock); - } --- -cgit v1.2.2-1-gc45e - diff --git a/0007-drm-i915-gem-Try-to-flush-pending-unbind-events.patch b/0007-drm-i915-gem-Try-to-flush-pending-unbind-events.patch deleted file mode 100644 index 52196eb..0000000 --- a/0007-drm-i915-gem-Try-to-flush-pending-unbind-events.patch +++ /dev/null @@ -1,64 +0,0 @@ -From bfe34ef7e07d52ada331df8e1c5938906693b950 Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Wed, 4 Dec 2019 12:35:56 +0000 -Subject: drm/i915/gem: Try to flush pending unbind events - -If we cannot handle a vma within the unbind loop, try to flush the -pending events (i915_vma_parked, i915_vm_release) and try again. This -avoids a round trip to userspace that is not guaranteed to make forward -progress, as the events we wait upon require being idle. - -References: cb6c3d45f948 ("drm/i915/gem: Avoid parking the vma as we unbind") -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Cc: Matthew Auld <matthew.auld@intel.com> -Reviewed-by: Matthew Auld <matthew.auld@intel.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20191204123556.3740002-1-chris@chris-wilson.co.uk ---- - drivers/gpu/drm/i915/i915_gem.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 739543812422..85b12228c2cf 100644 ---- a/drivers/gpu/drm/i915/i915_gem.c -+++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -123,7 +123,7 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj, - LIST_HEAD(still_in_list); - intel_wakeref_t wakeref; - struct i915_vma *vma; -- int ret = 0; -+ int ret; - - if (!atomic_read(&obj->bind_count)) - return 0; -@@ -136,6 +136,8 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj, - */ - wakeref = intel_runtime_pm_get(rpm); - -+try_again: -+ ret = 0; - spin_lock(&obj->vma.lock); - while (!ret && (vma = list_first_entry_or_null(&obj->vma.list, - struct i915_vma, -@@ -153,6 +155,7 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj, - } else { - if (i915_vma_is_closed(vma)) { - spin_unlock(&obj->vma.lock); -+ i915_vma_parked(vm->gt); - goto err_vm; - } - } -@@ -174,6 +177,11 @@ err_vm: - list_splice(&still_in_list, &obj->vma.list); - spin_unlock(&obj->vma.lock); - -+ if (ret == -EAGAIN && flags & I915_GEM_OBJECT_UNBIND_ACTIVE) { -+ rcu_barrier(); /* flush the i915_vm_release() */ -+ goto try_again; -+ } -+ - intel_runtime_pm_put(rpm, wakeref); - - return ret; --- -cgit v1.2.2-1-gc45e - diff --git a/0008-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch b/0008-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch deleted file mode 100644 index 2719884..0000000 --- a/0008-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 52bc26b084be047fbc485f711dc2b88c0a1b2923 Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu, 5 Dec 2019 13:29:12 +0000 -Subject: drm/i915/gem: Reinitialise the local list before repeating - -As we may start the loop again, we require our local list of i915_vma -we've processed to be reinitialised. - -Fixes: aa5e4453dc05 ("drm/i915/gem: Try to flush pending unbind events") -Closes: https://gitlab.freedesktop.org/drm/intel/issues/731 -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Reviewed-by: Andi Shyti <andi.shyti@intel.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20191205132912.606868-1-chris@chris-wilson.co.uk ---- - drivers/gpu/drm/i915/i915_gem.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 85b12228c2cf..c2c025c4f4ad 100644 ---- a/drivers/gpu/drm/i915/i915_gem.c -+++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -174,7 +174,7 @@ err_vm: - i915_vm_close(vm); - spin_lock(&obj->vma.lock); - } -- list_splice(&still_in_list, &obj->vma.list); -+ list_splice_init(&still_in_list, &obj->vma.list); - spin_unlock(&obj->vma.lock); - - if (ret == -EAGAIN && flags & I915_GEM_OBJECT_UNBIND_ACTIVE) { --- -cgit v1.2.2-1-gc45e - diff --git a/0009-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch b/0009-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch deleted file mode 100644 index 9db4525..0000000 --- a/0009-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 513cbef093293a7f0e331eb4fee8e6a1bb9bf5a2 Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun, 22 Dec 2019 21:02:54 +0000 -Subject: drm/i915: Add a simple is-bound check before unbinding - -Only acquire the various atomic references required to unbind the vma if -we do need to unbind the vma. - -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Acked-by: Imre Deak <imre.deak@intel.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20191222210256.2066451-1-chris@chris-wilson.co.uk ---- - drivers/gpu/drm/i915/i915_gem.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index c2c025c4f4ad..83eed642cbcd 100644 ---- a/drivers/gpu/drm/i915/i915_gem.c -+++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -145,6 +145,10 @@ try_again: - struct i915_address_space *vm = vma->vm; - bool awake = false; - -+ list_move_tail(&vma->obj_link, &still_in_list); -+ if (!i915_vma_is_bound(vma, I915_VMA_BIND_MASK)) -+ continue; -+ - ret = -EAGAIN; - if (!i915_vm_tryopen(vm)) - break; -@@ -160,7 +164,6 @@ try_again: - } - } - -- list_move_tail(&vma->obj_link, &still_in_list); - spin_unlock(&obj->vma.lock); - - ret = -EBUSY; --- -cgit v1.2.2-1-gc45e - diff --git a/0010-drm-i915-Introduce-a-vma.kref.patch b/0010-drm-i915-Introduce-a-vma.kref.patch deleted file mode 100644 index 2ad022b..0000000 --- a/0010-drm-i915-Introduce-a-vma.kref.patch +++ /dev/null @@ -1,252 +0,0 @@ -From 2029f44eb483a6ab7c0bc017cb699b7084f5eab4 Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sun, 22 Dec 2019 21:02:55 +0000 -Subject: drm/i915: Introduce a vma.kref - -Start introducing a kref on i915_vma in order to protect the vma unbind -(i915_gem_object_unbind) from a parallel destruction (i915_vma_parked). -Later, we will use the refcount to manage all access and turn i915_vma -into a first class container. - -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Cc: Imre Deak <imre.deak@intel.com> -Acked-by: Imre Deak <imre.deak@intel.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20191222210256.2066451-2-chris@chris-wilson.co.uk ---- - drivers/gpu/drm/i915/gem/i915_gem_object.c | 2 +- - drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 3 +-- - drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 4 ++-- - drivers/gpu/drm/i915/i915_gem.c | 27 ++++++++-------------- - drivers/gpu/drm/i915/i915_gem_gtt.c | 5 ++-- - drivers/gpu/drm/i915/i915_vma.c | 9 +++++--- - drivers/gpu/drm/i915/i915_vma.h | 25 +++++++++++++++++--- - 7 files changed, 44 insertions(+), 31 deletions(-) - -diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c -index a596548c07bf..b6937469ffd3 100644 ---- a/drivers/gpu/drm/i915/gem/i915_gem_object.c -+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c -@@ -174,7 +174,7 @@ static void __i915_gem_free_objects(struct drm_i915_private *i915, - GEM_BUG_ON(vma->obj != obj); - spin_unlock(&obj->vma.lock); - -- i915_vma_destroy(vma); -+ __i915_vma_put(vma); - - spin_lock(&obj->vma.lock); - } -diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c -index 688c49a24f32..bd1e2c12de63 100644 ---- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c -+++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c -@@ -1110,8 +1110,7 @@ static int __igt_write_huge(struct intel_context *ce, - out_vma_unpin: - i915_vma_unpin(vma); - out_vma_close: -- i915_vma_destroy(vma); -- -+ __i915_vma_put(vma); - return err; - } - -diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c -index 29b2077b73d2..d226e55df8b2 100644 ---- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c -+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c -@@ -161,7 +161,7 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj, - kunmap(p); - - out: -- i915_vma_destroy(vma); -+ __i915_vma_put(vma); - return err; - } - -@@ -255,7 +255,7 @@ static int check_partial_mappings(struct drm_i915_gem_object *obj, - if (err) - return err; - -- i915_vma_destroy(vma); -+ __i915_vma_put(vma); - - if (igt_timeout(end_time, - "%s: timed out after tiling=%d stride=%d\n", -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 83eed642cbcd..0475a0343487 100644 ---- a/drivers/gpu/drm/i915/i915_gem.c -+++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -143,7 +143,6 @@ try_again: - struct i915_vma, - obj_link))) { - struct i915_address_space *vm = vma->vm; -- bool awake = false; - - list_move_tail(&vma->obj_link, &still_in_list); - if (!i915_vma_is_bound(vma, I915_VMA_BIND_MASK)) -@@ -154,26 +153,18 @@ try_again: - break; - - /* Prevent vma being freed by i915_vma_parked as we unbind */ -- if (intel_gt_pm_get_if_awake(vm->gt)) { -- awake = true; -- } else { -- if (i915_vma_is_closed(vma)) { -- spin_unlock(&obj->vma.lock); -- i915_vma_parked(vm->gt); -- goto err_vm; -- } -- } -- -+ vma = __i915_vma_get(vma); - spin_unlock(&obj->vma.lock); - -- ret = -EBUSY; -- if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE || -- !i915_vma_is_active(vma)) -- ret = i915_vma_unbind(vma); -+ if (vma) { -+ ret = -EBUSY; -+ if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE || -+ !i915_vma_is_active(vma)) -+ ret = i915_vma_unbind(vma); -+ -+ __i915_vma_put(vma); -+ } - -- if (awake) -- intel_gt_pm_put(vm->gt); --err_vm: - i915_vm_close(vm); - spin_lock(&obj->vma.lock); - } -diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c -index 44727806dfd7..dd2c20f7d4d2 100644 ---- a/drivers/gpu/drm/i915/i915_gem_gtt.c -+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c -@@ -522,7 +522,7 @@ void __i915_vm_close(struct i915_address_space *vm) - - atomic_and(~I915_VMA_PIN_MASK, &vma->flags); - WARN_ON(__i915_vma_unbind(vma)); -- i915_vma_destroy(vma); -+ __i915_vma_put(vma); - - i915_gem_object_put(obj); - } -@@ -1790,7 +1790,7 @@ static void gen6_ppgtt_cleanup(struct i915_address_space *vm) - { - struct gen6_ppgtt *ppgtt = to_gen6_ppgtt(i915_vm_to_ppgtt(vm)); - -- i915_vma_destroy(ppgtt->vma); -+ __i915_vma_put(ppgtt->vma); - - gen6_ppgtt_free_pd(ppgtt); - free_scratch(vm); -@@ -1878,6 +1878,7 @@ static struct i915_vma *pd_vma_create(struct gen6_ppgtt *ppgtt, int size) - - i915_active_init(&vma->active, NULL, NULL); - -+ kref_init(&vma->ref); - mutex_init(&vma->pages_mutex); - vma->vm = i915_vm_get(&ggtt->vm); - vma->ops = &pd_vma_ops; -diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c -index 01c822256b39..00973017abba 100644 ---- a/drivers/gpu/drm/i915/i915_vma.c -+++ b/drivers/gpu/drm/i915/i915_vma.c -@@ -112,6 +112,7 @@ vma_create(struct drm_i915_gem_object *obj, - if (vma == NULL) - return ERR_PTR(-ENOMEM); - -+ kref_init(&vma->ref); - mutex_init(&vma->pages_mutex); - vma->vm = i915_vm_get(vm); - vma->ops = &vm->vma_ops; -@@ -978,8 +979,10 @@ void i915_vma_reopen(struct i915_vma *vma) - __i915_vma_remove_closed(vma); - } - --void i915_vma_destroy(struct i915_vma *vma) -+void i915_vma_release(struct kref *ref) - { -+ struct i915_vma *vma = container_of(ref, typeof(*vma), ref); -+ - if (drm_mm_node_allocated(&vma->node)) { - mutex_lock(&vma->vm->mutex); - atomic_and(~I915_VMA_PIN_MASK, &vma->flags); -@@ -1027,7 +1030,7 @@ void i915_vma_parked(struct intel_gt *gt) - spin_unlock_irq(>->closed_lock); - - if (obj) { -- i915_vma_destroy(vma); -+ __i915_vma_put(vma); - i915_gem_object_put(obj); - } - -@@ -1192,7 +1195,7 @@ int __i915_vma_unbind(struct i915_vma *vma) - i915_vma_detach(vma); - vma_unbind_pages(vma); - -- drm_mm_remove_node(&vma->node); /* pairs with i915_vma_destroy() */ -+ drm_mm_remove_node(&vma->node); /* pairs with i915_vma_release() */ - return 0; - } - -diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h -index 465932813bc5..ce1db908ad69 100644 ---- a/drivers/gpu/drm/i915/i915_vma.h -+++ b/drivers/gpu/drm/i915/i915_vma.h -@@ -51,14 +51,19 @@ enum i915_cache_level; - */ - struct i915_vma { - struct drm_mm_node node; -- struct drm_i915_gem_object *obj; -+ - struct i915_address_space *vm; - const struct i915_vma_ops *ops; -- struct i915_fence_reg *fence; -+ -+ struct drm_i915_gem_object *obj; - struct dma_resv *resv; /** Alias of obj->resv */ -+ - struct sg_table *pages; - void __iomem *iomap; - void *private; /* owned by creator */ -+ -+ struct i915_fence_reg *fence; -+ - u64 size; - u64 display_alignment; - struct i915_page_sizes page_sizes; -@@ -71,6 +76,7 @@ struct i915_vma { - * handles (but same file) for execbuf, i.e. the number of aliases - * that exist in the ctx->handle_vmas LUT for this vma. - */ -+ struct kref ref; - atomic_t open_count; - atomic_t flags; - /** -@@ -333,7 +339,20 @@ int __must_check i915_vma_unbind(struct i915_vma *vma); - void i915_vma_unlink_ctx(struct i915_vma *vma); - void i915_vma_close(struct i915_vma *vma); - void i915_vma_reopen(struct i915_vma *vma); --void i915_vma_destroy(struct i915_vma *vma); -+ -+static inline struct i915_vma *__i915_vma_get(struct i915_vma *vma) -+{ -+ if (kref_get_unless_zero(&vma->ref)) -+ return vma; -+ -+ return NULL; -+} -+ -+void i915_vma_release(struct kref *ref); -+static inline void __i915_vma_put(struct i915_vma *vma) -+{ -+ kref_put(&vma->ref, i915_vma_release); -+} - - #define assert_vma_held(vma) dma_resv_assert_held((vma)->resv) - --- -cgit v1.2.2-1-gc45e - diff --git a/0011-iwlwifi-dont-send-GEO_TX_POWER_LIMIT-if-no-wgds-table.patch b/0011-iwlwifi-dont-send-GEO_TX_POWER_LIMIT-if-no-wgds-table.patch deleted file mode 100644 index af462ee..0000000 --- a/0011-iwlwifi-dont-send-GEO_TX_POWER_LIMIT-if-no-wgds-table.patch +++ /dev/null @@ -1,152 +0,0 @@ -From ec701fa986108fae10bee7cfe269e12210521c5f Mon Sep 17 00:00:00 2001 -From: Golan Ben Ami <golan.ben.ami@intel.com> -Date: Wed, 18 Mar 2020 08:12:54 +0200 -Subject: iwlwifi: don't send GEO_TX_POWER_LIMIT if no wgds table - -The GEO_TX_POWER_LIMIT command was sent although -there is no wgds table, so the fw got wrong SAR values -from the driver. - -Fix this by avoiding sending the command if no wgds -tables are available. - -Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com> -Fixes: 39c1a9728f93 ("iwlwifi: refactor the SAR tables from mvm to acpi") -Signed-off-by: Luca Coelho <luciano.coelho@intel.com> -Tested-By: Jonathan McDowell <noodles@earth.li> -Tested-by: Len Brown <len.brown@intel.com> ---- - drivers/net/wireless/intel/iwlwifi/fw/acpi.c | 14 ++++++++------ - drivers/net/wireless/intel/iwlwifi/fw/acpi.h | 14 ++++++++------ - drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 9 ++++++++- - 3 files changed, 24 insertions(+), 13 deletions(-) - -diff --git a/drivers/net/wireless/intel/iwlwifi/fw/acpi.c b/drivers/net/wireless/intel/iwlwifi/fw/acpi.c -index 48d375a86d86..ba2aff3af0fe 100644 ---- a/drivers/net/wireless/intel/iwlwifi/fw/acpi.c -+++ b/drivers/net/wireless/intel/iwlwifi/fw/acpi.c -@@ -6,7 +6,7 @@ - * GPL LICENSE SUMMARY - * - * Copyright(c) 2017 Intel Deutschland GmbH -- * Copyright (C) 2019 Intel Corporation -+ * Copyright (C) 2019 - 2020 Intel Corporation - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as -@@ -27,7 +27,7 @@ - * BSD LICENSE - * - * Copyright(c) 2017 Intel Deutschland GmbH -- * Copyright (C) 2019 Intel Corporation -+ * Copyright (C) 2019 - 2020 Intel Corporation - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -491,13 +491,13 @@ int iwl_validate_sar_geo_profile(struct iwl_fw_runtime *fwrt, - } - IWL_EXPORT_SYMBOL(iwl_validate_sar_geo_profile); - --void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, -- struct iwl_per_chain_offset_group *table) -+int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, -+ struct iwl_per_chain_offset_group *table) - { - int ret, i, j; - - if (!iwl_sar_geo_support(fwrt)) -- return; -+ return -EOPNOTSUPP; - - ret = iwl_sar_get_wgds_table(fwrt); - if (ret < 0) { -@@ -505,7 +505,7 @@ void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, - "Geo SAR BIOS table invalid or unavailable. (%d)\n", - ret); - /* we don't fail if the table is not available */ -- return; -+ return -ENOENT; - } - - BUILD_BUG_ON(ACPI_NUM_GEO_PROFILES * ACPI_WGDS_NUM_BANDS * -@@ -530,5 +530,7 @@ void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, - i, j, value[1], value[2], value[0]); - } - } -+ -+ return 0; - } - IWL_EXPORT_SYMBOL(iwl_sar_geo_init); -diff --git a/drivers/net/wireless/intel/iwlwifi/fw/acpi.h b/drivers/net/wireless/intel/iwlwifi/fw/acpi.h -index 4a6e8262974b..5590e5cc8fbb 100644 ---- a/drivers/net/wireless/intel/iwlwifi/fw/acpi.h -+++ b/drivers/net/wireless/intel/iwlwifi/fw/acpi.h -@@ -6,7 +6,7 @@ - * GPL LICENSE SUMMARY - * - * Copyright(c) 2017 Intel Deutschland GmbH -- * Copyright(c) 2018 - 2019 Intel Corporation -+ * Copyright(c) 2018 - 2020 Intel Corporation - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as -@@ -27,7 +27,7 @@ - * BSD LICENSE - * - * Copyright(c) 2017 Intel Deutschland GmbH -- * Copyright(c) 2018 - 2019 Intel Corporation -+ * Copyright(c) 2018 - 2020 Intel Corporation - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -171,8 +171,9 @@ bool iwl_sar_geo_support(struct iwl_fw_runtime *fwrt); - int iwl_validate_sar_geo_profile(struct iwl_fw_runtime *fwrt, - struct iwl_host_cmd *cmd); - --void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, -- struct iwl_per_chain_offset_group *table); -+int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, -+ struct iwl_per_chain_offset_group *table); -+ - #else /* CONFIG_ACPI */ - - static inline void *iwl_acpi_get_object(struct device *dev, acpi_string method) -@@ -243,9 +244,10 @@ static inline int iwl_validate_sar_geo_profile(struct iwl_fw_runtime *fwrt, - return -ENOENT; - } - --static inline void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, -- struct iwl_per_chain_offset_group *table) -+static inline int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt, -+ struct iwl_per_chain_offset_group *table) - { -+ return -ENOENT; - } - - #endif /* CONFIG_ACPI */ -diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c -index c09624d8d7ee..81b7da5815eb 100644 ---- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c -+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c -@@ -749,10 +749,17 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm) - u16 cmd_wide_id = WIDE_ID(PHY_OPS_GROUP, GEO_TX_POWER_LIMIT); - union geo_tx_power_profiles_cmd cmd; - u16 len; -+ int ret; - - cmd.geo_cmd.ops = cpu_to_le32(IWL_PER_CHAIN_OFFSET_SET_TABLES); - -- iwl_sar_geo_init(&mvm->fwrt, cmd.geo_cmd.table); -+ ret = iwl_sar_geo_init(&mvm->fwrt, cmd.geo_cmd.table); -+ /* -+ * It is a valid scenario to not support SAR, or miss wgds table, -+ * but in that case there is no need to send the command. -+ */ -+ if (ret) -+ return 0; - - cmd.geo_cmd.table_revision = cpu_to_le32(mvm->fwrt.geo_rev); - --- -cgit v1.2.2-1-gc45e - diff --git a/0012-Revert-bpf-Provide-better-register-bounds-after-jmp32-instructions.patch b/0012-Revert-bpf-Provide-better-register-bounds-after-jmp32-instructions.patch deleted file mode 100644 index 4e866fa..0000000 --- a/0012-Revert-bpf-Provide-better-register-bounds-after-jmp32-instructions.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 9ff88052dbb54cdb7b05d91561b3540056c96e83 Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> -Date: Mon, 30 Mar 2020 22:37:11 +0200 -Subject: Revert "bpf: Provide better register bounds after jmp32 instructions" - -This reverts commit 581738a681b6faae5725c2555439189ca81c0f1f. ---- - kernel/bpf/verifier.c | 19 ------------------- - 1 file changed, 19 deletions(-) - -diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c -index 7d530ce8719d..79f38a281390 100644 ---- a/kernel/bpf/verifier.c -+++ b/kernel/bpf/verifier.c -@@ -1034,17 +1034,6 @@ static void __reg_bound_offset(struct bpf_reg_state *reg) - reg->umax_value)); - } - --static void __reg_bound_offset32(struct bpf_reg_state *reg) --{ -- u64 mask = 0xffffFFFF; -- struct tnum range = tnum_range(reg->umin_value & mask, -- reg->umax_value & mask); -- struct tnum lo32 = tnum_cast(reg->var_off, 4); -- struct tnum hi32 = tnum_lshift(tnum_rshift(reg->var_off, 32), 32); -- -- reg->var_off = tnum_or(hi32, tnum_intersect(lo32, range)); --} -- - /* Reset the min/max bounds of a register */ - static void __mark_reg_unbounded(struct bpf_reg_state *reg) - { -@@ -5677,10 +5666,6 @@ static void reg_set_min_max(struct bpf_reg_state *true_reg, - /* We might have learned some bits from the bounds. */ - __reg_bound_offset(false_reg); - __reg_bound_offset(true_reg); -- if (is_jmp32) { -- __reg_bound_offset32(false_reg); -- __reg_bound_offset32(true_reg); -- } - /* Intersecting with the old var_off might have improved our bounds - * slightly. e.g. if umax was 0x7f...f and var_off was (0; 0xf...fc), - * then new var_off is (0; 0x7f...fc) which improves our umax. -@@ -5790,10 +5775,6 @@ static void reg_set_min_max_inv(struct bpf_reg_state *true_reg, - /* We might have learned some bits from the bounds. */ - __reg_bound_offset(false_reg); - __reg_bound_offset(true_reg); -- if (is_jmp32) { -- __reg_bound_offset32(false_reg); -- __reg_bound_offset32(true_reg); -- } - /* Intersecting with the old var_off might have improved our bounds - * slightly. e.g. if umax was 0x7f...f and var_off was (0; 0xf...fc), - * then new var_off is (0; 0x7f...fc) which improves our umax. --- -cgit v1.2.3-1-gf6bb5 - @@ -13,8 +13,8 @@ pkgbase=linux _supver=5 -_majver=5 -_minver=13 +_majver=6 +_minver=0 _gccpatchver='20191217' _gccpatchger='9.1' _gccpatchker='5.5' @@ -38,17 +38,8 @@ _srcname=linux-${pkgver} source=( https://www.kernel.org/pub/linux/kernel/v${_supver}.x/${_srcname}.tar.{xz,sign} 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - 0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch - 0003-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch - 0004-drm_915_Serialise_i915_active_acquire_with__active_retire.patch - 0005-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch - 0006-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch - 0007-drm-i915-gem-Try-to-flush-pending-unbind-events.patch - 0008-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch - 0009-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch - 0010-drm-i915-Introduce-a-vma.kref.patch - 0011-iwlwifi-dont-send-GEO_TX_POWER_LIMIT-if-no-wgds-table.patch - 0012-Revert-bpf-Provide-better-register-bounds-after-jmp32-instructions.patch + 0002-mac80211-fix-authentication-with-iwlwifi-mvm.patch + 0003-bpf-Undo-incorrect-__reg_bound_offset32-handling.patch graysky_bdver2-hotfix.patch kernel_gcc_patch-${_gccpatchver}.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/${_gccpatchver}.tar.gz ath9k-regdom-hack.patch @@ -60,25 +51,16 @@ validpgpkeys=( '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman ) # https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc -b2sums=('30cb301929caa64479ccf2f11a26f4f69ef138f86c4ab7e84967d14ab8a3024862a4f243daae049dc826e9e8b39a87f7ae737d62ab42640c922d131bbb3eec68' +b2sums=('8dbe02a8ca7fd3dcf512a15c5d8098c1e7f94257e65173fed43fcc45480e4ab790df8cd39bbbb4e2a21dc9a00385bc9bbe98215a31e7f7e1d9c8f21cd8ace69e' 'SKIP' 'ab1fb19c67d4c107f75767581c33d9c1458b4d9fdb88f4adb41d30a36f5a2f95f1c48ef079eb87e1e6e8ce2f98b293195cb2c0f2a8ec975aa817453289158c6e' - '2e822cf7d4ff8b7458e22d3ce110fd8534e17a9aac2feace41c591f70697e1fab7bd9ce307c60a6361fbe525d10dab74c8b76fcb5276cd27f6e945f8fdfcc25c' - 'd8027cd96a447ea0987a67f3e65d157bb3d396069a944b140610f74c663677fe45e171e96a92dfd5eda8f71a5c715fd8114ee0e60b7620bc401a2a548bcf83cc' - 'df41200d86f1fd493861d4b4a091ec5f853ce7668ec9712f57e574ce2c1a94c7054ec8abcdf947086e5f98b0cdde73523521552536c91373dacdd10c4ecf4c1a' - 'f4d5f82c5deb981f475fd18a408e23b5f170e23c7a49c3563171e55abd78c07c475a7a9c67850c4a3665ce3447cd7b5fb3171e47af8cd8077822f2a6679cfd9b' - '70d02b7fc8b26c783eaabafb9bef5d3895c0031642dc8b71d8737762722695221340315576433d1544b79b37446212ce5e3d0936f695af307b3344a717274ba8' - '5909775c40e31588072e052d28daa4472b7b0e0cb124d631bfa967ce398b9cf44afb6937f5f4ec709b0430f0a27262ce876c7d3ca71fae821138671bc492176f' - 'c1410e2d53dd7afb6d68f75c557774e37f466a5b5b7432ec6802b2c2a9644c8a6b5fcd38a76781b9229a9cb2cf4c0c55129ee050918577937d91dd7ee789f3b8' - '63e9e6ceda80243910c073ec81555f2781d75ac4b3cb5000c1328f2624f7be840684b0f383768020e82bce502aa90a1c8729f7b3e91c099652075a42da2187cf' - '078bb20a03b7e43ad0685b0c3f6a54f1c4bd32d25e0f6c6434100c6f5f5bc27cd6281bf2134b7c7034e6aa448d895d23c20d32f7d1cc40e55f0735af777694a3' - '7b56fe6d171bc9f5154fd6dd89e6678f7e65f26d53551ebc758142a3440cb796b8f7badc361b1e19ff70dfc842dce235fb3b476d35994cb0022157ae64e28cf3' - '152bdc0b317a91a8d822bcb9fc7e5d0af158e5f8095ca88af9e9c03d9c1d6ff64c412be2849d5912f5e593eb890655da630bfe3e903a29aff3fd8de3634af004' + 'a5eb54f71903167d3305d4adec28d78d0e1b14d61e2e4eae0f1775accbdce0248aa4271f31d2ac95edbd86f875f361692fa5d71adb1403084ab5c61ebc0b67c6' + 'ceb271b1ad73f743064db57361cf0a5e5afa81c9b2b16083bd4d114728dad52f9431f1aa85d510ab938f34890bbceb950fa661b7c6aba11dd23ac6a655c262ee' '1892bd22775eac3bcc4d37f4fd30c95346bf3a0888cbbff57fd614973b525390dff2e315ce35b2e498523cceaab94ff21a80475dee8df3de4dd8fc0fab07d74e' 'd76bd0bf237ea2bb7999fd3715cb664d89148cb0ade8057d57cdb40bc0a7954336e50ee077312e5e192398b0f35f055786deb98af9130d57e60f2ea040fbb66f' '2e58bb89b247b1678355368956e67c1de51fcde97a227b2162f6771e30f17fa5520faafe7be4b6816a542e7ae10d05f64c6b6354f352c12746d4b8da632936dd' 'fde132f3705d908e6f2147c78a2193289916d72304ca5efa2229d79fc3e57a857314ce94e71425caef2f7f7b6cf87f05ef86335dc8bd4be78e7035afe608005a' - 'f7cacb01bd664d3d71fd2cd6c0dd5a01b29bf28c715d111d81471ace437ee20913688939904d450f1439ca12e7cc0ae9c5ab554b964743c1c642b3306f6d6e24') + '1dbfa63ddc309aab86191ea9867edc38c8a495eb4efe58cadbc68e57c6fc6af1212809b2405bdd9d769d5f1ed262cc42660053a73667b3c97854f73bb52bd869') #export KBUILD_BUILD_HOST=arc4linux export KBUILD_BUILD_USER=$pkgbase @@ -97,17 +79,8 @@ prepare() { # Hotfixes echo "Applying hotfixes" patch -p1 -i ../0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - patch -p1 -i ../0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch - patch -p1 -i ../0003-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch - patch -p1 -i ../0004-drm_915_Serialise_i915_active_acquire_with__active_retire.patch - patch -p1 -i ../0005-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch - patch -p1 -i ../0006-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch - patch -p1 -i ../0007-drm-i915-gem-Try-to-flush-pending-unbind-events.patch - patch -p1 -i ../0008-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch - patch -p1 -i ../0009-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch - patch -p1 -i ../0010-drm-i915-Introduce-a-vma.kref.patch - patch -p1 -i ../0011-iwlwifi-dont-send-GEO_TX_POWER_LIMIT-if-no-wgds-table.patch - patch -p1 -i ../0012-Revert-bpf-Provide-better-register-bounds-after-jmp32-instructions.patch + patch -p1 -i ../0002-mac80211-fix-authentication-with-iwlwifi-mvm.patch + patch -p1 -i ../0003-bpf-Undo-incorrect-__reg_bound_offset32-handling.patch # graysky gcc hotfixes @@ -180,6 +153,8 @@ _package() { depends=(coreutils kmod initramfs) optdepends=('crda: to set the correct wireless channels of your country' 'linux-firmware: firmware images needed for some devices') + provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE) + replaces=(virtualbox-guest-modules-arch wireguard-arch) cd $_srcname local kernver="$(<version)" @@ -198,9 +173,6 @@ _package() { # remove build and source links rm "$modulesdir"/{source,build} - - echo "Fixing permissions..." - chmod -Rc u=rwX,go=rX "$pkgdir" } _package-headers() { @@ -278,9 +250,6 @@ _package-headers() { echo "Adding symlink..." mkdir -p "$pkgdir/usr/src" ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase" - - echo "Fixing permissions..." - chmod -Rc u=rwX,go=rX "$pkgdir" } _package-docs() { @@ -300,9 +269,6 @@ _package-docs() { echo "Adding symlink..." mkdir -p "$pkgdir/usr/share/doc" ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase" - - echo "Fixing permissions..." - chmod -Rc u=rwX,go=rX "$pkgdir" } pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs") @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.5.5 Kernel Configuration +# Linux/x86 5.6.0 Kernel Configuration # # @@ -14,7 +14,7 @@ CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y CONFIG_IRQ_WORK=y -CONFIG_BUILDTIME_EXTABLE_SORT=y +CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y # @@ -121,6 +121,7 @@ CONFIG_CPU_ISOLATION=y # # RCU Subsystem # +CONFIG_TREE_RCU=y CONFIG_PREEMPT_RCU=y CONFIG_RCU_EXPERT=y CONFIG_SRCU=y @@ -185,6 +186,7 @@ CONFIG_CGROUP_BPF=y CONFIG_SOCK_CGROUP_DATA=y CONFIG_NAMESPACES=y CONFIG_UTS_NS=y +CONFIG_TIME_NS=y CONFIG_IPC_NS=y CONFIG_USER_NS=y CONFIG_USER_NS_UNPRIVILEGED=y @@ -202,6 +204,7 @@ CONFIG_RD_LZMA=y CONFIG_RD_XZ=y CONFIG_RD_LZO=y CONFIG_RD_LZ4=y +CONFIG_BOOT_CONFIG=y CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y @@ -238,7 +241,9 @@ CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y CONFIG_KALLSYMS_BASE_RELATIVE=y CONFIG_BPF_SYSCALL=y +CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT_DEFAULT_ON=y # CONFIG_USERFAULTFD is not set CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_RSEQ=y @@ -389,6 +394,8 @@ CONFIG_X86_CMPXCHG64=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_DEBUGCTLMSR=y +CONFIG_IA32_FEAT_CTL=y +CONFIG_X86_VMX_FEATURE_NAMES=y CONFIG_PROCESSOR_SELECT=y CONFIG_CPU_SUP_INTEL=y CONFIG_CPU_SUP_AMD=y @@ -469,7 +476,6 @@ CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y CONFIG_X86_SMAP=y CONFIG_X86_UMIP=y -# CONFIG_X86_INTEL_MPX is not set CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y # CONFIG_X86_INTEL_TSX_MODE_OFF is not set # CONFIG_X86_INTEL_TSX_MODE_ON is not set @@ -696,8 +702,6 @@ CONFIG_COMPAT_FOR_U64_ALIGNMENT=y CONFIG_SYSVIPC_COMPAT=y # end of Binary Emulations -CONFIG_X86_DEV_DMA_OPS=y - # # Firmware Drivers # @@ -734,6 +738,7 @@ CONFIG_EFI_CAPSULE_LOADER=m CONFIG_APPLE_PROPERTIES=y # CONFIG_RESET_ATTACK_MITIGATION is not set CONFIG_EFI_RCI2_TABLE=y +CONFIG_EFI_DISABLE_PCI_DMA=y # end of EFI (Extensible Firmware Interface) Support CONFIG_UEFI_CPER=y @@ -763,6 +768,7 @@ CONFIG_HAVE_KVM_IRQ_BYPASS=y CONFIG_HAVE_KVM_NO_POLL=y CONFIG_VIRTUALIZATION=y CONFIG_KVM=m +CONFIG_KVM_WERROR=y CONFIG_KVM_INTEL=m CONFIG_KVM_AMD=m CONFIG_KVM_AMD_SEV=y @@ -822,7 +828,8 @@ CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y -CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_MMU_GATHER_TABLE_FREE=y +CONFIG_MMU_GATHER_RCU_TABLE_FREE=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_CMPXCHG_LOCAL=y @@ -920,6 +927,7 @@ CONFIG_BLK_CGROUP_RWSTAT=y CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_BLK_DEV_INTEGRITY_T10=y CONFIG_BLK_DEV_ZONED=y CONFIG_BLK_DEV_THROTTLING=y CONFIG_BLK_DEV_THROTTLING_LOW=y @@ -1075,6 +1083,7 @@ CONFIG_NET=y CONFIG_COMPAT_NETLINK_MESSAGES=y CONFIG_NET_INGRESS=y CONFIG_NET_EGRESS=y +CONFIG_NET_REDIRECT=y CONFIG_SKB_EXTENSIONS=y # @@ -1130,6 +1139,7 @@ CONFIG_NET_FOU_IP_TUNNELS=y CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_IPCOMP=m CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=m @@ -1188,6 +1198,9 @@ CONFIG_IPV6_SEG6_LWTUNNEL=y CONFIG_IPV6_SEG6_HMAC=y CONFIG_IPV6_SEG6_BPF=y CONFIG_NETLABEL=y +CONFIG_MPTCP=y +CONFIG_MPTCP_IPV6=y +# CONFIG_MPTCP_HMAC_TEST is not set CONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y CONFIG_NETWORK_PHY_TIMESTAMPING=y @@ -1601,6 +1614,7 @@ CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m CONFIG_NET_DSA_TAG_8021Q=m +CONFIG_NET_DSA_TAG_AR9331=m CONFIG_NET_DSA_TAG_BRCM_COMMON=m CONFIG_NET_DSA_TAG_BRCM=m CONFIG_NET_DSA_TAG_BRCM_PREPEND=m @@ -1678,8 +1692,10 @@ CONFIG_NET_SCH_CAKE=m CONFIG_NET_SCH_FQ=m CONFIG_NET_SCH_HHF=m CONFIG_NET_SCH_PIE=m +CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_INGRESS=m CONFIG_NET_SCH_PLUG=m +CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_DEFAULT=y # CONFIG_DEFAULT_FQ is not set # CONFIG_DEFAULT_CODEL is not set @@ -1760,6 +1776,7 @@ CONFIG_OPENVSWITCH_VXLAN=m CONFIG_OPENVSWITCH_GENEVE=m CONFIG_VSOCKETS=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VMWARE_VMCI_VSOCKETS=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTIO_VSOCKETS_COMMON=m @@ -2054,6 +2071,7 @@ CONFIG_NET_SOCK_MSG=y CONFIG_NET_DEVLINK=y CONFIG_PAGE_POOL=y CONFIG_FAILOVER=m +CONFIG_ETHTOOL_NETLINK=y CONFIG_HAVE_EBPF_JIT=y # @@ -2122,6 +2140,7 @@ CONFIG_PCIE_DW_EP=y CONFIG_PCIE_DW_PLAT=y CONFIG_PCIE_DW_PLAT_HOST=y CONFIG_PCIE_DW_PLAT_EP=y +CONFIG_PCIE_INTEL_GW=y CONFIG_PCI_MESON=y # end of DesignWare PCI Core Support @@ -2227,6 +2246,7 @@ CONFIG_REGMAP_SPMI=m CONFIG_REGMAP_W1=m CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_IRQ=y +CONFIG_REGMAP_SOUNDWIRE=m CONFIG_REGMAP_SCCB=m CONFIG_REGMAP_I3C=m CONFIG_DMA_SHARED_BUFFER=y @@ -2463,7 +2483,6 @@ CONFIG_ATA_OVER_ETH=m CONFIG_XEN_BLKDEV_FRONTEND=m CONFIG_XEN_BLKDEV_BACKEND=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_BLK_DEV_RBD=m CONFIG_BLK_DEV_RSXX=m @@ -2913,6 +2932,8 @@ CONFIG_MII=m CONFIG_NET_CORE=y CONFIG_BONDING=m CONFIG_DUMMY=m +CONFIG_WIREGUARD=m +# CONFIG_WIREGUARD_DEBUG is not set CONFIG_EQUALIZER=m CONFIG_NET_FC=y CONFIG_IFB=m @@ -3009,7 +3030,7 @@ CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX_PTP=y -CONFIG_NET_DSA_MSCC_FELIX=m +CONFIG_NET_DSA_AR9331=m CONFIG_NET_DSA_SJA1105=m CONFIG_NET_DSA_SJA1105_PTP=y CONFIG_NET_DSA_SJA1105_TAS=y @@ -3793,14 +3814,13 @@ CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_NETDEV_BACKEND=m CONFIG_VMXNET3=m CONFIG_FUJITSU_ES=m -CONFIG_THUNDERBOLT_NET=m +CONFIG_USB4_NET=m CONFIG_HYPERV_NET=m CONFIG_NETDEVSIM=m CONFIG_NET_FAILOVER=m CONFIG_ISDN=y -CONFIG_ISDN_CAPI=m +CONFIG_ISDN_CAPI=y CONFIG_CAPI_TRACE=y -CONFIG_ISDN_CAPI_CAPI20=m CONFIG_ISDN_CAPI_MIDDLEWARE=y CONFIG_MISDN=m CONFIG_MISDN_DSP=m @@ -4208,6 +4228,7 @@ CONFIG_SERIAL_EARLYCON=y CONFIG_SERIAL_8250=y # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set CONFIG_SERIAL_8250_PNP=y +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set CONFIG_SERIAL_8250_FINTEK=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_DMA=y @@ -4426,7 +4447,6 @@ CONFIG_I2C_XILINX=m CONFIG_I2C_DIOLAN_U2C=m CONFIG_I2C_DLN2=m CONFIG_I2C_PARPORT=m -CONFIG_I2C_PARPORT_LIGHT=m CONFIG_I2C_ROBOTFUZZ_OSIF=m CONFIG_I2C_TAOS_EVM=m CONFIG_I2C_TINY_USB=m @@ -4526,6 +4546,7 @@ CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PTP_1588_CLOCK=y CONFIG_DP83640_PHY=m +CONFIG_PTP_1588_CLOCK_INES=m CONFIG_PTP_1588_CLOCK_KVM=m CONFIG_PTP_1588_CLOCK_IDTCM=m # end of PTP clock support @@ -4550,6 +4571,7 @@ CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_OCELOT=y CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_CHERRYVIEW=y +CONFIG_PINCTRL_LYNXPOINT=y CONFIG_PINCTRL_INTEL=y CONFIG_PINCTRL_BROXTON=y CONFIG_PINCTRL_CANNONLAKE=y @@ -4592,13 +4614,15 @@ CONFIG_GPIO_GENERIC_PLATFORM=m CONFIG_GPIO_GRGPIO=m CONFIG_GPIO_HLWD=m CONFIG_GPIO_ICH=m -CONFIG_GPIO_LYNXPOINT=m +CONFIG_GPIO_LOGICVC=m CONFIG_GPIO_MB86S7X=m CONFIG_GPIO_MENZ127=m CONFIG_GPIO_SAMA5D2_PIOBU=m +CONFIG_GPIO_SIFIVE=y CONFIG_GPIO_SIOX=m CONFIG_GPIO_SYSCON=m CONFIG_GPIO_VX855=m +CONFIG_GPIO_WCD934X=m CONFIG_GPIO_XILINX=m CONFIG_GPIO_AMD_FCH=m # end of Memory mapped GPIO drivers @@ -4633,6 +4657,7 @@ CONFIG_GPIO_TPIC2810=m CONFIG_GPIO_ADP5520=m CONFIG_GPIO_ARIZONA=m CONFIG_GPIO_BD70528=m +CONFIG_GPIO_BD71828=m CONFIG_GPIO_BD9571MWV=m CONFIG_GPIO_CRYSTAL_COVE=m CONFIG_GPIO_DA9052=m @@ -4735,6 +4760,7 @@ CONFIG_W1_SLAVE_DS28E17=m # end of 1-wire Slaves CONFIG_POWER_AVS=y +CONFIG_QCOM_CPR=m CONFIG_POWER_RESET=y CONFIG_POWER_RESET_AS3722=y CONFIG_POWER_RESET_GPIO=y @@ -4835,6 +4861,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_ADM1177=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADT7X10=m CONFIG_SENSORS_ADT7310=m @@ -4852,6 +4879,7 @@ CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DELL_SMM=m @@ -4897,6 +4925,7 @@ CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m CONFIG_SENSORS_MAX31722=m +CONFIG_SENSORS_MAX31730=m CONFIG_SENSORS_MAX6621=m CONFIG_SENSORS_MAX6639=m CONFIG_SENSORS_MAX6642=m @@ -4948,6 +4977,7 @@ CONFIG_SENSORS_LTC2978=m # CONFIG_SENSORS_LTC2978_REGULATOR is not set CONFIG_SENSORS_LTC3815=m CONFIG_SENSORS_MAX16064=m +CONFIG_SENSORS_MAX20730=m CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31785=m CONFIG_SENSORS_MAX34440=m @@ -4957,6 +4987,7 @@ CONFIG_SENSORS_TPS40422=m CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_UCD9000=m CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_XDPE122=m CONFIG_SENSORS_ZL6100=m CONFIG_SENSORS_PWM_FAN=m CONFIG_SENSORS_SHT15=m @@ -5031,6 +5062,8 @@ CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_USER_SPACE=y CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y CONFIG_CPU_THERMAL=y +CONFIG_CPU_FREQ_THERMAL=y +CONFIG_CPU_IDLE_THERMAL=y CONFIG_CLOCK_THERMAL=y CONFIG_DEVFREQ_THERMAL=y # CONFIG_THERMAL_EMULATION is not set @@ -5327,8 +5360,10 @@ CONFIG_MFD_WM8350_I2C=y CONFIG_MFD_WM8994=m CONFIG_MFD_ROHM_BD718XX=m CONFIG_MFD_ROHM_BD70528=m +CONFIG_MFD_ROHM_BD71828=m CONFIG_MFD_STPMIC1=m CONFIG_MFD_STMFX=m +CONFIG_MFD_WCD934X=m CONFIG_RAVE_SP_CORE=m # end of Multifunction device drivers @@ -5353,6 +5388,7 @@ CONFIG_REGULATOR_AS3722=m CONFIG_REGULATOR_AXP20X=m CONFIG_REGULATOR_BCM590XX=m CONFIG_REGULATOR_BD70528=m +CONFIG_REGULATOR_BD71828=m CONFIG_REGULATOR_BD718XX=m CONFIG_REGULATOR_BD9571MWV=m CONFIG_REGULATOR_CPCAP=m @@ -5399,6 +5435,8 @@ CONFIG_REGULATOR_MC13XXX_CORE=m CONFIG_REGULATOR_MC13783=m CONFIG_REGULATOR_MC13892=m CONFIG_REGULATOR_MCP16502=m +CONFIG_REGULATOR_MP8859=m +CONFIG_REGULATOR_MPQ7920=m CONFIG_REGULATOR_MT6311=m CONFIG_REGULATOR_MT6323=m CONFIG_REGULATOR_MT6397=m @@ -5414,6 +5452,7 @@ CONFIG_REGULATOR_QCOM_SPMI=m CONFIG_REGULATOR_RC5T583=m CONFIG_REGULATOR_RK808=m CONFIG_REGULATOR_RN5T618=m +CONFIG_REGULATOR_ROHM=m CONFIG_REGULATOR_RT5033=m CONFIG_REGULATOR_S2MPA01=m CONFIG_REGULATOR_S2MPS11=m @@ -5444,7 +5483,7 @@ CONFIG_REGULATOR_WM831X=m CONFIG_REGULATOR_WM8350=m CONFIG_REGULATOR_WM8400=m CONFIG_REGULATOR_WM8994=m -CONFIG_CEC_CORE=y +CONFIG_CEC_CORE=m CONFIG_CEC_NOTIFIER=y CONFIG_CEC_PIN=y CONFIG_RC_CORE=m @@ -5498,6 +5537,7 @@ CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_RADIO_SUPPORT=y CONFIG_MEDIA_SDR_SUPPORT=y CONFIG_MEDIA_CEC_SUPPORT=y +CONFIG_MEDIA_CEC_RC=y # CONFIG_CEC_PIN_ERROR_INJ is not set CONFIG_MEDIA_CONTROLLER=y CONFIG_MEDIA_CONTROLLER_DVB=y @@ -6310,7 +6350,6 @@ CONFIG_DRM_I2C_NXP_TDA9950=m # ARM devices # CONFIG_DRM_KOMEDA=m -CONFIG_DRM_KOMEDA_ERROR_PRINT=y # end of ARM devices CONFIG_DRM_RADEON=m @@ -6331,11 +6370,8 @@ CONFIG_DRM_AMD_ACP=y # Display Engine Configuration # CONFIG_DRM_AMD_DC=y -CONFIG_DRM_AMD_DC_DCN1_0=y -CONFIG_DRM_AMD_DC_DCN2_0=y -CONFIG_DRM_AMD_DC_DCN2_1=y -CONFIG_DRM_AMD_DC_DSC_SUPPORT=y -# CONFIG_DRM_AMD_DC_HDCP is not set +CONFIG_DRM_AMD_DC_DCN=y +CONFIG_DRM_AMD_DC_HDCP=y # CONFIG_DEBUG_KERNEL_DC is not set # end of Display Engine Configuration @@ -6404,6 +6440,7 @@ CONFIG_DRM_PANEL=y # Display Panels # CONFIG_DRM_PANEL_ARM_VERSATILE=m +CONFIG_DRM_PANEL_BOE_HIMAX8279D=m CONFIG_DRM_PANEL_LVDS=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m @@ -6412,6 +6449,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m CONFIG_DRM_PANEL_JDI_LT070ME05000=m CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829=m CONFIG_DRM_PANEL_SAMSUNG_LD9040=m CONFIG_DRM_PANEL_LG_LB035Q02=m CONFIG_DRM_PANEL_LG_LG4573=m @@ -6437,11 +6475,13 @@ CONFIG_DRM_PANEL_SHARP_LS037V7DW01=m CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m CONFIG_DRM_PANEL_SITRONIX_ST7789V=m +CONFIG_DRM_PANEL_SONY_ACX424AKP=m CONFIG_DRM_PANEL_SONY_ACX565AKM=m CONFIG_DRM_PANEL_TPO_TD028TTEC1=m CONFIG_DRM_PANEL_TPO_TD043MTEA1=m CONFIG_DRM_PANEL_TPO_TPG110=m CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m +CONFIG_DRM_PANEL_XINPENG_XPP055C272=m # end of Display Panels CONFIG_DRM_BRIDGE=y @@ -6450,10 +6490,9 @@ CONFIG_DRM_PANEL_BRIDGE=y # # Display Interface Bridges # -CONFIG_DRM_ANALOGIX_ANX78XX=m CONFIG_DRM_CDNS_DSI=m CONFIG_DRM_DUMB_VGA_DAC=m -CONFIG_DRM_LVDS_ENCODER=m +CONFIG_DRM_LVDS_CODEC=m CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW=m CONFIG_DRM_NXP_PTN3460=m CONFIG_DRM_PARADE_PS8622=m @@ -6465,6 +6504,9 @@ CONFIG_DRM_TOSHIBA_TC358764=m CONFIG_DRM_TOSHIBA_TC358767=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TI_SN65DSI86=m +CONFIG_DRM_ANALOGIX_ANX6345=m +CONFIG_DRM_ANALOGIX_ANX78XX=m +CONFIG_DRM_ANALOGIX_DP=m CONFIG_DRM_I2C_ADV7511=m CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_I2C_ADV7533=y @@ -6613,6 +6655,7 @@ CONFIG_BACKLIGHT_LV5207LP=m CONFIG_BACKLIGHT_BD6107=m CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_RAVE_SP=m +CONFIG_BACKLIGHT_LED=m # end of Backlight & LCD device support CONFIG_VIDEOMODE_HELPERS=y @@ -6667,6 +6710,7 @@ CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_DEBUG=y # CONFIG_SND_DEBUG_VERBOSE is not set # CONFIG_SND_PCM_XRUN_DEBUG is not set +CONFIG_SND_CTL_VALIDATION=y CONFIG_SND_VMASTER=y CONFIG_SND_DMA_SGBUF=y CONFIG_SND_SEQUENCER=m @@ -6800,7 +6844,7 @@ CONFIG_SND_HDA_DSP_LOADER=y CONFIG_SND_HDA_COMPONENT=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_EXT_CORE=m -CONFIG_SND_HDA_PREALLOC_SIZE=4096 +CONFIG_SND_HDA_PREALLOC_SIZE=0 CONFIG_SND_INTEL_NHLT=y CONFIG_SND_INTEL_DSP_CONFIG=m CONFIG_SND_SPI=y @@ -6900,7 +6944,9 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m CONFIG_SND_SOC_INTEL_MACH=y +# CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES is not set CONFIG_SND_SOC_INTEL_HASWELL_MACH=m +CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m @@ -6931,6 +6977,7 @@ CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m CONFIG_SND_SOC_MTK_BTCVSD=m CONFIG_SND_SOC_SOF_TOPLEVEL=y CONFIG_SND_SOC_SOF_PCI=m @@ -7087,6 +7134,7 @@ CONFIG_SND_SOC_RL6347A=m CONFIG_SND_SOC_RT286=m CONFIG_SND_SOC_RT298=m CONFIG_SND_SOC_RT1011=m +CONFIG_SND_SOC_RT1308_SDW=m CONFIG_SND_SOC_RT5514=m CONFIG_SND_SOC_RT5514_SPI=m CONFIG_SND_SOC_RT5616=m @@ -7100,6 +7148,12 @@ CONFIG_SND_SOC_RT5670=m CONFIG_SND_SOC_RT5677=m CONFIG_SND_SOC_RT5677_SPI=m CONFIG_SND_SOC_RT5682=m +CONFIG_SND_SOC_RT700=m +CONFIG_SND_SOC_RT700_SDW=m +CONFIG_SND_SOC_RT711=m +CONFIG_SND_SOC_RT711_SDW=m +CONFIG_SND_SOC_RT715=m +CONFIG_SND_SOC_RT715_SDW=m CONFIG_SND_SOC_SGTL5000=m CONFIG_SND_SOC_SI476X=m CONFIG_SND_SOC_SIGMADSP=m @@ -7138,6 +7192,7 @@ CONFIG_SND_SOC_TSCS42XX=m CONFIG_SND_SOC_TSCS454=m CONFIG_SND_SOC_UDA1334=m CONFIG_SND_SOC_WCD9335=m +CONFIG_SND_SOC_WCD934X=m CONFIG_SND_SOC_WM8510=m CONFIG_SND_SOC_WM8523=m CONFIG_SND_SOC_WM8524=m @@ -7162,10 +7217,12 @@ CONFIG_SND_SOC_WM8962=m CONFIG_SND_SOC_WM8974=m CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_WM8985=m +CONFIG_SND_SOC_WSA881X=m CONFIG_SND_SOC_ZX_AUD96P22=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MT6351=m CONFIG_SND_SOC_MT6358=m +CONFIG_SND_SOC_MT6660=m CONFIG_SND_SOC_NAU8540=m CONFIG_SND_SOC_NAU8810=m CONFIG_SND_SOC_NAU8822=m @@ -7775,6 +7832,7 @@ CONFIG_MMC_MTK=m CONFIG_MMC_SDHCI_XENON=m CONFIG_MMC_SDHCI_OMAP=m CONFIG_MMC_SDHCI_AM654=m +CONFIG_MMC_SDHCI_EXTERNAL_DMA=y CONFIG_MEMSTICK=m # CONFIG_MEMSTICK_DEBUG is not set @@ -7869,6 +7927,7 @@ CONFIG_LEDS_SPI_BYTE=m CONFIG_LEDS_TI_LMU_COMMON=m CONFIG_LEDS_LM3697=m CONFIG_LEDS_LM36274=m +CONFIG_LEDS_TPS6105X=m # # LED Triggers @@ -8123,8 +8182,10 @@ CONFIG_ALTERA_MSGDMA=m CONFIG_DW_AXI_DMAC=m CONFIG_FSL_EDMA=m CONFIG_INTEL_IDMA64=m +CONFIG_INTEL_IDXD=m CONFIG_INTEL_IOATDMA=m CONFIG_INTEL_MIC_X100_DMA=m +CONFIG_PLX_DMA=m CONFIG_QCOM_HIDMA_MGMT=m CONFIG_QCOM_HIDMA=m CONFIG_DW_DMAC_CORE=y @@ -8149,6 +8210,8 @@ CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set CONFIG_UDMABUF=y # CONFIG_DMABUF_SELFTESTS is not set +CONFIG_DMABUF_HEAPS=y +CONFIG_DMABUF_HEAPS_SYSTEM=y # end of DMABUF options CONFIG_DCA=m @@ -8493,27 +8556,6 @@ CONFIG_KPC2000_CORE=m CONFIG_KPC2000_SPI=m CONFIG_KPC2000_I2C=m CONFIG_KPC2000_DMA=m - -# -# ISDN CAPI drivers -# -CONFIG_CAPI_AVM=y -CONFIG_ISDN_DRV_AVMB1_B1PCI=m -CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y -CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m -CONFIG_ISDN_DRV_AVMB1_AVM_CS=m -CONFIG_ISDN_DRV_AVMB1_T1PCI=m -CONFIG_ISDN_DRV_AVMB1_C4=m -CONFIG_ISDN_DRV_GIGASET=m -CONFIG_GIGASET_CAPI=y -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_M105=m -CONFIG_GIGASET_M101=m -# CONFIG_GIGASET_DEBUG is not set -CONFIG_HYSDN=m -CONFIG_HYSDN_CAPI=y -# end of ISDN CAPI drivers - CONFIG_USB_WUSB=m CONFIG_USB_WUSB_CBAF=m # CONFIG_USB_WUSB_CBAF_DEBUG is not set @@ -8523,13 +8565,13 @@ CONFIG_UWB=m CONFIG_UWB_HWA=m CONFIG_UWB_WHCI=m CONFIG_UWB_I1480U=m -CONFIG_EXFAT_FS=m -CONFIG_EXFAT_DISCARD=y -# CONFIG_EXFAT_DELAYED_SYNC is not set -# CONFIG_EXFAT_KERNEL_DEBUG is not set -# CONFIG_EXFAT_DEBUG_MSG is not set -CONFIG_EXFAT_DEFAULT_CODEPAGE=437 -CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +CONFIG_STAGING_EXFAT_FS=m +CONFIG_STAGING_EXFAT_DISCARD=y +# CONFIG_STAGING_EXFAT_DELAYED_SYNC is not set +# CONFIG_STAGING_EXFAT_KERNEL_DEBUG is not set +# CONFIG_STAGING_EXFAT_DEBUG_MSG is not set +CONFIG_STAGING_EXFAT_DEFAULT_CODEPAGE=437 +CONFIG_STAGING_EXFAT_DEFAULT_IOCHARSET="utf8" CONFIG_QLGE=m CONFIG_NET_VENDOR_HP=y CONFIG_HP100=m @@ -8621,6 +8663,7 @@ CONFIG_I2C_MULTI_INSTANTIATE=m CONFIG_INTEL_ATOMISP2_PM=m CONFIG_HUAWEI_WMI=m CONFIG_PCENGINES_APU2=m +CONFIG_INTEL_UNCORE_FREQ_CONTROL=m # # Intel Speed Select Technology interface support @@ -8695,6 +8738,8 @@ CONFIG_HWSPINLOCK=y CONFIG_CLKEVT_I8253=y CONFIG_I8253_LOCK=y CONFIG_CLKBLD_I8253=y +CONFIG_CLKSRC_MMIO=y +CONFIG_MICROCHIP_PIT64B=y # end of Clock Source drivers CONFIG_MAILBOX=y @@ -8703,6 +8748,7 @@ CONFIG_PCC=y CONFIG_ALTERA_MBOX=m CONFIG_MAILBOX_TEST=m CONFIG_IOMMU_IOVA=y +CONFIG_IOASID=y CONFIG_IOMMU_API=y CONFIG_IOMMU_SUPPORT=y @@ -8722,6 +8768,7 @@ CONFIG_INTEL_IOMMU=y CONFIG_INTEL_IOMMU_SVM=y # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y +# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set CONFIG_IRQ_REMAP=y CONFIG_HYPERV_IOMMU=y @@ -8748,6 +8795,7 @@ CONFIG_SOUNDWIRE=m # CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE_INTEL=m +CONFIG_SOUNDWIRE_QCOM=m # # SOC (System On Chip) specific Drivers @@ -8854,6 +8902,8 @@ CONFIG_ADXL372_SPI=m CONFIG_ADXL372_I2C=m CONFIG_BMA180=m CONFIG_BMA220=m +CONFIG_BMA400=m +CONFIG_BMA400_I2C=m CONFIG_BMC150_ACCEL=m CONFIG_BMC150_ACCEL_I2C=m CONFIG_BMC150_ACCEL_SPI=m @@ -8891,6 +8941,7 @@ CONFIG_STK8BA50=m # Analog to digital converters # CONFIG_AD_SIGMA_DELTA=m +CONFIG_AD7091R5=m CONFIG_AD7124=m CONFIG_AD7266=m CONFIG_AD7291=m @@ -8922,6 +8973,7 @@ CONFIG_INA2XX_ADC=m CONFIG_LP8788_ADC=m CONFIG_LTC2471=m CONFIG_LTC2485=m +CONFIG_LTC2496=m CONFIG_LTC2497=m CONFIG_MAX1027=m CONFIG_MAX11100=m @@ -9281,6 +9333,7 @@ CONFIG_BMP280=m CONFIG_BMP280_I2C=m CONFIG_BMP280_SPI=m CONFIG_IIO_CROS_EC_BARO=m +CONFIG_DLHL60D=m CONFIG_DPS310=m CONFIG_HID_SENSOR_PRESS=m CONFIG_HP03=m @@ -9314,6 +9367,7 @@ CONFIG_AS3935=m CONFIG_ISL29501=m CONFIG_LIDAR_LITE_V2=m CONFIG_MB1232=m +CONFIG_PING=m CONFIG_RFD77402=m CONFIG_SRF04=m CONFIG_SX9500=m @@ -9399,6 +9453,8 @@ CONFIG_IPACK_BUS=m CONFIG_BOARD_TPCI200=m CONFIG_SERIAL_IPOCTAL=m CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_BRCMSTB_RESCAL=y +CONFIG_RESET_INTEL_GW=y CONFIG_RESET_TI_SYSCON=m # @@ -9421,6 +9477,7 @@ CONFIG_PHY_QCOM_USB_HS=m CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_SAMSUNG_USB2=m CONFIG_PHY_TUSB1210=m +CONFIG_PHY_INTEL_EMMC=m # end of PHY Subsystem CONFIG_POWERCAP=y @@ -9439,7 +9496,7 @@ CONFIG_MCB_LPC=m CONFIG_RAS=y CONFIG_RAS_CEC=y # CONFIG_RAS_CEC_DEBUG is not set -CONFIG_THUNDERBOLT=m +CONFIG_USB4=m # # Android @@ -9466,6 +9523,7 @@ CONFIG_DEV_DAX_KMEM=m CONFIG_DEV_DAX_PMEM_COMPAT=m CONFIG_NVMEM=y CONFIG_NVMEM_SYSFS=y +CONFIG_NVMEM_SPMI_SDAM=m CONFIG_RAVE_SP_EEPROM=m # @@ -9516,6 +9574,14 @@ CONFIG_FSI_MASTER_ASPEED=m CONFIG_FSI_SCOM=m CONFIG_FSI_SBEFIFO=m CONFIG_FSI_OCC=m +CONFIG_TEE=m + +# +# TEE drivers +# +CONFIG_AMDTEE=m +# end of TEE drivers + CONFIG_MULTIPLEXER=m # @@ -9597,6 +9663,10 @@ CONFIG_F2FS_FS_SECURITY=y CONFIG_F2FS_CHECK_FS=y # CONFIG_F2FS_IO_TRACE is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZO=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_ZONEFS_FS=m CONFIG_FS_DAX=y CONFIG_FS_DAX_PMD=y CONFIG_FS_POSIX_ACL=y @@ -9605,6 +9675,7 @@ CONFIG_EXPORTFS_BLOCK_OPS=y CONFIG_FILE_LOCKING=y # CONFIG_MANDATORY_FILE_LOCKING is not set CONFIG_FS_ENCRYPTION=y +CONFIG_FS_ENCRYPTION_ALGS=m CONFIG_FS_VERITY=y # CONFIG_FS_VERITY_DEBUG is not set CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y @@ -9681,6 +9752,7 @@ CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_PROC_CHILDREN=y CONFIG_PROC_PID_ARCH_STATUS=y +CONFIG_PROC_CPU_RESCTRL=y CONFIG_KERNFS=y CONFIG_SYSFS=y CONFIG_TMPFS=y @@ -9784,6 +9856,7 @@ CONFIG_EROFS_FS_POSIX_ACL=y CONFIG_EROFS_FS_SECURITY=y CONFIG_EROFS_FS_ZIP=y CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=2 +CONFIG_VBOXSF_FS=m CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m CONFIG_NFS_V2=m @@ -9803,6 +9876,7 @@ CONFIG_NFS_FSCACHE=y # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y CONFIG_NFS_DEBUG=y +CONFIG_NFS_DISABLE_UDP_SUPPORT=y CONFIG_NFSD=m CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y @@ -9812,6 +9886,7 @@ CONFIG_NFSD_PNFS=y CONFIG_NFSD_BLOCKLAYOUT=y CONFIG_NFSD_SCSILAYOUT=y # CONFIG_NFSD_FLEXFILELAYOUT is not set +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_GRACE_PERIOD=m CONFIG_LOCKD=m @@ -9942,6 +10017,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 CONFIG_SECURITY_SMACK=y CONFIG_SECURITY_SMACK_BRINGUP=y CONFIG_SECURITY_SMACK_NETFILTER=y @@ -10199,7 +10276,7 @@ CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m CONFIG_CRYPTO_LIB_CURVE25519=m CONFIG_CRYPTO_LIB_DES=m -CONFIG_CRYPTO_LIB_POLY1305_RSIZE=4 +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m CONFIG_CRYPTO_LIB_POLY1305=m @@ -10300,7 +10377,7 @@ CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y -CONFIG_LZ4_COMPRESS=m +CONFIG_LZ4_COMPRESS=y CONFIG_LZ4HC_COMPRESS=m CONFIG_LZ4_DECOMPRESS=y CONFIG_ZSTD_COMPRESS=y @@ -10362,6 +10439,7 @@ CONFIG_OID_REGISTRY=y CONFIG_UCS2_STRING=y CONFIG_HAVE_GENERIC_VDSO=y CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_VDSO_TIME_NS=y CONFIG_FONT_SUPPORT=y CONFIG_FONTS=y # CONFIG_FONT_8x8 is not set @@ -10450,6 +10528,9 @@ CONFIG_PAGE_POISONING_NO_SANITY=y CONFIG_PAGE_POISONING_ZERO=y # CONFIG_DEBUG_PAGE_REF is not set # CONFIG_DEBUG_RODATA_TEST is not set +CONFIG_GENERIC_PTDUMP=y +CONFIG_PTDUMP_CORE=y +# CONFIG_PTDUMP_DEBUGFS is not set # CONFIG_DEBUG_OBJECTS is not set # CONFIG_SLUB_DEBUG_ON is not set # CONFIG_SLUB_STATS is not set @@ -10573,19 +10654,25 @@ CONFIG_TRACING=y CONFIG_GENERIC_TRACER=y CONFIG_TRACING_SUPPORT=y CONFIG_FTRACE=y +# CONFIG_BOOTTIME_TRACING is not set CONFIG_FUNCTION_TRACER=y CONFIG_FUNCTION_GRAPH_TRACER=y +CONFIG_DYNAMIC_FTRACE=y +CONFIG_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_STACK_TRACER=y # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_IRQSOFF_TRACER is not set # CONFIG_PREEMPT_TRACER is not set CONFIG_SCHED_TRACER=y CONFIG_HWLAT_TRACER=y +CONFIG_MMIOTRACE=y CONFIG_FTRACE_SYSCALLS=y CONFIG_TRACER_SNAPSHOT=y # CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set CONFIG_BRANCH_PROFILE_NONE=y # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set -CONFIG_STACK_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set @@ -10593,23 +10680,20 @@ CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y -CONFIG_DYNAMIC_FTRACE=y -CONFIG_DYNAMIC_FTRACE_WITH_REGS=y -CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y -CONFIG_FUNCTION_PROFILER=y CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_FTRACE_MCOUNT_RECORD=y -# CONFIG_FTRACE_STARTUP_TEST is not set -CONFIG_MMIOTRACE=y CONFIG_TRACING_MAP=y CONFIG_HIST_TRIGGERS=y # CONFIG_TRACE_EVENT_INJECT is not set -# CONFIG_MMIOTRACE_TEST is not set # CONFIG_TRACEPOINT_BENCHMARK is not set # CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_TRACE_EVAL_MAP_FILE is not set +# CONFIG_FTRACE_STARTUP_TEST is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_MMIOTRACE_TEST is not set # CONFIG_PREEMPTIRQ_DELAY_TEST is not set -# CONFIG_TRACE_EVAL_MAP_FILE is not set +# CONFIG_SYNTH_EVENT_GEN_TEST is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_SAMPLES is not set CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y @@ -10624,8 +10708,6 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_EARLY_PRINTK=y # CONFIG_EARLY_PRINTK_DBGP is not set # CONFIG_EARLY_PRINTK_USB_XDBC is not set -CONFIG_X86_PTDUMP_CORE=y -# CONFIG_X86_PTDUMP is not set # CONFIG_EFI_PGT_DUMP is not set CONFIG_DEBUG_WX=y CONFIG_DOUBLEFAULT=y |