{"push_id":846033436,"size":69,"distinct_size":69,"ref":"refs/heads/cm-13.0","head":"93c44d2ad712e68218b3ef98965bc0f5114484af","before":"9d7cb3ddd185d85b507302b6f51289d8ababf53c","commits":[{"sha":"a9d0ba90b1db0225e27efd1807092f3e09d46638","author":{"email":"df9728c9e5104131c08c7adb03af425394842596@rustcorp.com.au","name":"Rusty Russell"},"message":"lglock: remove online variants of lock\n\nOptimizing the slow paths adds a lot of complexity.  If you need to\ngrab every lock often, you have other problems.\n\nSigned-off-by: Rusty Russell <rusty@rustcorp.com.au>\nAcked-by: Nick Piggin <npiggin@kernel.dk>\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\n(cherry picked from commit 9dd6fa03ab31bb57cee4623a689d058d222fbe68)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/a9d0ba90b1db0225e27efd1807092f3e09d46638"},{"sha":"1f6d0d27ad0c42e6eb2ea3c04f4c42f9824520ed","author":{"email":"0474aee45985f5ae829f53849df476200e876990@linux.intel.com","name":"Andi Kleen"},"message":"brlocks/lglocks: turn into functions\n\nlglocks and brlocks are currently generated with some complicated macros\nin lglock.h.  But there's no reason to not just use common utility\nfunctions and put all the data into a common data structure.\n\nSince there are at least two users it makes sense to share this code in a\nlibrary.  This is also easier maintainable than a macro forest.\n\nThis will also make it later possible to dynamically allocate lglocks and\nalso use them in modules (this would both still need some additional, but\nnow straightforward, code)\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Andi Kleen <ak@linux.intel.com>\nCc: Al Viro <viro@zeniv.linux.org.uk>\nCc: Rusty Russell <rusty@rustcorp.com.au>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Rusty Russell <rusty@rustcorp.com.au>\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\n\n(cherry picked from commit eea62f831b8030b0eeea8314eed73b6132d1de26)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/1f6d0d27ad0c42e6eb2ea3c04f4c42f9824520ed"},{"sha":"b3fe4b1eca686c010b37898077c5366bf0053dff","author":{"email":"0474aee45985f5ae829f53849df476200e876990@linux.intel.com","name":"Andi Kleen"},"message":"brlocks/lglocks: API cleanups\n\nlglocks and brlocks are currently generated with some complicated macros\nin lglock.h.  But there's no reason to not just use common utility\nfunctions and put all the data into a common data structure.\n\nIn preparation, this patch changes the API to look more like normal\nfunction calls with pointers, not magic macros.\n\nThe patch is rather large because I move over all users in one go to keep\nit bisectable.  This impacts the VFS somewhat in terms of lines changed.\nBut no actual behaviour change.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Andi Kleen <ak@linux.intel.com>\nCc: Al Viro <viro@zeniv.linux.org.uk>\nCc: Rusty Russell <rusty@rustcorp.com.au>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Rusty Russell <rusty@rustcorp.com.au>\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\n\n(cherry picked from commit 962830df366b66e71849040770ae6ba55a8b4aec)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/b3fe4b1eca686c010b37898077c5366bf0053dff"},{"sha":"a51966fb5a32737b5f31eb8dc0d4a6b28b42054b","author":{"email":"de609eb4d5d70b1d38ec6642adbfc33a2781f63c@zeniv.linux.org.uk","name":"Al Viro"},"message":"get rid of ->mnt_longterm\n\nit's enough to set ->mnt_ns of internal vfsmounts to something\ndistinct from all struct mnt_namespace out there; then we can\njust use the check for ->mnt_ns != NULL in the fast path of\nmntput_no_expire()\n\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\n(cherry picked from commit f7a99c5b7c8bd3d3f533c8b38274e33f3da9096e)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/a51966fb5a32737b5f31eb8dc0d4a6b28b42054b"},{"sha":"fc40369918214562ef415035d89c67dd77c78092","author":{"email":"de609eb4d5d70b1d38ec6642adbfc33a2781f63c@zeniv.linux.org.uk","name":"Al Viro"},"message":"get rid of magic in proc_namespace.c\n\ndon't rely on proc_mounts->m being the first field; container_of()\nis there for purpose.  No need to bother with ->private, while\nwe are at it - the same container_of will do nicely.\n\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\n(cherry picked from commit 6ce6e24e72233073c8ead9419fc5040d44803dae)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/fc40369918214562ef415035d89c67dd77c78092"},{"sha":"6534113ff7fa9ee7350c4fec0c29c3b321588ad5","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"VFS: Make clone_mnt()/copy_tree()/collect_mounts() return errors\n\ncopy_tree() can theoretically fail in a case other than ENOMEM, but always\nreturns NULL which is interpreted by callers as -ENOMEM.  Change it to return\nan explicit error.\n\nAlso change clone_mnt() for consistency and because union mounts will add new\nerror cases.\n\nThanks to Andreas Gruenbacher <agruen@suse.de> for a bug fix.\n[AV: folded braino fix by Dan Carpenter]\n\nOriginal-author: Valerie Aurora <vaurora@redhat.com>\nSigned-off-by: David Howells <dhowells@redhat.com>\nCc: Valerie Aurora <valerie.aurora@gmail.com>\nCc: Andreas Gruenbacher <agruen@suse.de>\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\n(cherry picked from commit be34d1a3bc4b6f357a49acb55ae870c81337e4f0)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/6534113ff7fa9ee7350c4fec0c29c3b321588ad5"},{"sha":"a8272a54fb248f04ee3ae64036c14e6e65465670","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"VFS: Comment mount following code\n\nAdd comments describing what the directions \"up\" and \"down\" mean and ref count\nhandling to the VFS mount following family of functions.\n\nSigned-off-by: Valerie Aurora <vaurora@redhat.com> (Original author)\nSigned-off-by: David Howells <dhowells@redhat.com>\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\n(cherry picked from commit f015f1267b23d3530d3f874243fb83cb5f443005)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/a8272a54fb248f04ee3ae64036c14e6e65465670"},{"sha":"6b4b6cededf243128a5f6b6ee670b245d7747720","author":{"email":"78b342861d821967b29f951b7366f5a0267e0c38@redhat.com","name":"Josef Bacik"},"message":"fs: introduce inode operation ->update_time\n\nBtrfs has to make sure we have space to allocate new blocks in order to modify\nthe inode, so updating time can fail.  We've gotten around this by having our\nown file_update_time but this is kind of a pain, and Christoph has indicated he\nwould like to make xfs do something different with atime updates.  So introduce\n->update_time, where we will deal with i_version an a/m/c time updates and\nindicate which changes need to be made.  The normal version just does what it\nhas always done, updates the time and marks the inode dirty, and then\nfilesystems can choose to do something different.\n\nI've gone through all of the users of file_update_time and made them check for\nerrors with the exception of the fault code since it's complicated and I wasn't\nquite sure what to do there, also Jan is going to be pushing the file time\nupdates into page_mkwrite for those who have it so that should satisfy btrfs and\nmake it not a big deal to check the file_update_time() return code in the\ngeneric fault path. Thanks,\n\nSigned-off-by: Josef Bacik <josef@redhat.com>\n(cherry picked from commit c3b2da314834499f34cba94f7053e55f6d6f92d8)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/6b4b6cededf243128a5f6b6ee670b245d7747720"},{"sha":"e71d113f00d6cfc3e4b370a5fa0a12d23b5a0b24","author":{"email":"de609eb4d5d70b1d38ec6642adbfc33a2781f63c@zeniv.linux.org.uk","name":"Al Viro"},"message":"do_add_mount()/umount -l races\n\nnormally we deal with lock_mount()/umount races by checking that\nmountpoint to be is still in our namespace after lock_mount() has\nbeen done.  However, do_add_mount() skips that check when called\nwith MNT_SHRINKABLE in flags (i.e. from finish_automount()).  The\nreason is that ->mnt_ns may be a temporary namespace created exactly\nto contain automounts a-la NFS4 referral handling.  It's not the\nnamespace of the caller, though, so check_mnt() would fail here.\nWe still need to check that ->mnt_ns is non-NULL in that case,\nthough.\n\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\n(cherry picked from commit 156cacb1d0d36b0d0582d9e798e58e0044f516b3)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/e71d113f00d6cfc3e4b370a5fa0a12d23b5a0b24"},{"sha":"31386bb90b4e4aee169d2434bee8f5d54ba48c15","author":{"email":"de609eb4d5d70b1d38ec6642adbfc33a2781f63c@zeniv.linux.org.uk","name":"Al Viro"},"message":"consitify do_mount() arguments\n\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>\n(cherry picked from commit 808d4e3cfdcc52b19276175464f6dbca4df13b09)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/31386bb90b4e4aee169d2434bee8f5d54ba48c15"},{"sha":"50b41182b72c619b7865ddea9783482e08582785","author":{"email":"8a741aa8cbd77ebc4a56ddb528ce9fd15d42f034@xmission.com","name":"Eric W. Biederman"},"message":"vfs: Add setns support for the mount namespace\n\nsetns support for the mount namespace is a little tricky as an\narbitrary decision must be made about what to set fs->root and\nfs->pwd to, as there is no expectation of a relationship between\nthe two mount namespaces.  Therefore I arbitrarily find the root\nmount point, and follow every mount on top of it to find the top\nof the mount stack.  Then I set fs->root and fs->pwd to that\nlocation.  The topmost root of the mount stack seems like a\nreasonable place to be.\n\nBind mount support for the mount namespace inodes has the\npossibility of creating circular dependencies between mount\nnamespaces.  Circular dependencies can result in loops that\nprevent mount namespaces from every being freed.  I avoid\ncreating those circular dependencies by adding a sequence number\nto the mount namespace and require all bind mounts be of a\nyounger mount namespace into an older mount namespace.\n\nAdd a helper function proc_ns_inode so it is possible to\ndetect when we are attempting to bind mound a namespace inode.\n\nAcked-by: Serge Hallyn <serge.hallyn@canonical.com>\nSigned-off-by: Eric W. Biederman <ebiederm@xmission.com>\n(cherry picked from commit 8823c079ba7136dc1948d6f6dcb5f8022bde438e)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/50b41182b72c619b7865ddea9783482e08582785"},{"sha":"64bd14c18e8f6c9ba4918295a97a178c6f3247e4","author":{"email":"8a741aa8cbd77ebc4a56ddb528ce9fd15d42f034@xmission.com","name":"Eric W. Biederman"},"message":"vfs: Add a user namespace reference from struct mnt_namespace\n\nThis will allow for support for unprivileged mounts in a new user namespace.\n\nAcked-by: \"Serge E. Hallyn\" <serge@hallyn.com>\nSigned-off-by: \"Eric W. Biederman\" <ebiederm@xmission.com>\n(cherry picked from commit 771b1371686e0a63e938ada28de020b9a0040f55)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/64bd14c18e8f6c9ba4918295a97a178c6f3247e4"},{"sha":"2c131a5feece04d887006871e9f17eb081d80df9","author":{"email":"8a741aa8cbd77ebc4a56ddb528ce9fd15d42f034@xmission.com","name":"Eric W. Biederman"},"message":"vfs: Only support slave subtrees across different user namespaces\n\nSharing mount subtress with mount namespaces created by unprivileged\nusers allows unprivileged mounts created by unprivileged users to\npropagate to mount namespaces controlled by privileged users.\n\nPrevent nasty consequences by changing shared subtrees to slave\nsubtress when an unprivileged users creates a new mount namespace.\n\nAcked-by: Serge Hallyn <serge.hallyn@canonical.com>\nSigned-off-by: \"Eric W. Biederman\" <ebiederm@xmission.com>\n(cherry picked from commit 7a472ef4be8387bc05a42e16309b02c8ca943a40)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/2c131a5feece04d887006871e9f17eb081d80df9"},{"sha":"5bee0c59ef7bb16d5ad29099f97d4e6271e51f7f","author":{"email":"8a741aa8cbd77ebc4a56ddb528ce9fd15d42f034@xmission.com","name":"Eric W. Biederman"},"message":"vfs: Allow unprivileged manipulation of the mount namespace.\n\n- Add a filesystem flag to mark filesystems that are safe to mount as\n  an unprivileged user.\n\n- Add a filesystem flag to mark filesystems that don't need MNT_NODEV\n  when mounted by an unprivileged user.\n\n- Relax the permission checks to allow unprivileged users that have\n  CAP_SYS_ADMIN permissions in the user namespace referred to by the\n  current mount namespace to be allowed to mount, unmount, and move\n  filesystems.\n\nAcked-by: \"Serge E. Hallyn\" <serge@hallyn.com>\nSigned-off-by: \"Eric W. Biederman\" <ebiederm@xmission.com>\n(cherry picked from commit 0c55cfc4166d9a0f38de779bd4d75a90afbe7734)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/5bee0c59ef7bb16d5ad29099f97d4e6271e51f7f"},{"sha":"33efd812f4d635dc1d0d570d4b3198d214b6fb60","author":{"email":"8a741aa8cbd77ebc4a56ddb528ce9fd15d42f034@xmission.com","name":"Eric W. Biederman"},"message":"proc: Generalize proc inode allocation\n\nGeneralize the proc inode allocation so that it can be\nused without having to having to create a proc_dir_entry.\n\nThis will allow namespace file descriptors to remain light\nweight entitities but still have the same inode number\nwhen the backing namespace is the same.\n\nAcked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>\nSigned-off-by: Eric W. Biederman <ebiederm@xmission.com>\n(cherry picked from commit 33d6dce607573b5fd7a43168e0d91221b3ca532b)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/33efd812f4d635dc1d0d570d4b3198d214b6fb60"},{"sha":"82bd370562fbee6ce8f63e170d0e51e7af7af38e","author":{"email":"8a741aa8cbd77ebc4a56ddb528ce9fd15d42f034@xmission.com","name":"Eric W. Biederman"},"message":"proc: Fix the namespace inode permission checks.\n\nChange the proc namespace files into symlinks so that\nwe won't cache the dentries for the namespace files\nwhich can bypass the ptrace_may_access checks.\n\nTo support the symlinks create an additional namespace\ninode with it's own set of operations distinct from the\nproc pid inode and dentry methods as those no longer\nmake sense.\n\nSigned-off-by: Eric W. Biederman <ebiederm@xmission.com>\n(cherry picked from commit bf056bfa80596a5d14b26b17276a56a0dcb080e5)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/82bd370562fbee6ce8f63e170d0e51e7af7af38e"},{"sha":"6ea8d27c6772115c58630ec2eff033cc0751b5ee","author":{"email":"8a741aa8cbd77ebc4a56ddb528ce9fd15d42f034@xmission.com","name":"Eric W. Biederman"},"message":"proc: Usable inode numbers for the namespace file descriptors.\n\nAssign a unique proc inode to each namespace, and use that\ninode number to ensure we only allocate at most one proc\ninode for every namespace in proc.\n\nA single proc inode per namespace allows userspace to test\nto see if two processes are in the same namespace.\n\nThis has been a long requested feature and only blocked because\na naive implementation would put the id in a global space and\nwould ultimately require having a namespace for the names of\nnamespaces, making migration and certain virtualization tricks\nimpossible.\n\nWe still don't have per superblock inode numbers for proc, which\nappears necessary for application unaware checkpoint/restart and\nmigrations (if the application is using namespace file descriptors)\nbut that is now allowd by the design if it becomes important.\n\nI have preallocated the ipc and uts initial proc inode numbers so\ntheir structures can be statically initialized.\n\nSigned-off-by: Eric W. Biederman <ebiederm@xmission.com>\n(cherry picked from commit 98f842e675f96ffac96e6c50315790912b2812be)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/6ea8d27c6772115c58630ec2eff033cc0751b5ee"},{"sha":"6cead2cf35c80cbad536305a08fefb861d830a84","author":{"email":"8a741aa8cbd77ebc4a56ddb528ce9fd15d42f034@xmission.com","name":"Eric W. Biederman"},"message":"proc: Allow proc_free_inum to be called from any context\n\nWhile testing the pid namespace code I hit this nasty warning.\n\n[  176.262617] ------------[ cut here ]------------\n[  176.263388] WARNING: at /home/eric/projects/linux/linux-userns-devel/kernel/softirq.c:160 local_bh_enable_ip+0x7a/0xa0()\n[  176.265145] Hardware name: Bochs\n[  176.265677] Modules linked in:\n[  176.266341] Pid: 742, comm: bash Not tainted 3.7.0userns+ #18\n[  176.266564] Call Trace:\n[  176.266564]  [<ffffffff810a539f>] warn_slowpath_common+0x7f/0xc0\n[  176.266564]  [<ffffffff810a53fa>] warn_slowpath_null+0x1a/0x20\n[  176.266564]  [<ffffffff810ad9ea>] local_bh_enable_ip+0x7a/0xa0\n[  176.266564]  [<ffffffff819308c9>] _raw_spin_unlock_bh+0x19/0x20\n[  176.266564]  [<ffffffff8123dbda>] proc_free_inum+0x3a/0x50\n[  176.266564]  [<ffffffff8111d0dc>] free_pid_ns+0x1c/0x80\n[  176.266564]  [<ffffffff8111d195>] put_pid_ns+0x35/0x50\n[  176.266564]  [<ffffffff810c608a>] put_pid+0x4a/0x60\n[  176.266564]  [<ffffffff8146b177>] tty_ioctl+0x717/0xc10\n[  176.266564]  [<ffffffff810aa4d5>] ? wait_consider_task+0x855/0xb90\n[  176.266564]  [<ffffffff81086bf9>] ? default_spin_lock_flags+0x9/0x10\n[  176.266564]  [<ffffffff810cab0a>] ? remove_wait_queue+0x5a/0x70\n[  176.266564]  [<ffffffff811e37e8>] do_vfs_ioctl+0x98/0x550\n[  176.266564]  [<ffffffff810b8a0f>] ? recalc_sigpending+0x1f/0x60\n[  176.266564]  [<ffffffff810b9127>] ? __set_task_blocked+0x37/0x80\n[  176.266564]  [<ffffffff810ab95b>] ? sys_wait4+0xab/0xf0\n[  176.266564]  [<ffffffff811e3d31>] sys_ioctl+0x91/0xb0\n[  176.266564]  [<ffffffff810a95f0>] ? task_stopped_code+0x50/0x50\n[  176.266564]  [<ffffffff81939199>] system_call_fastpath+0x16/0x1b\n[  176.266564] ---[ end trace 387af88219ad6143 ]---\n\nIt turns out that spin_unlock_bh(proc_inum_lock) is not safe when\nput_pid is called with another spinlock held and irqs disabled.\n\nFor now take the easy path and use spin_lock_irqsave(proc_inum_lock)\nin proc_free_inum and spin_loc_irq in proc_alloc_inum(proc_inum_lock).\n\nSigned-off-by: \"Eric W. Biederman\" <ebiederm@xmission.com>\n(cherry picked from commit dfb2ea45becb198beeb75350d0b7b7ad9076a38f)","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/6cead2cf35c80cbad536305a08fefb861d830a84"},{"sha":"ff6c2aede38fc4f8c86165bc70d523bbc038efb8","author":{"email":"b28fe47f344ea47a742972f6caa7ef1537d21708@google.com","name":"Daniel Rosenberg"},"message":"Fix incorrect conflict resolution in \"vfs: Add setns support for the mount namespace\"","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/ff6c2aede38fc4f8c86165bc70d523bbc038efb8"},{"sha":"eb5941070a14e1eacc37c12b95c73e1de8385b81","author":{"email":"7864bb1e0e12322ea18ea731d051b95b75140567@6wind.com","name":"Nicolas Dichtel"},"message":"selinux/nlmsg: add XFRM_MSG_NEWSPDINFO\n\ncommit 2b7834d3e1b828429faa5dc41a480919e52d3f31 upstream (net-next).\n\nThis new command is missing.\n\nChange-Id: If511000c19aa9af7220ff775d88ace9834b35dcb\nFixes: 880a6fab8f6b (\"xfrm: configure policy hash table thresholds by netlink\")\nReported-by: Christophe Gouault <christophe.gouault@6wind.com>\nSigned-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>","distinct":true,"url":"https://api.github.com/repos/RolanDroid/android_kernel_motorola_msm8226/commits/eb5941070a14e1eacc37c12b95c73e1de8385b81"}]}