日期范围
94
Bugfix讨论数
Bugfix重要分析 failed作者:Andrea Righi2026/09/07 17:507 封邮件

[PATCH v2 0/2] sched: Enable preferred SMT siblings on NVIDIA Olympus

sched: Enable preferred SMT siblings on NVIDIA Olympus。Claude 分析失败,当前使用规则 fallback:该讨论被归为 bugfix,共 7 封邮件。

lore
Bugfix重要分析 success作者:syzbot2026/09/07 16:582 封邮件

[syzbot] [kernel?] WARNING in __set_cpus_allowed_ptr_locked

syzbot 报出 IRQ 线程在 CPU 热插拔窗口内调 set_cpus_allowed_ptr,可能让任务落到 cpus_mask 之外的 CPU 并触发 affine_move_task 警告。Sebastian 提出两个备选方案:在 IRQ 侧加 cpus_read_lock,或在 migration_cpu_stop 中回填 cpus_mask。

lore
Bugfix重要分析 success作者:Jianyong Wu2026/09/07 16:3713 封邮件

[PATCH] sched/fair: Only apply cpufreq pressure where frequency is invariant

补丁针对 d2d5c129d07e 在 cpufreq_update_pressure() 中以 cpuinfo.max_freq 作为 fallback 后,导致非 frequency-invariant 架构上 capacity 被扣减而 utilization 未同步缩放、产生 util > capacity 误判的问题。在 get_actual_cpu_capacity() 中用 arch_scale_freq_invariant() 守卫 cpufreq_get_pressure(cpu) 的合并,恢复对称缩放。讨论中作者承认首版解释错误,把根因改为 cpuinfo.max_freq...

lore
Bugfix重要分析 failed作者:Hemanth Selam2026/09/07 14:571 封邮件

[PATCH 11/14] sched: fix repeated word 'into' in comment

sched: fix repeated word 'into' in comment。Claude 分析失败,当前使用规则 fallback:该讨论被归为 bugfix,共 1 封邮件。

lore
Bugfix分析 success作者:Mark Rutland2026/09/07 03:283 封邮件

[PATCH] sched: dynamic: Fix preemption model strings

上游清理 refactor 9650ce11f2e3 移除 preempt_dynamic_none/voluntary 两个 enum 后,未同步缩减 preempt_modes[] 数组,导致 preempt_model_str() 在 backtrace 中返回错位字符串,/sys/kernel/debug/sched/preempt 输出为空。Mark Rutland 用 +3/-9 行的最小补丁把数组和 sched_dynamic_show() 循环一起改回,并已被 tip-bot2 合入 sched/core,s390 上由 Mete Durlu 测试确认正确。

lore
Bugfix重要分析 success作者:Hui Su2026/09/05 22:0015 封邮件

[PATCH v2 2/2] sched/cache: Drive cache task tick from execution context

Hui Su 提交 2/2 系列 patch,修复 proxy execution 中 donor 是 RT/DL 时 task_tick_numa/task_tick_cache 不再被调用、导致 mm scan epoch 与 account_mm_sched 错位的回归。把这两个执行上下文 tick 从 task_tick_fair() 提到 sched_tick()/sched_tick_remote(),并按 rq->curr 是否 fair 触发。讨论中 Prateek、Tim Chen、Chen Yu 进一步指出 task_tick_core() 在 proxy 下 sum_ex...

lore
Bugfix重要分析 success作者:Zhan Xusheng2026/09/05 16:501 封邮件

[PATCH v2 RESEND] sched/debug: Validate writes to the scan_size_mb debugfs knob

scan_size_mb debugfs 节点被注册成 u32,写入 0 或 2^24 的倍数会让 task_scan_min() 和 task_nr_scan_windows() 把 0 当除数,触发内核除零 oops。补丁改用 debugfs_create_file 加自定义 write,按 NUMA_SCAN_SIZE_MB_MAX 校验范围,仿照已有的 sched_scaling_fops 把 sysctl 时代丢失的下界和上界都补回来。

lore
Bugfix分析 success作者:Yury Norov2026/09/05 11:371 封邮件

[PATCH] sched/core: Make fallback CPU selection NUMA-aware

