)]}'
{
  "commit": "bdf4c48af20a3b0f01671799ace345e3d49576da",
  "tree": "7c3b903d2de1cba6e212ad6f347bc8742b08035a",
  "parents": [
    "b111757c50ee30dad162192df6168e270a90c252"
  ],
  "author": {
    "name": "Peter Zijlstra",
    "email": "a.p.zijlstra@chello.nl",
    "time": "Thu Jul 19 01:48:15 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Thu Jul 19 10:04:45 2007 -0700"
  },
  "message": "audit: rework execve audit\n\nThe purpose of audit_bprm() is to log the argv array to a userspace daemon at\nthe end of the execve system call.  Since user-space hasn\u0027t had time to run,\nthis array is still in pristine state on the process\u0027 stack; so no need to\ncopy it, we can just grab it from there.\n\nIn order to minimize the damage to audit_log_*() copy each string into a\ntemporary kernel buffer first.\n\nCurrently the audit code requires that the full argument vector fits in a\nsingle packet.  So currently it does clip the argv size to a (sysctl) limit,\nbut only when execve auditing is enabled.\n\nIf the audit protocol gets extended to allow for multiple packets this check\ncan be removed.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ollie Wild \u003caaw@google.com\u003e\nCc: \u003clinux-audit@redhat.com\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": "ebffdffb3d9919265217d92b955c6b9bdb448859",
      "old_mode": 33188,
      "old_path": "Documentation/filesystems/proc.txt",
      "new_id": "72e247ef6fa2817c13ef26b8e5a0556bbdc63341",
      "new_mode": 33188,
      "new_path": "Documentation/filesystems/proc.txt"
    },
    {
      "type": "modify",
      "old_id": "f20561ff4528f21ad7a36d35d56513346c5f740b",
      "old_mode": 33188,
      "old_path": "fs/exec.c",
      "new_id": "2e3f7950c185f1206967bd86b6c6a0fd9f64c411",
      "new_mode": 33188,
      "new_path": "fs/exec.c"
    },
    {
      "type": "modify",
      "old_id": "e1a708337be3538300169da7682b2a51d14a0a3e",
      "old_mode": 33188,
      "old_path": "include/linux/binfmts.h",
      "new_id": "a0b209cd5761fa73078294d6bd1ee6e06544712e",
      "new_mode": 33188,
      "new_path": "include/linux/binfmts.h"
    },
    {
      "type": "modify",
      "old_id": "b7640a5f382aa6e766fc09785242466ef693fbb6",
      "old_mode": 33188,
      "old_path": "kernel/auditsc.c",
      "new_id": "535586fc498bf5c0830ade4ffaaacd42a7088052",
      "new_mode": 33188,
      "new_path": "kernel/auditsc.c"
    },
    {
      "type": "modify",
      "old_id": "3ed4912bf1833334c627fa54a78f3a276cb4a2ab",
      "old_mode": 33188,
      "old_path": "kernel/sysctl.c",
      "new_id": "8db41764e2a12f51eb8fea271449ead39be05b99",
      "new_mode": 33188,
      "new_path": "kernel/sysctl.c"
    }
  ]
}
