)]}'
{
  "commit": "1a02e9fd362e9a5290d4e1775e1b9106d5e896b7",
  "tree": "c325ad61863ee01f2824a66e2c3f9d08d2c77558",
  "parents": [
    "1da739feb31b4fecae465ebf87ba44a97e44101b"
  ],
  "author": {
    "name": "Gaosheng Cui",
    "email": "cuigaosheng1@huawei.com",
    "time": "Tue Jul 14 17:17:08 2026 +0800"
  },
  "committer": {
    "name": "Mimi Zohar",
    "email": "zohar@linux.ibm.com",
    "time": "Tue Jul 14 11:29:06 2026 -0400"
  },
  "message": "ima: add cond_resched() in ima_calc_file_hash_tfm loop\n\nWhen hashing large files, the while loop in ima_calc_file_hash_tfm\nprocesses PAGE_SIZE chunks without any scheduling point, which can\ncause soft lockup warnings:\nwatchdog: BUG: soft lockup - CPU#0 stuck for 50s!\nCall Trace:\n  _sha256_update+0x12d/0x1a0\n  ima_calc_file_hash_tfm+0xfb/0x150\n  ima_calc_file_hash+0x6e/0x160\n  ima_collect_measurement+0x202/0x340\n  process_measurement+0x3a9/0xb30\n  ima_file_check+0x56/0xa0\n  do_open+0x11b/0x250\n  path_openat+0x10b/0x1d0\n  do_filp_open+0xa9/0x150\n  do_sys_openat2+0x223/0x2a0\n  __x64_sys_openat+0x54/0xa0\n  do_syscall_64+0x59/0x110\n  entry_SYSCALL_64_after_hwframe+0x78/0xe2\n\nCall cond_resched() every 4MB to yield the CPU when needed, rather\nthan at every loop iteration, to reduce overhead.\n\nFixes: 3323eec921ef (\"integrity: IMA as an integrity service provider\")\nSigned-off-by: Gaosheng Cui \u003ccuigaosheng1@huawei.com\u003e\nReviewed-by: Roberto Sassu \u003croberto.sassu@huawei.com\u003e\nSigned-off-by: Mimi Zohar \u003czohar@linux.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0d72b48249ee6341ab33db692d4e678c291716cf",
      "old_mode": 33188,
      "old_path": "security/integrity/ima/ima_crypto.c",
      "new_id": "aab2349c0c33dc320292ddbe350034f1a542da0f",
      "new_mode": 33188,
      "new_path": "security/integrity/ima/ima_crypto.c"
    }
  ]
}