select_fallback_rq() 旧实现在多 NUMA 节点系统上会按 cpumask 编号顺序扫描,挑到的 fallback CPU 拓扑距离可能比实际更远。本 patch 改用 for_each_numa_hop_mask 按拓扑距离逐跳扩搜,并用 prev 记录已考察过的 CPU,避免重复扫描;最后再用 p->cpus_ptr \ prev 兜底,处理拓扑重建期间 hop mask 尚未就绪的窗口。

lore
Bugfix重要分析 success作者:Boqun Feng2026/09/05 05:2064 封邮件

[PATCH v4 00/17] Refcounted interrupt disable and SpinLockIrq for Rust

v4 系列把嵌套本地中断禁用改为基于 preempt_count 的引用计数,并为 Rust 增加 LocalInterruptDisabled 和 SpinLockIrq。系列同时调整 NMI 和 reschedule 位布局、增加 KUnit 测试及架构适配。patch 07 的 cleanup guard 迁移随后被 revert,后续又出现将 local_irq 操作迁入 Rust 的新提案。

lore
Bugfix重要分析 success作者:Zhan Xusheng2026/09/05 04:538 封邮件

sched/fair: which tasks should nr_pref_llc_running be compared against?

Zhan Xusheng 在 fair.c 的 alb_break_llc() 中发现 nr_pref_llc_running 与 h_nr_runnable 一个数 queued、一个数 runnable,导致等式在 DELAY_DEQUEUE 下恒假,主动负载均衡丢失 LLC 亲和性保护。Tim Chen 与 Chen Yu 推动 patch 从 account_llc_dequeue 的单点守卫扩展到 enqueue + set/clear_delayed 全路径,并最终收敛为 task_pref_llc_runnable 谓词与 pref_llc_running_inc/dec hel...

lore
Bugfix重要分析 success作者:Gregory Price2026/09/05 03:315 封邮件

[PATCH 0/2] sched/numa: stop VMA scan filters from gating promotion

Gregory Price 的 2 patch 系列针对 memory tiering 模式下 NUMA balancing 的 VMA 扫描过滤过严问题:per-VMA PID filter 和 read-only file mapping 排除让慢层 folio 永远进不了 promotion 候选,导致大型 shmem 把 hash table 全部堆到 CXL。新增 vma->numab_state->slow_only,在 tiering 模式下对被过滤 VMA 做受限扫描(只标慢层 folio),toptier 标记行为不变;实测 DRAM 带宽从 150GB/s 回到 200-2...

lore
Bugfix重要分析 success作者:Hui Su2026/09/05 01:175 封邮件

[PATCH v3 1/2] sched/numa: Drive NUMA task tick from execution context

v3 系列(2 个 patch)修复 proxy execution 场景下的回归:当 fair 任务替 RT/deadline donor 实际执行时,task_tick_numa() 与 task_tick_cache() 因被包在 task_tick_fair() 里而被漏掉,导致 cache scan epoch 过期、preferred LLC 失效。新增 sched_tick_exec_ctx() helper,统一在 sched_tick() 与 sched_tick_remote() 中按 rq->curr 触发执行上下文 tick,同时保留 misfit/overutiliz...

lore
Bugfix重要分析 success作者:Zhe Liu2026/09/04 17:2110 封邮件

[PATCH 0/2] sched/fair: Reset incompatible burst on quota change

Zhe Liu 修复 cgroup v1/v2 CPU bandwidth 中 quota 与 burst 写入顺序耦合导致的 EINVAL 问题。v1 提出在 quota 变更时把不兼容 burst 写零;Michal Koutný 评审建议改为 clamp 以保留用户配置,v2 采纳并在 CFS runtime refill 处用 min(burst, quota) 做裁剪,新增 selftest 与文档。

lore
Bugfix重要分析 success作者:Hui Su2026/09/04 14:372 封邮件

[PATCH v2] sched: Account cgroup CPU time to the execution context

v2 patch 让 update_se() 中的 cgroup_account_cputime 跟随 rq->curr 而不是 donor,修正 proxy execution 下 cgroup CPU usage 被算到 donor cgroup 的回归。改动仅 -3 +1 行,作者补全了 cgroup v2、cgroup v1 cpuacct、RT donor、sched_proxy_exec=off 对照组等多场景验证。Tejun Heo 的回复仅引用 patch 上下文,尚未给出明确 LGTM。

