)]}'
{
  "commit": "b2ea70afade7080360ac55c4e64ff7a5fafdb67b",
  "tree": "f21ce547ac472abeb075341d9d64f841ab979ba2",
  "parents": [
    "67114fe6103183190fb0a24f58e5695a80beb2ec"
  ],
  "author": {
    "name": "Sasha Levin",
    "email": "levinsasha928@gmail.com",
    "time": "Fri Nov 18 12:14:49 2011 +0200"
  },
  "committer": {
    "name": "J. Bruce Fields",
    "email": "bfields@redhat.com",
    "time": "Tue Dec 06 16:18:37 2011 -0500"
  },
  "message": "nfsd: Fix oops when parsing a 0 length export\n\nexpkey_parse() oopses when handling a 0 length export. This is easily\ntriggerable from usermode by writing 0 bytes into\n\u0027/proc/[proc id]/net/rpc/nfsd.fh/channel\u0027.\n\nBelow is the log:\n\n[ 1402.286893] BUG: unable to handle kernel paging request at ffff880077c49fff\n[ 1402.287632] IP: [\u003cffffffff812b4b99\u003e] expkey_parse+0x28/0x2e1\n[ 1402.287632] PGD 2206063 PUD 1fdfd067 PMD 1ffbc067 PTE 8000000077c49160\n[ 1402.287632] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC\n[ 1402.287632] CPU 1\n[ 1402.287632] Pid: 20198, comm: trinity Not tainted 3.2.0-rc2-sasha-00058-gc65cd37 #6\n[ 1402.287632] RIP: 0010:[\u003cffffffff812b4b99\u003e]  [\u003cffffffff812b4b99\u003e] expkey_parse+0x28/0x2e1\n[ 1402.287632] RSP: 0018:ffff880077f0fd68  EFLAGS: 00010292\n[ 1402.287632] RAX: ffff880077c49fff RBX: 00000000ffffffea RCX: 0000000001043400\n[ 1402.287632] RDX: 0000000000000000 RSI: ffff880077c4a000 RDI: ffffffff82283de0\n[ 1402.287632] RBP: ffff880077f0fe18 R08: 0000000000000001 R09: ffff880000000000\n[ 1402.287632] R10: 0000000000000000 R11: 0000000000000001 R12: ffff880077c4a000\n[ 1402.287632] R13: ffffffff82283de0 R14: 0000000001043400 R15: ffffffff82283de0\n[ 1402.287632] FS:  00007f25fec3f700(0000) GS:ffff88007d400000(0000) knlGS:0000000000000000\n[ 1402.287632] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[ 1402.287632] CR2: ffff880077c49fff CR3: 0000000077e1d000 CR4: 00000000000406e0\n[ 1402.287632] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[ 1402.287632] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[ 1402.287632] Process trinity (pid: 20198, threadinfo ffff880077f0e000, task ffff880077db17b0)\n[ 1402.287632] Stack:\n[ 1402.287632]  ffff880077db17b0 ffff880077c4a000 ffff880077f0fdb8 ffffffff810b411e\n[ 1402.287632]  ffff880000000000 ffff880077db17b0 ffff880077c4a000 ffffffff82283de0\n[ 1402.287632]  0000000001043400 ffffffff82283de0 ffff880077f0fde8 ffffffff81111f63\n[ 1402.287632] Call Trace:\n[ 1402.287632]  [\u003cffffffff810b411e\u003e] ? lock_release+0x1af/0x1bc\n[ 1402.287632]  [\u003cffffffff81111f63\u003e] ? might_fault+0x97/0x9e\n[ 1402.287632]  [\u003cffffffff81111f1a\u003e] ? might_fault+0x4e/0x9e\n[ 1402.287632]  [\u003cffffffff81a8bcf2\u003e] cache_do_downcall+0x3e/0x4f\n[ 1402.287632]  [\u003cffffffff81a8c950\u003e] cache_write.clone.16+0xbb/0x130\n[ 1402.287632]  [\u003cffffffff81a8c9df\u003e] ? cache_write_pipefs+0x1a/0x1a\n[ 1402.287632]  [\u003cffffffff81a8c9f8\u003e] cache_write_procfs+0x19/0x1b\n[ 1402.287632]  [\u003cffffffff8118dc54\u003e] proc_reg_write+0x8e/0xad\n[ 1402.287632]  [\u003cffffffff8113fe81\u003e] vfs_write+0xaa/0xfd\n[ 1402.287632]  [\u003cffffffff8114142d\u003e] ? fget_light+0x35/0x9e\n[ 1402.287632]  [\u003cffffffff8113ff8b\u003e] sys_write+0x48/0x6f\n[ 1402.287632]  [\u003cffffffff81bbdb92\u003e] system_call_fastpath+0x16/0x1b\n[ 1402.287632] Code: c0 c9 c3 55 48 63 d2 48 89 e5 48 8d 44 32 ff 41 57 41 56 41 55 41 54 53 bb ea ff ff ff 48 81 ec 88 00 00 00 48 89 b5 58 ff ff ff\n[ 1402.287632]  38 0a 0f 85 89 02 00 00 c6 00 00 48 8b 3d 44 4a e5 01 48 85\n[ 1402.287632] RIP  [\u003cffffffff812b4b99\u003e] expkey_parse+0x28/0x2e1\n[ 1402.287632]  RSP \u003cffff880077f0fd68\u003e\n[ 1402.287632] CR2: ffff880077c49fff\n[ 1402.287632] ---[ end trace 368ef53ff773a5e3 ]---\n\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: linux-nfs@vger.kernel.org\nCc: stable@kernel.org\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "62f3b9074e8490897af08811ec184cacc9ad554b",
      "old_mode": 33188,
      "old_path": "fs/nfsd/export.c",
      "new_id": "5f312abf124786c44ab60b96556e12a552c2460e",
      "new_mode": 33188,
      "new_path": "fs/nfsd/export.c"
    }
  ]
}
