)]}'
{
  "commit": "18dbc337af5d6efd30cb9291e74722c8ad134fd3",
  "tree": "10163d19960173d29deb7a9d931dfcdfe2188975",
  "parents": [
    "472678ebd30d87cbe8d97562dcc0e46d1076040f"
  ],
  "author": {
    "name": "Dave Peterson",
    "email": "dsp@llnl.gov",
    "time": "Sun Mar 26 01:38:50 2006 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Sun Mar 26 08:57:07 2006 -0800"
  },
  "message": "[PATCH] EDAC: protect memory controller list\n\n- Fix code so we always hold mem_ctls_mutex while we are stepping\n  through the list of mem_ctl_info structures.  Otherwise bad things\n  may happen if one task is stepping through the list while another\n  task is modifying it.  We may eventually want to use reference\n  counting to manage the mem_ctl_info structures.  In the meantime we\n  may as well fix this bug.\n\n- Don\u0027t disable interrupts while we are walking the list of\n  mem_ctl_info structures in check_mc_devices().  This is unnecessary.\n\nSigned-off-by: David S. Peterson \u003cdsp@llnl.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "821c252d414cb8c18c566a51a99d1c724cf0524b",
      "old_mode": 33188,
      "old_path": "drivers/edac/amd76x_edac.c",
      "new_id": "87bd8b4d561ff240bc25860945f127690dfeebfc",
      "new_mode": 33188,
      "new_path": "drivers/edac/amd76x_edac.c"
    },
    {
      "type": "modify",
      "old_id": "24446542d8d61970a87463574aa1f7a1ed2e85f9",
      "old_mode": 33188,
      "old_path": "drivers/edac/e752x_edac.c",
      "new_id": "c86db23d3af3bfb782f24085892870a3a5459188",
      "new_mode": 33188,
      "new_path": "drivers/edac/e752x_edac.c"
    },
    {
      "type": "modify",
      "old_id": "8b0da35ae47c83328e72838b5ba59a236b7ae3a7",
      "old_mode": 33188,
      "old_path": "drivers/edac/e7xxx_edac.c",
      "new_id": "9b59c661f45e6539f57321a0d6340c532930ae6f",
      "new_mode": 33188,
      "new_path": "drivers/edac/e7xxx_edac.c"
    },
    {
      "type": "modify",
      "old_id": "7ee9419234aa29ff32d7930b11b572f85d202abc",
      "old_mode": 33188,
      "old_path": "drivers/edac/edac_mc.c",
      "new_id": "ad812a4f8c9944bd3fb27b8cfa335882fa2f8268",
      "new_mode": 33188,
      "new_path": "drivers/edac/edac_mc.c"
    },
    {
      "type": "modify",
      "old_id": "c9c1590db7219f6d297527ca9d1a0c1ede9421a3",
      "old_mode": 33188,
      "old_path": "drivers/edac/edac_mc.h",
      "new_id": "2cec157aaebaf5472e786ccfd76402811127e8ae",
      "new_mode": 33188,
      "new_path": "drivers/edac/edac_mc.h"
    },
    {
      "type": "modify",
      "old_id": "942129df0212465559b4e87ed9c01a42df8fc3fd",
      "old_mode": 33188,
      "old_path": "drivers/edac/i82860_edac.c",
      "new_id": "688854260a0e72bde108a73717bbd39b0e4f9865",
      "new_mode": 33188,
      "new_path": "drivers/edac/i82860_edac.c"
    },
    {
      "type": "modify",
      "old_id": "40ba2be6169af526f3b0900f083b31ddd84c280d",
      "old_mode": 33188,
      "old_path": "drivers/edac/i82875p_edac.c",
      "new_id": "aad1900a46895c8043de69b5a404cc31f4ea293a",
      "new_mode": 33188,
      "new_path": "drivers/edac/i82875p_edac.c"
    },
    {
      "type": "modify",
      "old_id": "787a7652c7ef94e0cbd390530015ede2dcf692cb",
      "old_mode": 33188,
      "old_path": "drivers/edac/r82600_edac.c",
      "new_id": "5966916d02bd087be402991e721c3a91ec774f66",
      "new_mode": 33188,
      "new_path": "drivers/edac/r82600_edac.c"
    }
  ]
}