lore
Bugfix重要分析 success作者:Hui Su2026/09/04 14:274 封邮件

[PATCH] sched/cputime: Account cgroup fields to the scheduling context

Hui Su 试图在 proxy execution 下让 cgroup user/system 字段跟随 donor,与 aa4f74dfd42b 引入的 donor-based 用量统计保持自洽。补丁新增 rq->cputime_donor 与若干 sched_cputime_* 接口,把 account_user_time 等拆分为 per-CPU cpustat 与 cgroup 字段两条路径。Tejun Heo 指出用户空间以 execution context 为准且 cputime_adjust 会重对齐 user/sys,cgroup 应当整体跟随 execution task...

lore
Bugfix重要分析 success作者:Sebastian Andrzej Siewior2026/09/04 14:156 封邮件

[PATCH v4 0/2] futex: Address two futex-requeue-pi issues

Sebastian Andrzej Siewior 的 v4 双 patch 系列处理 FUTEX_CMP_REQUEUE_PI 路径上两个长期被忽视的问题:futex proxy 锁路径上的 sched_rt_mutex 注解错位,以及 futex_requeue_pi_complete() 在 waiter 已退出 syscall 后仍对栈上 futex_q 调用 rcuwait_wake_up() 触发的 KASAN UAF。Patch 1 引入仅翻转断言标志、不调用 sched_submit_work() 的 rt_mutex_futex_pre/post_schedule(),并把注...

lore
Bugfix重要分析 success作者:gregkh2026/09/03 22:321 封邮件

FAILED: patch "[PATCH] sched/core: Make core-sched flips wait for in-flight" failed to apply to 5.15-stable tree

Tejun Heo 修复 core-sched 中 __sched_core_flip 与 lock-dropping ->pick_task() 之间的竞态,避免共享锁语义在选任务窗口内被切换。新增 leader rq->core_pick_in_flight 计数器,flip 翻面前必须 wait drain,deactivate 时 move 而非 copy 以避免陈旧值永久偏置。本邮件是 Greg KH 的 stable 回信,提示 5.15-stable 自动回放失败,需要人工 cherry-pick。

lore
Bugfix重要分析 success作者:gregkh2026/09/03 22:321 封邮件

FAILED: patch "[PATCH] sched/core: Make core-sched flips wait for in-flight" failed to apply to 6.6-stable tree

Tejun Heo 修复 core scheduling 中 pick_next_task 与 __sched_core_flip 的并发漏洞:->pick_task() drop-lock 窗口允许 flip rebind rq_lockp(),导致 selection 在错位锁上运行并泄漏锁。补丁新增 core_pick_in_flight 计数器让 flip 等待 drain,hotplug 路径 move 计数避免偏差,标记 Fixes 5.14+。本封邮件是 6.6-stable 上的回灌失败通知,需要人工 cherry-pick。

lore
Bugfix重要分析 success作者:gregkh2026/09/03 22:321 封邮件

FAILED: patch "[PATCH] sched/core: Make core-sched flips wait for in-flight" failed to apply to 6.1-stable tree

本邮件由 stable 维护机器人 gregkh 自动生成,报告 Tejun Heo 的 core scheduling 修复在 linux-6.1.y 上无法干净 cherry-pick。该修复为 rq->core_pick_in_flight 引入计数:pick_next_task() 进入时 ++、退出时 --;__sched_core_flip() 翻转前等待计数清零;sched_core_cpu_deactivate() 用 move(而非 copy)迁移到新 leader;sched_init() 初始化为 0。原 commit f3629c63a4af 已 Acked by Pe...

lore
Bugfix重要分析 success作者:gregkh2026/09/03 22:321 封邮件

FAILED: patch "[PATCH] sched/core: Make core-sched flips wait for in-flight" failed to apply to 6.18-stable tree

