)]}'
{
  "commit": "9bbafce2eec190ef7e44b0eb1095ba17ce6ad3af",
  "tree": "8deae79efc43d39763bdba8ca9b670e6a1782859",
  "parents": [
    "05dda977f2574c3341abef9b74c27d2b362e1e3a"
  ],
  "author": {
    "name": "Paul Mundt",
    "email": "lethal@linux-sh.org",
    "time": "Wed Mar 26 19:02:47 2008 +0900"
  },
  "committer": {
    "name": "Paul Mundt",
    "email": "lethal@linux-sh.org",
    "time": "Wed Mar 26 19:02:47 2008 +0900"
  },
  "message": "sh: Fix occasional FPU register corruption under preempt.\n\nPresently with preempt enabled there\u0027s the possibility to be preempted\nafter the TIF_USEDFPU test and the register save, leading to bogus\nstate post-__switch_to(). Use an explicit preempt_disable()/enable()\npair around unlazy_fpu()/clear_fpu() to avoid this. Follows the x86\nchange.\n\nReported-by: Takuo Koguchi \u003ctakuo.koguchi.sw@hitachi.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ff99562456fbe50f80308f479c960d617fb662bb",
      "old_mode": 33188,
      "old_path": "arch/sh/kernel/cpu/sh2a/fpu.c",
      "new_id": "5627c0b3ffa82e2c9496fec63eeeb2861eade897",
      "new_mode": 33188,
      "new_path": "arch/sh/kernel/cpu/sh2a/fpu.c"
    },
    {
      "type": "modify",
      "old_id": "817f9939cda69242bd88032ffb6e18dd8262d2eb",
      "old_mode": 33188,
      "old_path": "arch/sh/kernel/cpu/sh4/fpu.c",
      "new_id": "8020796139f17ef45a7f860cacea8ac24018f6da",
      "new_mode": 33188,
      "new_path": "arch/sh/kernel/cpu/sh4/fpu.c"
    },
    {
      "type": "modify",
      "old_id": "30b76a94abf2aedaf326fcc8ffd8d19746f227a9",
      "old_mode": 33188,
      "old_path": "arch/sh/kernel/cpu/sh5/fpu.c",
      "new_id": "dd4f51ffb50ea81f9af6f0931d27f050a55a1498",
      "new_mode": 33188,
      "new_path": "arch/sh/kernel/cpu/sh5/fpu.c"
    },
    {
      "type": "modify",
      "old_id": "4a8a4083ff0b6a75ed166f454c5a1d3513819e09",
      "old_mode": 33188,
      "old_path": "arch/sh/kernel/dump_task.c",
      "new_id": "1db7ce0f25d4a9c5089e6011984c3eba05356e16",
      "new_mode": 33188,
      "new_path": "arch/sh/kernel/dump_task.c"
    },
    {
      "type": "modify",
      "old_id": "9ab1926b9d10c34e14fd24efb385f046990ee5aa",
      "old_mode": 33188,
      "old_path": "arch/sh/kernel/process_32.c",
      "new_id": "b98e37a1f54c05229c18eb4d865ff0e6e0e26437",
      "new_mode": 33188,
      "new_path": "arch/sh/kernel/process_32.c"
    },
    {
      "type": "modify",
      "old_id": "f6b5fbfe75c459acde8d76f310462bd8282f141c",
      "old_mode": 33188,
      "old_path": "arch/sh/kernel/signal_32.c",
      "new_id": "f311551d9a05b253fccd2b2d2ac0b8a78418bd6f",
      "new_mode": 33188,
      "new_path": "arch/sh/kernel/signal_32.c"
    },
    {
      "type": "modify",
      "old_id": "f8429880a27011cab16851b2f83fad36fe3623f3",
      "old_mode": 33188,
      "old_path": "include/asm-sh/fpu.h",
      "new_id": "f89abf5920d808dbe545296b4b6b714c27e2ba5f",
      "new_mode": 33188,
      "new_path": "include/asm-sh/fpu.h"
    },
    {
      "type": "modify",
      "old_id": "19fe47c1ca172adebdc1b2de45e3902f6352649a",
      "old_mode": 33188,
      "old_path": "include/asm-sh/processor.h",
      "new_id": "ec707b98e5b91a88e9e21a6aa076490ae1ba6987",
      "new_mode": 33188,
      "new_path": "include/asm-sh/processor.h"
    },
    {
      "type": "modify",
      "old_id": "df2d5b039ef41ad5bfdf5bd0e99436461a49bb28",
      "old_mode": 33188,
      "old_path": "include/asm-sh/processor_32.h",
      "new_id": "c09305d6a9d94b2ceabbcf5f8984ceb0fc06af93",
      "new_mode": 33188,
      "new_path": "include/asm-sh/processor_32.h"
    },
    {
      "type": "modify",
      "old_id": "eda4bef448e9f867f70c23a31b9eaa2d5be2a8e4",
      "old_mode": 33188,
      "old_path": "include/asm-sh/processor_64.h",
      "new_id": "88a2edf8fa5d000e1070443b736b0accfb3e77b7",
      "new_mode": 33188,
      "new_path": "include/asm-sh/processor_64.h"
    }
  ]
}
