)]}'
{
  "commit": "d6d08e99fbe8509ebf6b46ba14eb653a81f57d43",
  "tree": "a243ad6a8b9d04dfe33e585599a7d0952524a3e0",
  "parents": [
    "ce898174173fcb249741415c628527f7726e1f7e"
  ],
  "author": {
    "name": "Chen Ridong",
    "email": "chenridong@huawei.com",
    "time": "Tue Dec 24 02:52:38 2024 +0000"
  },
  "committer": {
    "name": "Kevin Berry",
    "email": "kpberry@google.com",
    "time": "Mon Mar 24 11:20:46 2025 -0700"
  },
  "message": "memcg: fix soft lockup in the OOM process\n\n[ Upstream commit ade81479c7dda1ce3eedb215c78bc615bbd04f06 ]\n\nA soft lockup issue was found in the product with about 56,000 tasks were\nin the OOM cgroup, it was traversing them when the soft lockup was\ntriggered.\n\nwatchdog: BUG: soft lockup - CPU#2 stuck for 23s! [VM Thread:1503066]\nCPU: 2 PID: 1503066 Comm: VM Thread Kdump: loaded Tainted: G\nHardware name: Huawei Cloud OpenStack Nova, BIOS\nRIP: 0010:console_unlock+0x343/0x540\nRSP: 0000:ffffb751447db9a0 EFLAGS: 00000247 ORIG_RAX: ffffffffffffff13\nRAX: 0000000000000001 RBX: 0000000000000000 RCX: 00000000ffffffff\nRDX: 0000000000000000 RSI: 0000000000000004 RDI: 0000000000000247\nRBP: ffffffffafc71f90 R08: 0000000000000000 R09: 0000000000000040\nR10: 0000000000000080 R11: 0000000000000000 R12: ffffffffafc74bd0\nR13: ffffffffaf60a220 R14: 0000000000000247 R15: 0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nCR2: 00007f2fe6ad91f0 CR3: 00000004b2076003 CR4: 0000000000360ee0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\nCall Trace:\n vprintk_emit+0x193/0x280\n printk+0x52/0x6e\n dump_task+0x114/0x130\n mem_cgroup_scan_tasks+0x76/0x100\n dump_header+0x1fe/0x210\n oom_kill_process+0xd1/0x100\n out_of_memory+0x125/0x570\n mem_cgroup_out_of_memory+0xb5/0xd0\n try_charge+0x720/0x770\n mem_cgroup_try_charge+0x86/0x180\n mem_cgroup_try_charge_delay+0x1c/0x40\n do_anonymous_page+0xb5/0x390\n handle_mm_fault+0xc4/0x1f0\n\nThis is because thousands of processes are in the OOM cgroup, it takes a\nlong time to traverse all of them.  As a result, this lead to soft lockup\nin the OOM process.\n\nTo fix this issue, call \u0027cond_resched\u0027 in the \u0027mem_cgroup_scan_tasks\u0027\nfunction per 1000 iterations.  For global OOM, call\n\u0027touch_softlockup_watchdog\u0027 per 1000 iterations to avoid this issue.\n\nBUG\u003db/401711846\nTEST\u003dpresubmit\nRELEASE_NOTE\u003dFixed CVE-2024-57977 in the Linux kernel.\n\ncos-patch: security-moderate\nLink: https://lkml.kernel.org/r/20241224025238.3768787-1-chenridong@huaweicloud.com\nFixes: 9cbb78bb3143 (\"mm, memcg: introduce own oom handler to iterate only over its own threads\")\nSigned-off-by: Chen Ridong \u003cchenridong@huawei.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.com\u003e\nCc: Roman Gushchin \u003croman.gushchin@linux.dev\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Shakeel Butt \u003cshakeelb@google.com\u003e\nCc: Muchun Song \u003csongmuchun@bytedance.com\u003e\nCc: Michal Koutný \u003cmkoutny@suse.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Sasha Levin \u003csashal@kernel.org\u003e\nChange-Id: If1db193b734fcf4cf5930525f43a7b9312b13f91\nReviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/96661\nTested-by: Cusky Presubmit Bot \u003cpresubmit@cos-infra-prod.iam.gserviceaccount.com\u003e\nReviewed-by: Michael Kochera \u003ckochera@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "26ffe819bb7ec02e4780226518a036da0ccb1a12",
      "old_mode": 33188,
      "old_path": "mm/memcontrol.c",
      "new_id": "d259decae883e6fb507a5dd388dc18321d408373",
      "new_mode": 33188,
      "new_path": "mm/memcontrol.c"
    },
    {
      "type": "modify",
      "old_id": "22b99f835c8c4f8adda752ad27aa299071b0d328",
      "old_mode": 33188,
      "old_path": "mm/oom_kill.c",
      "new_id": "17a2ef9f93d3d3cf14260087f2faf98a6ee6b264",
      "new_mode": 33188,
      "new_path": "mm/oom_kill.c"
    }
  ]
}
