)]}'
{
  "log": [
    {
      "commit": "a4014d8f61a6a136d22422cf8aa978e6495dbad9",
      "tree": "bb5d995c2511b99e131ca92020ffc10cafee4447",
      "parents": [
        "682d4fc93105ebf0bdfbb04a4b85047999b17844"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jul 07 17:57:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:46 2005 -0700"
      },
      "message": "[PATCH] Keys: Base keyring size on key pointer not key struct\n\nThe attached patch makes the keyring functions calculate the new size of a\nkeyring\u0027s payload based on the size of pointer to the key struct, not the size\nof the key struct itself.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6931dfc9f3f81d148b7ed0ab3fd796f8b986a995",
      "tree": "8c7251413b1243e29dc155fd9590931b423c5e31",
      "parents": [
        "9a936eb928c1a253c2e5d66b947688bdc55094a6"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@parisplace.org",
        "time": "Thu Jun 30 02:58:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 30 08:45:09 2005 -0700"
      },
      "message": "[PATCH] selinux_sb_copy_data() should not require a whole page\n\nCurrently selinux_sb_copy_data requires an entire page be allocated to\n*orig when the function is called.  This \"requirement\" is based on the fact\nthat we call copy_page(in_save, nosec_save) and in_save \u003d orig when the\ndata is not FS_BINARY_MOUNTDATA.  This means that if a caller were to call\ndo_kern_mount with only about 10 bytes of options, they would get passed\nhere and then we would corrupt PAGE_SIZE - 10 bytes of memory (with all\nzeros.)\n\nCurrently it appears all in kernel FS\u0027s use one page of data so this has\nnot been a problem.  An out of kernel FS did just what is described above\nand it would almost always panic shortly after they tried to mount.  From\nlooking else where in the kernel it is obvious that this string of data\nmust always be null terminated.  (See example in do_mount where it always\nzeros the last byte.) Thus I suggest we use strcpy in place of copy_page.\nIn this way we make sure the amount we copy is always less than or equal to\nthe amount we received and since do_mount is zeroing the last byte this\nshould be safe for all.\n\nSigned-off-by: Eric Paris \u003ceparis@parisplace.org\u003e\nCc: Stephen Smalley \u003csds@epoch.ncsc.mil\u003e\nAcked-by: James Morris \u003cjmorris@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a5f04bf798254390f89445ecf0b6f4c70ddc1f8",
      "tree": "ed9aa17d9d980f3f013ccc84e12135c65b51757d",
      "parents": [
        "a2ba192c96d12447472e105890a9cd1b97952747"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Sat Jun 25 14:58:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:25:00 2005 -0700"
      },
      "message": "[PATCH] selinux: kfree cleanup\n\nkfree(NULL) is legal.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b2b18660066997420b716c1881a6be8b82700d97",
      "tree": "7c6eb8e7b8163e3d332bd4a4efe2ae5b5cfabdd2",
      "parents": [
        "ae67cd643e9e64217fd92457324625c67fec6e35"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sat Jun 25 14:55:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:38 2005 -0700"
      },
      "message": "[PATCH] RCU: clean up a few remaining synchronize_kernel() calls\n\n2.6.12-rc6-mm1 has a few remaining synchronize_kernel()s, some (but not\nall) in comments.  This patch changes these synchronize_kernel() calls (and\ncomments) to synchronize_rcu() or synchronize_sched() as follows:\n\n- arch/x86_64/kernel/mce.c mce_read(): change to synchronize_sched() to\n  handle races with machine-check exceptions (synchronize_rcu() would not cut\n  it given RCU implementations intended for hardcore realtime use.\n\n- drivers/input/serio/i8042.c i8042_stop(): change to synchronize_sched() to\n  handle races with i8042_interrupt() interrupt handler.  Again,\n  synchronize_rcu() would not cut it given RCU implementations intended for\n  hardcore realtime use.\n\n- include/*/kdebug.h comments: change to synchronize_sched() to handle races\n  with NMIs.  As before, synchronize_rcu() would not cut it...\n\n- include/linux/list.h comment: change to synchronize_rcu(), since this\n  comment is for list_del_rcu().\n\n- security/keys/key.c unregister_key_type(): change to synchronize_rcu(),\n  since this is interacting with RCU read side.\n\n- security/keys/process_keys.c install_session_keyring(): change to\n  synchronize_rcu(), since this is interacting with RCU read side.\n\nSigned-off-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "09ffd94fb15d85fbf9eebb8180f50264b264d6fe",
      "tree": "688a5b60f9718a56a5d4386ef10596e77fb65b7b",
      "parents": [
        "6b9921976f0861e04828b3aff66696c1f3fd900d"
      ],
      "author": {
        "name": "Lorenzo Hernández García-Hierro",
        "email": "lorenzo@gnu.org",
        "time": "Sat Jun 25 14:54:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:26 2005 -0700"
      },
      "message": "[PATCH] selinux: add executable heap check\n\nThis patch,based on sample code by Roland McGrath, adds an execheap\npermission check that controls the ability to make the heap executable so\nthat this can be prevented in almost all cases (the X server is presently\nan exception, but this will hopefully be resolved in the future) so that\neven programs with execmem permission will need to have the anonymous\nmemory mapped in order to make it executable.\n\nThe only reason that we use a permission check for such restriction (vs.\nmaking it unconditional) is that the X module loader presently needs it; it\ncould possibly be made unconditional in the future when X is changed.\n\nThe policy patch for the execheap permission is available at:\nhttp://pearls.tuxedo-es.org/patches/selinux/policy-execheap.patch\n\nSigned-off-by: Lorenzo Hernandez Garcia-Hierro \u003clorenzo@gnu.org\u003e\nAcked-by: James Morris \u003cjmorris@redhat.com\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6b9921976f0861e04828b3aff66696c1f3fd900d",
      "tree": "be372b9dc81e393c909c7fecf8778e8864ba3a0d",
      "parents": [
        "2d15cab85b85a56cc886037cab43cc292923ff22"
      ],
      "author": {
        "name": "Lorenzo Hernandez García-Hierro",
        "email": "lorenzo@gnu.org",
        "time": "Sat Jun 25 14:54:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:26 2005 -0700"
      },
      "message": "[PATCH] selinux: add executable stack check\n\nThis patch adds an execstack permission check that controls the ability to\nmake the main process stack executable so that attempts to make the stack\nexecutable can still be prevented even if the process is allowed the\nexisting execmem permission in order to e.g.  perform runtime code\ngeneration.  Note that this does not yet address thread stacks.  Note also\nthat unlike the execmem check, the execstack check is only applied on\nmprotect calls, not mmap calls, as the current security_file_mmap hook is\nnot passed the necessary information presently.\n\nThe original author of the code that makes the distinction of the stack\nregion, is Ingo Molnar, who wrote it within his patch for\n/proc/\u003cpid\u003e/maps markers.\n(http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d110719881508591\u0026w\u003d2)\n\nThe patches also can be found at:\nhttp://pearls.tuxedo-es.org/patches/selinux/policy-execstack.patch\nhttp://pearls.tuxedo-es.org/patches/selinux/kernel-execstack.patch\n\npolicy-execstack.patch is the patch that needs to be applied to the policy in\norder to support the execstack permission and exclude it\nfrom general_domain_access within macros/core_macros.te.\n\nkernel-execstack.patch adds such permission to the SELinux code within\nthe kernel and adds the proper permission check to the selinux_file_mprotect() hook.\n\nSigned-off-by: Lorenzo Hernandez Garcia-Hierro \u003clorenzo@gnu.org\u003e\nAcked-by: James Morris \u003cjmorris@redhat.com\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "16c29b67fb3bbacfc2a71f9e5f7d85728ef45efa",
      "tree": "adf06d2e9db51a455038f189790bfceffc1e0218",
      "parents": [
        "3e30148c3d524a9c1c63ca28261bc24c457eb07a"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Thu Jun 23 22:00:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:19 2005 -0700"
      },
      "message": "[PATCH] eCryptfs: export user key type\n\nExport this symbol to GPL modules for eCryptfs: an out-of-tree GPL\u0027ed\nfilesystem.\n\nSigned off by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e30148c3d524a9c1c63ca28261bc24c457eb07a",
      "tree": "a2fcc46cc11fe871ad976c07476d934a07313576",
      "parents": [
        "8589b4e00e352f983259140f25a262d973be6bc5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 23 22:00:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:19 2005 -0700"
      },
      "message": "[PATCH] Keys: Make request-key create an authorisation key\n\nThe attached patch makes the following changes:\n\n (1) There\u0027s a new special key type called \".request_key_auth\".\n\n     This is an authorisation key for when one process requests a key and\n     another process is started to construct it. This type of key cannot be\n     created by the user; nor can it be requested by kernel services.\n\n     Authorisation keys hold two references:\n\n     (a) Each refers to a key being constructed. When the key being\n     \t constructed is instantiated the authorisation key is revoked,\n     \t rendering it of no further use.\n\n     (b) The \"authorising process\". This is either:\n\n     \t (i) the process that called request_key(), or:\n\n     \t (ii) if the process that called request_key() itself had an\n     \t      authorisation key in its session keyring, then the authorising\n     \t      process referred to by that authorisation key will also be\n     \t      referred to by the new authorisation key.\n\n\t This means that the process that initiated a chain of key requests\n\t will authorise the lot of them, and will, by default, wind up with\n\t the keys obtained from them in its keyrings.\n\n (2) request_key() creates an authorisation key which is then passed to\n     /sbin/request-key in as part of a new session keyring.\n\n (3) When request_key() is searching for a key to hand back to the caller, if\n     it comes across an authorisation key in the session keyring of the\n     calling process, it will also search the keyrings of the process\n     specified therein and it will use the specified process\u0027s credentials\n     (fsuid, fsgid, groups) to do that rather than the calling process\u0027s\n     credentials.\n\n     This allows a process started by /sbin/request-key to find keys belonging\n     to the authorising process.\n\n (4) A key can be read, even if the process executing KEYCTL_READ doesn\u0027t have\n     direct read or search permission if that key is contained within the\n     keyrings of a process specified by an authorisation key found within the\n     calling process\u0027s session keyring, and is searchable using the\n     credentials of the authorising process.\n\n     This allows a process started by /sbin/request-key to read keys belonging\n     to the authorising process.\n\n (5) The magic KEY_SPEC_*_KEYRING key IDs when passed to KEYCTL_INSTANTIATE or\n     KEYCTL_NEGATE will specify a keyring of the authorising process, rather\n     than the process doing the instantiation.\n\n (6) One of the process keyrings can be nominated as the default to which\n     request_key() should attach new keys if not otherwise specified. This is\n     done with KEYCTL_SET_REQKEY_KEYRING and one of the KEY_REQKEY_DEFL_*\n     constants. The current setting can also be read using this call.\n\n (7) request_key() is partially interruptible. If it is waiting for another\n     process to finish constructing a key, it can be interrupted. This permits\n     a request-key cycle to be broken without recourse to rebooting.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-Off-By: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8589b4e00e352f983259140f25a262d973be6bc5",
      "tree": "d53c9b43ee0aaa2d7518a023c4b6373422117506",
      "parents": [
        "7888e7ff4ee579442128d7d12a9c9dbf2cf7de6a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 23 22:00:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:18 2005 -0700"
      },
      "message": "[PATCH] Keys: Use RCU to manage session keyring pointer\n\nThe attached patch uses RCU to manage the session keyring pointer in struct\nsignal_struct.  This means that searching need not disable interrupts and get\na the sighand spinlock to access this pointer.  Furthermore, by judicious use\nof rcu_read_(un)lock(), this patch also avoids the need to take and put\nrefcounts on the session keyring itself, thus saving on even more atomic ops.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7888e7ff4ee579442128d7d12a9c9dbf2cf7de6a",
      "tree": "abe428ecb966e1dae07fce17f38e3e0c0ab4f134",
      "parents": [
        "76d8aeabfeb1c42641a81c44280177b9a08670d8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 23 22:00:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:18 2005 -0700"
      },
      "message": "[PATCH] Keys: Pass session keyring to call_usermodehelper()\n\nThe attached patch makes it possible to pass a session keyring through to the\nprocess spawned by call_usermodehelper().  This allows patch 3/3 to pass an\nauthorisation key through to /sbin/request-key, thus permitting better access\ncontrols when doing just-in-time key creation.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76d8aeabfeb1c42641a81c44280177b9a08670d8",
      "tree": "0a584439bb44e440717aa77a1398ba9eea24a137",
      "parents": [
        "7286aa9b9ab35f20b1ff16d867f4535701df99b5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jun 23 22:00:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:05:18 2005 -0700"
      },
      "message": "[PATCH] keys: Discard key spinlock and use RCU for key payload\n\nThe attached patch changes the key implementation in a number of ways:\n\n (1) It removes the spinlock from the key structure.\n\n (2) The key flags are now accessed using atomic bitops instead of\n     write-locking the key spinlock and using C bitwise operators.\n\n     The three instantiation flags are dealt with with the construction\n     semaphore held during the request_key/instantiate/negate sequence, thus\n     rendering the spinlock superfluous.\n\n     The key flags are also now bit numbers not bit masks.\n\n (3) The key payload is now accessed using RCU. This permits the recursive\n     keyring search algorithm to be simplified greatly since no locks need be\n     taken other than the usual RCU preemption disablement. Searching now does\n     not require any locks or semaphores to be held; merely that the starting\n     keyring be pinned.\n\n (4) The keyring payload now includes an RCU head so that it can be disposed\n     of by call_rcu(). This requires that the payload be copied on unlink to\n     prevent introducing races in copy-down vs search-up.\n\n (5) The user key payload is now a structure with the data following it. It\n     includes an RCU head like the keyring payload and for the same reason. It\n     also contains a data length because the data length in the key may be\n     changed on another CPU whilst an RCU protected read is in progress on the\n     payload. This would then see the supposed RCU payload and the on-key data\n     length getting out of sync.\n\n     I\u0027m tempted to drop the key\u0027s datalen entirely, except that it\u0027s used in\n     conjunction with quota management and so is a little tricky to get rid\n     of.\n\n (6) Update the keys documentation.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6e711448137ca3301512cec41a2c2ce852b3d0a",
      "tree": "f0765ebd90fdbdf270c05fcd7f3d32b24ba56681",
      "parents": [
        "8b0914ea7475615c7c8965c1ac8fe4069270f25c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Jun 23 00:09:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:26 2005 -0700"
      },
      "message": "[PATCH] setuid core dump\n\nAdd a new `suid_dumpable\u0027 sysctl:\n\nThis value can be used to query and set the core dump mode for setuid\nor otherwise protected/tainted binaries. The modes are\n\n0 - (default) - traditional behaviour.  Any process which has changed\n    privilege levels or is execute only will not be dumped\n\n1 - (debug) - all processes dump core when possible.  The core dump is\n    owned by the current user and no security is applied.  This is intended\n    for system debugging situations only.  Ptrace is unchecked.\n\n2 - (suidsafe) - any binary which normally would not be dumped is dumped\n    readable by root only.  This allows the end user to remove such a dump but\n    not access it directly.  For security reasons core dumps in this mode will\n    not overwrite one another or other files.  This mode is appropriate when\n    adminstrators are attempting to debug problems in a normal environment.\n\n(akpm:\n\n\u003e \u003e +EXPORT_SYMBOL(suid_dumpable);\n\u003e\n\u003e EXPORT_SYMBOL_GPL?\n\nNo problem to me.\n\n\u003e \u003e  \tif (current-\u003eeuid \u003d\u003d current-\u003euid \u0026\u0026 current-\u003eegid \u003d\u003d current-\u003egid)\n\u003e \u003e  \t\tcurrent-\u003emm-\u003edumpable \u003d 1;\n\u003e\n\u003e Should this be SUID_DUMP_USER?\n\nActually the feedback I had from last time was that the SUID_ defines\nshould go because its clearer to follow the numbers. They can go\neverywhere (and there are lots of places where dumpable is tested/used\nas a bool in untouched code)\n\n\u003e Maybe this should be renamed to `dump_policy\u0027 or something.  Doing that\n\u003e would help us catch any code which isn\u0027t using the #defines, too.\n\nFair comment. The patch was designed to be easy to maintain for Red Hat\nrather than for merging. Changing that field would create a gigantic\ndiff because it is used all over the place.\n\n)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "da3caa204ca40c32dcb751ebead2a6835b83e8d1",
      "tree": "0bf36cf3bd9bee84cc4f93de5e99d6a0832329cb",
      "parents": [
        "8680e22f296e75e5497edb660c59c6b4dcfbbd32"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "geraldsc@de.ibm.com",
        "time": "Tue Jun 21 17:15:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:22 2005 -0700"
      },
      "message": "[PATCH] SELinux: memory leak in selinux_sb_copy_data()\n\nThere is a memory leak during mount when SELinux is active and mount\noptions are specified.\n\nSigned-off-by: Gerald Schaefer \u003cgeraldsc@de.ibm.com\u003e\nAcked-by:  Stephen Smalley \u003csds@epoch.ncsc.mil\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "70f2817a43c89b784dc2ec3d06ba5bf3064f8235",
      "tree": "210bbd16599d4e402051e4ec30c82e70b8b427ef",
      "parents": [
        "6c1852a08e444a2e66367352a99c0e93c8bf3e97"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Fri Apr 29 01:27:34 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:03 2005 -0700"
      },
      "message": "[PATCH] sysfs: (rest) if show/store is missing return -EIO\n\nsysfs: fix the rest of the kernel so if an attribute doesn\u0027t\n       implement show or store method read/write will return\n       -EIO instead of 0 or -EINVAL or -EPERM.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c7fb64db001f83ece669c76a02d8ec2fdb1dd307",
      "tree": "f8b8375b8b619c00db3399a4ef6f67e2636dfac7",
      "parents": [
        "00768244923f66801958a8d2d103f7b65608c9b6"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Jun 18 22:50:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:50:55 2005 -0700"
      },
      "message": "[NETLINK]: Neighbour table configuration and statistics via rtnetlink\n\nTo retrieve the neighbour tables send RTM_GETNEIGHTBL with the\nNLM_F_DUMP flag set. Every neighbour table configuration is\nspread over multiple messages to avoid running into message\nsize limits on systems with many interfaces. The first message\nin the sequence transports all not device specific data such as\nstatistics, configuration, and the default parameter set.\nThis message is followed by 0..n messages carrying device\nspecific parameter sets.\n\nAlthough the ordering should be sufficient, NDTA_NAME can be\nused to identify sequences. The initial message can be identified\nby checking for NDTA_CONFIG. The device specific messages do\nnot contain this TLV but have NDTPA_IFINDEX set to the\ncorresponding interface index.\n\nTo change neighbour table attributes, send RTM_SETNEIGHTBL\nwith NDTA_NAME set. Changeable attribute include NDTA_THRESH[1-3],\nNDTA_GC_INTERVAL, and all TLVs in NDTA_PARMS unless marked\notherwise. Device specific parameter sets can be changed by\nsetting NDTPA_IFINDEX to the interface index of the corresponding\ndevice.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37ca5389b863e5ffba6fb7c22331bf57dbf7764a",
      "tree": "4869477a27fbd8ad91b0ce42f0b2e4b6817e5105",
      "parents": [
        "99e45eeac867d51ff3395dcf3d7aedf5ac2812c8"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Tue May 24 21:28:28 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue May 24 21:28:28 2005 +0100"
      },
      "message": "AUDIT: Fix remaining cases of direct logging of untrusted strings by avc_audit\n\nPer Steve Grubb\u0027s observation that there are some remaining cases where\navc_audit() directly logs untrusted strings without escaping them, here\nis a patch that changes avc_audit() to use audit_log_untrustedstring()\nor audit_log_hex() as appropriate.  Note that d_name.name is nul-\nterminated by d_alloc(), and that sun_path is nul-terminated by\nunix_mkname(), so it is not necessary for the AVC to create nul-\nterminated copies or to alter audit_log_untrustedstring to take a length\nargument.  In the case of an abstract name, we use audit_log_hex() with\nan explicit length.\n\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "7b5d781ce1f19fb7382d3d3fb7af48e429bed12d",
      "tree": "8ab8eef2e8c3629c46d29ffb9c618d87c5e1a02c",
      "parents": [
        "326e9c8ba6a149f47e020719b23b24a14ba740d6"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat May 21 16:52:57 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat May 21 16:52:57 2005 +0100"
      },
      "message": "Fix oops due to thinko in avc_audit()\n\nWhen I added the logging of pid\u003d and comm\u003d back to avc_audit() I \nscrewed it up. Put it back how it should be.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "011161051bbc25f7f8b7df059dbd934c534443f0",
      "tree": "f1ca3727e4130cacad86dfdae65e7533fcb67784",
      "parents": [
        "fb19b4c6aa024837a0071f07baa07dbf49d07151"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Sat May 21 00:15:52 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat May 21 00:15:52 2005 +0100"
      },
      "message": "AUDIT: Avoid sleeping function in SElinux AVC audit.\n\nThis patch changes the SELinux AVC to defer logging of paths to the audit\nframework upon syscall exit, by saving a reference to the (dentry,vfsmount)\npair in an auxiliary audit item on the current audit context for processing\nby audit_log_exit.\n\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "7063e6c717f6108c4b3fc3135a516c86ef944870",
      "tree": "ec6eec10b4dc93474100e6e366df028bd3314fda",
      "parents": [
        "7ca0026495dbb644b4e32ede76be44072cb2bc7a",
        "05d3794aa8bd3b2c9f7920a05003c331cdeb75c5"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 11:54:00 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 11:54:00 2005 +0100"
      },
      "message": "Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n\n"
    },
    {
      "commit": "cd77b8212d5473b800ac865364981d334ff564ea",
      "tree": "334f44b05fc02039d67de5f9bfc26765e754b727",
      "parents": [
        "b7d1125817c9a46cc46f57db89d9c195e7af22f8"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 11:18:24 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Thu May 19 11:18:24 2005 +0100"
      },
      "message": "Restore logging of pid\u003d and comm\u003d in AVC audit messages\n\nWe turned this all off because the \u0027exe\u003d\u0027 was causing deadlocks on\ndcache_lock. There\u0027s no need to leave the pid and comm out though. \nThey\u0027ll all be logged correctly if full auditing is enabled, but we\nshould still print them in case auditing _isn\u0027t_ enabled.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "209aba03243ee42a22f8df8d08aa9963f62aec64",
      "tree": "e45ee43e7af31f847377e8bb3a0a61581732b653",
      "parents": [
        "3ec3b2fba526ead2fa3f3d7c91924f39a0733749"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed May 18 10:21:07 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed May 18 10:21:07 2005 +0100"
      },
      "message": "AUDIT: Treat all user messages identically.\n\nIt\u0027s silly to have to add explicit entries for new userspace messages\nas we invent them. Just treat all messages in the user range the same.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "4c443d1b558b21520bd8fd6140b85cee0756becd",
      "tree": "e6d4fea8329bb709efd825ec14c9598a0c08e562",
      "parents": [
        "b81074800b98ac50b64d4c8d34e8abf0fda5e3d1"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@epoch.ncsc.mil",
        "time": "Mon May 16 21:53:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:20 2005 -0700"
      },
      "message": "[PATCH] selinux: fix avc_alloc_node() oom with no policy loaded\n\nThis patch should fix the avc_alloc_node() oom condition that Andrew\nreported when no policy is loaded in SELinux.\n\nPrior to this patch, when no policy was loaded, the SELinux \"security\nserver\" (policy engine) was only returning allowed decisions for the\nrequested permissions for each access check.  This caused the cache to\nthrash when trying to use SELinux for real work with no policy loaded\n(typically, the no policy loaded state is only for bootstrapping to the\npoint where we can load an initial policy).\n\nThis patch changes the SELinux security server to return the complete\nallowed access vector at once, and then to reset the cache after the\ninitial policy load to flush the initial cache state created during\nbootstrapping.\n\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c04049939f88b29e235d2da217bce6e8ead44f32",
      "tree": "9bf3ab72b9939c529e7c96f8768bc8b7e1d768c9",
      "parents": [
        "9ea74f0655412d0fbd12bf9adb6c14c8fe707a42"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Fri May 13 18:17:42 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 13 18:17:42 2005 +0100"
      },
      "message": "AUDIT: Add message types to audit records\n\nThis patch adds more messages types to the audit subsystem so that audit \nanalysis is quicker, intuitive, and more useful.\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\n---\nI forgot one type in the big patch. I need to add one for user space \noriginating SE Linux avc messages. This is used by dbus and nscd.\n\n-Steve\n---\nUpdated to 2.6.12-rc4-mm1.\n-dwmw2\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "c1b773d87eadc3972d697444127e89a7291769a2",
      "tree": "edfce2e842c3b6be70f3b90584507aab9fb3de8f",
      "parents": [
        "197c69c6afd2deb7eec44040ff533d90d26c6161"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Wed May 11 10:55:10 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed May 11 10:55:10 2005 +0100"
      },
      "message": "Add audit_log_type\n\nAdd audit_log_type to allow callers to specify type and pid when logging.\nConvert audit_log to wrapper around audit_log_type.  Could have\nconverted all audit_log callers directly, but common case is default\nof type AUDIT_KERNEL and pid 0.  Update audit_log_start to take type\nand pid values when creating a new audit_buffer.  Move sequences that\ndid audit_log_start, audit_log_format, audit_set_type, audit_log_end,\nto simply call audit_log_type directly.  This obsoletes audit_set_type\nand audit_set_pid, so remove them.\n\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "c2f0c7c356dc9ae15419f00c725a2fcc58eeff58",
      "tree": "2b765b791115e0e85b45bc98800fd2650b23155b",
      "parents": [
        "2512809255d018744fe6c2f5e996c83769846c07"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Fri May 06 12:38:39 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri May 06 12:38:39 2005 +0100"
      },
      "message": "The attached patch addresses the problem with getting the audit daemon \nshutdown credential information. It creates a new message type \nAUDIT_TERM_INFO, which is used by the audit daemon to query who issued the \nshutdown. \n\nIt requires the placement of a hook function that gathers the information. The \nhook is after the DAC \u0026 MAC checks and before the function returns. Racing \nthreads could overwrite the uid \u0026 pid - but they would have to be root and \nhave policy that allows signalling the audit daemon. That should be a \nmanageable risk.\n\nThe userspace component will be released later in audit 0.7.2. When it \nreceives the TERM signal, it queries the kernel for shutdown information. \nWhen it receives it, it writes the message and exits. The message looks \nlike this:\n\ntype\u003dDAEMON msg\u003dauditd(1114551182.000) auditd normal halt, sending pid\u003d2650 \nuid\u003d525, auditd pid\u003d1685\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "b207a290ea7dc83dba02e40b81cc8a29415a9c60",
      "tree": "fe76d1c494977ba95ab576e9207dc13c4a66a04a",
      "parents": [
        "6af963f1d6789ef20abca5696cd52a758b396e52"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@redhat.com",
        "time": "Sun May 01 08:58:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:40 2005 -0700"
      },
      "message": "[PATCH] SELinux: add finer grained permissions to Netlink audit processing\n\nThis patch provides finer grained permissions for the audit family of\nNetlink sockets under SELinux.\n\n1.  We need a way to differentiate between privileged and unprivileged\n   reads of kernel data maintained by the audit subsystem.  The AUDIT_GET\n   operation is unprivileged: it returns the current status of the audit\n   subsystem (e.g.  whether it\u0027s enabled etc.).  The AUDIT_LIST operation\n   however returns a list of the current audit ruleset, which is considered\n   privileged by the audit folk.  To deal with this, a new SELinux\n   permission has been implemented and applied to the operation:\n   nlmsg_readpriv, which can be allocated to appropriately privileged\n   domains.  Unprivileged domains would only be allocated nlmsg_read.\n\n2.  There is a requirement for certain domains to generate audit events\n   from userspace.  These events need to be collected by the kernel,\n   collated and transmitted sequentially back to the audit daemon.  An\n   example is user level login, an auditable event under CAPP, where\n   login-related domains generate AUDIT_USER messages via PAM which are\n   relayed back to auditd via the kernel.  To prevent handing out\n   nlmsg_write permissions to such domains, a new permission has been\n   added, nlmsg_relay, which is intended for this type of purpose: data is\n   passed via the kernel back to userspace but no privileged information is\n   written to the kernel.\n\nAlso, AUDIT_LOGIN messages are now valid only for kernel-\u003euser messaging,\nso this value has been removed from the SELinux nlmsgtab (which is only\nused to check user-\u003ekernel messages).\n\nSigned-off-by: James Morris \u003cjmorris@redhat.com\u003e\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6af963f1d6789ef20abca5696cd52a758b396e52",
      "tree": "20990e909fc4a79789de54cfcae7ea150329cdc5",
      "parents": [
        "de7d5a3b6c9ff8429bf046c36b56d3192b75c3da"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Sun May 01 08:58:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:39 2005 -0700"
      },
      "message": "[PATCH] SELinux: cleanup ipc_has_perm\n\nThis patch removes the sclass argument from ipc_has_perm in the SELinux\nmodule, as it can be obtained from the ipc security structure.  The use of\na separate argument was a legacy of the older precondition function\nhandling in SELinux and is obsolete.  Please apply.\n\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0d3d077cd4f1154e63a9858e47fe3fb1ad0c03e5",
      "tree": "63f376b3586412af712ffac7d500516c98f7bb2c",
      "parents": [
        "aa77d26961fa4ecb11fe4209578dcd62ad15819d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Apr 24 20:16:19 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 24 20:16:19 2005 -0700"
      },
      "message": "[SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS.\n\nThe SELinux hooks invoke ipv6_skip_exthdr() with an incorrect\nlength final argument.  However, the length argument turns out\nto be superfluous.\n\nI was just reading ipv6_skip_exthdr and it occured to me that we can\nget rid of len altogether.  The only place where len is used is to\ncheck whether the skb has two bytes for ipv6_opt_hdr.  This check\nis done by skb_header_pointer/skb_copy_bits anyway.\n\nNow it might appear that we\u0027ve made the code slower by deferring\nthe check to skb_copy_bits.  However, this check should not trigger\nin the common case so this is OK.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "219f0817038cabc722968e914490adf6b686499e",
      "tree": "13b64537abe906645ee22843e146e21958236219",
      "parents": [
        "865108d13801d39ec038bdc82b5bec5e1eaffa9d"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Mon Apr 18 10:47:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Apr 18 10:47:35 2005 -0700"
      },
      "message": "[PATCH] SELinux: fix deadlock on dcache lock\n\nThis fixes a deadlock on the dcache lock detected during testing at IBM\nby moving the logging of the current executable information from the\nSELinux avc_audit function to audit_log_exit (via an audit_log_task_info\nhelper) for processing upon syscall exit. \n\nFor consistency, the patch also removes the logging of other\ntask-related information from avc_audit, deferring handling to\naudit_log_exit instead. \n\nThis allows simplification of the avc_audit code, allows the exe\ninformation to be obtained more reliably, always includes the comm\ninformation (useful for scripts), and avoids including bogus task\ninformation for checks performed from irq or softirq. \n\nSigned-off-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by:  James Morris \u003cjmorris@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0c9b79429c83a404a04908be65baa9d97836bbb6",
      "tree": "66cdf9fc4cf40867ed8c9dc060661615941cd95f",
      "parents": [
        "7e5c6bc0a600c49e5922591ad41ff41987f54eb4"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@redhat.com",
        "time": "Sat Apr 16 15:24:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:24:13 2005 -0700"
      },
      "message": "[PATCH] SELinux: add support for NETLINK_KOBJECT_UEVENT\n\nThis patch adds SELinux support for the KOBJECT_UEVENT Netlink family, so\nthat SELinux can apply finer grained controls to it.  For example, security\npolicy for hald can be locked down to the KOBJECT_UEVENT Netlink family\nonly.  Currently, this family simply defaults to the default Netlink socket\nclass.\n\nNote that some new permission definitions are added to sync with changes in\nthe core userspace policy package, which auto-generates header files.\n\nSigned-off-by: James Morris \u003cjmorris@redhat.com\u003e\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "388c69789a2a2e50965e805e3e641418082b352c",
      "tree": "6a715440068d1df09fee5bc2e7e9ac0d8af37cae",
      "parents": [
        "1db7fc75a410d9a15cbc58a9b073a688669c6d42"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@redhat.com",
        "time": "Sat Apr 16 15:24:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:24:03 2005 -0700"
      },
      "message": "[PATCH] SELinux: fix bug in Netlink message type detection\n\nThis patch fixes a bug in the SELinux Netlink message type detection code,\nwhere the wrong constant was being used in a case statement.  The incorrect\nvalue is not valid for this class of object so it would not have been\nreached, and fallen through to a default handler for all Netlink messages.\n\nSigned-off-by: James Morris \u003cjmorris@redhat.com\u003e\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
