diff --git a/debian/changelog b/debian/changelog index 471a630..fb3b261 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +linux (6.12.16-1) sid; urgency=medium + + * New upstream stable update: + https://www.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.15 + https://www.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.16 + + -- Konstantin Demin Fri, 21 Feb 2025 17:46:41 +0300 + linux (6.12.14-1) sid; urgency=medium * New upstream stable update: diff --git a/debian/config/amd64/config.mobile b/debian/config/amd64/config.mobile index 0725c82..b8d3955 100644 --- a/debian/config/amd64/config.mobile +++ b/debian/config/amd64/config.mobile @@ -1834,6 +1834,7 @@ CONFIG_CDNS_I3C_MASTER=m CONFIG_DW_I3C_MASTER=m CONFIG_SVC_I3C_MASTER=m CONFIG_MIPI_I3C_HCI=m +CONFIG_MIPI_I3C_HCI_PCI=m ## ## file: drivers/infiniband/Kconfig diff --git a/debian/patches/debian/hamradio-disable-auto-loading-as-mitigation-against-local-exploits.patch b/debian/patches/debian/hamradio-disable-auto-loading-as-mitigation-against-local-exploits.patch index 59241bf..a222019 100644 --- a/debian/patches/debian/hamradio-disable-auto-loading-as-mitigation-against-local-exploits.patch +++ b/debian/patches/debian/hamradio-disable-auto-loading-as-mitigation-against-local-exploits.patch @@ -15,7 +15,7 @@ Signed-off-by: Ben Hutchings --- --- a/net/ax25/af_ax25.c +++ b/net/ax25/af_ax25.c -@@ -2066,7 +2066,7 @@ module_init(ax25_init); +@@ -2077,7 +2077,7 @@ module_init(ax25_init); MODULE_AUTHOR("Jonathan Naylor G4KLX "); MODULE_DESCRIPTION("The amateur radio AX.25 link layer protocol"); MODULE_LICENSE("GPL"); diff --git a/debian/patches/debian/makefile-make-compiler-version-comparison-optional.patch b/debian/patches/debian/makefile-make-compiler-version-comparison-optional.patch index 9f7a12f..9066111 100644 --- a/debian/patches/debian/makefile-make-compiler-version-comparison-optional.patch +++ b/debian/patches/debian/makefile-make-compiler-version-comparison-optional.patch @@ -20,7 +20,7 @@ is non-empty. --- --- a/Makefile +++ b/Makefile -@@ -1818,7 +1818,7 @@ PHONY += prepare +@@ -1813,7 +1813,7 @@ PHONY += prepare # now expand this into a simple variable to reduce the cost of shell evaluations prepare: CC_VERSION_TEXT := $(CC_VERSION_TEXT) prepare: diff --git a/debian/patches/features/all/lockdown/arm64-add-kernel-config-option-to-lock-down-when.patch b/debian/patches/features/all/lockdown/arm64-add-kernel-config-option-to-lock-down-when.patch index 61b7040..61c46ac 100644 --- a/debian/patches/features/all/lockdown/arm64-add-kernel-config-option-to-lock-down-when.patch +++ b/debian/patches/features/all/lockdown/arm64-add-kernel-config-option-to-lock-down-when.patch @@ -141,7 +141,7 @@ arm-init to efi-init common for all arch") renamed arm-init.c to efi-init.c] --- a/include/linux/efi.h +++ b/include/linux/efi.h -@@ -764,7 +764,8 @@ extern int efi_mem_desc_lookup(u64 phys_ +@@ -765,7 +765,8 @@ extern int efi_mem_desc_lookup(u64 phys_ extern int __efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md); extern void efi_mem_reserve(phys_addr_t addr, u64 size); extern int efi_mem_reserve_persistent(phys_addr_t addr, u64 size); diff --git a/debian/patches/features/all/lockdown/efi-add-an-efi_secure_boot-flag-to-indicate-secure-b.patch b/debian/patches/features/all/lockdown/efi-add-an-efi_secure_boot-flag-to-indicate-secure-b.patch index 252c6ba..4fc1b17 100644 --- a/debian/patches/features/all/lockdown/efi-add-an-efi_secure_boot-flag-to-indicate-secure-b.patch +++ b/debian/patches/features/all/lockdown/efi-add-an-efi_secure_boot-flag-to-indicate-secure-b.patch @@ -106,7 +106,7 @@ cc: linux-efi@vger.kernel.org +} --- a/include/linux/efi.h +++ b/include/linux/efi.h -@@ -875,6 +875,14 @@ static inline int efi_range_is_wc(unsign +@@ -876,6 +876,14 @@ static inline int efi_range_is_wc(unsign #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */ #define EFI_MEM_NO_SOFT_RESERVE 11 /* Is the kernel configured to ignore soft reservations? */ #define EFI_PRESERVE_BS_REGIONS 12 /* Are EFI boot-services memory segments available? */ @@ -121,7 +121,7 @@ cc: linux-efi@vger.kernel.org #ifdef CONFIG_EFI /* -@@ -899,6 +907,7 @@ static inline bool efi_rt_services_suppo +@@ -900,6 +908,7 @@ static inline bool efi_rt_services_suppo return (efi.runtime_supported_mask & mask) == mask; } extern void efi_find_mirror(void); @@ -129,7 +129,7 @@ cc: linux-efi@vger.kernel.org #else static inline bool efi_enabled(int feature) { -@@ -918,6 +927,7 @@ static inline bool efi_rt_services_suppo +@@ -919,6 +928,7 @@ static inline bool efi_rt_services_suppo } static inline void efi_find_mirror(void) {} @@ -137,7 +137,7 @@ cc: linux-efi@vger.kernel.org #endif extern int efi_status_to_err(efi_status_t status); -@@ -1136,13 +1146,6 @@ static inline bool efi_runtime_disabled( +@@ -1137,13 +1147,6 @@ static inline bool efi_runtime_disabled( extern void efi_call_virt_check_flags(unsigned long flags, const void *caller); extern unsigned long efi_call_virt_save_flags(void); diff --git a/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch b/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch index dc7dabe..5ec2377 100644 --- a/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch +++ b/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch @@ -42,7 +42,7 @@ Signed-off-by: Ben Hutchings Ignore sysrq setting - this boot parameter will --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -3163,6 +3163,14 @@ config COMPAT_32 +@@ -3164,6 +3164,14 @@ config COMPAT_32 select HAVE_UID16 select OLD_SIGSUSPEND3 diff --git a/debian/patches/krd/0001-Revert-objtool-dont-fail-the-kernel-build-on-fatal-errors.patch b/debian/patches/krd/0001-Revert-objtool-dont-fail-the-kernel-build-on-fatal-errors.patch index be3c74e..228d9c2 100644 --- a/debian/patches/krd/0001-Revert-objtool-dont-fail-the-kernel-build-on-fatal-errors.patch +++ b/debian/patches/krd/0001-Revert-objtool-dont-fail-the-kernel-build-on-fatal-errors.patch @@ -30,7 +30,7 @@ this reverts following commit: --- a/tools/objtool/check.c +++ b/tools/objtool/check.c -@@ -4925,10 +4925,14 @@ int check(struct objtool_file *file) +@@ -4926,10 +4926,14 @@ int check(struct objtool_file *file) } out: diff --git a/debian/patches/patchset-pf/xfs/0001-xfs-fix-chown-with-rt-quota.patch b/debian/patches/patchset-pf/xfs/0001-xfs-fix-chown-with-rt-quota.patch index f49660c..9b5c4ab 100644 --- a/debian/patches/patchset-pf/xfs/0001-xfs-fix-chown-with-rt-quota.patch +++ b/debian/patches/patchset-pf/xfs/0001-xfs-fix-chown-with-rt-quota.patch @@ -126,7 +126,7 @@ Reviewed-by: Christoph Hellwig /* --- a/fs/xfs/xfs_trans.c +++ b/fs/xfs/xfs_trans.c -@@ -1261,11 +1261,26 @@ retry: +@@ -1257,11 +1257,26 @@ retry: gdqp = (new_gdqp != ip->i_gdquot) ? new_gdqp : NULL; pdqp = (new_pdqp != ip->i_pdquot) ? new_pdqp : NULL; if (udqp || gdqp || pdqp) { @@ -153,7 +153,7 @@ Reviewed-by: Christoph Hellwig /* * Reserve enough quota to handle blocks on disk and reserved * for a delayed allocation. We'll actually transfer the -@@ -1273,8 +1288,20 @@ retry: +@@ -1269,8 +1284,20 @@ retry: * though that part is only semi-transactional. */ error = xfs_trans_reserve_quota_bydquots(tp, mp, udqp, gdqp, diff --git a/debian/patches/patchset-zen/invlpgb-v9/0002-x86-mm-remove-pv_ops.mmu.tlb_remove_table-call.patch b/debian/patches/patchset-zen/invlpgb-v9/0002-x86-mm-remove-pv_ops.mmu.tlb_remove_table-call.patch index d289199..6d0760f 100644 --- a/debian/patches/patchset-zen/invlpgb-v9/0002-x86-mm-remove-pv_ops.mmu.tlb_remove_table-call.patch +++ b/debian/patches/patchset-zen/invlpgb-v9/0002-x86-mm-remove-pv_ops.mmu.tlb_remove_table-call.patch @@ -75,7 +75,7 @@ Tested-by: Manali Shukla .mmu.notify_page_enc_status_changed = paravirt_nop, --- a/arch/x86/xen/mmu_pv.c +++ b/arch/x86/xen/mmu_pv.c -@@ -2137,7 +2137,6 @@ static const typeof(pv_ops) xen_mmu_ops +@@ -2189,7 +2189,6 @@ static const typeof(pv_ops) xen_mmu_ops .flush_tlb_kernel = xen_flush_tlb, .flush_tlb_one_user = xen_flush_tlb_one_user, .flush_tlb_multi = xen_flush_tlb_multi, diff --git a/debian/patches/patchset-zen/invlpgb-v9/0003-x86-mm-consolidate-full-flush-threshold-decision.patch b/debian/patches/patchset-zen/invlpgb-v9/0003-x86-mm-consolidate-full-flush-threshold-decision.patch index 3341c27..70b2c27 100644 --- a/debian/patches/patchset-zen/invlpgb-v9/0003-x86-mm-consolidate-full-flush-threshold-decision.patch +++ b/debian/patches/patchset-zen/invlpgb-v9/0003-x86-mm-consolidate-full-flush-threshold-decision.patch @@ -15,7 +15,7 @@ Suggested-by: Dave Hansen --- a/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c -@@ -973,14 +973,32 @@ static struct flush_tlb_info *get_flush_ +@@ -1000,8 +1000,13 @@ static struct flush_tlb_info *get_flush_ BUG_ON(this_cpu_inc_return(flush_tlb_info_idx) != 1); #endif @@ -31,8 +31,9 @@ Suggested-by: Dave Hansen info->mm = mm; info->stride_shift = stride_shift; info->freed_tables = freed_tables; - info->new_tlb_gen = new_tlb_gen; +@@ -1009,6 +1014,19 @@ static struct flush_tlb_info *get_flush_ info->initiating_cpu = smp_processor_id(); + info->trim_cpumask = 0; + WARN_ONCE(start != info->start || end != info->end, + "TLB flush not stride %x aligned. Start %lx, end %lx\n", @@ -50,7 +51,7 @@ Suggested-by: Dave Hansen return info; } -@@ -998,17 +1016,8 @@ void flush_tlb_mm_range(struct mm_struct +@@ -1026,17 +1044,8 @@ void flush_tlb_mm_range(struct mm_struct bool freed_tables) { struct flush_tlb_info *info; @@ -69,7 +70,7 @@ Suggested-by: Dave Hansen /* This is also a barrier that synchronizes with switch_mm(). */ new_tlb_gen = inc_mm_tlb_gen(mm); -@@ -1060,22 +1069,19 @@ static void do_kernel_range_flush(void * +@@ -1089,22 +1098,19 @@ static void do_kernel_range_flush(void * void flush_tlb_kernel_range(unsigned long start, unsigned long end) { @@ -101,7 +102,7 @@ Suggested-by: Dave Hansen } /* -@@ -1247,7 +1253,7 @@ void arch_tlbbatch_flush(struct arch_tlb +@@ -1276,7 +1282,7 @@ void arch_tlbbatch_flush(struct arch_tlb int cpu = get_cpu(); diff --git a/debian/patches/patchset-zen/invlpgb-v9/0006-x86-mm-use-INVLPGB-for-kernel-TLB-flushes.patch b/debian/patches/patchset-zen/invlpgb-v9/0006-x86-mm-use-INVLPGB-for-kernel-TLB-flushes.patch index a81c3e6..aaada4e 100644 --- a/debian/patches/patchset-zen/invlpgb-v9/0006-x86-mm-use-INVLPGB-for-kernel-TLB-flushes.patch +++ b/debian/patches/patchset-zen/invlpgb-v9/0006-x86-mm-use-INVLPGB-for-kernel-TLB-flushes.patch @@ -15,7 +15,7 @@ Tested-by: Manali Shukla --- a/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c -@@ -1057,6 +1057,30 @@ void flush_tlb_all(void) +@@ -1086,6 +1086,30 @@ void flush_tlb_all(void) on_each_cpu(do_flush_tlb_all, NULL, 1); } @@ -46,7 +46,7 @@ Tested-by: Manali Shukla static void do_kernel_range_flush(void *info) { struct flush_tlb_info *f = info; -@@ -1076,7 +1100,9 @@ void flush_tlb_kernel_range(unsigned lon +@@ -1105,7 +1129,9 @@ void flush_tlb_kernel_range(unsigned lon info = get_flush_tlb_info(NULL, start, end, PAGE_SHIFT, false, TLB_GENERATION_INVALID); diff --git a/debian/patches/patchset-zen/invlpgb-v9/0007-x86-mm-use-INVLPGB-in-flush_tlb_all.patch b/debian/patches/patchset-zen/invlpgb-v9/0007-x86-mm-use-INVLPGB-in-flush_tlb_all.patch index 03c3349..b9742aa 100644 --- a/debian/patches/patchset-zen/invlpgb-v9/0007-x86-mm-use-INVLPGB-in-flush_tlb_all.patch +++ b/debian/patches/patchset-zen/invlpgb-v9/0007-x86-mm-use-INVLPGB-in-flush_tlb_all.patch @@ -14,7 +14,7 @@ Tested-by: Manali Shukla --- a/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c -@@ -1045,6 +1045,19 @@ void flush_tlb_mm_range(struct mm_struct +@@ -1074,6 +1074,19 @@ void flush_tlb_mm_range(struct mm_struct } @@ -34,7 +34,7 @@ Tested-by: Manali Shukla static void do_flush_tlb_all(void *info) { count_vm_tlb_event(NR_TLB_REMOTE_FLUSH_RECEIVED); -@@ -1053,6 +1066,8 @@ static void do_flush_tlb_all(void *info) +@@ -1082,6 +1095,8 @@ static void do_flush_tlb_all(void *info) void flush_tlb_all(void) { diff --git a/debian/patches/patchset-zen/invlpgb-v9/0008-x86-mm-use-broadcast-TLB-flushing-for-page-reclaim-T.patch b/debian/patches/patchset-zen/invlpgb-v9/0008-x86-mm-use-broadcast-TLB-flushing-for-page-reclaim-T.patch index dbeb53c..cf28af9 100644 --- a/debian/patches/patchset-zen/invlpgb-v9/0008-x86-mm-use-broadcast-TLB-flushing-for-page-reclaim-T.patch +++ b/debian/patches/patchset-zen/invlpgb-v9/0008-x86-mm-use-broadcast-TLB-flushing-for-page-reclaim-T.patch @@ -17,7 +17,7 @@ Tested-by: Manali Shukla --- a/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c -@@ -1301,7 +1301,9 @@ void arch_tlbbatch_flush(struct arch_tlb +@@ -1330,7 +1330,9 @@ void arch_tlbbatch_flush(struct arch_tlb * a local TLB flush is needed. Optimize this use-case by calling * flush_tlb_func_local() directly in this case. */ diff --git a/debian/patches/patchset-zen/invlpgb-v9/0009-x86-mm-enable-broadcast-TLB-invalidation-for-multi-t.patch b/debian/patches/patchset-zen/invlpgb-v9/0009-x86-mm-enable-broadcast-TLB-invalidation-for-multi-t.patch index 03590b8..fc83b7c 100644 --- a/debian/patches/patchset-zen/invlpgb-v9/0009-x86-mm-enable-broadcast-TLB-invalidation-for-multi-t.patch +++ b/debian/patches/patchset-zen/invlpgb-v9/0009-x86-mm-enable-broadcast-TLB-invalidation-for-multi-t.patch @@ -22,7 +22,7 @@ Tested-by: Manali Shukla --- a/arch/x86/include/asm/mmu.h +++ b/arch/x86/include/asm/mmu.h -@@ -67,6 +67,12 @@ typedef struct { +@@ -69,6 +69,12 @@ typedef struct { u16 pkey_allocation_map; s16 execute_only_pkey; #endif @@ -46,7 +46,7 @@ Tested-by: Manali Shukla /* * Init a new mm. Used on mm copies, like at fork() * and on mm's that are brand-new, like at execve(). -@@ -160,6 +162,14 @@ static inline int init_new_context(struc +@@ -161,6 +163,14 @@ static inline int init_new_context(struc mm->context.execute_only_pkey = -1; } #endif @@ -61,7 +61,7 @@ Tested-by: Manali Shukla mm_reset_untag_mask(mm); init_new_context_ldt(mm); return 0; -@@ -169,6 +179,10 @@ static inline int init_new_context(struc +@@ -170,6 +180,10 @@ static inline int init_new_context(struc static inline void destroy_context(struct mm_struct *mm) { destroy_context_ldt(mm); @@ -82,7 +82,7 @@ Tested-by: Manali Shukla #include #include #include -@@ -238,6 +239,78 @@ void flush_tlb_one_kernel(unsigned long +@@ -239,6 +240,78 @@ void flush_tlb_one_kernel(unsigned long void flush_tlb_multi(const struct cpumask *cpumask, const struct flush_tlb_info *info); @@ -578,7 +578,7 @@ Tested-by: Manali Shukla if (unlikely(f->new_tlb_gen != TLB_GENERATION_INVALID && f->new_tlb_gen <= local_tlb_gen)) { /* -@@ -926,7 +1243,7 @@ STATIC_NOPV void native_flush_tlb_multi( +@@ -953,7 +1270,7 @@ STATIC_NOPV void native_flush_tlb_multi( * up on the new contents of what used to be page tables, while * doing a speculative memory access. */ @@ -586,8 +586,8 @@ Tested-by: Manali Shukla + if (info->freed_tables || in_asid_transition(info->mm)) on_each_cpu_mask(cpumask, flush_tlb_func, (void *)info, true); else - on_each_cpu_cond_mask(tlb_is_not_lazy, flush_tlb_func, -@@ -1030,8 +1347,11 @@ void flush_tlb_mm_range(struct mm_struct + on_each_cpu_cond_mask(should_flush_tlb, flush_tlb_func, +@@ -1058,9 +1375,12 @@ void flush_tlb_mm_range(struct mm_struct * a local TLB flush is needed. Optimize this use-case by calling * flush_tlb_func_local() directly in this case. */ @@ -595,6 +595,7 @@ Tested-by: Manali Shukla + if (mm_global_asid(mm)) { + broadcast_tlb_flush(info); + } else if (cpumask_any_but(mm_cpumask(mm), cpu) < nr_cpu_ids) { + info->trim_cpumask = should_trim_cpumask(mm); flush_tlb_multi(mm_cpumask(mm), info); + consider_global_asid(mm); } else if (mm == this_cpu_read(cpu_tlbstate.loaded_mm)) { diff --git a/debian/patches/patchset-zen/invlpgb-v9/0010-x86-mm-do-targeted-broadcast-flushing-from-tlbbatch-.patch b/debian/patches/patchset-zen/invlpgb-v9/0010-x86-mm-do-targeted-broadcast-flushing-from-tlbbatch-.patch index d390229..4f12a20 100644 --- a/debian/patches/patchset-zen/invlpgb-v9/0010-x86-mm-do-targeted-broadcast-flushing-from-tlbbatch-.patch +++ b/debian/patches/patchset-zen/invlpgb-v9/0010-x86-mm-do-targeted-broadcast-flushing-from-tlbbatch-.patch @@ -90,7 +90,7 @@ Tested-by: Manali Shukla #ifdef CONFIG_ADDRESS_MASKING /* -@@ -309,6 +310,10 @@ static inline void broadcast_tlb_flush(s +@@ -310,6 +311,10 @@ static inline void broadcast_tlb_flush(s static inline void consider_global_asid(struct mm_struct *mm) { } @@ -101,7 +101,7 @@ Tested-by: Manali Shukla #endif #ifdef CONFIG_PARAVIRT -@@ -358,21 +363,15 @@ static inline u64 inc_mm_tlb_gen(struct +@@ -359,21 +364,15 @@ static inline u64 inc_mm_tlb_gen(struct return atomic64_inc_return(&mm->context.tlb_gen); } @@ -184,7 +184,7 @@ Tested-by: Manali Shukla if (this_cpu_read(cpu_tlbstate.loaded_mm) == &init_mm) return; -@@ -1621,9 +1656,7 @@ void arch_tlbbatch_flush(struct arch_tlb +@@ -1650,9 +1685,7 @@ void arch_tlbbatch_flush(struct arch_tlb * a local TLB flush is needed. Optimize this use-case by calling * flush_tlb_func_local() directly in this case. */ @@ -195,7 +195,7 @@ Tested-by: Manali Shukla flush_tlb_multi(&batch->cpumask, info); } else if (cpumask_test_cpu(cpu, &batch->cpumask)) { lockdep_assert_irqs_enabled(); -@@ -1632,12 +1665,53 @@ void arch_tlbbatch_flush(struct arch_tlb +@@ -1661,12 +1694,53 @@ void arch_tlbbatch_flush(struct arch_tlb local_irq_enable(); } diff --git a/debian/patches/patchset-zen/invlpgb-v9/0012-x86-mm-only-invalidate-final-translations-with-INVLP.patch b/debian/patches/patchset-zen/invlpgb-v9/0012-x86-mm-only-invalidate-final-translations-with-INVLP.patch index 26f5587..5676a23 100644 --- a/debian/patches/patchset-zen/invlpgb-v9/0012-x86-mm-only-invalidate-final-translations-with-INVLP.patch +++ b/debian/patches/patchset-zen/invlpgb-v9/0012-x86-mm-only-invalidate-final-translations-with-INVLP.patch @@ -65,7 +65,7 @@ Tested-by: Manali Shukla addr += nr << info->stride_shift; } while (addr < info->end); -@@ -1686,10 +1687,10 @@ void arch_tlbbatch_add_pending(struct ar +@@ -1715,10 +1716,10 @@ void arch_tlbbatch_add_pending(struct ar u16 asid = mm_global_asid(mm); if (asid) { diff --git a/debian/patches/patchset-zen/sauce/0009-ZEN-drm-amdgpu-pm-Allow-override-of-min_power_limit-.patch b/debian/patches/patchset-zen/sauce/0009-ZEN-drm-amdgpu-pm-Allow-override-of-min_power_limit-.patch index 2182223..3196d15 100644 --- a/debian/patches/patchset-zen/sauce/0009-ZEN-drm-amdgpu-pm-Allow-override-of-min_power_limit-.patch +++ b/debian/patches/patchset-zen/sauce/0009-ZEN-drm-amdgpu-pm-Allow-override-of-min_power_limit-.patch @@ -61,7 +61,7 @@ Subject: ZEN: drm/amdgpu/pm: Allow override of min_power_limit with --- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c -@@ -2792,7 +2792,10 @@ int smu_get_power_limit(void *handle, +@@ -2793,7 +2793,10 @@ int smu_get_power_limit(void *handle, *limit = smu->max_power_limit; break; case SMU_PPT_LIMIT_MIN: @@ -73,7 +73,7 @@ Subject: ZEN: drm/amdgpu/pm: Allow override of min_power_limit with break; default: return -EINVAL; -@@ -2816,7 +2819,14 @@ static int smu_set_power_limit(void *han +@@ -2817,7 +2820,14 @@ static int smu_set_power_limit(void *han if (smu->ppt_funcs->set_power_limit) return smu->ppt_funcs->set_power_limit(smu, limit_type, limit); diff --git a/debian/rules.d/tools/bpf/resolve_btfids/Makefile b/debian/rules.d/tools/bpf/resolve_btfids/Makefile new file mode 100644 index 0000000..60014d3 --- /dev/null +++ b/debian/rules.d/tools/bpf/resolve_btfids/Makefile @@ -0,0 +1,10 @@ +PROGS = resolve_btfids + +include $(top_rulesdir)/Makefile.inc + +resolve_btfids: + $(MAKE) -C $(top_srcdir)/tools/bpf/resolve_btfids O=$(CURDIR) \ + HOSTCC=$(CC) HOSTCFLAGS='$(CFLAGS) $(CPPFLAGS)' \ + HOSTLD=$(CROSS_COMPILE)ld KBUILD_HOSTLDFLAGS='$(LDFLAGS)' \ + HOSTAR=$(CROSS_COMPILE)ar \ + V=1 diff --git a/debian/rules.real b/debian/rules.real index c2acffa..1f7364e 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -279,6 +279,9 @@ binary_headers: $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR) cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/include $(DIR)/arch/$(KERNEL_ARCH) find $(DIR) -name '*.cmd' -delete + objcopy -j .BTF -j .BTF_ids $(SOURCE_DIR)/vmlinux $(DIR)/vmlinux + chmod 644 $(DIR)/vmlinux + f='$(SOURCE_DIR)/arch/$(KERNEL_ARCH)/lib/crtsavres.o' ; \ d='$(DIR)/arch/$(KERNEL_ARCH)/lib' ; \ if [ -f "$$f" ] ; then \ @@ -438,6 +441,7 @@ binary_bpftool: build_bpftool build_kbuild: $(STAMPS_DIR)/build-tools-headers $(call make-tools,certs) $(call make-tools,scripts) + $(call make-tools,tools/bpf/resolve_btfids) $(call make-tools,tools/objtool) binary_kbuild: PREFIX_DIR = /usr/lib/$(PACKAGE_NAME) @@ -445,6 +449,7 @@ binary_kbuild: build_kbuild $(dh_binary_pre) $(call make-tools,certs) install prefix=$(PREFIX_DIR) $(call make-tools,scripts) install prefix=$(PREFIX_DIR) + $(call make-tools,tools/bpf/resolve_btfids) install prefix=$(PREFIX_DIR) $(call make-tools,tools/objtool) install prefix=$(PREFIX_DIR) dh_link $(PREFIX_DIR) /usr/src/$(PACKAGE_NAME) $(dh_binary_post) diff --git a/debian/templates/headers.lintian-overrides.j2 b/debian/templates/headers.lintian-overrides.j2 new file mode 100644 index 0000000..7870b67 --- /dev/null +++ b/debian/templates/headers.lintian-overrides.j2 @@ -0,0 +1 @@ +{{package}}: statically-linked-binary [usr/src/*/vmlinux] diff --git a/debian/templates/image-extra-dev.control.in b/debian/templates/image-extra-dev.control.in index beaca6a..4e515be 100644 --- a/debian/templates/image-extra-dev.control.in +++ b/debian/templates/image-extra-dev.control.in @@ -1,6 +1,7 @@ Package: linux-bpf-dev Meta-Rules-Target: bpf-dev Build-Profiles: +Multi-Arch: same Section: devel Depends: ${misc:Depends} Description: Headers for BPF development