)]}'
{
  "commit": "cb87ea28ed9e75a41eb456bfcb547b4e6f10e750",
  "tree": "e3fe4a653bd96815c650dd9f5db11edc6b39b0db",
  "parents": [
    "641c3187b9d53cfd4c23b0ce2ab18a13d5e775e5"
  ],
  "author": {
    "name": "John Calixto",
    "email": "john.calixto@modsystems.com",
    "time": "Tue Apr 26 18:56:29 2011 -0400"
  },
  "committer": {
    "name": "Chris Ball",
    "email": "cjb@laptop.org",
    "time": "Tue May 24 21:02:54 2011 -0400"
  },
  "message": "mmc: core: Add mmc CMD+ACMD passthrough ioctl\n\nAllows appropriately-privileged applications to send CMD (normal) and ACMD\n(application-specific; preceded with CMD55) commands to cards/devices on\nthe mmc bus.  This is primarily useful for enabling the security\nfunctionality built in to every SD card.\n\nIt can also be used as a generic passthrough (e.g. to enable virtual\nmachines to control mmc bus devices directly).  However, this use case has\nnot been tested rigorously.  Generic passthrough testing was only conducted\nfor a few non-security opcodes to prove the feasibility of the passthrough.\n\nSince any opcode can be sent using this passthrough, it is very possible to\nrender the card/device unusable.  Applications that use this ioctl must\nhave CAP_SYS_RAWIO.\n\nSecurity commands tested on TI PCIxx12 (SDHCI), Sigma Designs SMP8652 SoC,\nTI OMAP3621/OMAP3630 SoC, Samsung S5PC110 SoC, Qualcomm MSM7200A SoC.\n\nSigned-off-by: John Calixto \u003cjohn.calixto@modsystems.com\u003e\nReviewed-by: Andrei Warkentin \u003candreiw@motorola.com\u003e\nReviewed-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a0a5d82b6b0b86c94415284ea7d29387bbaaf7c7",
      "old_mode": 33188,
      "old_path": "Documentation/ioctl/ioctl-number.txt",
      "new_id": "2a34d822e6d64bb5ab5d36eebdd96836db91beab",
      "new_mode": 33188,
      "new_path": "Documentation/ioctl/ioctl-number.txt"
    },
    {
      "type": "modify",
      "old_id": "e7efd6faeaf9a8635f2078f25b77069769956584",
      "old_mode": 33188,
      "old_path": "drivers/mmc/card/block.c",
      "new_id": "407836d557126dc6c13a26a875bbd50128124f59",
      "new_mode": 33188,
      "new_path": "drivers/mmc/card/block.c"
    },
    {
      "type": "modify",
      "old_id": "a206aea5360df75154fe9872a877eeb3290f6a34",
      "old_mode": 33188,
      "old_path": "drivers/mmc/core/sd_ops.c",
      "new_id": "021fed153804cf0c9d3ad20598895ae093b36e5d",
      "new_mode": 33188,
      "new_path": "drivers/mmc/core/sd_ops.c"
    },
    {
      "type": "modify",
      "old_id": "75cf611641e6330e4006294ad18be9ad0604b827",
      "old_mode": 33188,
      "old_path": "include/linux/Kbuild",
      "new_id": "ed38527599eebd12ae839cf885bdd8dab47139ac",
      "new_mode": 33188,
      "new_path": "include/linux/Kbuild"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1fb26448faa9ccb2a7ca85c9dcca74d52413f87c",
      "new_mode": 33188,
      "new_path": "include/linux/mmc/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "f8e4bcbd28468eb3bb7e586a2bfbc8d3e756c9c9",
      "old_mode": 33188,
      "old_path": "include/linux/mmc/core.h",
      "new_id": "cbe8d55f64c414c4c90f7414228396f97757a06e",
      "new_mode": 33188,
      "new_path": "include/linux/mmc/core.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5baf2983a12f9455e735999bb87fab981424875f",
      "new_mode": 33188,
      "new_path": "include/linux/mmc/ioctl.h"
    }
  ]
}
