)]}'
{
  "commit": "9d78edeaec759f997c303f286ecd39daee166f2a",
  "tree": "2325279bb24196709e59a506cbf4f346c1e69a2b",
  "parents": [
    "2dd8083f6d8acd1371ccabedef1c9f1ad272a90d"
  ],
  "author": {
    "name": "Alexey Gladkov",
    "email": "gladkov.alexey@gmail.com",
    "time": "Mon May 18 20:07:38 2020 +0200"
  },
  "committer": {
    "name": "Eric W. Biederman",
    "email": "ebiederm@xmission.com",
    "time": "Tue May 19 07:07:50 2020 -0500"
  },
  "message": "proc: proc_pid_ns takes super_block as an argument\n\nsyzbot found that\n\n  touch /proc/testfile\n\ncauses NULL pointer dereference at tomoyo_get_local_path()\nbecause inode of the dentry is NULL.\n\nBefore c59f415a7cb6, Tomoyo received pid_ns from proc\u0027s s_fs_info\ndirectly. Since proc_pid_ns() can only work with inode, using it in\nthe tomoyo_get_local_path() was wrong.\n\nTo avoid creating more functions for getting proc_ns, change the\nargument type of the proc_pid_ns() function. Then, Tomoyo can use\nthe existing super_block to get pid_ns.\n\nLink: https://lkml.kernel.org/r/0000000000002f0c7505a5b0e04c@google.com\nLink: https://lkml.kernel.org/r/20200518180738.2939611-1-gladkov.alexey@gmail.com\nReported-by: syzbot+c1af344512918c61362c@syzkaller.appspotmail.com\nFixes: c59f415a7cb6 (\"Use proc_pid_ns() to get pid_namespace from the proc superblock\")\nSigned-off-by: Alexey Gladkov \u003cgladkov.alexey@gmail.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "399c5dbb72c4ea85265b0fe4c3c12f44e8b13659",
      "old_mode": 33188,
      "old_path": "fs/locks.c",
      "new_id": "ab702d6efb55a4393f6188e36af93c64c6024de4",
      "new_mode": 33188,
      "new_path": "fs/locks.c"
    },
    {
      "type": "modify",
      "old_id": "8e16f14bb05af7eb9b0e0f31eaa8165b622560d9",
      "old_mode": 33188,
      "old_path": "fs/proc/array.c",
      "new_id": "043311014db25020c18095472f8fd876cc578ba2",
      "new_mode": 33188,
      "new_path": "fs/proc/array.c"
    },
    {
      "type": "modify",
      "old_id": "5a307b3bb2d19a1350a07476f9ed086ab24e877a",
      "old_mode": 33188,
      "old_path": "fs/proc/base.c",
      "new_id": "30c9fceca0b7b71402838d66b998bae02dbbd94b",
      "new_mode": 33188,
      "new_path": "fs/proc/base.c"
    },
    {
      "type": "modify",
      "old_id": "309301ac013659ab2db29a70a216a85b8c4f51e7",
      "old_mode": 33188,
      "old_path": "fs/proc/self.c",
      "new_id": "ca5158fa561c0d6fc20fe048073d61547725da0f",
      "new_mode": 33188,
      "new_path": "fs/proc/self.c"
    },
    {
      "type": "modify",
      "old_id": "2493cbbdfa6fd24f776c20584507b8d838d9a18e",
      "old_mode": 33188,
      "old_path": "fs/proc/thread_self.c",
      "new_id": "ac284f409568ceb2b8f8f0559ccf55db4bad7d3b",
      "new_mode": 33188,
      "new_path": "fs/proc/thread_self.c"
    },
    {
      "type": "modify",
      "old_id": "2cb424e6f36ac4ec3556529e7d69b81bcf3de0d3",
      "old_mode": 33188,
      "old_path": "include/linux/proc_fs.h",
      "new_id": "6ec524d8842c2e08df935174468a243290742560",
      "new_mode": 33188,
      "new_path": "include/linux/proc_fs.h"
    },
    {
      "type": "modify",
      "old_id": "4385f3d639f23c2347d31061ede5081cc51616cf",
      "old_mode": 33188,
      "old_path": "kernel/fork.c",
      "new_id": "e7bdaccad942a6fa8956394cbb6d27f8a8bde98f",
      "new_mode": 33188,
      "new_path": "kernel/fork.c"
    },
    {
      "type": "modify",
      "old_id": "d64b83e856428195c1ecc963a263155c8b4528d0",
      "old_mode": 33188,
      "old_path": "net/ipv6/ip6_flowlabel.c",
      "new_id": "ce4fbba4acce7e4bcca514ecd23646e4d3f2a927",
      "new_mode": 33188,
      "new_path": "net/ipv6/ip6_flowlabel.c"
    },
    {
      "type": "modify",
      "old_id": "08b096e2f7e3c4caadab3b2b2a0d5c2ad3825a5a",
      "old_mode": 33188,
      "old_path": "security/tomoyo/realpath.c",
      "new_id": "df479898041657a618a5bd86f2ed579ff82adda7",
      "new_mode": 33188,
      "new_path": "security/tomoyo/realpath.c"
    }
  ]
}