补丁修复 core-sched 翻转与 ->pick_task() lock drop 之间的锁重绑竞态:在 leader rq 上记录 in-flight core-wide selection 数量,让 __sched_core_flip() 在翻转前等待 selection 排空,同时在热插拔 deactivate 时 move 而不是 copy 计数,避免 stale 副本 bias。邮件由 stable 维护者 gregkh 发出,报告该补丁无法直接 cherry-pick 到 6.18.y,需要手工合并。

lore
Bugfix重要分析 success作者:gregkh2026/09/03 22:321 封邮件

FAILED: patch "[PATCH] sched/core: Make core-sched flips wait for in-flight" failed to apply to 6.12-stable tree

Tejun Heo 修复 core scheduling 中 __sched_core_flip 与 pick_next_task 的锁竞态:当 ->pick_task() 临时释放 rq 锁时,flip 可能在选择中途 rebind rq_lockp(),导致后续选择在拆分锁下触碰不再受保护的兄弟状态,并造成锁的错误释放与泄漏。补丁在 leader rq 引入 core_pick_in_flight 计数器,让 flip 等待其归零,并在 CPU deactivate 时 move 而非 copy。本邮件是 Greg KH 通知该 patch 无法干净应用到 6.12-stable 树。

lore
Bugfix重要分析 success作者:Peter Zijlstra2026/09/03 19:1412 封邮件

[PATCH 0/7] sched: core-sched fixes and balancing

Peter Zijlstra 发出 7 patch 系列,修 core-sched 下 pick_next_task 因 pick_task 释锁被兄弟 CPU 递归进入而 NULL deref 的 bug,并抽出 opt_update_rq_clock 统一 RQCF_UPDATED 语义。配套加 task_on_core() 让 newidle 在 core-sched 下安全启用、把 balance 逻辑从 sched_class::balance() 收敛进 pick_task,整体净删约 80~120 行。Tejun 与 Aaron 在评审中分别指出 RQCF_UPDATED 应在 ...

lore
Bugfix重要分析 success作者:Hui Su2026/09/03 19:131 封邮件

[PATCH] sched/rt: Fix RT watchdog accounting for proxy execution

修复 RT watchdog 在 proxy execution 场景下把 RLIMIT_RTTIME 计时错误归属到 donor 而非真正执行任务的问题。通过在 task_tick_rt 中将 watchdog() 的参数改为 rq->curr,并在 try_to_block_task 与 __schedule 中按 proxy 阶段切换重置 rt.timeout,使 SIGXCPU 能正确送达真正占用 CPU 的任务。覆盖嵌套 proxy 链、阻塞切换、调度抢占与 donor 取消等场景,原生 RT 任务行为不变。

lore
Bugfix重要分析 success作者:Hui Su2026/09/03 10:544 封邮件

[PATCH 2/2] sched/cache: Use execution context for cache task tick

v1 系列修复 proxy execution 中 task_tick_fair() 把 curr=donor 误传给 task_tick_numa()/task_tick_cache() 的问题,改用 rq->curr 让 NUMA 扫描周期与 cache epoch 与 account_mm_sched() 记账对象一致。Reviewer Tim Chen 指出 donor 为 RT/deadline 时 task_tick_fair() 根本不被调用,tick 会全部漏掉,建议上提到 sched_tick() 并补 sched_tick_remote(),作者已确认重写为新版。

lore
Bugfix重要分析 success作者:Lu Wang2026/09/03 10:073 封邮件

[PATCH v3] sched/cache: honor migrate_llc_task semantics in active load balance

Lu Wang 指出 CAS 引入的 migrate_llc_task 在被动 LB 回退到 ALB 时会丢失,导致 can_migrate_task 把 preferred LLC 不匹配的任务也一并搬走。补丁新增 LBF_ACTIVE_LB_LLC 标志与专门的 LLC stopper 回调,在 kick 时根据 migration_type 选择 stopper,从而让 ALB 沿用“只迁往 preferred LLC”的过滤。v3 仅改写注释,v4 单纯 rebase,逻辑已通过 Tim Chen 与 Chen Yu 的 Reviewed-by。

lore
Bugfix重要分析 success作者:Hui Su2026/09/03 02:212 封邮件

[PATCH] sched/core: Call wq_worker_tick() for the execution context

