)]}'
{
  "commit": "346e399b2a3a01b323fa74a0937e2d855479833b",
  "tree": "b71ee6ae6ac00be7a932f578fbbd546d9df25b39",
  "parents": [
    "c1e4c8d3ee3300f363a52fd4cf3d90fdf5098f5a"
  ],
  "author": {
    "name": "Patrick McManus",
    "email": "mcmanus@ducksong.com",
    "time": "Sat May 28 15:51:46 2005 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@ppc970.osdl.org",
    "time": "Sat May 28 16:46:09 2005 -0700"
  },
  "message": "[PATCH] intelfb section fix\n\nOn Nov 16 2004 a change to intelfbdrv.c was commited (as part of 0.9.2 it\nlooks like) that added __initdata to all of the module param variables that\nseems to create the opportunity for an oops.\n\nI\u0027ve recently been chasing an OOPS\n(http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d111552250920370\u0026w\u003d2) I\ncreated by reading every file on the /sys file system and I\u0027ve traced it\nback to this code in the intelfbdrv.  Though I had root privs in my initial\nproblem report, it turns out they are un-necessary to generate the oops -\nall you\u0027ve got to do is \"cat /sys/module/intelfb/parameters/mode\" enough\ntimes and eventually it will oops.\n\nThis is because sysfs automatically exports all module_param declarations\nto the sysfs file system..  which means those variables can be dynamically\nevaluated at any later time, which of course means marking them __initdata\nis a bad idea ;)..  when they happen to be char *\u0027s it is an especially bad\nidea ;).\n\nApplying the patch below clears up the OOPS for me.\n\nSigned-off-by: Patrick McManus \u003cmcmanus@ducksong.com\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": "549e229392604359f46ed629d916b4ea89674226",
      "old_mode": 33188,
      "old_path": "drivers/video/intelfb/intelfbdrv.c",
      "new_id": "25f9a9a65c24938c23ebd3e0fb9ad164022baacd",
      "new_mode": 33188,
      "new_path": "drivers/video/intelfb/intelfbdrv.c"
    }
  ]
}
