)]}'
{
  "commit": "2bec5a369ee79576a3eea2c23863325089785a2c",
  "tree": "7a9fd4bce3ece4636b50de6579f95b5bae54264c",
  "parents": [
    "69a6a0b38a139ccceef32222108caca8a9b0b795"
  ],
  "author": {
    "name": "Patrick McHardy",
    "email": "kaber@trash.net",
    "time": "Mon Feb 08 05:19:03 2010 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Fri Feb 12 12:06:35 2010 -0800"
  },
  "message": "ipv6: fib: fix crash when changing large fib while dumping it\n\nWhen the fib size exceeds what can be dumped in a single skb, the\ndump is suspended and resumed once the last skb has been received\nby userspace. When the fib is changed while the dump is suspended,\nthe walker might contain stale pointers, causing a crash when the\ndump is resumed.\n\nBUG: unable to handle kernel NULL pointer dereference at 0000000000000018\nIP: [\u003cffffffffa01bce04\u003e] fib6_walk_continue+0xbb/0x124 [ipv6]\nPGD 5347a067 PUD 65c7067 PMD 0\nOops: 0000 [#1] PREEMPT SMP\n...\nRIP: 0010:[\u003cffffffffa01bce04\u003e]\n[\u003cffffffffa01bce04\u003e] fib6_walk_continue+0xbb/0x124 [ipv6]\n...\nCall Trace:\n [\u003cffffffff8104aca3\u003e] ? mutex_spin_on_owner+0x59/0x71\n [\u003cffffffffa01bd105\u003e] inet6_dump_fib+0x11b/0x1b9 [ipv6]\n [\u003cffffffff81371af4\u003e] netlink_dump+0x5b/0x19e\n [\u003cffffffff8134f288\u003e] ? consume_skb+0x28/0x2a\n [\u003cffffffff81373b69\u003e] netlink_recvmsg+0x1ab/0x2c6\n [\u003cffffffff81372781\u003e] ? netlink_unicast+0xfa/0x151\n [\u003cffffffff813483e0\u003e] __sock_recvmsg+0x6d/0x79\n [\u003cffffffff81348a53\u003e] sock_recvmsg+0xca/0xe3\n [\u003cffffffff81066d4b\u003e] ? autoremove_wake_function+0x0/0x38\n [\u003cffffffff811ed1f8\u003e] ? radix_tree_lookup_slot+0xe/0x10\n [\u003cffffffff810b3ed7\u003e] ? find_get_page+0x90/0xa5\n [\u003cffffffff810b5dc5\u003e] ? filemap_fault+0x201/0x34f\n [\u003cffffffff810ef152\u003e] ? fget_light+0x2f/0xac\n [\u003cffffffff813519e7\u003e] ? verify_iovec+0x4f/0x94\n [\u003cffffffff81349a65\u003e] sys_recvmsg+0x14d/0x223\n\nStore the serial number when beginning to walk the fib and reload\npointers when continuing to walk after a change occured. Similar\nto other dumping functions, this might cause unrelated entries to\nbe missed when entries are deleted.\n\nTested-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "257808188add82c22d275e0fd3139c128e8ec4eb",
      "old_mode": 33188,
      "old_path": "include/net/ip6_fib.h",
      "new_id": "8f279ddb359398a9c5ed44a6f64a179c34abedf6",
      "new_mode": 33188,
      "new_path": "include/net/ip6_fib.h"
    },
    {
      "type": "modify",
      "old_id": "f626ea2b304f7fcf8d4f630252e51df2656ec54e",
      "old_mode": 33188,
      "old_path": "net/ipv6/ip6_fib.c",
      "new_id": "77e122f53ea667a5def263270c48333285eb268e",
      "new_mode": 33188,
      "new_path": "net/ipv6/ip6_fib.c"
    }
  ]
}