修复 proxy execution 拆分后遗留的回归:sched_tick() 中的 wq_worker_tick() 应当传入实际占用 CPU 的 rq->curr(执行上下文),而不是 rq->donor(调度上下文)。错误对象会导致 kworker 的 CPU 记账缺失与 WORKER_CPU_INTENSIVE 判定延迟,间接推迟 workqueue pool 并发收缩与依赖该 worker 的内核/用户态工作。该修复已获 Tejun Heo ack,等待 Peter Zijlstra 决定通过 sched 还是 workqueue tree 合入。

lore
Bugfix重要分析 success作者:Hui Su2026/09/02 19:261 封邮件

[PATCH] sched/core: fix task_sched_runtime() for proxy execution

在 proxy execution 场景下,task_sched_runtime() 旧逻辑只对 rq->donor 刷新 pending runtime,导致被代理执行的 mutex owner(作为 rq->curr)的 CPUCLOCK_SCHED 读到 stale sum_exec_runtime。补丁把判断改为 task_current 而 update_curr 仍走 rq->donor 的 sched_class,从而修复 stale 读取问题。

lore
Bugfix重要分析 success作者:Karl Mehltretter2026/09/02 17:4820 封邮件

[PATCH v2 0/6] kcov: Suppress timer and scheduler coverage leaks

v2 系列 6 个 patch 为 KCOV 新增可嵌套的 KCOV_PAUSED 位和 guard(kcov_pause)(),在 __schedule()、try_to_wake_up()、wake_up_new_task() 与 deferred hrtimer rearm 处关闭对已插桩 callee 的覆盖记录,从而避免调度器 / 计时器路径污染 syscall 的覆盖率统计。CONFIG_KCOV_SELFTEST 暴露的失败被修复,syzkaller 的覆盖和 corpus 都有 14–19% 与 42–54% 的提升。Peter Zijlstra 认为根因应在 softirq ...

lore
Bugfix分析 success作者:Liang Hao2026/09/02 16:334 封邮件

[PATCH] sched/deadline: check start_dl_timer expiry with ktime_before()

Liang Hao 提交的 1 行 patch,将 start_dl_timer() 中的过去到期判断从 ktime_us_delta(act, now) < 0 改为 ktime_before(act, now),避免微秒截断造成的亚微秒 past-expiry 漏判。Juri Lelli 给出 Acked-by,Peter Zijlstra 已合并入 tip:sched/core,本线程无后续 vN 演进。

lore
Bugfix分析 success作者:Hongyan Xia2026/09/02 16:2010 封邮件

[PATCH RESEND] sched: Move some scheduler fields to new static branch API

把 kernel/sched 中仍使用老 static_key_* 抽象的两处静态分支(__cfs_bandwidth_used、sk_dynamic_*)统一迁移到新的 static_branch_* API,作者声明无功能变更。thread 中讨论了邮件被 MUA 编码破坏导致的 review 流程问题,以及与 Mark Rutland 既有清理系列的关系,建议 v2 补充 deprecation 上下文并验证 cpuslocked 路径。

lore
Bugfix重要分析 success作者:Wanwu Li2026/09/02 15:228 封邮件

[PATCH 0/2] sched/fair: Use cfs_rq->h_curr in the bandwidth paths

EEVDF 改为单一 runqueue 后,cfs_rq->curr 仅在根 cfs_rq 维护,但 throttle_cfs_rq() 和 distribute_cfs_runtime() 仍把它当作本层级是否有任务在跑的判断。本系列把这两处改为 cfs_rq->h_curr,使 cgroup 在配额耗尽时能正确请求整片 slice、安装延迟 throttle task_work,并恢复 distribute 路径里的 update_curr 记账。两个 patch 都已被 Peter Zijlstra 推入 sched/urgent 分支。

lore
Bugfix重要分析 success作者:Seiji Nishikawa2026/09/02 15:222 封邮件

[PATCH] sched/rt,dl: Skip migrate-disabled tasks when picking a push candidate

