)]}'
{
  "commit": "f355559cf78455ed6be103b020e4b800230c64eb",
  "tree": "0de116766d38975f75178e299031d55967eaa9d7",
  "parents": [
    "3a150e1da8bc4e840d5a09fc089052011b5b6503"
  ],
  "author": {
    "name": "Jeff Dike",
    "email": "jdike@addtoit.com",
    "time": "Sat Feb 10 01:44:29 2007 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Sun Feb 11 10:51:24 2007 -0800"
  },
  "message": "[PATCH] uml: x86_64 thread fixes\n\nx86_64 needs some TLS fixes.  What was missing was remembering the child\nthread id during clone and stuffing it into the child during each context\nswitch.\n\nThe %fs value is stored separately in the thread structure since the host\ncontrols what effect it has on the actual register file.  The host also needs\nto store it in its own thread struct, so we need the value kept outside the\nregister file.\n\narch_prctl_skas was fixed to call PTRACE_ARCH_PRCTL appropriately.  There is\nsome saving and restoring of registers in the ARCH_SET_* cases so that the\ncorrect set of registers are changed on the host and restored to the process\nwhen it runs again.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8f602667296d7b4eca716f2bdfd4337140d1f9b2",
      "old_mode": 33188,
      "old_path": "arch/um/include/os.h",
      "new_id": "8629bd1914925aba5d78f4348221c796fc323920",
      "new_mode": 33188,
      "new_path": "arch/um/include/os.h"
    },
    {
      "type": "modify",
      "old_id": "f67842a7735b80b09b6a7f1fbb13a1f98861a630",
      "old_mode": 33188,
      "old_path": "arch/um/os-Linux/sys-x86_64/Makefile",
      "new_id": "7955e061a678aaf3d7f29143b3a6ed65257ad391",
      "new_mode": 33188,
      "new_path": "arch/um/os-Linux/sys-x86_64/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9d34eddb517fdca9f3495588d4d1d32e62ceecc1",
      "new_mode": 33188,
      "new_path": "arch/um/os-Linux/sys-x86_64/prctl.c"
    },
    {
      "type": "modify",
      "old_id": "73ce4463f70c6f96b2cd94f000b69df5a0da95ff",
      "old_mode": 33188,
      "old_path": "arch/um/sys-x86_64/syscalls.c",
      "new_id": "f309fa9bc23225ce43d4ce2bcb69dc3d48f75da9",
      "new_mode": 33188,
      "new_path": "arch/um/sys-x86_64/syscalls.c"
    },
    {
      "type": "modify",
      "old_id": "ce1bf1b81c431dcb859db4f25410a2758c226f19",
      "old_mode": 33188,
      "old_path": "arch/um/sys-x86_64/tls.c",
      "new_id": "febbc94be25fd423c890ac8f11d1859ca919217a",
      "new_mode": 33188,
      "new_path": "arch/um/sys-x86_64/tls.c"
    },
    {
      "type": "modify",
      "old_id": "10609af376c0339af5f22bafe48c918a2103a34f",
      "old_mode": 33188,
      "old_path": "include/asm-um/processor-x86_64.h",
      "new_id": "31c2d4d685bd7692677db195bb4738642dea8459",
      "new_mode": 33188,
      "new_path": "include/asm-um/processor-x86_64.h"
    },
    {
      "type": "modify",
      "old_id": "03b4af4ac09a3c82509e93dc835ee84bb7f7d111",
      "old_mode": 33188,
      "old_path": "include/asm-um/ptrace-x86_64.h",
      "new_id": "a927450ce4011c460b115b57357801fbb9f6201f",
      "new_mode": 33188,
      "new_path": "include/asm-um/ptrace-x86_64.h"
    }
  ]
}
