{"push_id":1025589874,"size":13,"distinct_size":13,"ref":"refs/heads/cm-13.0","head":"18746597c17498d9ab914be8a35c0c3ac29de3b3","before":"fd9e6f7c1d9143061856a115d66c3115e12bf497","commits":[{"sha":"fdce1af4d1a0c5068bec445b5eed00d794e7f3b0","author":{"email":"bc6501c174fe21162c67cfc51ecb38b9a4d035f0@gmail.com","name":"Ethan Chen"},"message":"hima: Enable watchdog debugging\n\n* Let's see if this can help provide some more useful debugging on\n  watchdog reboot.\n\nChange-Id: Ic74cf45f5a7660267e400c17b471721a9ca6d339","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/fdce1af4d1a0c5068bec445b5eed00d794e7f3b0"},{"sha":"090d173aa546ca758c73fe7250eb1c7e71f4fb44","author":{"email":"c2ec5539c4473ab294a95eac689618c01a8f4c1f@codeaurora.org","name":"Joonwoo Park"},"message":"sched: initialize frequency domain cpumask\n\nIt's possible select_best_cpu() gets called before the first cpufreq\nnotifier call.  In such scenario select_best_cpu() can hang forever by\nnot clearing search_cpus.\n\nInitialize frequency domain cpumask with the CPU of rq to avoid such\nscenario.\n\nCRs-fixed: 931349\nChange-Id: If8d31c5477efe61ad7c6b336ba9e27ca6f556b63\nSigned-off-by: Joonwoo Park <joonwoop@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/090d173aa546ca758c73fe7250eb1c7e71f4fb44"},{"sha":"6d1a9bf2bedd7111fac33b61cfd8ef1892a46f79","author":{"email":"ff359ca7f9aedbb05cd6aa3d17e7b3b3ad3b25c9@google.com","name":"Ruchi Kandoi"},"message":"cpufreq: Persist cpufreq time in state data across hotplug\n\nCpufreq time_in_state data for all CPUs is made persistent across\nhotplug and exposed to userspace via sysfs file\n/sys/devices/system/cpu/cpufreq/all_time_in_state\n\nChange-Id: I97cb5de24b6de16189bf8b5df9592d0a6e6ddf32\nSigned-off-by: Ruchi Kandoi <kandoiruchi@google.com>\nGit-commit: 0d6bea9ad183eb8a6565a2124eb6081480ccaf0e\nGit-repo: https://android.googlesource.com/kernel/msm/\nSigned-off-by: Nirmal Abraham <nabrah@codeaurora.org>\nSigned-off-by: David Ng <dave@codeaurora.org>\nSigned-off-by: Srinivasarao P <spathi@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/6d1a9bf2bedd7111fac33b61cfd8ef1892a46f79"},{"sha":"d24625f080289c29130e53ceada6594bdd27bda4","author":{"email":"d36de655fd7d73924ee153ac87b341a5b17183d0@samsung.com","name":"Minsung Kim"},"message":"cpufreq: fix sleeping in atomic context when realloc freq_table for all_time_in_state\n\nCommit 40cf2f8 (cpufreq: Persist cpufreq time in state data across hotplug)\ncauses the following call trace to be spit on boot:\n\nBUG: sleeping function called from invalid context at mm/slub.c:936\nin_atomic(): 1, irqs_disabled(): 0, pid: 1, name: swapper/0\nCPU: 6 PID: 1 Comm: swapper/0 Not tainted 3.10.9-20140624.172707-eng-gd6c0f69-dirty #50\nBacktrace:\n[<c0012270>] (dump_backtrace+0x0/0x10c) from [<c001256c>] (show_stack+0x18/0x1c)\n r6:ffff1788 r5:c0c020c0 r4:e609c000 r3:00000000\n[<c0012554>] (show_stack+0x0/0x1c) from [<c07a2970>] (dump_stack+0x20/0x28)\n[<c07a2950>] (dump_stack+0x0/0x28) from [<c0057678>] (__might_sleep+0x104/0x120)\n[<c0057574>] (__might_sleep+0x0/0x120) from [<c00ff000>] (__kmalloc_track_caller+0x144/0x274)\n r6:00000000 r5:e609c000 r4:e6802140\n[<c00feebc>] (__kmalloc_track_caller+0x0/0x274) from [<c00da098>] (krealloc+0x58/0xb0)\n[<c00da040>] (krealloc+0x0/0xb0) from [<c050266c>] (cpufreq_allstats_create+0x120/0x204)\n r8:e4c4ff00 r7:c0d266b8 r6:0013d620 r5:e4c4e600 r4:00000001\nr3:e535d6d0\n[<c050254c>] (cpufreq_allstats_create+0x0/0x204) from [<c0502e38>] (cpufreq_stat_notifier_policy+0xb8/0xd0)\n[<c0502d80>] (cpufreq_stat_notifier_policy+0x0/0xd0) from [<c00517cc>] (notifier_call_chain+0x4c/0x8c)\n r5:00000000 r4:fffffffe\n[<c0051780>] (notifier_call_chain+0x0/0x8c) from [<c00519fc>] (__blocking_notifier_call_chain+0x50/0x68)\n r8:c0cd4d00 r7:00000002 r6:e609dd7c r5:ffffffff r4:c0d25a4c\nr3:ffffffff\n[<c00519ac>] (__blocking_notifier_call_chain+0x0/0x68) from [<c0051a34>] (blocking_notifier_call_chain+0x20/0x28)\n r7:c0e24f30 r6:00000000 r5:e53e1e00 r4:e609dd7c\n[<c0051a14>] (blocking_notifier_call_chain+0x0/0x28) from [<c0500fec>] (__cpufreq_set_policy+0xc0/0x1d0)\n[<c0500f2c>] (__cpufreq_set_policy+0x0/0x1d0) from [<c0501308>] (cpufreq_add_dev_interface+0x20c/0x270)\n r7:00000008 r6:00000000 r5:e53e1e00 r4:e53e1e58\n[<c05010fc>] (cpufreq_add_dev_interface+0x0/0x270) from [<c05016a8>] (cpufreq_add_dev+0x33c/0x420)\n[<c050136c>] (cpufreq_add_dev+0x0/0x420) from [<c03604a4>] (subsys_interface_register+0x80/0xbc)\n[<c0360424>] (subsys_interface_register+0x0/0xbc) from [<c050035c>] (cpufreq_register_driver+0x8c/0x194)\n\nChange-Id: If77a656d0ea60a8fc4083283d104509fa6c07f8f\nSigned-off-by: Minsung Kim <ms925.kim@samsung.com>\nGit-commit: d7052164059dd0447cc8f00a2692161a81644417\nGit-repo: https://android.googlesource.com/kernel/msm/\nSigned-off-by: Nirmal Abraham <nabrah@codeaurora.org>\nSigned-off-by: Srinivasarao P <spathi@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/d24625f080289c29130e53ceada6594bdd27bda4"},{"sha":"b0f71911a763876dd6516db604098eb83e773def","author":{"email":"ff359ca7f9aedbb05cd6aa3d17e7b3b3ad3b25c9@google.com","name":"Ruchi Kandoi"},"message":"cpufreq: Avoid using global variable total_cpus\n\nThe change is to compile on kernels where cpufreq stats are compiled as\na module (CONFIG_CPU_FREQ_STAT=m), because total_cpus is not exported for\nmodule use.\n\nReported-By: Emilio López <elopez93@gmail.com>\nSigned-off-by: Ruchi Kandoi <kandoiruchi@google.com>\nChange-Id: I4f3c74f0fac5e8d9449655b26bf3b407b0fe4290\nGit-commit: c8468201e5509fd4a942247d32d07904e15a57df\nGit-repo: https://android.googlesource.com/kernel/msm/\nSigned-off-by: Nirmal Abraham <nabrah@codeaurora.org>\nSigned-off-by: Srinivasarao P <spathi@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/b0f71911a763876dd6516db604098eb83e773def"},{"sha":"7a6944e8fc83523c52770cf7af24a31f8dfd8fcd","author":{"email":"bf1b3d55c9688c44c47080bb956e0b5fa97ddc18@codeaurora.org","name":"Srinivasarao P"},"message":"cpufreq_stats: Adds the fucntionality to load current values for each frequency for all the cores.\n\nThe current values for the cpu cores needs to be added to the device\ntree for this functionaly to work. It loads the current values for each\nfrequecy in uA for all the cores.\n\nBug: 21498425\nChange-Id: If03311aaeb3e4c09375dd0beb9ad4fbb254b5c08\nSigned-off-by: Ruchi Kandoi <kandoiruchi@google.com>\nGit-commit: 744a20b3a12e29a4c2b32005fe1b030cecd267e5\nGit-repo: https://android.googlesource.com/kernel/msm/\nSigned-off-by: Nirmal Abraham <nabrah@codeaurora.org>\nSigned-off-by: Srinivasarao P <spathi@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/7a6944e8fc83523c52770cf7af24a31f8dfd8fcd"},{"sha":"5829479daf4fa45a73582ae9a1df64aea2b73702","author":{"email":"ff359ca7f9aedbb05cd6aa3d17e7b3b3ad3b25c9@google.com","name":"Ruchi Kandoi"},"message":"sched: cpufreq: Adds a field cpu_power in the task_struct\n\ncpu_power has been added to keep track of amount of power each task is\nconsuming. cpu_power is updated whenever stime and utime are updated for\na task. power is computed by taking into account the frequency at which\nthe current core was running and the current for cpu actively\nrunning at hat frequency.\n\nBug: 21498425\nChange-Id: Ic535941e7b339aab5cae9081a34049daeb44b248\nSigned-off-by: Ruchi Kandoi <kandoiruchi@google.com>\nGit-commit: 94877641f6b6ea17aa335729f548eb5647db3e3e\nGit-repo: https://android.googlesource.com/kernel/msm/\nSigned-off-by: Nirmal Abraham <nabrah@codeaurora.org>\nSigned-off-by: Srinivasarao P <spathi@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/5829479daf4fa45a73582ae9a1df64aea2b73702"},{"sha":"796c4d4f42e5f857d21fee98e4e93f2dd1978465","author":{"email":"ff359ca7f9aedbb05cd6aa3d17e7b3b3ad3b25c9@google.com","name":"Ruchi Kandoi"},"message":"uid_cputime: Avoids double accounting of process stime, utime and cpu_power in task exit.\n\nThis avoids the race where a particular process is terminating and we\nread the show_uid_stats. At this time since the task_struct still exists\nand we will account for the terminating process as one of the active\ntask, where as the stats would have been added in the task exit\ncallback.\n\nWhen the task is terminated, the cpu_power for that particular task is\nadded to the terminated tasks. It is possible that before the task releases all\nthe resources, cpu reschedules the task or a timer interrupt is fired. At this\npoint we will try to add the additional time to the process, which will cause\nthe accounting to be skewed. This avoids that race condition.\n\nBug: 22064385\nChange-Id: Id2ae04b33fcd230eda9683a41b6019d4dd8f5d85\nSigned-off-by: Jin Qian <jinqian@google.com>\nSigned-off-by: Ruchi Kandoi <kandoiruchi@google.com>\nGit-commit: 344377047daa5832ef798af697adee388e367d57\nGit-repo: https://android.googlesource.com/kernel/msm/\nSigned-off-by: Nirmal Abraham <nabrah@codeaurora.org>\nSigned-off-by: Srinivasarao P <spathi@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/796c4d4f42e5f857d21fee98e4e93f2dd1978465"},{"sha":"a8b086405cde289244e7de636d80baa0d51aeae3","author":{"email":"bf1b3d55c9688c44c47080bb956e0b5fa97ddc18@codeaurora.org","name":"Srinivasarao P"},"message":"cpufreq: Correct the data reported in all_time_in_state\n\nCommit bd9474e059bbb2bb62f7e93894cfc3d3ba473fb2 (cpufreq_stats:\nAdds the fucntionality to load current values for each frequency\nfor all the cores) introduced a change by which\n'cpufreq_allstats_create' gets called at initialization (from\n'cpufreq_stats_init' instead of 'cpufreq_stat_notifier_policy').\nThis causes 'cpufreq_allstate_create' to be called before the\nfreq_table is allocated from 'create_all_freq_table'. Due to\nthis, the data for cpu's which are online at boot are not\nadded to the 'all_freq_table' leading to the incorrect\nreporting of data when the below sysfs command is run -\n'cat sys/devices/system/cpu/cpufreq/all_time_in_state'.\n\nCorrect this behaviour by altering the cpufreq_stats init\nsequence by which the memory for 'all_freq_table' is allocated\nbefore the 'cpufreq_allstats_create' function is called.\n\nChange-Id: I2232dacdc0deec4d1987c418e833fe28f74623fc\nSigned-off-by: Nirmal Abraham <nabrah@codeaurora.org>\nSigned-off-by: Srinivasarao P <spathi@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/a8b086405cde289244e7de636d80baa0d51aeae3"},{"sha":"6d7782f611fc379e2b62d3040a3961b15abc24ff","author":{"email":"3ca33452d0ba398506359975e18b2014a884f2c8@yandex-team.ru","name":"Roman Gushchin"},"message":"fuse: break infinite loop in fuse_fill_write_pages()\n\ncommit 3ca8138f014a913f98e6ef40e939868e1e9ea876 upstream.\n\nI got a report about unkillable task eating CPU. Further\ninvestigation shows, that the problem is in the fuse_fill_write_pages()\nfunction. If iov's first segment has zero length, we get an infinite\nloop, because we never reach iov_iter_advance() call.\n\nFix this by calling iov_iter_advance() before repeating an attempt to\ncopy data from userspace.\n\nA similar problem is described in 124d3b7041f (\"fix writev regression:\npan hanging unkillable and un-straceable\"). If zero-length segmend\nis followed by segment with invalid address,\niov_iter_fault_in_readable() checks only first segment (zero-length),\niov_iter_copy_from_user_atomic() skips it, fails at second and\nreturns zero -> goto again without skipping zero-length segment.\n\nPatch calls iov_iter_advance() before goto again: we'll skip zero-length\nsegment at second iteraction and iov_iter_fault_in_readable() will detect\ninvalid address.\n\nSpecial thanks to Konstantin Khlebnikov, who helped a lot with the commit\ndescription.\n\nChange-Id: I90e33d0b4f234d2873b6ad59ec5948807ab255e3\nCc: Andrew Morton <akpm@linux-foundation.org>\nCc: Maxim Patlasov <mpatlasov@parallels.com>\nCc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>\nSigned-off-by: Roman Gushchin <klamm@yandex-team.ru>\nSigned-off-by: Miklos Szeredi <miklos@szeredi.hu>\nFixes: ea9b9907b82a (\"fuse: implement perform_write\")\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/6d7782f611fc379e2b62d3040a3961b15abc24ff"},{"sha":"3468bac0b6af48fa5d22954d3a7f4644d38f75ed","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"KEYS: Fix race between read and revoke\n\ncommit b4a1b4f5047e4f54e194681125c74c0aa64d637d upstream.\n\nThis fixes CVE-2015-7550.\n\nThere's a race between keyctl_read() and keyctl_revoke().  If the revoke\nhappens between keyctl_read() checking the validity of a key and the key's\nsemaphore being taken, then the key type read method will see a revoked key.\n\nThis causes a problem for the user-defined key type because it assumes in\nits read method that there will always be a payload in a non-revoked key\nand doesn't check for a NULL pointer.\n\nFix this by making keyctl_read() check the validity of a key after taking\nsemaphore instead of before.\n\nI think the bug was introduced with the original keyrings code.\n\nThis was discovered by a multithreaded test program generated by syzkaller\n(http://github.com/google/syzkaller).  Here's a cleaned up version:\n\n\t#include <sys/types.h>\n\t#include <keyutils.h>\n\t#include <pthread.h>\n\tvoid *thr0(void *arg)\n\t{\n\t\tkey_serial_t key = (unsigned long)arg;\n\t\tkeyctl_revoke(key);\n\t\treturn 0;\n\t}\n\tvoid *thr1(void *arg)\n\t{\n\t\tkey_serial_t key = (unsigned long)arg;\n\t\tchar buffer[16];\n\t\tkeyctl_read(key, buffer, 16);\n\t\treturn 0;\n\t}\n\tint main()\n\t{\n\t\tkey_serial_t key = add_key(\"user\", \"%\", \"foo\", 3, KEY_SPEC_USER_KEYRING);\n\t\tpthread_t th[5];\n\t\tpthread_create(&th[0], 0, thr0, (void *)(unsigned long)key);\n\t\tpthread_create(&th[1], 0, thr1, (void *)(unsigned long)key);\n\t\tpthread_create(&th[2], 0, thr0, (void *)(unsigned long)key);\n\t\tpthread_create(&th[3], 0, thr1, (void *)(unsigned long)key);\n\t\tpthread_join(th[0], 0);\n\t\tpthread_join(th[1], 0);\n\t\tpthread_join(th[2], 0);\n\t\tpthread_join(th[3], 0);\n\t\treturn 0;\n\t}\n\nBuild as:\n\n\tcc -o keyctl-race keyctl-race.c -lkeyutils -lpthread\n\nRun as:\n\n\twhile keyctl-race; do :; done\n\nas it may need several iterations to crash the kernel.  The crash can be\nsummarised as:\n\n\tBUG: unable to handle kernel NULL pointer dereference at 0000000000000010\n\tIP: [<ffffffff81279b08>] user_read+0x56/0xa3\n\t...\n\tCall Trace:\n\t [<ffffffff81276aa9>] keyctl_read_key+0xb6/0xd7\n\t [<ffffffff81277815>] SyS_keyctl+0x83/0xe0\n\t [<ffffffff815dbb97>] entry_SYSCALL_64_fastpath+0x12/0x6f\n\nChange-Id: I7650e04b254ba73cf97d34dfb1410cb30f64b209\nReported-by: Dmitry Vyukov <dvyukov@google.com>\nSigned-off-by: David Howells <dhowells@redhat.com>\nTested-by: Dmitry Vyukov <dvyukov@google.com>\nSigned-off-by: James Morris <james.l.morris@oracle.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/3468bac0b6af48fa5d22954d3a7f4644d38f75ed"},{"sha":"5403f242d80a4e0ebb79634e174fa1050596a1b9","author":{"email":"4b8373d016f277527198385ba72fda0feb5da015@hurleysoftware.com","name":"Peter Hurley"},"message":"tty: Fix unsafe ldisc reference via ioctl(TIOCGETD)\n\ncommit 5c17c861a357e9458001f021a7afa7aab9937439 upstream.\n\nioctl(TIOCGETD) retrieves the line discipline id directly from the\nldisc because the line discipline id (c_line) in termios is untrustworthy;\nuserspace may have set termios via ioctl(TCSETS*) without actually\nchanging the line discipline via ioctl(TIOCSETD).\n\nHowever, directly accessing the current ldisc via tty->ldisc is\nunsafe; the ldisc ptr dereferenced may be stale if the line discipline\nis changing via ioctl(TIOCSETD) or hangup.\n\nWait for the line discipline reference (just like read() or write())\nto retrieve the \"current\" line discipline id.\n\nChange-Id: I9777b0ed5f5e77309506ff821ffbe7e4b9ef7b69\nSigned-off-by: Peter Hurley <peter@hurleysoftware.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/5403f242d80a4e0ebb79634e174fa1050596a1b9"},{"sha":"18746597c17498d9ab914be8a35c0c3ac29de3b3","author":{"email":"4d3bd4a46a8b96a3fa32bc2e4cbab29486b3604d@vodafone.de","name":"adromir"},"message":"Merge pull request #2 from CyanogenMod/cm-13.0\n\nCm 13.0","distinct":true,"url":"https://api.github.com/repos/adromir/android_kernel_htc_msm8994/commits/18746597c17498d9ab914be8a35c0c3ac29de3b3"}]}