当 RT/DL 任务被 migrate_disable() 钉在当前 CPU 上时,旧逻辑仍把它放在 pushable 列表里、把 rq 标为 overloaded,导致其它 CPU 的 push balancer 反复尝试迁移并 fallback 到 push rq->curr,在 find_lock_lowest_rq 的 re-check 处永远失败,单次 89 ms 内可循环 5204 次并吃掉约 37 ms CPU。补丁在 pick_next_pushable_task()/pick_next_pushable_dl_task() 的条件里加入 is_migration_disabl...

lore
Bugfix重要分析 success作者:Zhan Xusheng2026/09/02 15:223 封邮件

[PATCH] sched/fair: Use update_curr_eevdf() for the remaining root cfs_rq callers

patch 把 pick_task_fair() 与 yield_task_fair() 里的 update_curr(cfs_rq) 替换为 update_curr_eevdf(cfs_rq)。原因是在带 cgroup 的 root cfs_rq 上,update_curr 走 h_curr 路径并因 entity_is_task 检查提前 return,而调用方读的是 cfs_rq->curr,导致 vruntime/deadline 在 yield、core scheduling 与 fair_server_pick 路径上从未被刷新。修改仅两行,但修复了 85570f10a4c6 EE...

lore
Bugfix重要分析 success作者:Tim Chen2026/09/02 15:226 封邮件

[PATCH] sched/fair: avoid creating misfits during cache-aware balancing

Tim Chen 在 kernel/sched/fair.c 中给 cache-aware 负载均衡加了一道容量闸门:新增 task_misfits_asym_cpu(),当目标 LLC 内只有装不下任务的 CPU 时,直接 forbid LLC 迁移或否决 alb_break_llc 主动均衡。同时在 llc_balance() 入口让 misfit 任务迁移在异构域下优先于 LLC 聚合。该 patch 仅一个文件、+45/-5 行,已被 tip/sched/urgent 以 f0d243a96f26 收掉,对称系统零影响。

lore
Bugfix重要分析 success作者:Shubhang Kaushik (Ampere)2026/09/02 15:225 封邮件

[PATCH v3] sched/core: Skip rq->avg_idle update without a valid idle_stamp

修复 commit 4b603f1551a73 把 avg_idle 统计搬到 put_prev_task_idle() 时丢掉的 idle_stamp 校验。补丁在 update_rq_avg_idle() 入口加 !idle_stamp 早退,避免 stamp=0 时把 rq_clock 当成空闲时长一次性推到 clamp,导致 newidle balancing 常开。Prateek Reviewed、John Stultz Acked,hackbench 无回归,最终经 tip:sched/urgent 由 Peter Zijlstra 合入。

lore
Bugfix重要分析 success作者:Tim Chen2026/09/02 08:043 封邮件

[PATCH 0/2] sched/cache: Fix use after free mm access in account_mm_sched()

把 sched_cache_stat 从 mm_struct 抽成独立的 refcount+RCU 对象 sched_cache_group,再让 task_struct 持有自己的引用。调度路径改读 p->sched_cache_grp,mm 被销毁后 grp 仍可由后续读者安全访问,彻底消除 account_mm_sched() / task_cache_work() 在 rq lock 下读 p->mm->sc_stat 的 UAF 窗口。两个 patch 必须配对 cherry-pick,单应用 patch 1 仍会复现 race。

lore
Bugfix重要分析 success作者:Hyunwoo Kim2026/09/02 04:499 封邮件

[PATCH] sched/cache: Fix use-after-free of the mm replaced by exec

该 patch 修复 sched/cache(cache-aware load balancing)在 execve 切换 mm 时与远端 CPU 上 account_mm_sched() 的并发 UAF。做法是在 exec_mm_put_old() 释放旧 mm 之前,对当前 task 自身的 rq 锁做一次 acquire/release,让所有还在用旧 mm 的 reader 在同一把锁下排空。讨论中 Tim Chen 提议顺带合并他把 sc_stat 与 sched_group 解耦、用 call_rcu 释放的更大系列,被 Chen Yu 认同为更彻底的长期方案。

lore
Bugfix重要分析 success作者:Hyunwoo Kim2026/09/01 05:331 封邮件

[PATCH v2] sched/cache: Fix use-after-free of the mm replaced by exec

