From bcb0f3589154e4ed766c006ef6a8966a644b3ba8 Mon Sep 17 00:00:00 2001 From: Lee Jones Date: Tue, 30 Jan 2024 09:45:31 +0000 Subject: aosp/android-mainline: update series (rebase onto v6.7-rc2) up to 4d97e4c41de58 ("Merge tag 'v6.7-rc2' into android-mainline") Signed-off-by: Lee Jones Change-Id: Iaf936ad199cadc7b8f32f1cc8c0b333aeb1a71a2 --- .../ANDROID-Initial-commit-of-Incremental-FS.patch | 2 +- ...32_PCREL-relocation-type-in-kernel-module.patch | 44 --------------- ...all-to-optimize-perf_guest_info_callbacks.patch | 6 +- ...-extended-init-flags-for-FUSE_PASSTHROUGH.patch | 2 +- ...ook-for-iova-allocation-and-free-tracking.patch | 4 +- ...-irqchip-Add-IRQChip-related-vendor-hooks.patch | 4 +- ...re-introduce-the-MODULE_SCMVERSION-config.patch | 6 +- ...ride_creds-off-option-bypass-creator_cred.patch | 2 +- ...64-Enable-HAVE_EFFICIENT_UNALIGNED_ACCESS.patch | 2 +- ...only-when-userspace-set-the-FUSE_INIT_EXT.patch | 2 +- ...use-Definitions-and-ioctl-for-passthrough.patch | 4 +- ...se-Passthrough-initialization-and-release.patch | 2 +- ...ANDROID-Add-vendor-hooks-to-the-scheduler.patch | 46 +++++++-------- .../NOUPSTREAM-ANDROID-arm64-ARM64-Exports.patch | 4 +- ...STREAM-ANDROID-kernel-Core-Kernel-Exports.patch | 8 +-- ...D-kernel-Core-kernel-related-vendor-hooks.patch | 2 +- ...-mm-Memory-Managment-related-vendor-hooks.patch | 2 +- ...-honor-sync-flag-for-energy-aware-wakeups.patch | 6 +- ...99-Fix-Wuninitialized-in-aw_dev_set_vcalb.patch | 45 --------------- ...warning-limit-with-KASAN-or-KCSAN-in-dml2.patch | 65 ---------------------- android-mainline/series | 7 +-- 21 files changed, 54 insertions(+), 211 deletions(-) delete mode 100644 android-mainline/ANDROID-RISC-V-Support-32_PCREL-relocation-type-in-kernel-module.patch delete mode 100644 android-mainline/UPSTREAM-ASoC-codecs-aw88399-Fix-Wuninitialized-in-aw_dev_set_vcalb.patch delete mode 100644 android-mainline/UPSTREAM-drm-amd-display-Increase-frame-warning-limit-with-KASAN-or-KCSAN-in-dml2.patch diff --git a/android-mainline/ANDROID-Initial-commit-of-Incremental-FS.patch b/android-mainline/ANDROID-Initial-commit-of-Incremental-FS.patch index 5f75567e..d44190d0 100644 --- a/android-mainline/ANDROID-Initial-commit-of-Incremental-FS.patch +++ b/android-mainline/ANDROID-Initial-commit-of-Incremental-FS.patch @@ -230,7 +230,7 @@ new file mode 100644 diff --git a/MAINTAINERS b/MAINTAINERS --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -10393,6 +10393,13 @@ F: Documentation/hwmon/ina2xx.rst +@@ -10422,6 +10422,13 @@ F: Documentation/hwmon/ina2xx.rst F: drivers/hwmon/ina2xx.c F: include/linux/platform_data/ina2xx.h diff --git a/android-mainline/ANDROID-RISC-V-Support-32_PCREL-relocation-type-in-kernel-module.patch b/android-mainline/ANDROID-RISC-V-Support-32_PCREL-relocation-type-in-kernel-module.patch deleted file mode 100644 index 85f3501c..00000000 --- a/android-mainline/ANDROID-RISC-V-Support-32_PCREL-relocation-type-in-kernel-module.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: nylon chen -Date: Fri, 26 May 2023 07:08:42 +0000 -Subject: ANDROID: RISC-V: Support 32_PCREL relocation type in kernel module - -Update the kernel module loader to handle R_RISCV_32_PCREL which LLVM -is generating for some modules now. - -Bug: 286415667 -Link: https://github.com/google/android-riscv64/issues/86 -Change-Id: I396dc13fa9833fa35c4d883fadb116eed76da9d3 -Signed-off-by: nylon chen -Signed-off-by: Alistair Delva ---- - arch/riscv/kernel/module.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/arch/riscv/kernel/module.c b/arch/riscv/kernel/module.c ---- a/arch/riscv/kernel/module.c -+++ b/arch/riscv/kernel/module.c -@@ -310,6 +310,15 @@ static int apply_r_riscv_sub64_rela(struct module *me, u32 *location, - return 0; - } - -+static int apply_r_riscv_pcrel_32_rela(struct module *me, u32 *location, -+ Elf_Addr v) -+{ -+ ptrdiff_t offset = (void *)v - (void *)location; -+ -+ *location = (*location & 0xffff0000) | (offset & 0xffff); -+ return 0; -+} -+ - static int (*reloc_handlers_rela[]) (struct module *me, u32 *location, - Elf_Addr v) = { - [R_RISCV_32] = apply_r_riscv_32_rela, -@@ -335,6 +344,7 @@ static int (*reloc_handlers_rela[]) (struct module *me, u32 *location, - [R_RISCV_SUB16] = apply_r_riscv_sub16_rela, - [R_RISCV_SUB32] = apply_r_riscv_sub32_rela, - [R_RISCV_SUB64] = apply_r_riscv_sub64_rela, -+ [R_RISCV_32_PCREL] = apply_r_riscv_pcrel_32_rela, - }; - - int apply_relocate_add(Elf_Shdr *sechdrs, const char *strtab, diff --git a/android-mainline/ANDROID-Revert-perf-core-Use-static_call-to-optimize-perf_guest_info_callbacks.patch b/android-mainline/ANDROID-Revert-perf-core-Use-static_call-to-optimize-perf_guest_info_callbacks.patch index 643b7427..514fb646 100644 --- a/android-mainline/ANDROID-Revert-perf-core-Use-static_call-to-optimize-perf_guest_info_callbacks.patch +++ b/android-mainline/ANDROID-Revert-perf-core-Use-static_call-to-optimize-perf_guest_info_callbacks.patch @@ -54,7 +54,7 @@ Signed-off-by: Lee Jones diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h -@@ -1494,22 +1494,40 @@ extern void perf_event_bpf_event(struct bpf_prog *prog, +@@ -1497,22 +1497,40 @@ extern void perf_event_bpf_event(struct bpf_prog *prog, #ifdef CONFIG_GUEST_PERF_EVENTS extern struct perf_guest_info_callbacks __rcu *perf_guest_cbs; @@ -106,7 +106,7 @@ diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h diff --git a/kernel/events/core.c b/kernel/events/core.c --- a/kernel/events/core.c +++ b/kernel/events/core.c -@@ -6800,23 +6800,12 @@ static void perf_pending_task(struct callback_head *head) +@@ -6805,23 +6805,12 @@ static void perf_pending_task(struct callback_head *head) #ifdef CONFIG_GUEST_PERF_EVENTS struct perf_guest_info_callbacks __rcu *perf_guest_cbs; @@ -130,7 +130,7 @@ diff --git a/kernel/events/core.c b/kernel/events/core.c } EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks); -@@ -6826,10 +6815,6 @@ void perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *cbs) +@@ -6831,10 +6820,6 @@ void perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *cbs) return; rcu_assign_pointer(perf_guest_cbs, NULL); diff --git a/android-mainline/ANDROID-fs-fuse-Use-extended-init-flags-for-FUSE_PASSTHROUGH.patch b/android-mainline/ANDROID-fs-fuse-Use-extended-init-flags-for-FUSE_PASSTHROUGH.patch index be0d0a0e..0698aec7 100644 --- a/android-mainline/ANDROID-fs-fuse-Use-extended-init-flags-for-FUSE_PASSTHROUGH.patch +++ b/android-mainline/ANDROID-fs-fuse-Use-extended-init-flags-for-FUSE_PASSTHROUGH.patch @@ -33,7 +33,7 @@ Signed-off-by: Lee Jones diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c -@@ -1295,6 +1295,8 @@ void fuse_send_init(struct fuse_mount *fm) +@@ -1296,6 +1296,8 @@ void fuse_send_init(struct fuse_mount *fm) if (fm->fc->auto_submounts) flags |= FUSE_SUBMOUNTS; diff --git a/android-mainline/ANDROID-iommu-Add-vendor-hook-for-iova-allocation-and-free-tracking.patch b/android-mainline/ANDROID-iommu-Add-vendor-hook-for-iova-allocation-and-free-tracking.patch index a6843f5a..db10c854 100644 --- a/android-mainline/ANDROID-iommu-Add-vendor-hook-for-iova-allocation-and-free-tracking.patch +++ b/android-mainline/ANDROID-iommu-Add-vendor-hook-for-iova-allocation-and-free-tracking.patch @@ -41,7 +41,7 @@ diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c #include "dma-iommu.h" -@@ -698,6 +699,7 @@ static dma_addr_t iommu_dma_alloc_iova(struct iommu_domain *domain, +@@ -802,6 +803,7 @@ static dma_addr_t iommu_dma_alloc_iova(struct iommu_domain *domain, iova = alloc_iova_fast(iovad, iova_len, dma_limit >> shift, true); done: @@ -49,7 +49,7 @@ diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c return (dma_addr_t)iova << shift; } -@@ -716,6 +718,8 @@ static void iommu_dma_free_iova(struct iommu_dma_cookie *cookie, +@@ -820,6 +822,8 @@ static void iommu_dma_free_iova(struct iommu_dma_cookie *cookie, else free_iova_fast(iovad, iova_pfn(iovad, iova), size >> iova_shift(iovad)); diff --git a/android-mainline/ANDROID-irqchip-Add-IRQChip-related-vendor-hooks.patch b/android-mainline/ANDROID-irqchip-Add-IRQChip-related-vendor-hooks.patch index 91d8eae6..b406fe08 100644 --- a/android-mainline/ANDROID-irqchip-Add-IRQChip-related-vendor-hooks.patch +++ b/android-mainline/ANDROID-irqchip-Add-IRQChip-related-vendor-hooks.patch @@ -53,7 +53,7 @@ diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c #include #include -@@ -969,11 +970,15 @@ static void __init gic_dist_init(void) +@@ -968,11 +969,15 @@ static void __init gic_dist_init(void) * enabled. */ affinity = gic_cpu_to_affinity(smp_processor_id()); @@ -71,7 +71,7 @@ diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c } static int gic_iterate_rdists(int (*fn)(struct redist_region *, void __iomem *)) -@@ -1437,6 +1442,9 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val, +@@ -1436,6 +1441,9 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val, reg = gic_dist_base(d) + offset + (index * 8); val = gic_cpu_to_affinity(cpu); diff --git a/android-mainline/ANDROID-modules-re-introduce-the-MODULE_SCMVERSION-config.patch b/android-mainline/ANDROID-modules-re-introduce-the-MODULE_SCMVERSION-config.patch index 2e3d354e..c4b7b158 100644 --- a/android-mainline/ANDROID-modules-re-introduce-the-MODULE_SCMVERSION-config.patch +++ b/android-mainline/ANDROID-modules-re-introduce-the-MODULE_SCMVERSION-config.patch @@ -173,7 +173,7 @@ diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c /* Only warn about unresolved symbols */ static bool warn_unresolved; -@@ -1839,6 +1841,9 @@ static void add_header(struct buffer *b, struct module *mod) +@@ -1841,6 +1843,9 @@ static void add_header(struct buffer *b, struct module *mod) if (!external_module) buf_printf(b, "\nMODULE_INFO(intree, \"Y\");\n"); @@ -183,7 +183,7 @@ diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c buf_printf(b, "\n" "#ifdef CONFIG_RETPOLINE\n" -@@ -2181,7 +2186,7 @@ int main(int argc, char **argv) +@@ -2183,7 +2188,7 @@ int main(int argc, char **argv) LIST_HEAD(dump_lists); struct dump_list *dl, *dl2; @@ -192,7 +192,7 @@ diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c switch (opt) { case 'e': external_module = true; -@@ -2230,6 +2235,9 @@ int main(int argc, char **argv) +@@ -2232,6 +2237,9 @@ int main(int argc, char **argv) case 'd': missing_namespace_deps = optarg; break; diff --git a/android-mainline/ANDROID-overlayfs-override_creds-off-option-bypass-creator_cred.patch b/android-mainline/ANDROID-overlayfs-override_creds-off-option-bypass-creator_cred.patch index e18d8e22..c9f1d662 100644 --- a/android-mainline/ANDROID-overlayfs-override_creds-off-option-bypass-creator_cred.patch +++ b/android-mainline/ANDROID-overlayfs-override_creds-off-option-bypass-creator_cred.patch @@ -473,7 +473,7 @@ diff --git a/fs/overlayfs/params.c b/fs/overlayfs/params.c {} }; -@@ -620,6 +627,9 @@ static int ovl_parse_param(struct fs_context *fc, struct fs_parameter *param) +@@ -619,6 +626,9 @@ static int ovl_parse_param(struct fs_context *fc, struct fs_parameter *param) case Opt_userxattr: config->userxattr = true; break; diff --git a/android-mainline/ANDROID-riscv64-Enable-HAVE_EFFICIENT_UNALIGNED_ACCESS.patch b/android-mainline/ANDROID-riscv64-Enable-HAVE_EFFICIENT_UNALIGNED_ACCESS.patch index da261558..0ea380db 100644 --- a/android-mainline/ANDROID-riscv64-Enable-HAVE_EFFICIENT_UNALIGNED_ACCESS.patch +++ b/android-mainline/ANDROID-riscv64-Enable-HAVE_EFFICIENT_UNALIGNED_ACCESS.patch @@ -17,7 +17,7 @@ Change-Id: I2fb83d3e00f914feb4548136ad7fd3224aa674d8 diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig -@@ -117,6 +117,7 @@ config RISCV +@@ -119,6 +119,7 @@ config RISCV select HAVE_FUNCTION_GRAPH_RETVAL if HAVE_FUNCTION_GRAPH_TRACER select HAVE_FUNCTION_TRACER if !XIP_KERNEL && !PREEMPTION select HAVE_EBPF_JIT if MMU diff --git a/android-mainline/FROMLIST-Revert-fuse-Apply-flags2-only-when-userspace-set-the-FUSE_INIT_EXT.patch b/android-mainline/FROMLIST-Revert-fuse-Apply-flags2-only-when-userspace-set-the-FUSE_INIT_EXT.patch index f721fa6a..91f327e8 100644 --- a/android-mainline/FROMLIST-Revert-fuse-Apply-flags2-only-when-userspace-set-the-FUSE_INIT_EXT.patch +++ b/android-mainline/FROMLIST-Revert-fuse-Apply-flags2-only-when-userspace-set-the-FUSE_INIT_EXT.patch @@ -31,7 +31,7 @@ Signed-off-by: André Draszik diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c -@@ -1153,10 +1153,7 @@ static void process_init_reply(struct fuse_mount *fm, struct fuse_args *args, +@@ -1154,10 +1154,7 @@ static void process_init_reply(struct fuse_mount *fm, struct fuse_args *args, process_init_limits(fc, arg); if (arg->minor >= 6) { diff --git a/android-mainline/FROMLIST-fuse-Definitions-and-ioctl-for-passthrough.patch b/android-mainline/FROMLIST-fuse-Definitions-and-ioctl-for-passthrough.patch index 53baf001..3b4b6227 100644 --- a/android-mainline/FROMLIST-fuse-Definitions-and-ioctl-for-passthrough.patch +++ b/android-mainline/FROMLIST-fuse-Definitions-and-ioctl-for-passthrough.patch @@ -169,7 +169,7 @@ diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c atomic_set(&fc->num_waiting, 0); fc->max_background = FUSE_DEFAULT_MAX_BACKGROUND; fc->congestion_threshold = FUSE_DEFAULT_CONGESTION_THRESHOLD; -@@ -1223,6 +1225,12 @@ static void process_init_reply(struct fuse_mount *fm, struct fuse_args *args, +@@ -1224,6 +1226,12 @@ static void process_init_reply(struct fuse_mount *fm, struct fuse_args *args, fc->handle_killpriv_v2 = 1; fm->sb->s_flags |= SB_NOSEC; } @@ -182,7 +182,7 @@ diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c if (flags & FUSE_SETXATTR_EXT) fc->setxattr_ext = 1; if (flags & FUSE_SECURITY_CTX) -@@ -1310,9 +1318,16 @@ void fuse_send_init(struct fuse_mount *fm) +@@ -1311,9 +1319,16 @@ void fuse_send_init(struct fuse_mount *fm) } EXPORT_SYMBOL_GPL(fuse_send_init); diff --git a/android-mainline/FROMLIST-fuse-Passthrough-initialization-and-release.patch b/android-mainline/FROMLIST-fuse-Passthrough-initialization-and-release.patch index 78443562..a3e2e302 100644 --- a/android-mainline/FROMLIST-fuse-Passthrough-initialization-and-release.patch +++ b/android-mainline/FROMLIST-fuse-Passthrough-initialization-and-release.patch @@ -52,7 +52,7 @@ Signed-off-by: Lee Jones diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c -@@ -1320,6 +1320,11 @@ EXPORT_SYMBOL_GPL(fuse_send_init); +@@ -1321,6 +1321,11 @@ EXPORT_SYMBOL_GPL(fuse_send_init); static int free_fuse_passthrough(int id, void *p, void *data) { diff --git a/android-mainline/NOUPSTREAM-ANDROID-Add-vendor-hooks-to-the-scheduler.patch b/android-mainline/NOUPSTREAM-ANDROID-Add-vendor-hooks-to-the-scheduler.patch index 2b82edeb..635a1f3c 100644 --- a/android-mainline/NOUPSTREAM-ANDROID-Add-vendor-hooks-to-the-scheduler.patch +++ b/android-mainline/NOUPSTREAM-ANDROID-Add-vendor-hooks-to-the-scheduler.patch @@ -628,7 +628,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c rb_erase_augmented_cached(&se->run_node, &cfs_rq->tasks_timeline, &min_deadline_cb); avg_vruntime_sub(cfs_rq, se); -@@ -4743,6 +4747,11 @@ static inline void util_est_update(struct cfs_rq *cfs_rq, +@@ -4848,6 +4852,11 @@ static inline void util_est_update(struct cfs_rq *cfs_rq, { long last_ewma_diff, last_enqueued_diff; struct util_est ue; @@ -640,7 +640,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c if (!sched_feat(UTIL_EST)) return; -@@ -5381,6 +5390,7 @@ entity_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr, int queued) +@@ -5486,6 +5495,7 @@ entity_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr, int queued) hrtimer_active(&rq_of(cfs_rq)->hrtick_timer)) return; #endif @@ -648,7 +648,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c } -@@ -6529,6 +6539,11 @@ static inline bool cpu_overutilized(int cpu) +@@ -6634,6 +6644,11 @@ static inline bool cpu_overutilized(int cpu) { unsigned long rq_util_min = uclamp_rq_get(cpu_rq(cpu), UCLAMP_MIN); unsigned long rq_util_max = uclamp_rq_get(cpu_rq(cpu), UCLAMP_MAX); @@ -660,7 +660,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c /* Return true only if the utilization doesn't fit CPU's capacity */ return !util_fits_cpu(cpu_util_cfs(cpu), rq_util_min, rq_util_max, cpu); -@@ -6607,6 +6622,7 @@ enqueue_task_fair(struct rq *rq, struct task_struct *p, int flags) +@@ -6712,6 +6727,7 @@ enqueue_task_fair(struct rq *rq, struct task_struct *p, int flags) flags = ENQUEUE_WAKEUP; } @@ -668,7 +668,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c for_each_sched_entity(se) { cfs_rq = cfs_rq_of(se); -@@ -6697,6 +6713,7 @@ static void dequeue_task_fair(struct rq *rq, struct task_struct *p, int flags) +@@ -6802,6 +6818,7 @@ static void dequeue_task_fair(struct rq *rq, struct task_struct *p, int flags) flags |= DEQUEUE_SLEEP; } @@ -676,7 +676,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c for_each_sched_entity(se) { cfs_rq = cfs_rq_of(se); -@@ -7800,6 +7817,8 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu, int sy +@@ -7905,6 +7922,8 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu, int sy struct perf_domain *pd; struct energy_env eenv; @@ -685,7 +685,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c rcu_read_lock(); pd = rcu_dereference(rd->pd); if (!pd || READ_ONCE(rd->overutilized)) -@@ -7808,7 +7827,7 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu, int sy +@@ -7913,7 +7932,7 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu, int sy cpu = smp_processor_id(); if (sync && cpu_rq(cpu)->nr_running == 1 && cpumask_test_cpu(cpu, p->cpus_ptr) && @@ -694,7 +694,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c rcu_read_unlock(); return cpu; } -@@ -7999,9 +8018,18 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int wake_flags) +@@ -8104,9 +8123,18 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int wake_flags) int cpu = smp_processor_id(); int new_cpu = prev_cpu; int want_affine = 0; @@ -713,7 +713,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c /* * required for stable ->cpus_allowed */ -@@ -8128,9 +8156,13 @@ static void check_preempt_wakeup_fair(struct rq *rq, struct task_struct *p, int +@@ -8233,9 +8261,13 @@ static void check_preempt_wakeup_fair(struct rq *rq, struct task_struct *p, int struct cfs_rq *cfs_rq = task_cfs_rq(curr); int next_buddy_marked = 0; int cse_is_idle, pse_is_idle; @@ -727,7 +727,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c /* * This is possible from callers such as attach_tasks(), in which we -@@ -8238,9 +8270,10 @@ struct task_struct * +@@ -8343,9 +8375,10 @@ struct task_struct * pick_next_task_fair(struct rq *rq, struct task_struct *prev, struct rq_flags *rf) { struct cfs_rq *cfs_rq = &rq->cfs; @@ -740,7 +740,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c again: if (!sched_fair_runnable(rq)) -@@ -8294,7 +8327,7 @@ pick_next_task_fair(struct rq *rq, struct task_struct *prev, struct rq_flags *rf +@@ -8399,7 +8432,7 @@ pick_next_task_fair(struct rq *rq, struct task_struct *prev, struct rq_flags *rf } while (cfs_rq); p = task_of(se); @@ -749,7 +749,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c /* * Since we haven't yet done put_prev_entity and if the selected task * is a different task than we started out with, try and touch the -@@ -8327,6 +8360,10 @@ pick_next_task_fair(struct rq *rq, struct task_struct *prev, struct rq_flags *rf +@@ -8432,6 +8465,10 @@ pick_next_task_fair(struct rq *rq, struct task_struct *prev, struct rq_flags *rf if (prev) put_prev_task(rq, prev); @@ -760,7 +760,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c do { se = pick_next_entity(cfs_rq); set_next_entity(cfs_rq, se); -@@ -8650,6 +8687,7 @@ struct lb_env { +@@ -8755,6 +8792,7 @@ struct lb_env { enum fbq_type fbq_type; enum migration_type migration_type; struct list_head tasks; @@ -768,7 +768,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c }; /* -@@ -8763,9 +8801,14 @@ static +@@ -8868,9 +8906,14 @@ static int can_migrate_task(struct task_struct *p, struct lb_env *env) { int tsk_cache_hot; @@ -783,7 +783,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c /* * We do not migrate tasks that are: * 1) throttled_lb_pair, or -@@ -8853,8 +8896,20 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) +@@ -8958,8 +9001,20 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) */ static void detach_task(struct task_struct *p, struct lb_env *env) { @@ -804,7 +804,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c deactivate_task(env->src_rq, p, DEQUEUE_NOCLOCK); set_task_cpu(p, env->dst_cpu); } -@@ -10718,8 +10773,12 @@ static struct sched_group *find_busiest_group(struct lb_env *env) +@@ -10823,8 +10878,12 @@ static struct sched_group *find_busiest_group(struct lb_env *env) if (sched_energy_enabled()) { struct root_domain *rd = env->dst_rq->rd; @@ -818,7 +818,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c goto out_balanced; } -@@ -10840,7 +10899,12 @@ static struct rq *find_busiest_queue(struct lb_env *env, +@@ -10945,7 +11004,12 @@ static struct rq *find_busiest_queue(struct lb_env *env, struct rq *busiest = NULL, *rq; unsigned long busiest_util = 0, busiest_load = 0, busiest_capacity = 1; unsigned int busiest_nr = 0; @@ -832,7 +832,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c for_each_cpu_and(i, sched_group_span(group), env->cpus) { unsigned long capacity, load, util; -@@ -11180,6 +11244,7 @@ static int load_balance(int this_cpu, struct rq *this_rq, +@@ -11289,6 +11353,7 @@ static int load_balance(int this_cpu, struct rq *this_rq, more_balance: rq_lock_irqsave(busiest, &rf); @@ -840,7 +840,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c update_rq_clock(busiest); /* -@@ -11477,6 +11542,7 @@ static int active_load_balance_cpu_stop(void *data) +@@ -11586,6 +11651,7 @@ static int active_load_balance_cpu_stop(void *data) .src_rq = busiest_rq, .idle = CPU_IDLE, .flags = LBF_ACTIVE_LB, @@ -848,7 +848,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c }; schedstat_inc(sd->alb_count); -@@ -11558,6 +11624,10 @@ static void rebalance_domains(struct rq *rq, enum cpu_idle_type idle) +@@ -11667,6 +11733,10 @@ static void rebalance_domains(struct rq *rq, enum cpu_idle_type idle) int need_serialize, need_decay = 0; u64 max_cost = 0; @@ -859,7 +859,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c rcu_read_lock(); for_each_domain(cpu, sd) { /* -@@ -11710,6 +11780,7 @@ static void nohz_balancer_kick(struct rq *rq) +@@ -11819,6 +11889,7 @@ static void nohz_balancer_kick(struct rq *rq) struct sched_domain *sd; int nr_busy, i, cpu = rq->cpu; unsigned int flags = 0; @@ -867,7 +867,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c if (unlikely(rq->idle_balance)) return; -@@ -11734,6 +11805,10 @@ static void nohz_balancer_kick(struct rq *rq) +@@ -11843,6 +11914,10 @@ static void nohz_balancer_kick(struct rq *rq) if (time_before(now, nohz.next_balance)) goto out; @@ -878,7 +878,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c if (rq->nr_running >= 2) { flags = NOHZ_STATS_KICK | NOHZ_BALANCE_KICK; goto out; -@@ -12153,6 +12228,11 @@ static int newidle_balance(struct rq *this_rq, struct rq_flags *rf) +@@ -12262,6 +12337,11 @@ static int newidle_balance(struct rq *this_rq, struct rq_flags *rf) u64 t0, t1, curr_cost = 0; struct sched_domain *sd; int pulled_task = 0; diff --git a/android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-Exports.patch b/android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-Exports.patch index 1bb2eebd..16847917 100644 --- a/android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-Exports.patch +++ b/android-mainline/NOUPSTREAM-ANDROID-arm64-ARM64-Exports.patch @@ -48,7 +48,7 @@ diff --git a/arch/arm64/include/asm/smp.h b/arch/arm64/include/asm/smp.h diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c -@@ -1486,6 +1486,7 @@ const struct cpumask *system_32bit_el0_cpumask(void) +@@ -1524,6 +1524,7 @@ const struct cpumask *system_32bit_el0_cpumask(void) return cpu_possible_mask; } @@ -109,7 +109,7 @@ diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c /* * as from 2.5, kernels no longer have an init_tasks structure -@@ -1184,3 +1187,15 @@ bool cpus_are_stuck_in_kernel(void) +@@ -1181,3 +1184,15 @@ bool cpus_are_stuck_in_kernel(void) return !!cpus_stuck_in_kernel || smp_spin_tables || is_protected_kvm_enabled(); } diff --git a/android-mainline/NOUPSTREAM-ANDROID-kernel-Core-Kernel-Exports.patch b/android-mainline/NOUPSTREAM-ANDROID-kernel-Core-Kernel-Exports.patch index 1e59f919..a122aa5d 100644 --- a/android-mainline/NOUPSTREAM-ANDROID-kernel-Core-Kernel-Exports.patch +++ b/android-mainline/NOUPSTREAM-ANDROID-kernel-Core-Kernel-Exports.patch @@ -125,7 +125,7 @@ diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c /** * cgroup_migrate_execute - migrate a taskset -@@ -4588,6 +4590,7 @@ struct cgroup_subsys_state *css_next_child(struct cgroup_subsys_state *pos, +@@ -4580,6 +4582,7 @@ struct cgroup_subsys_state *css_next_child(struct cgroup_subsys_state *pos, return next; return NULL; } @@ -360,7 +360,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c /* * The initial- and re-scaling of tunables is configurable * -@@ -5273,8 +5289,7 @@ dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags) +@@ -5378,8 +5394,7 @@ dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags) update_idle_cfs_rq_clock_pelt(cfs_rq); } @@ -370,7 +370,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c { clear_buddies(cfs_rq, se); -@@ -5315,6 +5330,7 @@ set_next_entity(struct cfs_rq *cfs_rq, struct sched_entity *se) +@@ -5420,6 +5435,7 @@ set_next_entity(struct cfs_rq *cfs_rq, struct sched_entity *se) se->prev_sum_exec_runtime = se->sum_exec_runtime; } @@ -378,7 +378,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c /* * Pick the next process, keeping these things in mind, in this order: -@@ -8602,7 +8618,8 @@ static bool yield_to_task_fair(struct rq *rq, struct task_struct *p) +@@ -8707,7 +8723,8 @@ static bool yield_to_task_fair(struct rq *rq, struct task_struct *p) * rewrite all of this once again.] */ diff --git a/android-mainline/NOUPSTREAM-ANDROID-kernel-Core-kernel-related-vendor-hooks.patch b/android-mainline/NOUPSTREAM-ANDROID-kernel-Core-kernel-related-vendor-hooks.patch index abc6191a..535a2a75 100644 --- a/android-mainline/NOUPSTREAM-ANDROID-kernel-Core-kernel-related-vendor-hooks.patch +++ b/android-mainline/NOUPSTREAM-ANDROID-kernel-Core-kernel-related-vendor-hooks.patch @@ -470,7 +470,7 @@ diff --git a/kernel/sys.c b/kernel/sys.c #ifndef SET_UNALIGN_CTL # define SET_UNALIGN_CTL(a, b) (-EINVAL) #endif -@@ -2743,6 +2745,7 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3, +@@ -2747,6 +2749,7 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3, error = -EINVAL; break; } diff --git a/android-mainline/NOUPSTREAM-ANDROID-mm-Memory-Managment-related-vendor-hooks.patch b/android-mainline/NOUPSTREAM-ANDROID-mm-Memory-Managment-related-vendor-hooks.patch index fd594aa1..10d671e1 100644 --- a/android-mainline/NOUPSTREAM-ANDROID-mm-Memory-Managment-related-vendor-hooks.patch +++ b/android-mainline/NOUPSTREAM-ANDROID-mm-Memory-Managment-related-vendor-hooks.patch @@ -159,7 +159,7 @@ diff --git a/mm/util.c b/mm/util.c /** * kfree_const - conditionally free memory * @x: pointer to the memory -@@ -550,6 +554,7 @@ unsigned long vm_mmap_pgoff(struct file *file, unsigned long addr, +@@ -560,6 +564,7 @@ unsigned long vm_mmap_pgoff(struct file *file, unsigned long addr, if (populate) mm_populate(ret, populate); } diff --git a/android-mainline/NOUPSTREAM-ANDROID-sched-Unconditionally-honor-sync-flag-for-energy-aware-wakeups.patch b/android-mainline/NOUPSTREAM-ANDROID-sched-Unconditionally-honor-sync-flag-for-energy-aware-wakeups.patch index 62bd2612..288af276 100644 --- a/android-mainline/NOUPSTREAM-ANDROID-sched-Unconditionally-honor-sync-flag-for-energy-aware-wakeups.patch +++ b/android-mainline/NOUPSTREAM-ANDROID-sched-Unconditionally-honor-sync-flag-for-energy-aware-wakeups.patch @@ -31,7 +31,7 @@ Signed-off-by: Lee Jones diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c -@@ -7785,7 +7785,7 @@ compute_energy(struct energy_env *eenv, struct perf_domain *pd, +@@ -7890,7 +7890,7 @@ compute_energy(struct energy_env *eenv, struct perf_domain *pd, * other use-cases too. So, until someone finds a better way to solve this, * let's keep things simple by re-using the existing slow path. */ @@ -40,7 +40,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c { struct cpumask *cpus = this_cpu_cpumask_var_ptr(select_rq_mask); unsigned long prev_delta = ULONG_MAX, best_delta = ULONG_MAX; -@@ -7805,6 +7805,14 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu) +@@ -7910,6 +7910,14 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu) if (!pd || READ_ONCE(rd->overutilized)) goto unlock; @@ -55,7 +55,7 @@ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c /* * Energy-aware wake-up happens on the lowest sched_domain starting * from sd_asym_cpucapacity spanning over this_cpu and prev_cpu. -@@ -8006,7 +8014,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int wake_flags) +@@ -8111,7 +8119,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int wake_flags) return cpu; if (sched_energy_enabled()) { diff --git a/android-mainline/UPSTREAM-ASoC-codecs-aw88399-Fix-Wuninitialized-in-aw_dev_set_vcalb.patch b/android-mainline/UPSTREAM-ASoC-codecs-aw88399-Fix-Wuninitialized-in-aw_dev_set_vcalb.patch deleted file mode 100644 index 45b7bf38..00000000 --- a/android-mainline/UPSTREAM-ASoC-codecs-aw88399-Fix-Wuninitialized-in-aw_dev_set_vcalb.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nathan Chancellor -Date: Fri, 27 Oct 2023 09:54:25 -0700 -Subject: UPSTREAM: ASoC: codecs: aw88399: Fix -Wuninitialized in - aw_dev_set_vcalb() - -Clang warns (or errors with CONFIG_WERROR=y): - - sound/soc/codecs/aw88399.c:441:18: error: variable 'vsense_select' is uninitialized when used here [-Werror,-Wuninitialized] - 441 | vsense_select = vsense_select & (~AW88399_VDSEL_MASK); - | ^~~~~~~~~~~~~ - sound/soc/codecs/aw88399.c:431:28: note: initialize the variable 'vsense_select' to silence this warning - 431 | unsigned int vsense_select, vsense_value; - | ^ - | = 0 - 1 error generated. - -This clearly should have been using the value received from -regmap_read(). Use the correct variable to resolve the warning. - -Closes: https://github.com/ClangBuiltLinux/linux/issues/1952 -Fixes: 8ade6cc7e261 ("ASoC: codecs: Add aw88399 amplifier driver") -Change-Id: I536ba559eed5875bb155d1ed7560c572e0885e00 -Signed-off-by: Nathan Chancellor -Reviewed-by: Weidong Wang -Link: https://lore.kernel.org/r/20231027-asoc-aw88399-fix-wuninitialized-v1-1-b1044493e4cd@kernel.org -Signed-off-by: Mark Brown -(cherry picked from commit cba4590036855f4e3110d43c14385d2401080dbb) -Signed-off-by: Greg Kroah-Hartman ---- - sound/soc/codecs/aw88399.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sound/soc/codecs/aw88399.c b/sound/soc/codecs/aw88399.c ---- a/sound/soc/codecs/aw88399.c -+++ b/sound/soc/codecs/aw88399.c -@@ -438,7 +438,7 @@ static int aw_dev_set_vcalb(struct aw88399 *aw88399) - if (ret) - return ret; - -- vsense_select = vsense_select & (~AW88399_VDSEL_MASK); -+ vsense_select = vsense_value & (~AW88399_VDSEL_MASK); - - ret = aw88399_dev_get_icalk(aw88399, &icalk); - if (ret) { diff --git a/android-mainline/UPSTREAM-drm-amd-display-Increase-frame-warning-limit-with-KASAN-or-KCSAN-in-dml2.patch b/android-mainline/UPSTREAM-drm-amd-display-Increase-frame-warning-limit-with-KASAN-or-KCSAN-in-dml2.patch deleted file mode 100644 index df4c83e2..00000000 --- a/android-mainline/UPSTREAM-drm-amd-display-Increase-frame-warning-limit-with-KASAN-or-KCSAN-in-dml2.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nathan Chancellor -Date: Thu, 2 Nov 2023 10:40:52 -0700 -Subject: UPSTREAM: drm/amd/display: Increase frame warning limit with KASAN or - KCSAN in dml2 - -When building ARCH=x86_64 allmodconfig with clang, which will typically -have sanitizers enabled, there is a warning about a large stack frame. - - drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:6265:13: error: stack frame size (2520) exceeds limit (2048) in 'dml_prefetch_check' [-Werror,-Wframe-larger-than] - 6265 | static void dml_prefetch_check(struct display_mode_lib_st *mode_lib) - | ^ - 1 error generated. - -Notably, GCC 13.2.0 does not do too much of a better job, as it is right -at the current limit of 2048 (and others have reported being over with -older GCC versions): - - drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c: In function 'dml_prefetch_check': - drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:6705:1: error: the frame size of 2048 bytes is larger than 1800 bytes [-Werror=frame-larger-than=] - 6705 | } - | ^ - -In the past, these warnings have been avoided by reducing the number of -parameters to various functions so that not as many arguments need to be -passed on the stack. However, these patches take a good amount of effort -to write despite being mechanical due to code structure and complexity -and they are never carried forward to new generations of the code so -that effort has to be expended every new hardware generation, which -becomes harder to justify as time goes on. - -To avoid having a noticeable or lengthy breakage in all{mod,yes}config, -which are easy testing targets that have -Werror enabled, increase the -limit for configurations that have KASAN or KCSAN enabled by 50% so that -cases of extremely poor code generation can still be caught while not -breaking the majority of builds. CONFIG_KMSAN also causes high stack -usage but the frame limit is already set to zero when it is enabled, -which is accounted for by the check for CONFIG_FRAME_WARN=0 in the dml2 -Makefile. - -Change-Id: I130cdf5f7b97b20bd250024c241db0bfb28fbf67 -Signed-off-by: Nathan Chancellor -Signed-off-by: Alex Deucher -(cherry picked from commit 6740ec97bcdbe96ac7df147f986c030eddfebe65) -Signed-off-by: Greg Kroah-Hartman ---- - drivers/gpu/drm/amd/display/dc/dml2/Makefile | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/gpu/drm/amd/display/dc/dml2/Makefile b/drivers/gpu/drm/amd/display/dc/dml2/Makefile ---- a/drivers/gpu/drm/amd/display/dc/dml2/Makefile -+++ b/drivers/gpu/drm/amd/display/dc/dml2/Makefile -@@ -60,8 +60,12 @@ endif - endif - - ifneq ($(CONFIG_FRAME_WARN),0) -+ifeq ($(filter y,$(CONFIG_KASAN)$(CONFIG_KCSAN)),y) -+frame_warn_flag := -Wframe-larger-than=3072 -+else - frame_warn_flag := -Wframe-larger-than=2048 - endif -+endif - - CFLAGS_$(AMDDALPATH)/dc/dml2/display_mode_core.o := $(dml2_ccflags) $(frame_warn_flag) - CFLAGS_$(AMDDALPATH)/dc/dml2/display_mode_util.o := $(dml2_ccflags) diff --git a/android-mainline/series b/android-mainline/series index 82634858..77522d84 100644 --- a/android-mainline/series +++ b/android-mainline/series @@ -1,8 +1,8 @@ # # android-mainline patches # -# Applies onto upstream 7f851936a0ca4 Linux v6.6-15119-g7f851936a0ca4 -# Matches android-mainline bf309bfecfed8 ("ANDROID: gki_defconfig: enable debug_kinfo") +# Applies onto upstream 98b1cc82c4aff Linux v6.7-rc2 +# Matches android-mainline 4d97e4c41de58 ("Merge tag 'v6.7-rc2' into android-mainline") # Status: Tested # Revert-sched-core-Prevent-race-condition-between-cpuset-and-__sched_setscheduler.patch @@ -41,8 +41,6 @@ UPSTREAM-cpuidle-dt-Push-RCU-idle-into-driver.patch FROMLIST-kheaders-dereferences-the-source-tree.patch FROMLIST-Revert-fuse-Apply-flags2-only-when-userspace-set-the-FUSE_INIT_EXT.patch ANDROID-fs-Move-iocb_to_rw_flags-to-fuse-passthrough.patch -UPSTREAM-ASoC-codecs-aw88399-Fix-Wuninitialized-in-aw_dev_set_vcalb.patch -UPSTREAM-drm-amd-display-Increase-frame-warning-limit-with-KASAN-or-KCSAN-in-dml2.patch FROMGIT-arch-mm-fault-fix-major-fault-accounting-when-retrying-under-per-VMA-lock.patch _____ANNOTATION-binder-changes_____.patch ONHOLD-ANDROID-binder-add-support-for-RT-prio-inheritance.patch @@ -59,7 +57,6 @@ ANDROID-modules-re-introduce-the-MODULE_SCMVERSION-config.patch NOUPSTREAM-ANDROID-Kbuild-Add-support-for-KBUILD_MIXED_TREE.patch ANDROID-GKI-Add-script-to-generate-symbol-protection-headers.patch _____ANNOTATION-riscv-changes_____.patch -ANDROID-RISC-V-Support-32_PCREL-relocation-type-in-kernel-module.patch _____ANNOTATION-core-kernel-changes_____.patch CHROMIUM-cgroups-relax-permissions-on-moving-tasks-between-cgroups.patch ANDROID-unconditionally-compile-sig_ok-in-struct-module.patch -- cgit v1.2.3