{"push_id":822826872,"size":9,"distinct_size":9,"ref":"refs/heads/caf/aosp-common/android-3.14","head":"d2d481270a51545deb4ccc7c6646c9c2432c14da","before":"a848c485e8fa4ecc2816cf22b75d00477b38f598","commits":[{"sha":"793f63fa548cf47ac25f267e8266e2f52edb16f6","author":{"email":"4bb1064d1f46929ded0070376617aece30f0ee54@google.com","name":"Mark Salyzyn"},"message":"ARM64 readahead: fault retry breaks mmap file read random detection\n\nDescription from commit 45cac65b0fcd\n    (\"readahead: fault retry breaks mmap file read random detection\")\n\n.fault now can retry.  The retry can break state machine of .fault.  In\nfilemap_fault, if page is miss, ra->mmap_miss is increased.  In the second\ntry, since the page is in page cache now, ra->mmap_miss is decreased.  And\nthese are done in one fault, so we can't detect random mmap file access.\n\nAdd a new flag to indicate .fault is tried once.  In the second try, skip\nra->mmap_miss decreasing.  The filemap_fault state machine is ok with it.\n\nI only tested x86, didn't test other archs, but looks the change for other\narchs is obvious, but who knows :)\n\n< snip >\n\nYup, arm64 needs this too! Random read improves by 250%, sequential\nread improves by 40%, and random write by 400% to an eMMC device with\ndm crypto wrapped around it.\n\nSigned-off-by: Mark Salyzyn <salyzyn@google.com>\nSigned-off-by: Riley Andrews <riandrews@google.com>\nCc: Shaohua Li <shli@kernel.org>\nCc: Shaohua Li <shaohua.li@fusionio.com>\nCc: Rik van Riel <riel@redhat.com>\nCc: Wu Fengguang <fengguang.wu@intel.com>\nBug: 23181629\nBug: 23385923\nChange-Id: Ia4de1199164d6b5d4430f5518daf2aa5a71a405a","distinct":true,"url":"https://api.github.com/repos/Rashed97/caf-kernel-msm/commits/793f63fa548cf47ac25f267e8266e2f52edb16f6"},{"sha":"11ec10ff2d1330aa60b6868f2f28c09bb2b9d168","author":{"email":"10a8c465cefc9bdd6c925e26964d23c90f1141cc@chromium.org","name":"Dmitry Torokhov"},"message":"net: xt_qtaguid/xt_socket: fix refcount underflow and crash\n\nxt_socket_get[4|6]_sk() do not always increment sock refcount, which\ncauses confusion in xt_qtaguid module which is not aware of this fact\nand drops the reference whether it should have or not. Fix it by\nchanging xt_socket_get[4|6]_sk() to always increment recount of returned\nsock.\n\nThis should fix the following crash:\n\n[  111.319523] BUG: failure at\n/mnt/host/source/src/third_party/kernel/v3.18/net/ipv4/inet_timewait_sock.c:90/__inet_twsk_kill()!\n[  111.331192] Kernel panic - not syncing: BUG!\n[  111.335468] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G     U  W\n3.18.0-06867-g268df91 #1\n[  111.343810] Hardware name: Google Tegra210 Smaug Rev 1+ (DT)\n[  111.349463] Call trace:\n[  111.351917] [<ffffffc000207288>] dump_backtrace+0x0/0x10c\n[  111.357314] [<ffffffc0002073a4>] show_stack+0x10/0x1c\n[  111.362367] [<ffffffc000a82d1c>] dump_stack+0x74/0x94\n[  111.367414] [<ffffffc000a81824>] panic+0xec/0x238\n[  111.372116] [<ffffffc000981648>] __inet_twsk_kill+0xd0/0xf8\n[  111.377684] [<ffffffc0009817b0>] inet_twdr_do_twkill_work+0x64/0xd0\n[  111.383946] [<ffffffc000981a5c>] inet_twdr_hangman+0x2c/0xa4\n[  111.389602] [<ffffffc000271cf0>] call_timer_fn+0xac/0x160\n[  111.394995] [<ffffffc00027250c>] run_timer_softirq+0x23c/0x274\n[  111.400824] [<ffffffc000220a68>] __do_softirq+0x1a4/0x330\n[  111.406218] [<ffffffc000220e94>] irq_exit+0x70/0xd0\n[  111.411093] [<ffffffc000264e00>] __handle_domain_irq+0x84/0xa8\n[  111.416922] [<ffffffc0002003ec>] gic_handle_irq+0x4c/0x80\n\nb/22476945\n\nOriginally reviewed at:\nhttps://chromium-review.googlesource.com/#/c/297414/\n\nSigned-off-by: Dmitry Torokhov <dtor@google.com>","distinct":true,"url":"https://api.github.com/repos/Rashed97/caf-kernel-msm/commits/11ec10ff2d1330aa60b6868f2f28c09bb2b9d168"},{"sha":"81b20be76a2d1d65d21177512d654653b5ac26d3","author":{"email":"fbe788dcd509b324901fbdfe505a4d610d560569@google.com","name":"Jeff Vander Stoep"},"message":"selinux: do not check open perm on ftruncate call\n\nUse the ATTR_FILE attribute to distinguish between truncate()\nand ftruncate() system calls. The two other cases where\ndo_truncate is called with a filp (and therefore ATTR_FILE is set)\nare for coredump files and for open(O_TRUNC). In both of those cases\nthe open permission has already been checked during file open and\ntherefore does not need to be repeated.\n\nCommit 95dbf739313f (\"SELinux: check OPEN on truncate calls\")\nfixed a major issue where domains were allowed to truncate files\nwithout the open permission. However, it introduced a new bug where\na domain with the write permission can no longer ftruncate files\nwithout the open permission, even when they receive an already open\nfile.\n\n(cherry picked from commit b21800f304392ee5d20f411c37470183cc779f11)\n\nBug: 22567870\nChange-Id: I3cc600a5d2e343914e7a2ae1866998c7f6bb1a72\n\nSigned-off-by: Jeff Vander Stoep <jeffv@google.com>\nAcked-by: Stephen Smalley <sds@tycho.nsa.gov>\nSigned-off-by: Paul Moore <pmoore@redhat.com>","distinct":true,"url":"https://api.github.com/repos/Rashed97/caf-kernel-msm/commits/81b20be76a2d1d65d21177512d654653b5ac26d3"},{"sha":"1c225e29c80c22fe9920210ae3214d9ef58a022d","author":{"email":"e2bfaa8b522ad2b3c4a1c86442cc7f7aa55b5234@google.com","name":"Martijn Coenen"},"message":"lowmemorykiller: trace kill events.\n\nAllows for capturing lmk kill events and\ntheir rationale.\n\nChange-Id: Ibe215db5bb9806fc550c72c0b9832c85cbd56bf6\nSigned-off-by: Martijn Coenen <maco@google.com>","distinct":true,"url":"https://api.github.com/repos/Rashed97/caf-kernel-msm/commits/1c225e29c80c22fe9920210ae3214d9ef58a022d"},{"sha":"2f7eff502f2a2fb9e78c0695e69bf20661b7105f","author":{"email":"380081620a7947c89c11153c5513f34019caa923@android.com","name":"Colin Cross"},"message":"staging: ion: Move shrinker out of heaps\n\nEvery heap that uses deferred frees is going to need a shrinker\nto shrink the freelist under memory pressure.  Rather than\nrequiring each heap to implement a shrinker, automatically\nregister a shrinker if the deferred free flag is set.\nThe system heap also needs to shrink its page pools, so add\na shrink function to the heap ops that will be called after\nshrinking the freelists.\n\nCc: Colin Cross <ccross@android.com>\nCc: Android Kernel Team <kernel-team@android.com>\nSigned-off-by: Colin Cross <ccross@android.com>\n[jstultz: Resolved big conflicts with the shrinker api change.\nAlso minor commit subject tweak.]\nSigned-off-by: John Stultz <john.stultz@linaro.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nChange-Id: I6c450b2d3d8e14b91df54713b601c3600b274422","distinct":true,"url":"https://api.github.com/repos/Rashed97/caf-kernel-msm/commits/2f7eff502f2a2fb9e78c0695e69bf20661b7105f"},{"sha":"1b047337cd77200c410b753ae37e1771a92bcd6b","author":{"email":"5070267e141ca308fc855217ddbeaf20e729a7bf@codeaurora.org","name":"Mitchel Humpherys"},"message":"ion: Add private buffer flag to skip page pooling on free\n\nCurrently, when we free a buffer it might actually just go back into a\nheap-specific page pool rather than going back to the system. This poses\na problem because sometimes (like when we're running a shrinker in low\nmemory conditions) we need to force the memory associated with the\nbuffer to truly be relinquished to the system rather than just going\nback into a page pool.\n\nThere isn't a use case for this flag by Ion clients, so make it a\nprivate flag. The main use case right now is to provide a mechanism for\nthe deferred free code to force stale buffers to bypass page pooling.\n\nChange-Id: I724f89cc037083fe8576784363caa18a34e8705a\nSigned-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Rashed97/caf-kernel-msm/commits/1b047337cd77200c410b753ae37e1771a92bcd6b"},{"sha":"43f4056cbec017c4414d74b032e9c14e009eabb0","author":{"email":"b28fe47f344ea47a742972f6caa7ef1537d21708@google.com","name":"Daniel Rosenberg"},"message":"staging: ion: Add X86 dependency for ION_POOL_CACHE_POLICY\n\nION_POOL_CACHE_POLICY uses x86 specific commands.\nOnly allow it to be used for x86.\n\nSigned-off-by: Daniel Rosenberg <drosen@google.com>\nChange-Id: Ic66e175fa41486b0b5f77872f2193add77cbe66f","distinct":true,"url":"https://api.github.com/repos/Rashed97/caf-kernel-msm/commits/43f4056cbec017c4414d74b032e9c14e009eabb0"},{"sha":"8e069f9cad6739b7efc3038ad44f71142de6c0cc","author":{"email":"e4eddfaff1fc5d7affa656f47ee4d83207ccac30@colorfullife.com","name":"Manfred Spraul"},"message":"ipc/sem.c: fully initialize sem_array before making it visible\n\n(cherry pick from commit e8577d1f0329d4842e8302e289fb2c22156abef4)\n\nipc_addid() makes a new ipc identifier visible to everyone.  New objects\nstart as locked, so that the caller can complete the initialization\nafter the call.  Within struct sem_array, at least sma->sem_base and\nsma->sem_nsems are accessed without any locks, therefore this approach\ndoesn't work.\n\nThus: Move the ipc_addid() to the end of the initialization.\n\nSigned-off-by: Manfred Spraul <manfred@colorfullife.com>\nReported-by: Rik van Riel <riel@redhat.com>\nAcked-by: Rik van Riel <riel@redhat.com>\nAcked-by: Davidlohr Bueso <dave@stgolabs.net>\nAcked-by: Rafael Aquini <aquini@redhat.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Mark Salyzyn <salyzyn@google.com>\nBug: 24551430\nChange-Id: I860c757bd13fddad3808cb91f8aaf68214ba1593","distinct":true,"url":"https://api.github.com/repos/Rashed97/caf-kernel-msm/commits/8e069f9cad6739b7efc3038ad44f71142de6c0cc"},{"sha":"d2d481270a51545deb4ccc7c6646c9c2432c14da","author":{"email":"69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org","name":"Linus Torvalds"},"message":"Initialize msg/shm IPC objects before doing ipc_addid()\n\n(cherry pick from commit b9a532277938798b53178d5a66af6e2915cb27cf)\n\nAs reported by Dmitry Vyukov, we really shouldn't do ipc_addid() before\nhaving initialized the IPC object state.  Yes, we initialize the IPC\nobject in a locked state, but with all the lockless RCU lookup work,\nthat IPC object lock no longer means that the state cannot be seen.\n\nWe already did this for the IPC semaphore code (see commit e8577d1f0329:\n\"ipc/sem.c: fully initialize sem_array before making it visible\") but we\nclearly forgot about msg and shm.\n\nReported-by: Dmitry Vyukov <dvyukov@google.com>\nCc: Manfred Spraul <manfred@colorfullife.com>\nCc: Davidlohr Bueso <dbueso@suse.de>\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nSigned-off-by: Mark Salyzyn <salyzyn@google.com>\nBug: 24551430\nChange-Id: Ia975914c6fc073cd0f1856870e9c4e6e883ae5c0","distinct":true,"url":"https://api.github.com/repos/Rashed97/caf-kernel-msm/commits/d2d481270a51545deb4ccc7c6646c9c2432c14da"}]}