当 execve() 同时改写 tsk->mm 与 tsk->active_mm 并释放 old_mm 时,另一颗 CPU 持 rq lock 且 preemption-disabled 的 account_mm_sched() 仍是 RCU 读侧临界区里的 reader,旧 mm 被先释放就会引发 UAF。补丁在 exec_mm_put_old() 释放前插入 synchronize_rcu() 等一个 RCU 宽限期,从而保证旧 mm 上的所有引用安全退出。这是 v2,相比 v1 改用 synchronize_rcu() 替代刷 rq lock,覆盖所有 preempt-disabled ...

lore
Bugfix重要分析 success作者:Aaron Tomlin2026/08/28 06:187 封邮件

[PATCH v9 0/6] Introduce per-CPU debugfs files

Aaron Tomlin 发布 v9 系列共 6 个补丁,修复 /sys/kernel/debug/sched/debug 中 print_dl_rq/print_cpu/sched_show_numa/print_cfs_stats 几处的 use-after-free、TOCTOU 与 RCU 遍历违例;引入 rcu_dereference_root_domain() 宏与 for_each_leaf_cfs_rq_rcu() 迭代器,并用 SCHED_DEBUG_MAX_ITER=4096 熔断防 RCU stall。最后一个补丁新增 /sys/kernel/debug/sched/cp...

lore
Bugfix重要分析 success作者:Aaron Tomlin2026/08/28 04:378 封邮件

[PATCH v8 1/6] sched: Annotate rq->rd with __rcu and update lockless readers

Aaron Tomlin v8 系列给 struct rq 的 rd 指针加上 __rcu 标注并新增 rcu_dereference_root_domain() 辅助宏,把 print_dl_rq()/print_cpu()/sched_show_numa()/print_cfs_stats() 四处锁外裸读全部纳入 RCU 或 task_lock 保护,避免 CPU 热拔出、cgroup cpuset 重划分或任务退出并发路径下的 use-after-free、TOCTOU 与 RCU CPU stall。最后一片新增 /sys/kernel/debug/sched/cpu/cpu<N>/...

lore
Bugfix重要分析 success作者:Greg Kroah-Hartman2026/08/27 20:572 封邮件

Linux 7.2.1

Greg KH 发布的 Linux 7.2.1 稳定版通告,将 SUBLEVEL 从 0 升到 1,回拢 null_blk zoned 参数校验、hci_aml 固件 size 检查、HID/NFC/IOMMU/ionic 等驱动的一批正确性修复。要求所有 7.2 用户升级。线程本身不涉及 scheduler 子系统,仅在 lore 上归入 sched 频道。

lore
Bugfix重要分析 success作者:Greg Kroah-Hartman2026/08/27 20:572 封邮件

Re: Linux 7.1.11

Greg Kroah-Hartman 发布 Linux 7.1.11 稳定版子版本,跨 Makefile、null_blk、蓝牙 hci_aml、amdgpu、i915/xe、HID 等多个子系统收集回归与正确性修复。回复中可见的 diff 包括 null_blk zoned 设备的零值校验与 hci_aml 固件长度的越界保护,并把 SUBLEVEL 从 10 升到 11。完整 patch 列表因 lore 抓取被截断,需对照 git tag v7.1.11。

lore
Bugfix重要分析 success作者:Greg Kroah-Hartman2026/08/27 20:572 封邮件

Re: Linux 6.18.47

Greg KH 发布 6.18.47 stable 点版本,要求所有 6.18 用户升级。修复覆盖 null_blk 在 zone_size 异常时的除零风险、hci_aml 蓝牙驱动固件 size 校验缺失,以及 HID/NVMe/IOMMU/NFC/net 等多个子系统的回归修复。

lore
Bugfix重要分析 success作者:Aaron Tomlin2026/08/27 18:5014 封邮件

[PATCH v7 0/6] Introduce per-CPU debugfs files

Aaron Tomlin v7 系列共 6 个 patch:给 rq->rd 加 __rcu 注释,修补 print_dl_rq、print_cpu、sched_show_numa、print_cfs_stats 四处 RCU/UAF/TOCTOU 风险,并新增 /sys/kernel/debug/sched/cpu/cpu<N>/debug 的 per-CPU 调试入口。v7 重点统一了 rq->rd 的 lock-held/lockless reader 语义并扩展 changelog。Peter Zijlstra 与作者正在讨论是否新增 rcu_dereference_root_doma...

