)]}'
{
  "log": [
    {
      "commit": "aeda4ac3efc29e4d55989abd0a73530453aa69ba",
      "tree": "35b3d2cca8bfb49cf08bf1c6b55b586c1e5971e7",
      "parents": [
        "d2e7ad19229f982fc1eb731827d82ceac90abfb3",
        "350e4f31e0eaf56dfc3b328d24a11bdf42a41fb8"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 10 10:40:42 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 10 10:40:42 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/eparis/selinux into next\n"
    },
    {
      "commit": "3610cda53f247e176bcbb7a7cca64bc53b12acdb",
      "tree": "d780bc1e405116e75a194b2f4693a6f9bbe9f58f",
      "parents": [
        "44b8288308ac9da27eab7d7bdbf1375a568805c3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 05 15:38:53 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 05 15:38:53 2011 -0800"
      },
      "message": "af_unix: Avoid socket-\u003esk NULL OOPS in stream connect security hooks.\n\nunix_release() can asynchornously set socket-\u003esk to NULL, and\nit does so without holding the unix_state_lock() on \"other\"\nduring stream connects.\n\nHowever, the reverse mapping, sk-\u003esk_socket, is only transitioned\nto NULL under the unix_state_lock().\n\nTherefore make the security hooks follow the reverse mapping instead\nof the forward mapping.\n\nReported-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17f7f4d9fcce8f1b75b5f735569309dee7665968",
      "tree": "14d7e49ca0053a0fcab3c33b5023bf3f90c5c08a",
      "parents": [
        "041110a439e21cd40709ead4ffbfa8034619ad77",
        "d7c1255a3a21e98bdc64df8ccf005a174d7e6289"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 26 22:37:05 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 26 22:37:05 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/ipv4/fib_frontend.c\n"
    },
    {
      "commit": "415103f9932d45f7927f4b17e3a9a13834cdb9a1",
      "tree": "271746ba59ca5b19185574538b5af3e30178c04f",
      "parents": [
        "1d9bc6dc5b6b9cc9299739f0245ce4841f066b92"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 02 16:13:40 2010 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 02 16:14:51 2010 -0500"
      },
      "message": "SELinux: do not compute transition labels on mountpoint labeled filesystems\n\nselinux_inode_init_security computes transitions sids even for filesystems\nthat use mount point labeling.  It shouldn\u0027t do that.  It should just use\nthe mount point label always and no matter what.\n\nThis causes 2 problems.  1) it makes file creation slower than it needs to be\nsince we calculate the transition sid and 2) it allows files to be created\nwith a different label than the mount point!\n\n# id -Z\nstaff_u:sysadm_r:sysadm_t:s0-s0:c0.c1023\n# sesearch --type --class file --source sysadm_t --target tmp_t\nFound 1 semantic te rules:\n   type_transition sysadm_t tmp_t : file user_tmp_t;\n\n# mount -o loop,context\u003d\"system_u:object_r:tmp_t:s0\"  /tmp/fs /mnt/tmp\n\n# ls -lZ /mnt/tmp\ndrwx------. root root system_u:object_r:tmp_t:s0       lost+found\n# touch /mnt/tmp/file1\n# ls -lZ /mnt/tmp\n-rw-r--r--. root root staff_u:object_r:user_tmp_t:s0   file1\ndrwx------. root root system_u:object_r:tmp_t:s0       lost+found\n\nWhoops, we have a mount point labeled filesystem tmp_t with a user_tmp_t\nlabeled file!\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nReviewed-by: Reviewed-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2fe66ec242d3f76e3b0101f36419e7e5405bcff3",
      "tree": "2091420d53ae1bf9e7673c2275b36c6b1e6aac1b",
      "parents": [
        "04f6d70f6e64900a5d70a5fc199dd9d5fa787738"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Nov 23 06:28:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 23 10:50:17 2010 -0800"
      },
      "message": "SELinux: indicate fatal error in compat netfilter code\n\nThe SELinux ip postroute code indicates when policy rejected a packet and\npasses the error back up the stack.  The compat code does not.  This patch\nsends the same kind of error back up the stack in the compat code.\n\nBased-on-patch-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04f6d70f6e64900a5d70a5fc199dd9d5fa787738",
      "tree": "68d369f422f98842031ae4ada17e391140165b54",
      "parents": [
        "eb06acdc85585f28864261f28659157848762ee4"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Nov 23 06:28:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 23 10:50:17 2010 -0800"
      },
      "message": "SELinux: Only return netlink error when we know the return is fatal\n\nSome of the SELinux netlink code returns a fatal error when the error might\nactually be transient.  This patch just silently drops packets on\npotentially transient errors but continues to return a permanant error\nindicator when the denial was because of policy.\n\nBased-on-comments-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f1aaf82825865a50cef0b4722607abb12aeee52",
      "tree": "9ab2495097fa2944404ab41bfb3038de374f5626",
      "parents": [
        "ee58681195bf243bafc44ca53f3c24429d096cce"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Nov 16 11:52:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 10:54:35 2010 -0800"
      },
      "message": "SELinux: return -ECONNREFUSED from ip_postroute to signal fatal error\n\nThe SELinux netfilter hooks just return NF_DROP if they drop a packet.  We\nwant to signal that a drop in this hook is a permanant fatal error and is not\ntransient.  If we do this the error will be passed back up the stack in some\nplaces and applications will get a faster interaction that something went\nwrong.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12b3052c3ee8f508b2c7ee4ddd63ed03423409d8",
      "tree": "b97d0f209f363cfad94ce9d075312274e349da89",
      "parents": [
        "6800e4c0ea3e96cf78953b8b5743381cb1bb9e37"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Nov 15 18:36:29 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 15 15:40:01 2010 -0800"
      },
      "message": "capabilities/syslog: open code cap_syslog logic to fix build failure\n\nThe addition of CONFIG_SECURITY_DMESG_RESTRICT resulted in a build\nfailure when CONFIG_PRINTK\u003dn.  This is because the capabilities code\nwhich used the new option was built even though the variable in question\ndidn\u0027t exist.\n\nThe patch here fixes this by moving the capabilities checks out of the\nLSM and into the caller.  All (known) LSMs should have been calling the\ncapabilities hook already so it actually makes the code organization\nbetter to eliminate the hook altogether.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2606fd1fa5710205b23ee859563502aa18362447",
      "tree": "f79becd7010a2da1a765829fce0e09327cd50531",
      "parents": [
        "15714f7b58011cf3948cab2988abea560240c74f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Oct 13 16:24:41 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Oct 21 10:12:48 2010 +1100"
      },
      "message": "secmark: make secmark object handling generic\n\nRight now secmark has lots of direct selinux calls.  Use all LSM calls and\nremove all SELinux specific knowledge.  The only SELinux specific knowledge\nwe leave is the mode.  The only point is to make sure that other LSMs at\nleast test this generic code before they assume it works.  (They may also\nhave to make changes if they do not represent labels as strings)\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b0ae19811375031ae3b3fecc65b702a9c6e5cc28",
      "tree": "a765b71155fbed1ed3a3cff35c1044ad49a002ae",
      "parents": [
        "9b3056cca09529d34af2d81305b2a9c6b622ca1b"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Oct 15 04:21:18 2010 +0900"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Oct 21 10:12:44 2010 +1100"
      },
      "message": "security: remove unused parameter from security_task_setscheduler()\n\nAll security modules shouldn\u0027t change sched_param parameter of\nsecurity_task_setscheduler().  This is not only meaningless, but also\nmake a harmful result if caller pass a static variable.\n\nThis patch remove policy and sched_param parameter from\nsecurity_task_setscheduler() becuase none of security module is\nusing it.\n\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d996b62a8df1d935b01319bf8defb95b5709f7b8",
      "tree": "d81f8240da776336845a2063555d7bb4dce684bd",
      "parents": [
        "ee2ffa0dfdd2db19705f2ba1c6a4c0bfe8122dd8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:36 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "tty: fix fu_list abuse\n\ntty: fix fu_list abuse\n\ntty code abuses fu_list, which causes a bug in remount,ro handling.\n\nIf a tty device node is opened on a filesystem, then the last link to the inode\nremoved, the filesystem will be allowed to be remounted readonly. This is\nbecause fs_may_remount_ro does not find the 0 link tty inode on the file sb\nlist (because the tty code incorrectly removed it to use for its own purpose).\nThis can result in a filesystem with errors after it is marked \"clean\".\n\nTaking idea from Christoph\u0027s initial patch, allocate a tty private struct\nat file-\u003eprivate_data and put our required list fields in there, linking\nfile and tty. This makes tty nodes behave the same way as other device nodes\nand avoid meddling with the vfs, and avoids this bug.\n\nThe error handling is not trivial in the tty code, so for this bugfix, I take\nthe simple approach of using __GFP_NOFAIL and don\u0027t worry about memory errors.\nThis is not a problem because our allocator doesn\u0027t fail small allocs as a rule\nanyway. So proper error handling is left as an exercise for tty hackers.\n\n[ Arguably filesystem\u0027s device inode would ideally be divorced from the\ndriver\u0027s pseudo inode when it is opened, but in practice it\u0027s not clear whether\nthat will ever be worth implementing. ]\n\nCc: linux-kernel@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee2ffa0dfdd2db19705f2ba1c6a4c0bfe8122dd8",
      "tree": "e48400d1a33f8d2e68589ccfd61637aa64462f08",
      "parents": [
        "b04f784e5d19ed58892833dae845738972cea260"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:35 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "fs: cleanup files_lock locking\n\nfs: cleanup files_lock locking\n\nLock tty_files with a new spinlock, tty_files_lock; provide helpers to\nmanipulate the per-sb files list; unexport the files_lock spinlock.\n\nCc: linux-kernel@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b34d8915c413acb51d837a45fb8747b61f65c020",
      "tree": "ced5fac166324634653d84b1afe2b958b3904f4d",
      "parents": [
        "e8a89cebdbaab14caaa26debdb4ffd493b8831af",
        "f33ebbe9da2c3c24664a0ad4f8fd83f293547e63"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 12:07:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 12:07:51 2010 -0700"
      },
      "message": "Merge branch \u0027writable_limits\u0027 of git://decibel.fi.muni.cz/~xslaby/linux\n\n* \u0027writable_limits\u0027 of git://decibel.fi.muni.cz/~xslaby/linux:\n  unistd: add __NR_prlimit64 syscall numbers\n  rlimits: implement prlimit64 syscall\n  rlimits: switch more rlimit syscalls to do_prlimit\n  rlimits: redo do_setrlimit to more generic do_prlimit\n  rlimits: add rlimit64 structure\n  rlimits: do security check under task_lock\n  rlimits: allow setrlimit to non-current tasks\n  rlimits: split sys_setrlimit\n  rlimits: selinux, do rlimits changes under task_lock\n  rlimits: make sure -\u003erlim_max never grows in sys_setrlimit\n  rlimits: add task_struct to update_rlimit_cpu\n  rlimits: security, add task_struct to setrlimit\n\nFix up various system call number conflicts.  We not only added fanotify\nsystem calls in the meantime, but asm-generic/unistd.h added a wait4\nalong with a range of reserved per-architecture system calls.\n"
    },
    {
      "commit": "49b7b8de46d293113a0a0bb026ff7bd833c73367",
      "tree": "ff29778c49a8ac1511249cc268ddbb2c6ddb86a9",
      "parents": [
        "b782e0a68d17894d9a618ffea55b33639faa6bb4"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 23 11:44:09 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 02 15:35:08 2010 +1000"
      },
      "message": "selinux: place open in the common file perms\n\nkernel can dynamically remap perms.  Drop the open lookup table and put open\nin the common file perms.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by:  Stephen D. Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b782e0a68d17894d9a618ffea55b33639faa6bb4",
      "tree": "307bc615153075a6e92be5d839a58ff48d6525f3",
      "parents": [
        "d09ca73979460b96d5d4684d588b188be9a1f57d"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 23 11:44:03 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 02 15:35:07 2010 +1000"
      },
      "message": "SELinux: special dontaudit for access checks\n\nCurrently there are a number of applications (nautilus being the main one) which\ncalls access() on files in order to determine how they should be displayed.  It\nis normal and expected that nautilus will want to see if files are executable\nor if they are really read/write-able.  access() should return the real\npermission.  SELinux policy checks are done in access() and can result in lots\nof AVC denials as policy denies RWX on files which DAC allows.  Currently\nSELinux must dontaudit actual attempts to read/write/execute a file in\norder to silence these messages (and not flood the logs.)  But dontaudit rules\nlike that can hide real attacks.  This patch addes a new common file\npermission audit_access.  This permission is special in that it is meaningless\nand should never show up in an allow rule.  Instead the only place this\npermission has meaning is in a dontaudit rule like so:\n\ndontaudit nautilus_t sbin_t:file audit_access\n\nWith such a rule if nautilus just checks access() we will still get denied and\nthus userspace will still get the correct answer but we will not log the denial.\nIf nautilus attempted to actually perform one of the forbidden actions\n(rather than just querying access(2) about it) we would still log a denial.\nThis type of dontaudit rule should be used sparingly, as it could be a\nmethod for an attacker to probe the system permissions without detection.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by:  Stephen D. Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d09ca73979460b96d5d4684d588b188be9a1f57d",
      "tree": "217543affc5c1c76181ffca00c23cfa69f1dd4f6",
      "parents": [
        "9cfcac810e8993fa7a5bfd24b1a21f1dbbb03a7b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 23 11:43:57 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 02 15:35:07 2010 +1000"
      },
      "message": "security: make LSMs explicitly mask off permissions\n\nSELinux needs to pass the MAY_ACCESS flag so it can handle auditting\ncorrectly.  Presently the masking of MAY_* flags is done in the VFS.  In\norder to allow LSMs to decide what flags they care about and what flags\nthey don\u0027t just pass them all and the each LSM mask off what they don\u0027t\nneed.  This patch should contain no functional changes to either the VFS or\nany LSM.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by:  Stephen D. Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "af4f136056c984b0aa67feed7d3170b958370b2f",
      "tree": "30b62cd9174044cbdfdddc1fe5e0f21e7ddde85c",
      "parents": [
        "5ad18a0d59ba9e65b3c8b2b489fd23bc6b3daf94"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Thu Jul 01 15:07:43 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 02 15:34:57 2010 +1000"
      },
      "message": "security: move LSM xattrnames to xattr.h\n\nMake the security extended attributes names global. Updated to move\nthe remaining Smack xattrs.\n\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "5fb49870e6d48d81d8ca0e1ef979073dc9a820f7",
      "tree": "136fdf4f4181907b89916f24a8e828c00ba3e6bd",
      "parents": [
        "253bfae6e0ad97554799affa0266052968a45808"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Thu Apr 22 14:46:19 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 02 15:34:39 2010 +1000"
      },
      "message": "selinux: Use current_security() when possible\n\nThere were a number of places using the following code pattern:\n\n  struct cred *cred \u003d current_cred();\n  struct task_security_struct *tsec \u003d cred-\u003esecurity;\n\n... which were simplified to the following:\n\n  struct task_security_struct *tsec \u003d current_security();\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "253bfae6e0ad97554799affa0266052968a45808",
      "tree": "c3599a18f06664160a55a20b30428ba4faf6e2c0",
      "parents": [
        "84914b7ed1c5e0f3199a5a6997022758a70fcaff"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Thu Apr 22 14:46:19 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 02 15:34:39 2010 +1000"
      },
      "message": "selinux: Convert socket related access controls to use socket labels\n\nAt present, the socket related access controls use a mix of inode and\nsocket labels; while there should be no practical difference (they\n_should_ always be the same), it makes the code more confusing.  This\npatch attempts to convert all of the socket related access control\npoints (with the exception of some of the inode/fd based controls) to\nuse the socket\u0027s own label.  In the process, I also converted the\nsocket_has_perm() function to take a \u0027sock\u0027 argument instead of a\n\u0027socket\u0027 since that was adding a bit more overhead in some cases.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "84914b7ed1c5e0f3199a5a6997022758a70fcaff",
      "tree": "a0ac9631fba19280516ec26819c884e6b086b183",
      "parents": [
        "d4f2d97841827cb876da8b607df05a3dab812416"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Thu Apr 22 14:46:18 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 02 15:34:38 2010 +1000"
      },
      "message": "selinux: Shuffle the sk_security_struct alloc and free routines\n\nThe sk_alloc_security() and sk_free_security() functions were only being\ncalled by the selinux_sk_alloc_security() and selinux_sk_free_security()\nfunctions so we just move the guts of the alloc/free routines to the\ncallers and eliminate a layer of indirection.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d4f2d97841827cb876da8b607df05a3dab812416",
      "tree": "8d3128128f465e23dbfc5ee4ccc50d9bc489f7d7",
      "parents": [
        "4d1e24514d80cb266231d0c1b6c02161970ad019"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Thu Apr 22 14:46:18 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 02 15:34:37 2010 +1000"
      },
      "message": "selinux: Consolidate sockcreate_sid logic\n\nConsolidate the basic sockcreate_sid logic into a single helper function\nwhich allows us to do some cleanups in the related code.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "4d1e24514d80cb266231d0c1b6c02161970ad019",
      "tree": "2de35d44c52dc1afa28c8f1bf294180817834a9d",
      "parents": [
        "e79acf0ef45e0b54aed47ebea7f25c540d3f527e"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Thu Apr 22 14:46:18 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 02 15:34:37 2010 +1000"
      },
      "message": "selinux: Set the peer label correctly on connected UNIX domain sockets\n\nCorrect a problem where we weren\u0027t setting the peer label correctly on\nthe client end of a pair of connected UNIX sockets.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "eb2d55a32b9a91bca0dea299eedb560bafa8b14e",
      "tree": "1ba1a701c56614fc03d282b572164e1c409a0df0",
      "parents": [
        "2fb9d2689a0041b88b25bc3187eada2968e25995"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 23 22:43:32 2010 +0200"
      },
      "committer": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Jul 16 09:48:46 2010 +0200"
      },
      "message": "rlimits: selinux, do rlimits changes under task_lock\n\nWhen doing an exec, selinux updates rlimits in its code of current\nprocess depending on current max. Make sure max or cur doesn\u0027t change\nin the meantime by grabbing task_lock which do_prlimit needs for\nchanging limits too.\n\nWhile at it, use rlimit helper for accessing CPU rlimit a line below.\nTo have a volatile access too.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "5ab46b345e418747b3a52f0892680c0745c4223c",
      "tree": "d7453221b7fc2764a7405b48b73b4ac7bf7a317a",
      "parents": [
        "8fd00b4d7014b00448eb33cf0590815304769798"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Aug 28 14:05:12 2009 +0200"
      },
      "committer": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Jul 16 09:48:45 2010 +0200"
      },
      "message": "rlimits: add task_struct to update_rlimit_cpu\n\nAdd task_struct as a parameter to update_rlimit_cpu to be able to set\nrlimit_cpu of different task than current.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "8fd00b4d7014b00448eb33cf0590815304769798",
      "tree": "f97cc5b4401dd038e539dae7ad66066383012866",
      "parents": [
        "2f7989efd4398d92b8adffce2e07dd043a0895fe"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Aug 26 18:41:16 2009 +0200"
      },
      "committer": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Jul 16 09:48:45 2010 +0200"
      },
      "message": "rlimits: security, add task_struct to setrlimit\n\nAdd task_struct to task_setrlimit of security_operations to be able to set\nrlimit of task other than current.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "e8c26255992474a2161c63ce9d385827302e4530",
      "tree": "08d247a53eca56a6e161ca784a4536b3ea7662f7",
      "parents": [
        "01a05b337a5b647909e1d6670f57e7202318a5fb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 23 06:36:54 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:17 2010 -0400"
      },
      "message": "switch selinux delayed superblock handling to iterate_supers()\n\n... kill their private list, while we are at it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fcaaade1db63bb2d6f7611d7824eb50d2f07a546",
      "tree": "9091dbdd0c9bd1e3af9ece6f5cce5c0d6c258253",
      "parents": [
        "cb84aa9b42b506299e5aea1ba4da26c03ab12877"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Wed Apr 28 15:57:57 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Apr 29 08:58:45 2010 +1000"
      },
      "message": "selinux: generalize disabling of execmem for plt-in-heap archs\n\nOn Tue, 2010-04-27 at 11:47 -0700, David Miller wrote:\n\u003e From: \"Tom \\\"spot\\\" Callaway\" \u003ctcallawa@redhat.com\u003e\n\u003e Date: Tue, 27 Apr 2010 14:20:21 -0400\n\u003e\n\u003e \u003e [root@apollo ~]$ cat /proc/2174/maps\n\u003e \u003e 00010000-00014000 r-xp 00000000 fd:00 15466577\n\u003e \u003e  /sbin/mingetty\n\u003e \u003e 00022000-00024000 rwxp 00002000 fd:00 15466577\n\u003e \u003e  /sbin/mingetty\n\u003e \u003e 00024000-00046000 rwxp 00000000 00:00 0\n\u003e \u003e  [heap]\n\u003e\n\u003e SELINUX probably barfs on the executable heap, the PLT is in the HEAP\n\u003e just like powerpc32 and that\u0027s why VM_DATA_DEFAULT_FLAGS has to set\n\u003e both executable and writable.\n\u003e\n\u003e You also can\u0027t remove the CONFIG_PPC32 ifdefs in selinux, since\n\u003e because of the VM_DATA_DEFAULT_FLAGS setting used still in that arch,\n\u003e the heap will always have executable permission, just like sparc does.\n\u003e You have to support those binaries forever, whether you like it or not.\n\u003e\n\u003e Let\u0027s just replace the CONFIG_PPC32 ifdef in SELINUX with CONFIG_PPC32\n\u003e || CONFIG_SPARC as in Tom\u0027s original patch and let\u0027s be done with\n\u003e this.\n\u003e\n\u003e In fact I would go through all the arch/ header files and check the\n\u003e VM_DATA_DEFAULT_FLAGS settings and add the necessary new ifdefs to the\n\u003e SELINUX code so that other platforms don\u0027t have the pain of having to\n\u003e go through this process too.\n\nTo avoid maintaining per-arch ifdefs, it seems that we could just\ndirectly use (VM_DATA_DEFAULT_FLAGS \u0026 VM_EXEC) as the basis for deciding\nwhether to enable or disable these checks.   VM_DATA_DEFAULT_FLAGS isn\u0027t\nconstant on some architectures but instead depends on\ncurrent-\u003epersonality, but we want this applied uniformly.  So we\u0027ll just\nuse the initial task state to determine whether or not to enable these\nchecks.\n\nSigned-off-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "dd3e7836bfe093fc611f715c323cf53be9252b27",
      "tree": "5e789062f3b74ed7c0ec370785eba234ee1ff472",
      "parents": [
        "d25d6fa1a95f465ff1ec4458ca15e30b2c8dffec"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Apr 07 15:08:46 2010 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Apr 08 09:17:02 2010 +1000"
      },
      "message": "selinux: always call sk_security_struct sksec\n\ntrying to grep everything that messes with a sk_security_struct isn\u0027t easy\nsince we don\u0027t always call it sksec.  Just rename everything sksec.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "c43a7523470dc2d9947fa114a0b54317975d4c04",
      "tree": "30a72ed1e9079f19b814263197761820f57c39ce",
      "parents": [
        "eaa5eec739637f32f8733d528ff0b94fd62b1214",
        "634a539e16bd7a1ba31c3f832baa725565cc9f96"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 09 12:46:47 2010 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 09 12:46:47 2010 +1100"
      },
      "message": "Merge branch \u0027next-queue\u0027 into next\n"
    },
    {
      "commit": "634a539e16bd7a1ba31c3f832baa725565cc9f96",
      "tree": "cdc26f167c3a2764fecdf3427b2303d28bf05671",
      "parents": [
        "c8563473c1259f5686ceb918c548c80132089f79"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Mar 04 21:59:03 2010 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Mar 08 09:33:53 2010 +1100"
      },
      "message": "selinux: const strings in tables\n\nSeveral places strings tables are used that should be declared\nconst.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ef57471a73b67a7b65fd8708fd55c77cb7c619af",
      "tree": "0cb8f8dea197999d79bf69d192719be69cd36244",
      "parents": [
        "1fcdc7c527010b144d3951f9ce25faedf264933c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Feb 26 01:56:16 2010 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Feb 26 14:54:23 2010 +1100"
      },
      "message": "SELinux: Make selinux_kernel_create_files_as() shouldn\u0027t just always return 0\n\nMake selinux_kernel_create_files_as() return an error when it gets one, rather\nthan unconditionally returning 0.\n\nWithout this, cachefiles doesn\u0027t return an error if the SELinux policy doesn\u0027t\nlet it create files with the label of the directory at the base of the cache.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "189b3b1c89761054fee3438f063d7f257306e2d8",
      "tree": "8099352fa731fca91b95d862ac0d7199f21ca54d",
      "parents": [
        "2ae3ba39389b51d8502123de0a59374bec899c4d"
      ],
      "author": {
        "name": "wzt.wzt@gmail.com",
        "email": "wzt.wzt@gmail.com",
        "time": "Tue Feb 23 23:15:28 2010 +0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Feb 24 08:11:02 2010 +1100"
      },
      "message": "Security: add static to security_ops and default_security_ops variable\n\nEnhance the security framework to support resetting the active security\nmodule. This eliminates the need for direct use of the security_ops and\ndefault_security_ops variables outside of security.c, so make security_ops\nand default_security_ops static. Also remove the secondary_ops variable as\na cleanup since there is no use for that. secondary_ops was originally used by\nSELinux to call the \"secondary\" security module (capability or dummy),\nbut that was replaced by direct calls to capability and the only\nremaining use is to save and restore the original security ops pointer\nvalue if SELinux is disabled by early userspace based on /etc/selinux/config.\nFurther, if we support this directly in the security framework, then we can\njust use \u0026default_security_ops for this purpose since that is now available.\n\nSigned-off-by: Zhitong Wang \u003czhitong.wangzt@alibaba-inc.com\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d78ca3cd733d8a2c3dcd88471beb1a15d973eed8",
      "tree": "a27ccf86f5f7df3cc987d0203ed0bff2db46db57",
      "parents": [
        "002345925e6c45861f60db6f4fc6236713fd8847"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Wed Feb 03 15:37:13 2010 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 04 14:20:41 2010 +1100"
      },
      "message": "syslog: use defined constants instead of raw numbers\n\nRight now the syslog \"type\" action are just raw numbers which makes\nthe source difficult to follow.  This patch replaces the raw numbers\nwith defined constants for some level of sanity.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nAcked-by: John Johansen \u003cjohn.johansen@canonical.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "002345925e6c45861f60db6f4fc6236713fd8847",
      "tree": "d7849eafe1755116597166bbebf43e2bee86cb76",
      "parents": [
        "0719aaf5ead7555b7b7a4a080ebf2826a871384e"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Wed Feb 03 15:36:43 2010 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Feb 04 14:20:12 2010 +1100"
      },
      "message": "syslog: distinguish between /proc/kmsg and syscalls\n\nThis allows the LSM to distinguish between syslog functions originating\nfrom /proc/kmsg access and direct syscalls.  By default, the commoncaps\nwill now no longer require CAP_SYS_ADMIN to read an opened /proc/kmsg\nfile descriptor.  For example the kernel syslog reader can now drop\nprivileges after opening /proc/kmsg, instead of staying privileged with\nCAP_SYS_ADMIN.  MAC systems that implement security_syslog have unchanged\nbehavior.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: John Johansen \u003cjohn.johansen@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "17740d89785aeb4143770923d67c293849414710",
      "tree": "58f332b0eb828017eb4571e2f7323e859b6c268d",
      "parents": [
        "45d28b097280a78893ce25a5d0db41e6a2717853"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Aug 28 10:47:16 2009 +0200"
      },
      "committer": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Mon Jan 04 11:27:18 2010 +0100"
      },
      "message": "SECURITY: selinux, fix update_rlimit_cpu parameter\n\nDon\u0027t pass current RLIMIT_RTTIME to update_rlimit_cpu() in\nselinux_bprm_committing_creds, since update_rlimit_cpu expects\nRLIMIT_CPU limit.\n\nUse proper rlim[RLIMIT_CPU].rlim_cur instead to fix that.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "28b4d5cc17c20786848cdc07b7ea237a309776bb",
      "tree": "bae406a4b17229dcce7c11be5073f7a67665e477",
      "parents": [
        "d29cecda036f251aee4947f47eea0fe9ed8cc931",
        "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 05 15:22:26 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 05 15:22:26 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/net/pcmcia/fmvj18x_cs.c\n\tdrivers/net/pcmcia/nmclan_cs.c\n\tdrivers/net/pcmcia/xirc2ps_cs.c\n\tdrivers/net/wireless/ray_cs.c\n"
    },
    {
      "commit": "8964be4a9a5ca8cab1219bb046db2f6d1936227c",
      "tree": "8838c73a03cc69c010b55928fce3725d17bc26a9",
      "parents": [
        "fa9a6fed87df1b50804405e700f8d30251d3aaf1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 20 15:35:04 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 20 15:35:04 2009 -0800"
      },
      "message": "net: rename skb-\u003eiif to skb-\u003eskb_iif\n\nTo help grep games, rename iif to skb_iif\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd8dbf2e6880e30c00b18600c962d0cb5a03c555",
      "tree": "24835aaf40cec5ceb2aeecccde9240ee173f70f1",
      "parents": [
        "6e65f92ff0d6f18580737321718d09035085a3fb"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Nov 03 16:35:32 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Nov 10 09:33:46 2009 +1100"
      },
      "message": "security: report the module name to security_module_request\n\nFor SELinux to do better filtering in userspace we send the name of the\nmodule along with the AVC denial when a program is denied module_request.\n\nExample output:\n\ntype\u003dSYSCALL msg\u003daudit(11/03/2009 10:59:43.510:9) : arch\u003dx86_64 syscall\u003dwrite success\u003dyes exit\u003d2 a0\u003d3 a1\u003d7fc28c0d56c0 a2\u003d2 a3\u003d7fffca0d7440 items\u003d0 ppid\u003d1727 pid\u003d1729 auid\u003dunset uid\u003droot gid\u003droot euid\u003droot suid\u003droot fsuid\u003droot egid\u003droot sgid\u003droot fsgid\u003droot tty\u003d(none) ses\u003dunset comm\u003drpc.nfsd exe\u003d/usr/sbin/rpc.nfsd subj\u003dsystem_u:system_r:nfsd_t:s0 key\u003d(null)\ntype\u003dAVC msg\u003daudit(11/03/2009 10:59:43.510:9) : avc:  denied  { module_request } for  pid\u003d1729 comm\u003drpc.nfsd kmod\u003d\"net-pf-10\" scontext\u003dsystem_u:system_r:nfsd_t:s0 tcontext\u003dsystem_u:system_r:kernel_t:s0 tclass\u003dsystem\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "941fc5b2bf8f7dd1d0a9c502e152fa719ff6578e",
      "tree": "c2f579e6fcc5bee6659527db7ccfb661acfe196c",
      "parents": [
        "8753f6bec352392b52ed9b5e290afb34379f4612"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Thu Oct 01 14:48:23 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Oct 07 21:56:46 2009 +1100"
      },
      "message": "selinux: drop remapping of netlink classes\n\nDrop remapping of netlink classes and bypass of permission checking\nbased on netlink message type for policy version \u003c 18.  This removes\ncompatibility code introduced when the original single netlink\nsecurity class used for all netlink sockets was split into\nfiner-grained netlink classes based on netlink protocol and when\npermission checking was added based on netlink message type in Linux\n2.6.8.  The only known distribution that shipped with SELinux and\npolicy \u003c 18 was Fedora Core 2, which was EOL\u0027d on 2005-04-11.\n\nGiven that the remapping code was never updated to address the\naddition of newer netlink classes, that the corresponding userland\nsupport was dropped in 2005, and that the assumptions made by the\nremapping code about the fixed ordering among netlink classes in the\npolicy may be violated in the future due to the dynamic class/perm\ndiscovery support, we should drop this compatibility code now.\n\nSigned-off-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "af8ff04917169805b151280155bf772d3ca9bec0",
      "tree": "1a1ec17d0926b4bbe9f8b243231582dde02ef1f5",
      "parents": [
        "1669b049db50fc7f1d4e694fb115a0f408c63fce"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Sep 20 21:23:01 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Sep 30 19:17:06 2009 +1000"
      },
      "message": "SELinux: reset the security_ops before flushing the avc cache\n\nThis patch resets the security_ops to the secondary_ops before it flushes\nthe avc.  It\u0027s still possible that a task on another processor could have\nalready passed the security_ops dereference and be executing an selinux hook\nfunction which would add a new avc entry.  That entry would still not be\nfreed.  This should however help to reduce the number of needless avcs the\nkernel has when selinux is disabled at run time.  There is no wasted\nmemory if selinux is disabled on the command line or not compiled.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "0b7570e77f7c3abd43107dabc47ea89daf9a1cba",
      "tree": "8dd93b4a189b4e98384d4470a289ecfb7818cc26",
      "parents": [
        "a2322e1d272938d192d8c24cdacf57c0c7a2683f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Sep 23 15:56:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:20:59 2009 -0700"
      },
      "message": "do_wait() wakeup optimization: change __wake_up_parent() to use filtered wakeup\n\nRatan Nalumasu reported that in a process with many threads doing\nunnecessary wakeups.  Every waiting thread in the process wakes up to loop\nthrough the children and see that the only ones it cares about are still\nnot ready.\n\nNow that we have struct wait_opts we can change do_wait/__wake_up_parent\nto use filtered wakeups.\n\nWe can make child_wait_callback() more clever later, right now it only\nchecks eligible_child().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ratan Nalumasu \u003crnalumasu@gmail.com\u003e\nCc: Vitaly Mayatskikh \u003cvmayatsk@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nTested-by: Valdis Kletnieks \u003cvaldis.kletnieks@vt.edu\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ddd29ec6597125c830f7badb608a86c98b936b64",
      "tree": "e6df1ef9a635179de78650d006ecb4cd1453ebb1",
      "parents": [
        "1ee65e37e904b959c24404139f5752edc66319d5"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Wed Sep 09 14:25:37 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Sep 10 10:11:29 2009 +1000"
      },
      "message": "sysfs: Add labeling support for sysfs\n\nThis patch adds a setxattr handler to the file, directory, and symlink\ninode_operations structures for sysfs. The patch uses hooks introduced in the\nprevious patch to handle the getting and setting of security information for\nthe sysfs inodes. As was suggested by Eric Biederman the struct iattr in the\nsysfs_dirent structure has been replaced by a structure which contains the\niattr, secdata and secdata length to allow the changes to persist in the event\nthat the inode representing the sysfs_dirent is evicted. Because sysfs only\nstores this information when a change is made all the optional data is moved\ninto one dynamically allocated field.\n\nThis patch addresses an issue where SELinux was denying virtd access to the PCI\nconfiguration entries in sysfs. The lack of setxattr handlers for sysfs\nrequired that a single label be assigned to all entries in sysfs. Granting virtd\naccess to every entry in sysfs is not an acceptable solution so fine grained\nlabeling of sysfs is required such that individual entries can be labeled\nappropriately.\n\n[sds:  Fixed compile-time warnings, coding style, and setting of inode security init flags.]\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nSigned-off-by: Stephen D. Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "1ee65e37e904b959c24404139f5752edc66319d5",
      "tree": "587c1ef70ae7ee41a7b9b531161a4ef5689838f7",
      "parents": [
        "b1ab7e4b2a88d3ac13771463be8f302ce1616cfc"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Thu Sep 03 14:25:57 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Sep 10 10:11:24 2009 +1000"
      },
      "message": "LSM/SELinux: inode_{get,set,notify}secctx hooks to access LSM security context information.\n\nThis patch introduces three new hooks. The inode_getsecctx hook is used to get\nall relevant information from an LSM about an inode. The inode_setsecctx is\nused to set both the in-core and on-disk state for the inode based on a context\nderived from inode_getsecctx.The final hook inode_notifysecctx will notify the\nLSM of a change for the in-core state of the inode in question. These hooks are\nfor use in the labeled NFS code and addresses concerns of how to set security\non an inode in a multi-xattr LSM. For historical reasons Stephen Smalley\u0027s\nexplanation of the reason for these hooks is pasted below.\n\nQuote Stephen Smalley\n\ninode_setsecctx:  Change the security context of an inode.  Updates the\nin core security context managed by the security module and invokes the\nfs code as needed (via __vfs_setxattr_noperm) to update any backing\nxattrs that represent the context.  Example usage:  NFS server invokes\nthis hook to change the security context in its incore inode and on the\nbacking file system to a value provided by the client on a SETATTR\noperation.\n\ninode_notifysecctx:  Notify the security module of what the security\ncontext of an inode should be.  Initializes the incore security context\nmanaged by the security module for this inode.  Example usage:  NFS\nclient invokes this hook to initialize the security context in its\nincore inode to the value provided by the server for the file when the\nserver returned the file\u0027s attributes to the client.\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ee18d64c1f632043a02e6f5ba5e045bb26a5465f",
      "tree": "80b5a4d530ec7d5fd69799920f0db7b78aba6b9d",
      "parents": [
        "d0420c83f39f79afb82010c2d2cafd150eef651b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 02 09:14:21 2009 +0100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Sep 02 21:29:22 2009 +1000"
      },
      "message": "KEYS: Add a keyctl to install a process\u0027s session keyring on its parent [try #6]\n\nAdd a keyctl to install a process\u0027s session keyring onto its parent.  This\nreplaces the parent\u0027s session keyring.  Because the COW credential code does\nnot permit one process to change another process\u0027s credentials directly, the\nchange is deferred until userspace next starts executing again.  Normally this\nwill be after a wait*() syscall.\n\nTo support this, three new security hooks have been provided:\ncred_alloc_blank() to allocate unset security creds, cred_transfer() to fill in\nthe blank security creds and key_session_to_parent() - which asks the LSM if\nthe process may replace its parent\u0027s session keyring.\n\nThe replacement may only happen if the process has the same ownership details\nas its parent, and the process has LINK permission on the session keyring, and\nthe session keyring is owned by the process, and the LSM permits it.\n\nNote that this requires alteration to each architecture\u0027s notify_resume path.\nThis has been done for all arches barring blackfin, m68k* and xtensa, all of\nwhich need assembly alteration to support TIF_NOTIFY_RESUME.  This allows the\nreplacement to be performed at the point the parent process resumes userspace\nexecution.\n\nThis allows the userspace AFS pioctl emulation to fully emulate newpag() and\nthe VIOCSETTOK and VIOCSETTOK2 pioctls, all of which require the ability to\nalter the parent process\u0027s PAG membership.  However, since kAFS doesn\u0027t use\nPAGs per se, but rather dumps the keys into the session keyring, the session\nkeyring of the parent must be replaced if, for example, VIOCSETTOK is passed\nthe newpag flag.\n\nThis can be tested with the following program:\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003cstdlib.h\u003e\n\t#include \u003ckeyutils.h\u003e\n\n\t#define KEYCTL_SESSION_TO_PARENT\t18\n\n\t#define OSERROR(X, S) do { if ((long)(X) \u003d\u003d -1) { perror(S); exit(1); } } while(0)\n\n\tint main(int argc, char **argv)\n\t{\n\t\tkey_serial_t keyring, key;\n\t\tlong ret;\n\n\t\tkeyring \u003d keyctl_join_session_keyring(argv[1]);\n\t\tOSERROR(keyring, \"keyctl_join_session_keyring\");\n\n\t\tkey \u003d add_key(\"user\", \"a\", \"b\", 1, keyring);\n\t\tOSERROR(key, \"add_key\");\n\n\t\tret \u003d keyctl(KEYCTL_SESSION_TO_PARENT);\n\t\tOSERROR(ret, \"KEYCTL_SESSION_TO_PARENT\");\n\n\t\treturn 0;\n\t}\n\nCompiled and linked with -lkeyutils, you should see something like:\n\n\t[dhowells@andromeda ~]$ keyctl show\n\tSession Keyring\n\t       -3 --alswrv   4043  4043  keyring: _ses\n\t355907932 --alswrv   4043    -1   \\_ keyring: _uid.4043\n\t[dhowells@andromeda ~]$ /tmp/newpag\n\t[dhowells@andromeda ~]$ keyctl show\n\tSession Keyring\n\t       -3 --alswrv   4043  4043  keyring: _ses\n\t1055658746 --alswrv   4043  4043   \\_ user: a\n\t[dhowells@andromeda ~]$ /tmp/newpag hello\n\t[dhowells@andromeda ~]$ keyctl show\n\tSession Keyring\n\t       -3 --alswrv   4043  4043  keyring: hello\n\t340417692 --alswrv   4043  4043   \\_ user: a\n\nWhere the test program creates a new session keyring, sticks a user key named\n\u0027a\u0027 into it and then installs it on its parent.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "e0e817392b9acf2c98d3be80c233dddb1b52003d",
      "tree": "ee680c020039313c9f9c40ab3542bb30a7363381",
      "parents": [
        "ed6d76e4c32de0c2ad5f1d572b948ef49e465176"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Sep 02 09:13:40 2009 +0100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Sep 02 21:29:01 2009 +1000"
      },
      "message": "CRED: Add some configurable debugging [try #6]\n\nAdd a config option (CONFIG_DEBUG_CREDENTIALS) to turn on some debug checking\nfor credential management.  The additional code keeps track of the number of\npointers from task_structs to any given cred struct, and checks to see that\nthis number never exceeds the usage count of the cred struct (which includes\nall references, not just those from task_structs).\n\nFurthermore, if SELinux is enabled, the code also checks that the security\npointer in the cred struct is never seen to be invalid.\n\nThis attempts to catch the bug whereby inode_has_perm() faults in an nfsd\nkernel thread on seeing cred-\u003esecurity be a NULL pointer (it appears that the\ncredential struct has been previously released):\n\n\thttp://www.kerneloops.org/oops.php?number\u003d252883\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ed6d76e4c32de0c2ad5f1d572b948ef49e465176",
      "tree": "893914916ad849fefed72df48bca0bf9c78e392d",
      "parents": [
        "2b980dbd77d229eb60588802162c9659726b11f4"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Fri Aug 28 18:12:49 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Sep 01 08:29:52 2009 +1000"
      },
      "message": "selinux: Support for the new TUN LSM hooks\n\nAdd support for the new TUN LSM hooks: security_tun_dev_create(),\nsecurity_tun_dev_post_create() and security_tun_dev_attach().  This includes\nthe addition of a new object class, tun_socket, which represents the socks\nassociated with TUN devices.  The _tun_dev_create() and _tun_dev_post_create()\nhooks are fairly similar to the standard socket functions but _tun_dev_attach()\nis a bit special.  The _tun_dev_attach() is unique because it involves a\ndomain attaching to an existing TUN device and its associated tun_socket\nobject, an operation which does not exist with standard sockets and most\nclosely resembles a relabel operation.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: Eric Paris \u003ceparis@parisplace.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "bc6a6008e5e3c7a30191a7f19ab19e85b14b1705",
      "tree": "46504659c2303224cb3c8ad13e1d1b580351b41b",
      "parents": [
        "ece13879e74313e62109e0755dd3d4f172df89e2"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Aug 20 19:29:02 2009 -0700"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Aug 21 14:25:30 2009 +1000"
      },
      "message": "selinux: adjust rules for ATTR_FORCE\n\nAs suggested by OGAWA Hirofumi in thread:\nhttp://lkml.org/lkml/2009/8/7/132, we should let selinux_inode_setattr()\nto match our ATTR_* rules.  ATTR_FORCE should not force things like\nATTR_SIZE.\n\n[hirofumi@mail.parknet.co.jp: tweaks]\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Eugene Teo \u003ceteo@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ece13879e74313e62109e0755dd3d4f172df89e2",
      "tree": "1fe96ab392c1ff203a6fb3f67ed0ed577056572e",
      "parents": [
        "b08dc3eba0c34027010caeda258f495074ae3a54",
        "6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 20 09:18:42 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 20 09:18:42 2009 +1000"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/Kconfig\n\nManual fix.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "788084aba2ab7348257597496befcbccabdc98a3",
      "tree": "2da42d746d67b16ef705229a1b5a3528ec19c725",
      "parents": [
        "8cf948e744e0218af604c32edecde10006dc8e9e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 31 12:54:11 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 17 15:09:11 2009 +1000"
      },
      "message": "Security/SELinux: seperate lsm specific mmap_min_addr\n\nCurrently SELinux enforcement of controls on the ability to map low memory\nis determined by the mmap_min_addr tunable.  This patch causes SELinux to\nignore the tunable and instead use a seperate Kconfig option specific to how\nmuch space the LSM should protect.\n\nThe tunable will now only control the need for CAP_SYS_RAWIO and SELinux\npermissions will always protect the amount of low memory designated by\nCONFIG_LSM_MMAP_MIN_ADDR.\n\nThis allows users who need to disable the mmap_min_addr controls (usual reason\nbeing they run WINE as a non-root user) to do so and still have SELinux\ncontrols preventing confined domains (like a web server) from being able to\nmap some area of low memory.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "8cf948e744e0218af604c32edecde10006dc8e9e",
      "tree": "c5d48e9210976e28e5ce07d69ca9b87d4c437389",
      "parents": [
        "9c0d90103c7e0eb6e638e5b649e9f6d8d9c1b4b3"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 31 12:54:05 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 17 15:08:48 2009 +1000"
      },
      "message": "SELinux: call cap_file_mmap in selinux_file_mmap\n\nCurrently SELinux does not check CAP_SYS_RAWIO in the file_mmap hook.  This\nmeans there is no DAC check on the ability to mmap low addresses in the\nmemory space.  This function adds the DAC check for CAP_SYS_RAWIO while\nmaintaining the selinux check on mmap_zero.  This means that processes\nwhich need to mmap low memory will need CAP_SYS_RAWIO and mmap_zero but will\nNOT need the SELinux sys_rawio capability.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2bf49690325b62480a42f7afed5e9f164173c570",
      "tree": "bc8525f6a45ea3ffaed9449084df7644bcd4e3c2",
      "parents": [
        "f322abf83feddc3c37c3a91794e0c5aece4af18e"
      ],
      "author": {
        "name": "Thomas Liu",
        "email": "tliu@redhat.com",
        "time": "Tue Jul 14 12:14:09 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 17 08:37:18 2009 +1000"
      },
      "message": "SELinux: Convert avc_audit to use lsm_audit.h\n\nConvert avc_audit in security/selinux/avc.c to use lsm_audit.h,\nfor better maintainability.\n\n - changed selinux to use common_audit_data instead of\n    avc_audit_data\n - eliminated code in avc.c and used code from lsm_audit.h instead.\n\nHad to add a LSM_AUDIT_NO_AUDIT to lsm_audit.h so that avc_audit\ncan call common_lsm_audit and do the pre and post callbacks without\ndoing the actual dump.  This makes it so that the patched version\nbehaves the same way as the unpatched version.\n\nAlso added a denied field to the selinux_audit_data private space,\nonce again to make it so that the patched version behaves like the\nunpatched.\n\nI\u0027ve tested and confirmed that AVCs look the same before and after\nthis patch.\n\nSigned-off-by: Thomas Liu \u003ctliu@redhat.com\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "25354c4fee169710fd9da15f3bb2abaa24dcf933",
      "tree": "7fb462945c15ce09392ae858c8ae757290b5ed2d",
      "parents": [
        "9188499cdb117d86a1ea6b04374095b098d56936"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Aug 13 09:45:03 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Aug 14 11:18:40 2009 +1000"
      },
      "message": "SELinux: add selinux_kernel_module_request\n\nThis patch adds a new selinux hook so SELinux can arbitrate if a given\nprocess should be allowed to trigger a request for the kernel to try to\nload a module.  This is a different operation than a process trying to load\na module itself, which is already protected by CAP_SYS_MODULE.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "314dabb83a547ec4da819e8cbc78fac9cec605cd",
      "tree": "8e32efc47c52a218bfb4eb517ae2ba14d496adcc",
      "parents": [
        "85dfd81dc57e8183a277ddd7a56aa65c96f3f487"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 10 22:00:13 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Aug 11 08:37:13 2009 +1000"
      },
      "message": "SELinux: fix memory leakage in /security/selinux/hooks.c\n\nFix memory leakage in /security/selinux/hooks.c\n\nThe buffer always needs to be freed here; we either error\nout or allocate more memory.\n\nReported-by: iceberg \u003cstrakh@ispras.ru\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n"
    },
    {
      "commit": "a2551df7ec568d87793d2eea4ca744e86318f205",
      "tree": "3bdd4257bf757d9d1d64d9d7aa10cd144cd3a657",
      "parents": [
        "84336d1a77ccd2c06a730ddd38e695c2324a7386"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 31 12:54:11 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 06 09:02:23 2009 +1000"
      },
      "message": "Security/SELinux: seperate lsm specific mmap_min_addr\n\nCurrently SELinux enforcement of controls on the ability to map low memory\nis determined by the mmap_min_addr tunable.  This patch causes SELinux to\nignore the tunable and instead use a seperate Kconfig option specific to how\nmuch space the LSM should protect.\n\nThe tunable will now only control the need for CAP_SYS_RAWIO and SELinux\npermissions will always protect the amount of low memory designated by\nCONFIG_LSM_MMAP_MIN_ADDR.\n\nThis allows users who need to disable the mmap_min_addr controls (usual reason\nbeing they run WINE as a non-root user) to do so and still have SELinux\ncontrols preventing confined domains (like a web server) from being able to\nmap some area of low memory.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "84336d1a77ccd2c06a730ddd38e695c2324a7386",
      "tree": "9eeb414eff58e5b7165daa36c2ce3c2e7422632b",
      "parents": [
        "7c73875e7dda627040b12c19b01db634fa7f0fd1"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 31 12:54:05 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 06 09:02:21 2009 +1000"
      },
      "message": "SELinux: call cap_file_mmap in selinux_file_mmap\n\nCurrently SELinux does not check CAP_SYS_RAWIO in the file_mmap hook.  This\nmeans there is no DAC check on the ability to mmap low addresses in the\nmemory space.  This function adds the DAC check for CAP_SYS_RAWIO while\nmaintaining the selinux check on mmap_zero.  This means that processes\nwhich need to mmap low memory will need CAP_SYS_RAWIO and mmap_zero but will\nNOT need the SELinux sys_rawio capability.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "5bb459bb45d1ad3c177485dcf0af01580aa31125",
      "tree": "fd6d11d424d222b97f56d8b870bdecbacaab8a17",
      "parents": [
        "d2e3ee9b29f5de5b01e611b04e6fb29760589b01"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jul 10 03:48:23 2009 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jul 17 09:10:42 2009 +1000"
      },
      "message": "kernel: rename is_single_threaded(task) to current_is_single_threaded(void)\n\n- is_single_threaded(task) is not safe unless task \u003d\u003d current,\n  we can\u0027t use task-\u003esignal or task-\u003emm.\n\n- it doesn\u0027t make sense unless task \u003d\u003d current, the task can\n  fork right after the check.\n\nRename it to current_is_single_threaded() and kill the argument.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "be940d6279c30a2d7c4e8d1d5435f957f594d66d",
      "tree": "965805d563cb756879fd3595230c3ca205da76d1",
      "parents": [
        "b3a633c8527ef155b1a4e22e8f5abc58f7af54c9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jul 13 10:39:36 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jul 13 10:39:36 2009 +1000"
      },
      "message": "Revert \"SELinux: Convert avc_audit to use lsm_audit.h\"\n\nThis reverts commit 8113a8d80f4c6a3dc3724b39b470f3fee9c426b6.\n\nThe patch causes a stack overflow on my system during boot.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "8113a8d80f4c6a3dc3724b39b470f3fee9c426b6",
      "tree": "27eb775108daaff8390ad564010a9f2fbd5187a2",
      "parents": [
        "65c3f0a2d0f72d210c879e4974c2d222b7951321"
      ],
      "author": {
        "name": "Thomas Liu",
        "email": "tliu@redhat.com",
        "time": "Fri Jul 10 10:31:04 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jul 13 07:54:48 2009 +1000"
      },
      "message": "SELinux: Convert avc_audit to use lsm_audit.h\n\nConvert avc_audit in security/selinux/avc.c to use lsm_audit.h,\nfor better maintainability and for less code duplication.\n\n - changed selinux to use common_audit_data instead of\n   avc_audit_data\n - eliminated code in avc.c and used code from lsm_audit.h instead.\n\nI have tested to make sure that the avcs look the same before and\nafter this patch.\n\nSigned-off-by: Thomas Liu \u003ctliu@redhat.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "89c86576ecde504da1eeb4f4882b2189ac2f9c4a",
      "tree": "94674a48becd9cfde298e9fe6b58db8da28fe238",
      "parents": [
        "a893a84e8799270fbec5c3708d001650aab47138"
      ],
      "author": {
        "name": "Thomas Liu",
        "email": "tliu@redhat.com",
        "time": "Wed Jun 24 17:58:05 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jun 25 08:29:16 2009 +1000"
      },
      "message": "selinux: clean up avc node cache when disabling selinux\n\nAdded a call to free the avc_node_cache when inside selinux_disable because\nit should not waste resources allocated during avc_init if SELinux is disabled\nand the cache will never be used.\n\nSigned-off-by: Thomas Liu \u003ctliu@redhat.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9e48858f7d36a6a3849f1d1b40c3bf5624b4ee7c",
      "tree": "5d8fe586c5b1bbab36acc3b76b2b4dd1bc538968",
      "parents": [
        "86abcf9cebf7b5ceb33facde297face5ec4d2260"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 07 19:26:19 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jun 25 00:18:05 2009 +1000"
      },
      "message": "security: rename ptrace_may_access \u003d\u003e ptrace_access_check\n\nThe -\u003eptrace_may_access() methods are named confusingly - the real\nptrace_may_access() returns a bool, while these security checks have\na retval convention.\n\nRename it to ptrace_access_check, to reduce the confusion factor.\n\n[ Impact: cleanup, no code changed ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "20dda18be9035c487c2e9534e4d18d2a1e1deade",
      "tree": "5d50d2727e1495ccd8fa2a2340332f25c290670c",
      "parents": [
        "56f8c9bc410deb55f21698e6a0d59f559ae1d794"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Mon Jun 22 14:54:53 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Jun 23 08:19:58 2009 +1000"
      },
      "message": "selinux: restore optimization to selinux_file_permission\n\nRestore the optimization to skip revalidation in selinux_file_permission\nif nothing has changed since the dentry_open checks, accidentally removed by\n389fb800.  Also remove redundant test from selinux_revalidate_file_permission.\n\nSigned-off-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9cbc1cb8cd46ce1f7645b9de249b2ce8460129bb",
      "tree": "8d104ec2a459346b99413b0b77421ca7b9936c1a",
      "parents": [
        "ca44d6e60f9de26281fda203f58b570e1748c015",
        "45e3e1935e2857c54783291107d33323b3ef33c8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 15 03:02:23 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 15 03:02:23 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/scsi/fcoe/fcoe.c\n\tnet/core/drop_monitor.c\n\tnet/core/net-traces.c\n"
    },
    {
      "commit": "adf30907d63893e4208dfe3f5c88ae12bc2f25d5",
      "tree": "0f07542bb95de2ad537540868aba6cf87a86e17d",
      "parents": [
        "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:04 2009 -0700"
      },
      "message": "net: skb-\u003edst accessors\n\nDefine three accessors to get/set dst attached to a skb\n\nstruct dst_entry *skb_dst(const struct sk_buff *skb)\n\nvoid skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)\n\nvoid skb_dst_drop(struct sk_buff *skb)\nThis one should replace occurrences of :\ndst_release(skb-\u003edst)\nskb-\u003edst \u003d NULL;\n\nDelete skb-\u003edst field\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d254117099d711f215e62427f55dfb8ebd5ad011",
      "tree": "0848ff8dd74314fec14a86497f8d288c86ba7c65",
      "parents": [
        "07ff7a0b187f3951788f64ae1f30e8109bc8e9eb",
        "8c9ed899b44c19e81859fbb0e9d659fe2f8630fc"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri May 08 17:56:47 2009 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri May 08 17:56:47 2009 +1000"
      },
      "message": "Merge branch \u0027master\u0027 into next\n"
    },
    {
      "commit": "65c90bca0dba56f60dc4ce2a529140c3cc440f22",
      "tree": "fd8f5e6338f04ba47fe91de1303b92a22da78daf",
      "parents": [
        "091438dd5668396328a3419abcbc6591159eb8d1"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Mon May 04 15:43:18 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue May 05 08:31:03 2009 +1000"
      },
      "message": "selinux: Fix send_sigiotask hook\n\nThe CRED patch incorrectly converted the SELinux send_sigiotask hook to\nuse the current task SID rather than the target task SID in its\npermission check, yielding the wrong permission check.  This fixes the\nhook function.  Detected by the ltp selinux testsuite and confirmed to\ncorrect the test failure.\n\nSigned-off-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ecd6de3c88e8cbcad175b2eab48ba05c2014f7b6",
      "tree": "ab9257bbe3f3bc9379cf0d252110f9abffba7751",
      "parents": [
        "3bcac0263f0b45e67a64034ebcb69eb9abb742f4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Apr 29 16:02:24 2009 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Apr 30 09:08:48 2009 +1000"
      },
      "message": "selinux: selinux_bprm_committed_creds() should wake up -\u003ereal_parent, not -\u003eparent.\n\nWe shouldn\u0027t worry about the tracer if current is ptraced, exec() must not\nsucceed if the tracer has no rights to trace this task after cred changing.\nBut we should notify -\u003ereal_parent which is, well, real parent.\n\nAlso, we don\u0027t need _irq to take tasklist, and we don\u0027t need parent\u0027s\n-\u003esiglock to wake_up_interruptible(real_parent-\u003esignal-\u003ewait_chldexit).\nSince we hold tasklist, real_parent-\u003esignal must be stable. Otherwise\nspin_lock(siglock) is not safe too and can\u0027t help anyway.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "3bcac0263f0b45e67a64034ebcb69eb9abb742f4",
      "tree": "33f4db08edaa12e1c20df348e2fa28c7c2198ebe",
      "parents": [
        "88c48db9788862d0290831d081bc3c64e13b592f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Apr 29 13:45:05 2009 +0100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Apr 30 09:07:13 2009 +1000"
      },
      "message": "SELinux: Don\u0027t flush inherited SIGKILL during execve()\n\nDon\u0027t flush inherited SIGKILL during execve() in SELinux\u0027s post cred commit\nhook.  This isn\u0027t really a security problem: if the SIGKILL came before the\ncredentials were changed, then we were right to receive it at the time, and\nshould honour it; if it came after the creds were changed, then we definitely\nshould honour it; and in any case, all that will happen is that the process\nwill be scrapped before it ever returns to userspace.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "88c48db9788862d0290831d081bc3c64e13b592f",
      "tree": "5d0e0aedd2c5c0ea8db4007cac66f930ddbe73d7",
      "parents": [
        "19e4529ee7345079eeacc8e40cf69a304a64dc23"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Apr 29 14:00:25 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Apr 30 08:45:56 2009 +1000"
      },
      "message": "SELinux: drop secondary_ops-\u003esysctl\n\nWe are still calling secondary_ops-\u003esysctl even though the capabilities\nmodule does not define a sysctl operation.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "58bfbb51ff2b0fdc6c732ff3d72f50aa632b67a2",
      "tree": "41132587adbb6816b56b9d28105826b8ef0fd7b9",
      "parents": [
        "389fb800ac8be2832efedd19978a2b8ced37eb61"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Fri Mar 27 17:10:41 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Mar 28 15:01:37 2009 +1100"
      },
      "message": "selinux: Remove the \"compat_net\" compatibility code\n\nThe SELinux \"compat_net\" is marked as deprecated, the time has come to\nfinally remove it from the kernel.  Further code simplifications are\nlikely in the future, but this patch was intended to be a simple,\nstraight-up removal of the compat_net code.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "389fb800ac8be2832efedd19978a2b8ced37eb61",
      "tree": "fa0bc16050dfb491aa05f76b54fa4c167de96376",
      "parents": [
        "284904aa79466a4736f4c775fdbe5c7407fa136c"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Fri Mar 27 17:10:34 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Mar 28 15:01:36 2009 +1100"
      },
      "message": "netlabel: Label incoming TCP connections correctly in SELinux\n\nThe current NetLabel/SELinux behavior for incoming TCP connections works but\nonly through a series of happy coincidences that rely on the limited nature of\nstandard CIPSO (only able to convey MLS attributes) and the write equality\nimposed by the SELinux MLS constraints.  The problem is that network sockets\ncreated as the result of an incoming TCP connection were not on-the-wire\nlabeled based on the security attributes of the parent socket but rather based\non the wire label of the remote peer.  The issue had to do with how IP options\nwere managed as part of the network stack and where the LSM hooks were in\nrelation to the code which set the IP options on these newly created child\nsockets.  While NetLabel/SELinux did correctly set the socket\u0027s on-the-wire\nlabel it was promptly cleared by the network stack and reset based on the IP\noptions of the remote peer.\n\nThis patch, in conjunction with a prior patch that adjusted the LSM hook\nlocations, works to set the correct on-the-wire label format for new incoming\nconnections through the security_inet_conn_request() hook.  Besides the\ncorrect behavior there are many advantages to this change, the most significant\nis that all of the NetLabel socket labeling code in SELinux now lives in hooks\nwhich can return error codes to the core stack which allows us to finally get\nride of the selinux_netlbl_inode_permission() logic which greatly simplfies\nthe NetLabel/SELinux glue code.  In the process of developing this patch I\nalso ran into a small handful of AF_INET6 cleanliness issues that have been\nfixed which should make the code safer and easier to extend in the future.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "df7f54c012b92ec93d56b68547351dcdf8a163d3",
      "tree": "07039542feca94d4d467c430521319950819a4e1",
      "parents": [
        "dd34b5d75a0405814a3de83f02a44ac297e81629"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Mar 09 14:35:58 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 10 08:40:02 2009 +1100"
      },
      "message": "SELinux: inode_doinit_with_dentry drop no dentry printk\n\nDrop the printk message when an inode is found without an associated\ndentry.  This should only happen when userspace can\u0027t be accessing those\ninodes and those labels will get set correctly on the next d_instantiate.\nThus there is no reason to send this message.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "6a25b27d602aac24f3c642722377ba5d778417ec",
      "tree": "ba334617326c65ccd98e7f4733c75fa0ac2ae5ca",
      "parents": [
        "113a0e4590881ce579ca992a80ddc562b3372ede"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Mar 05 13:40:35 2009 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Mar 06 08:50:18 2009 +1100"
      },
      "message": "SELinux: open perm for sock files\n\nWhen I did open permissions I didn\u0027t think any sockets would have an open.\nTurns out AF_UNIX sockets can have an open when they are bound to the\nfilesystem namespace.  This patch adds a new SOCK_FILE__OPEN permission.\nIt\u0027s safe to add this as the open perms are already predicated on\ncapabilities and capabilities means we have unknown perm handling so\nsystems should be as backwards compatible as the policy wants them to\nbe.\n\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d475224\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "4cb912f1d1447077160ace9ce3b3a10696dd74e5",
      "tree": "916f112de07ca626b0f398a0fc85943f15306146",
      "parents": [
        "4ba0a8ad63e12a03ae01c039482967cc496b9174"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Feb 12 14:50:05 2009 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Feb 14 09:22:30 2009 +1100"
      },
      "message": "SELinux: NULL terminate al contexts from disk\n\nWhen a context is pulled in from disk we don\u0027t know that it is null\nterminated.  This patch forecebly null terminates contexts when we pull\nthem from disk.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "4ba0a8ad63e12a03ae01c039482967cc496b9174",
      "tree": "340aa55aa98cc42c33cff4297f0813f14f46b121",
      "parents": [
        "200ac532a4bc3134147ca06686c56a6420e66c46"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Feb 12 15:01:10 2009 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Feb 14 09:22:27 2009 +1100"
      },
      "message": "SELinux: better printk when file with invalid label found\n\nCurrently when an inode is read into the kernel with an invalid label\nstring (can often happen with removable media) we output a string like:\n\nSELinux: inode_doinit_with_dentry:  context_to_sid([SOME INVALID LABEL])\nreturned -22 dor dev\u003d[blah] ino\u003d[blah]\n\nWhich is all but incomprehensible to all but a couple of us.  Instead, on\nEINVAL only, I plan to output a much more user friendly string and I plan to\nratelimit the printk since many of these could be generated very rapidly.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "200ac532a4bc3134147ca06686c56a6420e66c46",
      "tree": "f9b1779458df389052c758ea23cf61695a021e67",
      "parents": [
        "b53fab9d48e9bd9aeba0b500dec550becd981a91"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Feb 12 15:01:04 2009 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Feb 14 09:22:24 2009 +1100"
      },
      "message": "SELinux: call capabilities code directory\n\nFor cleanliness and efficiency remove all calls to secondary-\u003e and instead\ncall capabilities code directly.  capabilities are the only module that\nselinux stacks with and so the code should not indicate that other stacking\nmight be possible.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "5626d3e86141390c8efc7bcb929b6a4b58b00480",
      "tree": "aafff4163d6bc40f78c025fe3c4f8eda232ef5c9",
      "parents": [
        "95c14904b6f6f8a35365f0c58d530c85b4fb96b4"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 10:05:06 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Feb 02 09:20:34 2009 +1100"
      },
      "message": "selinux: remove hooks which simply defer to capabilities\n\nRemove SELinux hooks which do nothing except defer to the capabilites\nhooks (or in one case, replicates the function).\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n"
    },
    {
      "commit": "95c14904b6f6f8a35365f0c58d530c85b4fb96b4",
      "tree": "a228c81abe6409c61f7c90f7cebeebcb3da902af",
      "parents": [
        "5c4054ccfafb6a446e9b65c524af1741656c6c60"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 12:37:58 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:16 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to shm_shmat\n\nRemove secondary ops call to shm_shmat, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "5c4054ccfafb6a446e9b65c524af1741656c6c60",
      "tree": "6d54e11d617e4daf53c3afc5c1edb321b32d9315",
      "parents": [
        "2cbbd19812b7636c1c37bcf50c403e7af5278d73"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 12:34:53 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:15 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to unix_stream_connect\n\nRemove secondary ops call to unix_stream_connect, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2cbbd19812b7636c1c37bcf50c403e7af5278d73",
      "tree": "e12a8b56308adc047d77ed5e52b0c8a28304d80b",
      "parents": [
        "ef76e748faa823a738d632ee4c8ed9adaabc8a40"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 12:32:50 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:14 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to task_kill\n\nRemove secondary ops call to task_kill, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ef76e748faa823a738d632ee4c8ed9adaabc8a40",
      "tree": "af59b8bad81255e4b22e36749dd702cb8db543b1",
      "parents": [
        "ca5143d3ff3c7a4e1c2c8bdcf0f53aea227a7722"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 12:30:28 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:13 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to task_setrlimit\n\nRemove secondary ops call to task_setrlimit, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ca5143d3ff3c7a4e1c2c8bdcf0f53aea227a7722",
      "tree": "1b86d2487e8051664c6d0b2cf959ff0131f8371e",
      "parents": [
        "af294e41d0c95a291cc821a1b43ec2cd13976a8b"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 12:26:14 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:12 2009 +1100"
      },
      "message": "selinux: remove unused cred_commit hook\n\nRemove unused cred_commit hook from SELinux.   This\ncurrently calls into the capabilities hook, which is a noop.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "af294e41d0c95a291cc821a1b43ec2cd13976a8b",
      "tree": "051fcc87fd27422af41809fb25e821c7b3b4a628",
      "parents": [
        "d541bbee6902d5ffb8a03d63ac8f4b1364c2ff93"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 12:23:36 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:11 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to task_create\n\nRemove secondary ops call to task_create, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d541bbee6902d5ffb8a03d63ac8f4b1364c2ff93",
      "tree": "f6b3f9547807d9eb8995885f259e4d5140d70405",
      "parents": [
        "438add6b32d9295db6e3ecd4d9e137086ec5b5d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 12:19:51 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:11 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to file_mprotect\n\nRemove secondary ops call to file_mprotect, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "438add6b32d9295db6e3ecd4d9e137086ec5b5d9",
      "tree": "70658fa14a51af66a3359e306d263955d3eaf13f",
      "parents": [
        "188fbcca9dd02f15dcf45cfc51ce0dd6c13993f6"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 12:15:59 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:10 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to inode_setattr\n\nRemove secondary ops call to inode_setattr, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "188fbcca9dd02f15dcf45cfc51ce0dd6c13993f6",
      "tree": "92523a4606e5ac1e29d61286c4f1f3851eec5553",
      "parents": [
        "f51115b9ab5b9cfd0b7be1cce75afbf3ffbcdd87"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 12:14:03 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:09 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to inode_permission\n\nRemove secondary ops call to inode_permission, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "f51115b9ab5b9cfd0b7be1cce75afbf3ffbcdd87",
      "tree": "bc93812358e9a76c24ca970224fcd8298fe8b80c",
      "parents": [
        "dd4907a6d4e038dc65839fcd4030ebefe2f5f439"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 12:10:56 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:08 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to inode_follow_link\n\nRemove secondary ops call to inode_follow_link, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "dd4907a6d4e038dc65839fcd4030ebefe2f5f439",
      "tree": "1ad9f9754d9b929f7003cdf1a30a2f8ee5b04e3a",
      "parents": [
        "e4737250b751b4e0e802adae9a4d3ae0227b580b"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 12:08:34 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:07 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to inode_mknod\n\nRemove secondary ops call to inode_mknod, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "e4737250b751b4e0e802adae9a4d3ae0227b580b",
      "tree": "98b121f355b548e02369cebfc8d871a805724d00",
      "parents": [
        "efdfac437607e4acfed66c383091a376525eaec4"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 12:00:08 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:06 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to inode_unlink\n\nRemove secondary ops call to inode_unlink, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "efdfac437607e4acfed66c383091a376525eaec4",
      "tree": "6fd072bfca2ff589f8b5c7ed5274f91bb079c6c3",
      "parents": [
        "97422ab9ef45118cb7418d799dc69040f17108ce"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 11:57:34 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:06 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to inode_link\n\nRemove secondary ops call to inode_link, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "97422ab9ef45118cb7418d799dc69040f17108ce",
      "tree": "2dd03b47495711916bc86cc79c23197bbdd1c965",
      "parents": [
        "ef935b9136eeaa203f75bf0b4d6e398c29f44d27"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 11:55:02 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:05 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to sb_umount\n\nRemove secondary ops call to sb_umount, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ef935b9136eeaa203f75bf0b4d6e398c29f44d27",
      "tree": "22f961625dda1d64cd78f443bb7023ac16eb860d",
      "parents": [
        "5565b0b865f672e3d7e31936ad1d40710ab7bfc4"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 11:51:11 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:04 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to sb_mount\n\nRemove secondary ops call to sb_mount, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "5565b0b865f672e3d7e31936ad1d40710ab7bfc4",
      "tree": "85ad552370fc50fbbe5426e62e6c4f320f7d4461",
      "parents": [
        "2ec5dbe23d68bddc043a85d1226bfc499a724b1c"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 11:47:49 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:03 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to bprm_committed_creds\n\nRemove secondary ops call to bprm_committed_creds, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2ec5dbe23d68bddc043a85d1226bfc499a724b1c",
      "tree": "f0c87a4250b4531fe6c6cac2b1f9117292efcdc1",
      "parents": [
        "bc05595845f58c065adc0763a678187647ec040f"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 11:46:14 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:02 2009 +1100"
      },
      "message": "selinux: remove secondary ops call to bprm_committing_creds\n\nRemove secondary ops call to bprm_committing_creds, which is\na noop in capabilities.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "bc05595845f58c065adc0763a678187647ec040f",
      "tree": "b8126f1aadcac62f87ebd34fc44e48488ddf716e",
      "parents": [
        "cd89596f0ccfa3ccb8a81ce47782231cf7ea7296"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 29 11:28:33 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 30 08:55:01 2009 +1100"
      },
      "message": "selinux: remove unused bprm_check_security hook\n\nRemove unused bprm_check_security hook from SELinux.   This\ncurrently calls into the capabilities hook, which is a noop.\n\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "cd89596f0ccfa3ccb8a81ce47782231cf7ea7296",
      "tree": "d91149851e14a21d1e535c325aa93ebd15130f51",
      "parents": [
        "11689d47f0957121920c9ec646eb5d838755853a"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Fri Jan 16 09:22:04 2009 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@macbook.localdomain",
        "time": "Mon Jan 19 09:47:14 2009 +1100"
      },
      "message": "SELinux: Unify context mount and genfs behavior\n\nContext mounts and genfs labeled file systems behave differently with respect to\nsetting file system labels. This patch brings genfs labeled file systems in line\nwith context mounts in that setxattr calls to them should return EOPNOTSUPP and\nfscreate calls will be ignored.\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@macbook.localdomain\u003e\n"
    },
    {
      "commit": "11689d47f0957121920c9ec646eb5d838755853a",
      "tree": "187b4179c0b7b9430bb9e62f6bba474a2d011235",
      "parents": [
        "0d90a7ec48c704025307b129413bc62451b20ab3"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Fri Jan 16 09:22:03 2009 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@macbook.localdomain",
        "time": "Mon Jan 19 09:47:06 2009 +1100"
      },
      "message": "SELinux: Add new security mount option to indicate security label support.\n\nThere is no easy way to tell if a file system supports SELinux security labeling.\nBecause of this a new flag is being added to the super block security structure\nto indicate that the particular super block supports labeling. This flag is set\nfor file systems using the xattr, task, and transition labeling methods unless\nthat behavior is overridden by context mounts.\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@macbook.localdomain\u003e\n"
    },
    {
      "commit": "0d90a7ec48c704025307b129413bc62451b20ab3",
      "tree": "38cc8a7f5ff3afaccd16d2978455ccc002d69933",
      "parents": [
        "c8334dc8fb6413b363df3e1419e287f5b25bce32"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Fri Jan 16 09:22:02 2009 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@macbook.localdomain",
        "time": "Mon Jan 19 09:46:40 2009 +1100"
      },
      "message": "SELinux: Condense super block security structure flags and cleanup necessary code.\n\nThe super block security structure currently has three fields for what are\nessentially flags.  The flags field is used for mount options while two other\nchar fields are used for initialization and proc flags. These latter two fields are\nessentially bit fields since the only used values are 0 and 1.  These fields\nhave been collapsed into the flags field and new bit masks have been added for\nthem. The code is also fixed to work with these new flags.\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@macbook.localdomain\u003e\n"
    },
    {
      "commit": "3699c53c485bf0168e6500d0ed18bf931584dd7c",
      "tree": "eee63a8ddbdb0665bc6a4a053a2405ca7a5b867f",
      "parents": [
        "29881c4502ba05f46bc12ae8053d4e08d7e2615c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jan 06 22:27:01 2009 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:38:48 2009 +1100"
      },
      "message": "CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #3]\n\nFix a regression in cap_capable() due to:\n\n\tcommit 3b11a1decef07c19443d24ae926982bc8ec9f4c0\n\tAuthor: David Howells \u003cdhowells@redhat.com\u003e\n\tDate:   Fri Nov 14 10:39:26 2008 +1100\n\n\t    CRED: Differentiate objective and effective subjective credentials on a task\n\nThe problem is that the above patch allows a process to have two sets of\ncredentials, and for the most part uses the subjective credentials when\naccessing current\u0027s creds.\n\nThere is, however, one exception: cap_capable(), and thus capable(), uses the\nreal/objective credentials of the target task, whether or not it is the current\ntask.\n\nOrdinarily this doesn\u0027t matter, since usually the two cred pointers in current\npoint to the same set of creds.  However, sys_faccessat() makes use of this\nfacility to override the credentials of the calling process to make its test,\nwithout affecting the creds as seen from other processes.\n\nOne of the things sys_faccessat() does is to make an adjustment to the\neffective capabilities mask, which cap_capable(), as it stands, then ignores.\n\nThe affected capability check is in generic_permission():\n\n\tif (!(mask \u0026 MAY_EXEC) || execute_ok(inode))\n\t\tif (capable(CAP_DAC_OVERRIDE))\n\t\t\treturn 0;\n\nThis change passes the set of credentials to be tested down into the commoncap\nand SELinux code.  The security functions called by capable() and\nhas_capability() select the appropriate set of credentials from the process\nbeing checked.\n\nThis can be tested by compiling the following program from the XFS testsuite:\n\n/*\n *  t_access_root.c - trivial test program to show permission bug.\n *\n *  Written by Michael Kerrisk - copyright ownership not pursued.\n *  Sourced from: http://linux.derkeiler.com/Mailing-Lists/Kernel/2003-10/6030.html\n */\n#include \u003climits.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003csys/stat.h\u003e\n\n#define UID 500\n#define GID 100\n#define PERM 0\n#define TESTPATH \"/tmp/t_access\"\n\nstatic void\nerrExit(char *msg)\n{\n    perror(msg);\n    exit(EXIT_FAILURE);\n} /* errExit */\n\nstatic void\naccessTest(char *file, int mask, char *mstr)\n{\n    printf(\"access(%s, %s) returns %d\\n\", file, mstr, access(file, mask));\n} /* accessTest */\n\nint\nmain(int argc, char *argv[])\n{\n    int fd, perm, uid, gid;\n    char *testpath;\n    char cmd[PATH_MAX + 20];\n\n    testpath \u003d (argc \u003e 1) ? argv[1] : TESTPATH;\n    perm \u003d (argc \u003e 2) ? strtoul(argv[2], NULL, 8) : PERM;\n    uid \u003d (argc \u003e 3) ? atoi(argv[3]) : UID;\n    gid \u003d (argc \u003e 4) ? atoi(argv[4]) : GID;\n\n    unlink(testpath);\n\n    fd \u003d open(testpath, O_RDWR | O_CREAT, 0);\n    if (fd \u003d\u003d -1) errExit(\"open\");\n\n    if (fchown(fd, uid, gid) \u003d\u003d -1) errExit(\"fchown\");\n    if (fchmod(fd, perm) \u003d\u003d -1) errExit(\"fchmod\");\n    close(fd);\n\n    snprintf(cmd, sizeof(cmd), \"ls -l %s\", testpath);\n    system(cmd);\n\n    if (seteuid(uid) \u003d\u003d -1) errExit(\"seteuid\");\n\n    accessTest(testpath, 0, \"0\");\n    accessTest(testpath, R_OK, \"R_OK\");\n    accessTest(testpath, W_OK, \"W_OK\");\n    accessTest(testpath, X_OK, \"X_OK\");\n    accessTest(testpath, R_OK | W_OK, \"R_OK | W_OK\");\n    accessTest(testpath, R_OK | X_OK, \"R_OK | X_OK\");\n    accessTest(testpath, W_OK | X_OK, \"W_OK | X_OK\");\n    accessTest(testpath, R_OK | W_OK | X_OK, \"R_OK | W_OK | X_OK\");\n\n    exit(EXIT_SUCCESS);\n} /* main */\n\nThis can be run against an Ext3 filesystem as well as against an XFS\nfilesystem.  If successful, it will show:\n\n\t[root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043\n\t---------- 1 dhowells dhowells 0 2008-12-31 03:00 /tmp/xxx\n\taccess(/tmp/xxx, 0) returns 0\n\taccess(/tmp/xxx, R_OK) returns 0\n\taccess(/tmp/xxx, W_OK) returns 0\n\taccess(/tmp/xxx, X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK) returns 0\n\taccess(/tmp/xxx, R_OK | X_OK) returns -1\n\taccess(/tmp/xxx, W_OK | X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK | X_OK) returns -1\n\nIf unsuccessful, it will show:\n\n\t[root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043\n\t---------- 1 dhowells dhowells 0 2008-12-31 02:56 /tmp/xxx\n\taccess(/tmp/xxx, 0) returns 0\n\taccess(/tmp/xxx, R_OK) returns -1\n\taccess(/tmp/xxx, W_OK) returns -1\n\taccess(/tmp/xxx, X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK) returns -1\n\taccess(/tmp/xxx, R_OK | X_OK) returns -1\n\taccess(/tmp/xxx, W_OK | X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK | X_OK) returns -1\n\nI\u0027ve also tested the fix with the SELinux and syscalls LTP testsuites.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "29881c4502ba05f46bc12ae8053d4e08d7e2615c",
      "tree": "536ea4ac63554e836438bd5f370ddecaa343f1f4",
      "parents": [
        "76f7ba35d4b5219fcc4cb072134c020ec77d030d"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:21:54 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:21:54 2009 +1100"
      },
      "message": "Revert \"CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]\"\n\nThis reverts commit 14eaddc967b16017d4a1a24d2be6c28ecbe06ed8.\n\nDavid has a better version to come.\n"
    },
    {
      "commit": "14eaddc967b16017d4a1a24d2be6c28ecbe06ed8",
      "tree": "ce10216d592f0fa89ae02c4e4e9e9497010e7714",
      "parents": [
        "5c8c40be4b5a2944483bfc1a45d6c3fa02551af3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Dec 31 15:15:42 2008 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 05 11:17:04 2009 +1100"
      },
      "message": "CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]\n\nFix a regression in cap_capable() due to:\n\n\tcommit 5ff7711e635b32f0a1e558227d030c7e45b4a465\n\tAuthor: David Howells \u003cdhowells@redhat.com\u003e\n\tDate:   Wed Dec 31 02:52:28 2008 +0000\n\n\t    CRED: Differentiate objective and effective subjective credentials on a task\n\nThe problem is that the above patch allows a process to have two sets of\ncredentials, and for the most part uses the subjective credentials when\naccessing current\u0027s creds.\n\nThere is, however, one exception: cap_capable(), and thus capable(), uses the\nreal/objective credentials of the target task, whether or not it is the current\ntask.\n\nOrdinarily this doesn\u0027t matter, since usually the two cred pointers in current\npoint to the same set of creds.  However, sys_faccessat() makes use of this\nfacility to override the credentials of the calling process to make its test,\nwithout affecting the creds as seen from other processes.\n\nOne of the things sys_faccessat() does is to make an adjustment to the\neffective capabilities mask, which cap_capable(), as it stands, then ignores.\n\nThe affected capability check is in generic_permission():\n\n\tif (!(mask \u0026 MAY_EXEC) || execute_ok(inode))\n\t\tif (capable(CAP_DAC_OVERRIDE))\n\t\t\treturn 0;\n\nThis change splits capable() from has_capability() down into the commoncap and\nSELinux code.  The capable() security op now only deals with the current\nprocess, and uses the current process\u0027s subjective creds.  A new security op -\ntask_capable() - is introduced that can check any task\u0027s objective creds.\n\nstrictly the capable() security op is superfluous with the presence of the\ntask_capable() op, however it should be faster to call the capable() op since\ntwo fewer arguments need be passed down through the various layers.\n\nThis can be tested by compiling the following program from the XFS testsuite:\n\n/*\n *  t_access_root.c - trivial test program to show permission bug.\n *\n *  Written by Michael Kerrisk - copyright ownership not pursued.\n *  Sourced from: http://linux.derkeiler.com/Mailing-Lists/Kernel/2003-10/6030.html\n */\n#include \u003climits.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003csys/stat.h\u003e\n\n#define UID 500\n#define GID 100\n#define PERM 0\n#define TESTPATH \"/tmp/t_access\"\n\nstatic void\nerrExit(char *msg)\n{\n    perror(msg);\n    exit(EXIT_FAILURE);\n} /* errExit */\n\nstatic void\naccessTest(char *file, int mask, char *mstr)\n{\n    printf(\"access(%s, %s) returns %d\\n\", file, mstr, access(file, mask));\n} /* accessTest */\n\nint\nmain(int argc, char *argv[])\n{\n    int fd, perm, uid, gid;\n    char *testpath;\n    char cmd[PATH_MAX + 20];\n\n    testpath \u003d (argc \u003e 1) ? argv[1] : TESTPATH;\n    perm \u003d (argc \u003e 2) ? strtoul(argv[2], NULL, 8) : PERM;\n    uid \u003d (argc \u003e 3) ? atoi(argv[3]) : UID;\n    gid \u003d (argc \u003e 4) ? atoi(argv[4]) : GID;\n\n    unlink(testpath);\n\n    fd \u003d open(testpath, O_RDWR | O_CREAT, 0);\n    if (fd \u003d\u003d -1) errExit(\"open\");\n\n    if (fchown(fd, uid, gid) \u003d\u003d -1) errExit(\"fchown\");\n    if (fchmod(fd, perm) \u003d\u003d -1) errExit(\"fchmod\");\n    close(fd);\n\n    snprintf(cmd, sizeof(cmd), \"ls -l %s\", testpath);\n    system(cmd);\n\n    if (seteuid(uid) \u003d\u003d -1) errExit(\"seteuid\");\n\n    accessTest(testpath, 0, \"0\");\n    accessTest(testpath, R_OK, \"R_OK\");\n    accessTest(testpath, W_OK, \"W_OK\");\n    accessTest(testpath, X_OK, \"X_OK\");\n    accessTest(testpath, R_OK | W_OK, \"R_OK | W_OK\");\n    accessTest(testpath, R_OK | X_OK, \"R_OK | X_OK\");\n    accessTest(testpath, W_OK | X_OK, \"W_OK | X_OK\");\n    accessTest(testpath, R_OK | W_OK | X_OK, \"R_OK | W_OK | X_OK\");\n\n    exit(EXIT_SUCCESS);\n} /* main */\n\nThis can be run against an Ext3 filesystem as well as against an XFS\nfilesystem.  If successful, it will show:\n\n\t[root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043\n\t---------- 1 dhowells dhowells 0 2008-12-31 03:00 /tmp/xxx\n\taccess(/tmp/xxx, 0) returns 0\n\taccess(/tmp/xxx, R_OK) returns 0\n\taccess(/tmp/xxx, W_OK) returns 0\n\taccess(/tmp/xxx, X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK) returns 0\n\taccess(/tmp/xxx, R_OK | X_OK) returns -1\n\taccess(/tmp/xxx, W_OK | X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK | X_OK) returns -1\n\nIf unsuccessful, it will show:\n\n\t[root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043\n\t---------- 1 dhowells dhowells 0 2008-12-31 02:56 /tmp/xxx\n\taccess(/tmp/xxx, 0) returns 0\n\taccess(/tmp/xxx, R_OK) returns -1\n\taccess(/tmp/xxx, W_OK) returns -1\n\taccess(/tmp/xxx, X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK) returns -1\n\taccess(/tmp/xxx, R_OK | X_OK) returns -1\n\taccess(/tmp/xxx, W_OK | X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK | X_OK) returns -1\n\nI\u0027ve also tested the fix with the SELinux and syscalls LTP testsuites.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    }
  ],
  "next": "277d342fc423fca5e66e677fe629d1b2f8f1b9e2"
}