lore
Bugfix重要分析 success作者:Hui Su2026/08/27 18:234 封邮件

[PATCH] sched/deadline: Fix DL server initialization for initially offline CPUs

commit 9f239df55546 把 DL server 初始化移到 sched_init_smp() 并只遍历 online CPU,导致 maxcpus= 启动时保持 offline 的 CPU 在 hotplug 上线后 fair_server 的 runtime/period 仍为 0,fair server 无法激活、CFS 任务可能被高优先级任务饿死。补丁改用 for_each_possible_cpu(),对 offline CPU 只写入静态 runtime/period 和本地 rq 带宽,跳过 update_rq_clock()、setup_new_dl_entity...

lore
Bugfix分析 success作者:Hui Su2026/08/27 18:173 封邮件

[PATCH] sched/deadline: Fix DL server divide-by-zero for inactive CPUs

Hui Su 提交单封补丁修复一个 CPU hot-unplug 期间的竞态:在 cpu_active_mask 被清除而 cpu_online_mask 仍未清除的窗口里,debugfs 写 fair_server 参数会进入 __dl_sub/__dl_add 并以 dl_bw_cpus() 返回的 0 做除数,触发 #DE。修复在 debugfs 入口与 dl_server_apply_params() 内部都改用 cpu_active() 判定,Juri Lelli 给出 Acked-by,作者随后向 Peter/Ingo 发起 ping。

lore
Bugfix重要分析 success作者:Hui Su2026/08/27 18:001 封邮件

[PATCH] sched/numa: Fix time unit mismatch in scan staggering

init_numa_balancing() 把 task_scan_max()(毫秒)和 numa_scan_period*mm_users*NSEC_PER_MSEC(纳秒)丢进同一个 min_t(),并使用 unsigned int,导致共享同一 mm 的多线程 NUMA scan stagger 实际只有约 2 ms。patch 改为先在毫秒域用 u64 比较,最后统一换算成纳秒写回 node_stamp,使新线程的 NUMA scan 真正错开。

lore
Bugfix分析 success作者:Hui Su2026/08/27 16:031 封邮件

[PATCH] sched/core: Fix overflow in resched latency warning threshold

本 patch 把 sysctl_resched_latency_warn_ms 整条链路统一为 unsigned int 与 u64,修复 32 位内核上 latency_warn_ms * NSEC_PER_MSEC 的有符号溢出,避免 2147 ms 以上时 warning 阈值计算错误。debugfs 与 boot 参数解析也同步换成无符号版本,仅影响 warning 诊断,不改变调度行为。

lore
Bugfix重要分析 success作者:Shubhang Kaushik (Ampere)2026/08/26 12:003 封邮件

[PATCH] sched/fair: Restart hrtick after same-task repicks

补丁针对 fair hrtick one-shot 在 hrtick 到期引发 reschedule 后,pick_task_fair 又选中当前任务、命中 next == prev 时跳过 set_next_task_fair() 的窗口,通过在 task_tick_fair 中标记 rq->hrtick_rearm_fair,并在 put_prev_set_next_task 的 fast path 重新调 hrtick_start_fair() 修复漏启动。micro-bench 显示 8ms+ runtime 区间从 228 降到 34-38,但 reviewer Zhan Xushe...

lore
Bugfix重要分析 success作者:Aaron Tomlin2026/08/26 05:488 封邮件

[PATCH v6 0/6] sched/debug: Introduce per-CPU debugfs files

Aaron Tomlin v6 系列同时引入 /sys/kernel/debug/sched/cpu/cpu<N>/debug 每 CPU debugfs 接口与 RCU 内存安全修复。Patch 1 给 rq->rd 加 __rcu 注解并更新所有 lockless reader;Patch 2-3 用 rcu_assign_pointer/rcu_dereference/guard(rcu) 修复 print_dl_rq() 与 print_cpu() 的 UAF;Patch 4 用 task_lock 修复 sched_show_numa() 的 TOCTOU;Patch 5 引入 fo...

lore
每页
上一页1 / 2下一页