{"push_id":1252419761,"size":288,"distinct_size":288,"ref":"refs/heads/ATTACKEDEXTENDED","head":"ec9e5b0a12e7926c10f54cf7040ca2a207880767","before":"473e79d8e463c24a88c31081adb4506a4abace18","commits":[{"sha":"52e0b00ed2383ca8af320e4c950a441328172d50","author":{"name":"Matthias Yzusqui","email":"024813fae73d04b99bf386cd7b157deace0ca867@gmail.com"},"message":"lowmemorykiller: strategic revert to prepare adaptive lmk update\n\nThe following squash of reverts undoes motorolas lmk changes and\nadditions including some cherry-pick fixes. These will be applied\nback in order, together with the adaptive lmk.\n\n  Revert \"oom_adj_rbtree: delete task before changing oom score\"\n\n  This reverts commit ac9314718519f57034c1e483e87b016775e7e085.\n\n  Revert \"fs: avoid adding non-thread-group task to LMK rbtree\"\n\n  This reverts commit 9fb6ee8e24420a9c0286cc22136418132af1192e.\n\n  Revert \"lowmemorykiller: maintain LMK rbtree with signal->adj_node\"\n\n  This reverts commit 2f5d61c83f813b7aea4bb4991b4af6629e39bf0d.\n\n  Revert \"lowmemorykiller: Check tgid with rcu lock held\"\n\n  This reverts commit 7f5a330a402d8d2ab6e49232ef523d1ace964949.\n\n  Revert \"drivers:lmk: Fix null pointer issue\"\n\n  This reverts commit 443e50ae5a970242841ec3eb30230e535dd174a5.\n\n  Revert \"drivers:lmk: Fix double delete issue\"\n\n  This reverts commit ff9f64ce1e1be24838b5583e8cfa38ad4f796887.\n\n  Revert \"lowmemorykiller: Account for highmem during kswapd reclaim\"\n\n  This reverts commit df13e946e832aa99874043c9ad41cff5139fde0b.\n\n  Revert \"staging:android:lmk: read rb tree root with spinlock\"\n\n  This reverts commit 7039afeb5421d6384bcd85fa52daab280a51e35d.\n\n  Revert \"staging: android: lmk: add rcu lock while test task flag\"\n\n  This reverts commit ddc0a3a8e91bc23dd994c94700c1483a83a2f2ec.\n\n  Revert \"staging: android: lmk: check TIF directly\"\n\n  This reverts commit c9f8800ec51611ddfb2c9f6acbd7bb28d199e721.\n\n  Revert \"staging: android: lmk: skip if killed by lmk\"\n\n  This reverts commit 07d1a10e127d2006fe05e8722a05e6df43930199.\n\n  Revert \"staging: android: lmk: check free memory when tasks switch to background\"\n\n  This reverts commit 7c08a87468ea61e55a918c0665a6c215a9a3b896.\n\n  Revert \"staging: android: lowmemorykiller: implement task's adj rbtree\"\n\n  This reverts commit 43a8aa3cc79d1652dbac01fcbec01be11bb322a5.\n\n  Revert \"trace: memkill: provide fixed zone info columns.\"\n\n  This reverts commit 534102194c2161eed934cfd29321a0dc3760941b.\n\n  Revert \"trace: memkill: per-zone page state for LMK\"\n\n  This reverts commit 3689aa1d2efbce2829283cb1d9a1e81f29cf84d4.\n\n  Revert \"trace: allow memkill tracing to be selectively enabled\"\n\n  This reverts commit 3f0eab5a5f63c0d02d42a3b0550b9b82a7d28872.\n\n  Revert \"trace: memkill: trace LMK and OOM kills\"\n\n  This reverts commit a646a788fbb93f3743dfb3743d3069f42a25fc7e.\n\n  Revert \"staging: android: lowmemorykiller: select a new task to kill\"\n\n  This reverts commit d3ecdc1ce60841798bee86dc0dce19e28837bf5e.\n\nChange-Id: I76cb2a7fd8f1ffb518f5c5d6ce8dd1aeac6bb60a","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/52e0b00ed2383ca8af320e4c950a441328172d50"},{"sha":"9e3bf531e3539c79cc4adaa3e4df797520bb6b07","author":{"name":"Naveen Ramaraj","email":"39ba0c3e4c16aba97173ab22aa9606c0c48b0c31@codeaurora.org"},"message":"lowmemorykiller: Account for highmem during kswapd reclaim\n\nCurrently most memory reclaim is done through kswapd.\nSince kswapd uses a gfp mask of GFP_KERNEL, and because\nthe lowmemorykiller is zone aware, the lowmemorykiller will\nignore highmem most of the time.\nThis results in the lowmemorykiller being overly aggressive.\n\nThe fix to this issue is to allow the lowmemorykiller to\ncount highmem when being called by the kswapd if the lowmem\nwatermarks are satisfied.\n\nBug: 17626969\nChange-Id: I938644584f374763d10d429d835e74daa4854a38\nSigned-off-by: Liam Mark <lmark@codeaurora.org>\nSigned-off-by: Naveen Ramaraj <nramaraj@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/9e3bf531e3539c79cc4adaa3e4df797520bb6b07"},{"sha":"d43a643c077f15deb6724de3535b09129f163140","author":{"name":"Colin Cross","email":"c3eb3589476a85b6e3c54298f5e4883ee431d748@android.com"},"message":"lowmemorykiller: make default lowmemorykiller debug message useful\n\nlowmemorykiller debug messages are inscrutable and mostly useful\nfor debugging the lowmemorykiller, not explaining why a process\nwas killed.  Make the messages more useful by prefixing them\nwith \"lowmemorykiller: \" and explaining in more readable terms\nwhat was killed, who it was killed for, and why it was killed.\n\nThe messages now look like:\n[   76.997631] lowmemorykiller: Killing 'droid.gallery3d' (2172), adj 1000,\n[   76.997635]    to free 27436kB on behalf of 'kswapd0' (29) because\n[   76.997638]    cache 122624kB is below limit 122880kB for oom_score_adj 1000\n[   76.997641]    Free memory is -53356kB above reserved\n\nA negative number for free memory above reserved means some of the\nreserved memory has been used and is being regenerated by kswapd,\nwhich is likely what called the shrinkers.\n\nChange-Id: I1fe983381e73e124b90aa5d91cb66e55eaca390f\nSigned-off-by: Colin Cross <ccross@android.com>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/d43a643c077f15deb6724de3535b09129f163140"},{"sha":"a0e417089cf1a95b4c7f92eb3192d4ed3cbc7740","author":{"name":"Liam Mark","email":"db460ca79fa3459eb33cde4b2632331670821bd4@codeaurora.org"},"message":"lowmemorykiller: enhance debug information\n\nAdd extra debug information to make it easier to both determine\nwhy the lowmemorykiller killed a process and to help find the source\nof memory leaks.\n\nAlso increase the debug level for \"select\" statements to help prevent\nflooding the log.\n\nBug: 17871993\nChange-Id: I3b6876c5ecdf192ecc271aed3f37579f66d47a08\nSigned-off-by: Liam Mark <lmark@codeaurora.org>\nSigned-off-by: Naveen Ramaraj <nramaraj@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/a0e417089cf1a95b4c7f92eb3192d4ed3cbc7740"},{"sha":"2047e0d8fb33181fa55da847aad52813bbec67b1","author":{"name":"Vinayak Menon","email":"c6e79b2757471d38dfbeaf17f987a81f42208aac@codeaurora.org"},"message":"lowmemorykiller: use for_each_thread instead of buggy while_each_thread\n\nCouple of cases were reported few months ago, where the cpu was blocked\non the following call stack for /seconds/ after which the watchdog fires.\n\ntest_task_flag(p = 0xE14ABF00, ?)\nlowmem_shrink(?, sc = 0xD7A03C04)\nshrink_slab(shrink = 0xD7A03C04, nr_pages_scanned = 0, lru_pages = 120)\ntry_to_free_pages(zonelist = 0xC1116440, ?, ?, ?)\n__alloc_pages_nodemask(?, order = 0, ?, nodemask = 0x0)\n__do_page_cache_readahead(mapping = 0xEB819364, filp = 0xCC16DC00, offset =\nra_submit(?, ?, ?)\nfilemap_fault(vma = 0xC105D240, vmf = 0xD7A03DC8)\n\nThere weren't any dumps to analyse the case, but this can be a possible\nreason. while_each_thread is known to be buggy and can result in the\nfunction looping forever if the task exits, even when protected with\nrcu_read_lock. Use for_each_thread instead.\n\nMore details on the problems with while_each_thread can be found\nat https://lkml.org/lkml/2013/12/2/320\n\nChange-Id: I5eb6e4b463f81142a2a7824db389201357432ec7\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/2047e0d8fb33181fa55da847aad52813bbec67b1"},{"sha":"43fe6db8f2974ac9460bac54e2c27b837134aa4c","author":{"name":"Laura Abbott","email":"8553df7474583031a579ce7388bd843e3b158549@codeaurora.org"},"message":"lowmemorykiller: Dump out slab state information\n\nLeaks from the slab allocator are a very common cause of\nout of memory issues and excessive lowmemorykiller killing.\nDump out the slab statistics as well to help with debugging.\n\nChange-Id: Ia5e4eeb66092c76f2b761321c88fa75c4138927c\nSigned-off-by: Laura Abbott <lauraa@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/43fe6db8f2974ac9460bac54e2c27b837134aa4c"},{"sha":"c215dd3209179e34607561427b777dda61baea5d","author":{"name":"Laura Abbott","email":"8553df7474583031a579ce7388bd843e3b158549@codeaurora.org"},"message":"lowmemorykiller: Run the lowmemory notifier when killing\n\nWhen the lowmemory killer starts killing processes, it's useful to\nbe able to see the state of other memory in the system. Call the\nlowmemory notifier to get other clients to dump out their state.\n\nChange-Id: Ie3b1d47149f0108b42b7961fd47a8cc5efe2c590\nSigned-off-by: Laura Abbott <lauraa@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/c215dd3209179e34607561427b777dda61baea5d"},{"sha":"211b879149b51fb11d3164580e20d0a881ec2e35","author":{"name":"Susheel Khiani","email":"5aa6d1b9ef056f0957607a4b0807dabe07fa9b70@codeaurora.org"},"message":"lowmemorykiller: Do proper NULL checks\n\nPointer other_free is getting dereferenced without\nperforming proper NULL checks which may cause issue.\nDo proper NULL checks at all points before dereferencing\nit.\n\nChange-Id: I88515703d64730e42598ab16136dcce4c18b099c\nSigned-off-by: Susheel Khiani <skhiani@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/211b879149b51fb11d3164580e20d0a881ec2e35"},{"sha":"c390fc732610b37853bc3e78cd0ff0e3f9b5e5dd","author":{"name":"Vinayak Menon","email":"c6e79b2757471d38dfbeaf17f987a81f42208aac@codeaurora.org"},"message":"lowmemorykiller: adapt to vmpressure\n\nThere were issues reported, where page cache thrashing was\nobserved because of LMK not killing tasks when required,\nresulting in sluggishness and higher app launch latency.\nLMK does not kill a task for the following reasons.\n1. The free and file pages are above the LMK thresholds\n2. LMK tries to pick task with an adj level corresponding\nto current thresholds, but fails to do so because of the\nabsence of tasks in that level.\nBut sometimes it is better to kill a lower adj task, than thrashing.\nAnd there are cases where the number of file pages are huge, though\nwe dont thrash, the reclaim process becomes time consuming, since\nLMK triggers will be delayed because of higher number of file\npages. Even in such cases, when reclaim path finds it difficult\nto reclaim pages, it is better to trigger lmk to free up some memory\nfaster.\n\nThe basic idea here is to make LMK more aggressive dynamically\nwhen such a thrashing scenario is detected.\n\nTo detect thrashing, this patch uses vmpressure events.\nThe values of vmpressure upon which an action has to be taken,\nwas derived empirically.\n\nThis patch also adds tracepoints to validate this feature,\nalmk_shrink and almk_vmpressure.\n\nTwo knobs are available for the user to tune adaptive lmk\nbehaviour.\n\n/sys/module/lowmemorykiller/parameters/adaptive_lmk - Write\n1 to enable the feature, 0 to disable. By default disabled.\n\n/sys/module/lowmemorykiller/parameters/vmpressure_file_min -\nThis parameter controls the behaviour of LMK when vmpressure\nis in the range of 90-94. Adaptive lmk triggers based on number file\npages wrt vmpressure_file_min, when vmpressure is in the range of\n90-94. Usually this is a pseudo minfree value, higher than the\nhighest configured value in minfree array.\n\nChange-Id: I1a08160c35d3e33bdfd1d2c789c288fc07d0f0d3\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/c390fc732610b37853bc3e78cd0ff0e3f9b5e5dd"},{"sha":"847d3222963ff9de58a266b6970d29cf3dc03e98","author":{"name":"Liam Mark","email":"db460ca79fa3459eb33cde4b2632331670821bd4@codeaurora.org"},"message":"lowmemorykiller: Don't count swap cache pages twice\n\nThe lowmem_shrink function discounts all the swap cache pages from\nthe file cache count. The zone aware code also discounts all file\ncache pages from a certain zone.  This results in some swap cache\npages being discounted twice, which can result in the low memory\nkiller being unnecessarily aggressive.\n\nFix the low memory killer to only discount the swap cache pages\nonce.\n\nChange-Id: I650bbfbf0fbbabd01d82bdb3502b57ff59c3e14f\nSigned-off-by: Liam Mark <lmark@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/847d3222963ff9de58a266b6970d29cf3dc03e98"},{"sha":"6c425c6ea608d3344d0bd00c392f5fa7ec49cbba","author":{"name":"Vinayak Menon","email":"c6e79b2757471d38dfbeaf17f987a81f42208aac@codeaurora.org"},"message":"lowmemorykiller: avoid false adaptive LMK triggers\n\nIn vmpressure notifier of LMK, shift_adj would have been set\nby a previous invocation of notifier, which is not followed by\na lowmem_shrink yet. Since vmpressure has improved, reset\nshift_adj to avoid false adaptive LMK trigger.\n\nChange-Id: I2d77103d7c8f4d8a66e4652cba78e619a7bcef9a\nSigned-off-by: Vinayak Menon <vinmenon@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/6c425c6ea608d3344d0bd00c392f5fa7ec49cbba"},{"sha":"9d402a776b95709f9ceca19d06d37e696ac36c02","author":{"name":"Matthias Yzusqui","email":"024813fae73d04b99bf386cd7b157deace0ca867@gmail.com"},"message":"lowmemorykiller: remove duplicate header include\n\nChange-Id: I7ea466eaed1377855f53e79a6737e23ad21ff1ee","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/9d402a776b95709f9ceca19d06d37e696ac36c02"},{"sha":"ba0890b385a4e580f16b081acebf016d1bb4b818","author":{"name":"Matthias Yzusqui","email":"024813fae73d04b99bf386cd7b157deace0ca867@gmail.com"},"message":"defconfig: regenerate after LMK update\n\nChange-Id: I255a82609a6f7c0b21b098140113e343b19dd85d","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/ba0890b385a4e580f16b081acebf016d1bb4b818"},{"sha":"81850415d58394d34b24bdd032553ccc2bc7d029","author":{"name":"Oleg Nesterov","email":"66df68a59e3b21ba65b9e7f3fee04bb7abd7ddc2@redhat.com"},"message":"introduce for_each_thread() to replace the buggy while_each_thread()\n\nwhile_each_thread() and next_thread() should die, almost every lockless\nusage is wrong.\n\n1. Unless g == current, the lockless while_each_thread() is not safe.\n\n   while_each_thread(g, t) can loop forever if g exits, next_thread()\n   can't reach the unhashed thread in this case. Note that this can\n   happen even if g is the group leader, it can exec.\n\n2. Even if while_each_thread() itself was correct, people often use\n   it wrongly.\n\n   It was never safe to just take rcu_read_lock() and loop unless\n   you verify that pid_alive(g) == T, even the first next_thread()\n   can point to the already freed/reused memory.\n\nThis patch adds signal_struct->thread_head and task->thread_node to\ncreate the normal rcu-safe list with the stable head.  The new\nfor_each_thread(g, t) helper is always safe under rcu_read_lock() as\nlong as this task_struct can't go away.\n\nNote: of course it is ugly to have both task_struct->thread_node and the\nold task_struct->thread_group, we will kill it later, after we change\nthe users of while_each_thread() to use for_each_thread().\n\nPerhaps we can kill it even before we convert all users, we can\nreimplement next_thread(t) using the new thread_head/thread_node.  But\nwe can't do this right now because this will lead to subtle behavioural\nchanges.  For example, do/while_each_thread() always sees at least one\ntask, while for_each_thread() can do nothing if the whole thread group\nhas died.  Or thread_group_empty(), currently its semantics is not clear\nunless thread_group_leader(p) and we need to audit the callers before we\ncan change it.\n\nSo this patch adds the new interface which has to coexist with the old\none for some time, hopefully the next changes will be more or less\nstraightforward and the old one will go away soon.\n\nSigned-off-by: Oleg Nesterov <oleg@redhat.com>\nReviewed-by: Sergey Dyasly <dserrg@gmail.com>\nTested-by: Sergey Dyasly <dserrg@gmail.com>\nReviewed-by: Sameer Nanda <snanda@chromium.org>\nAcked-by: David Rientjes <rientjes@google.com>\nCc: \"Eric W. Biederman\" <ebiederm@xmission.com>\nCc: Frederic Weisbecker <fweisbec@gmail.com>\nCc: Mandeep Singh Baines <msb@chromium.org>\nCc: \"Ma, Xindong\" <xindong.ma@intel.com>\nCc: Michal Hocko <mhocko@suse.cz>\nCc: \"Tu, Xiaobing\" <xiaobing.tu@intel.com>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n\nConflicts:\n\tkernel/fork.c\n\nChange-Id: Ifbc03de47d4ac476b7d3371d94b193472d053d1c","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/81850415d58394d34b24bdd032553ccc2bc7d029"},{"sha":"dcc5f4a38fb9c5e150fb847c49663c602cdd5137","author":{"name":"Srivatsa S. Bhat","email":"86fcb99d833c6028b7c159db19d83d69bb396a1e@linux.vnet.ibm.com"},"message":"CPU hotplug: Provide lockless versions of callback registration functions\n\n(cherry pick from commit 93ae4f978ca7f26d17df915ac7afc919c1dd0353)\n\nThe following method of CPU hotplug callback registration is not safe\ndue to the possibility of an ABBA deadlock involving the cpu_add_remove_lock\nand the cpu_hotplug.lock.\n\n\tget_online_cpus();\n\n\tfor_each_online_cpu(cpu)\n\t\tinit_cpu(cpu);\n\n\tregister_cpu_notifier(&foobar_cpu_notifier);\n\n\tput_online_cpus();\n\nThe deadlock is shown below:\n\n          CPU 0                                         CPU 1\n          -----                                         -----\n\n   Acquire cpu_hotplug.lock\n   [via get_online_cpus()]\n\n                                              CPU online/offline operation\n                                              takes cpu_add_remove_lock\n                                              [via cpu_maps_update_begin()]\n\n   Try to acquire\n   cpu_add_remove_lock\n   [via register_cpu_notifier()]\n\n                                              CPU online/offline operation\n                                              tries to acquire cpu_hotplug.lock\n                                              [via cpu_hotplug_begin()]\n\n                            *** DEADLOCK! ***\n\nThe problem here is that callback registration takes the locks in one order\nwhereas the CPU hotplug operations take the same locks in the opposite order.\nTo avoid this issue and to provide a race-free method to register CPU hotplug\ncallbacks (along with initialization of already online CPUs), introduce new\nvariants of the callback registration APIs that simply register the callbacks\nwithout holding the cpu_add_remove_lock during the registration. That way,\nwe can avoid the ABBA scenario. However, we will need to hold the\ncpu_add_remove_lock throughout the entire critical section, to protect updates\nto the callback/notifier chain.\n\nThis can be achieved by writing the callback registration code as follows:\n\n\tcpu_maps_update_begin(); [ or cpu_notifier_register_begin(); see below ]\n\n\tfor_each_online_cpu(cpu)\n\t\tinit_cpu(cpu);\n\n\t/* This doesn't take the cpu_add_remove_lock */\n\t__register_cpu_notifier(&foobar_cpu_notifier);\n\n\tcpu_maps_update_done();  [ or cpu_notifier_register_done(); see below ]\n\nNote that we can't use get_online_cpus() here instead of cpu_maps_update_begin()\nbecause the cpu_hotplug.lock is dropped during the invocation of CPU_POST_DEAD\nnotifiers, and hence get_online_cpus() cannot provide the necessary\nsynchronization to protect the callback/notifier chains against concurrent\nreads and writes. On the other hand, since the cpu_add_remove_lock protects\nthe entire hotplug operation (including CPU_POST_DEAD), we can use\ncpu_maps_update_begin/done() to guarantee proper synchronization.\n\nAlso, since cpu_maps_update_begin/done() is like a super-set of\nget/put_online_cpus(), the former naturally protects the critical sections\nfrom concurrent hotplug operations.\n\nSince the names cpu_maps_update_begin/done() don't make much sense in CPU\nhotplug callback registration scenarios, we'll introduce new APIs named\ncpu_notifier_register_begin/done() and map them to cpu_maps_update_begin/done().\n\nIn summary, introduce the lockless variants of un/register_cpu_notifier() and\nalso export the cpu_notifier_register_begin/done() APIs for use by modules.\nThis way, we provide a race-free way to register hotplug callbacks as well as\nperform initialization for the CPUs that are already online.\n\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: Andrew Morton <akpm@linux-foundation.org>\nCc: Peter Zijlstra <peterz@infradead.org>\nCc: Ingo Molnar <mingo@kernel.org>\nAcked-by: Oleg Nesterov <oleg@redhat.com>\nAcked-by: Toshi Kani <toshi.kani@hp.com>\nReviewed-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>\nSigned-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\nBug: 24810447\nChange-Id: I5f85fcb5cfaa5f5f04a29eefc361851e9c345a99","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/dcc5f4a38fb9c5e150fb847c49663c602cdd5137"},{"sha":"5fe1b119c84142df04d42cdf4a412abc600ad027","author":{"name":"Shaohua Li","email":"78841d68de820ce65a8f2019d48ffc5e6c8a1f78@kernel.org"},"message":"atomic: implement generic atomic_dec_if_positive()\n\nThe x86 implementation of atomic_dec_if_positive is quite generic, so make\nit available to all architectures.\n\nThis is needed for \"swap: add a simple detector for inappropriate swapin\nreadahead\".\n\n[akpm@linux-foundation.org: do the \"#define foo foo\" trick in the conventional manner]\nSigned-off-by: Shaohua Li <shli@fusionio.com>\nCc: Stephen Rothwell <sfr@canb.auug.org.au>\nCc: \"David S. Miller\" <davem@davemloft.net>\nCc: Rik van Riel <riel@redhat.com>\nCc: Ingo Molnar <mingo@elte.hu>\nCc: Thomas Gleixner <tglx@linutronix.de>\nCc: \"H. Peter Anvin\" <hpa@zytor.com>\nCc: Benjamin Herrenschmidt <benh@kernel.crashing.org>\nCc: Michal Simek <monstr@monstr.eu>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/5fe1b119c84142df04d42cdf4a412abc600ad027"},{"sha":"0f7a7cf172acd3ba26261e7fbfd6c9446b96a331","author":{"name":"Tetsuo Handa","email":"badf33aa2d274d0572a6b5c85bfcebfa56176677@I-love.SAKURA.ne.jp"},"message":"seq_file: introduce seq_setwidth() and seq_pad()\n\nThere are several users who want to know bytes written by seq_*() for\nalignment purpose.  Currently they are using %n format for knowing it\nbecause seq_*() returns 0 on success.\n\nThis patch introduces seq_setwidth() and seq_pad() for allowing them to\nalign without using %n format.\n\nSigned-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>\nSigned-off-by: Kees Cook <keescook@chromium.org>\nCc: Joe Perches <joe@perches.com>\nCc: David Miller <davem@davemloft.net>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nGit-commit: 839cc2a94cc3665bafe32203c2f095f4dd470a80)\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nCRs-fixed: 665291\nChange-Id: I727d9af5ed320d717295c9d0f82c88623fb181c1\nSigned-off-by: David Brown <davidb@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/0f7a7cf172acd3ba26261e7fbfd6c9446b96a331"},{"sha":"2dda2d7a083c73a40021134cb7ece770eec6bd19","author":{"name":"Tetsuo Handa","email":"badf33aa2d274d0572a6b5c85bfcebfa56176677@I-love.SAKURA.ne.jp"},"message":"seq_file: remove \"%n\" usage from seq_file users\n\nAll seq_printf() users are using \"%n\" for calculating padding size,\nconvert them to use seq_setwidth() / seq_pad() pair.\n\nSigned-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>\nSigned-off-by: Kees Cook <keescook@chromium.org>\nCc: Joe Perches <joe@perches.com>\nCc: David Miller <davem@davemloft.net>\nSigned-off-by: Andrew Morton <akpm@linux-foundation.org>\nSigned-off-by: Linus Torvalds <torvalds@linux-foundation.org>\nGit-commit: 652586df95e5d76b37d07a11839126dcfede1621\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\n[rsiddoji@codeaurora.org: Resolve merge conflicts with ipv4/6 ping\n changes in upstream]\nCRs-fixed: 665291\nChange-Id: Ia0416c9dbe3d80ff35f24f9c93c3543d1200a327\nSigned-off-by: Ravi Kumar <rsiddoji@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/2dda2d7a083c73a40021134cb7ece770eec6bd19"},{"sha":"13de42999c5229df88d2237377eedd7c47f1999d","author":{"name":"Al Viro","email":"2a537e97523ffee458777df5f34a2f8c9964f945@zeniv.linux.org.uk"},"message":"new helper: single_open_size()\n\nSame as single_open(), but preallocates the buffer of given size.\nDoesn't make any sense for sizes up to PAGE_SIZE and doesn't make\nsense if output of show() exceeds PAGE_SIZE only rarely - seq_read()\nwill take care of growing the buffer and redoing show().  If you\n_know_ that it will be large, it might make more sense to look into\nsaner iterator, rather than go with single-shot one.  If that's\nimpossible, single_open_size() might be for you.\n\nAgain, don't use that without a good reason; occasionally that's really\nthe best way to go, but very often there are better solutions.\n\nChange-Id: Ifffd0d2b2262d0779471acd8b4ef8d67f538b040\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/13de42999c5229df88d2237377eedd7c47f1999d"},{"sha":"ca191cab81b046317c53905c3051f89f72124d03","author":{"name":"Laura Abbott","email":"8553df7474583031a579ce7388bd843e3b158549@codeaurora.org"},"message":"mm: Mark free pages as read only\n\nDrivers have a tendency to scribble on everything, including free\npages. Make life easier by marking free pages as read only when\non the buddy list and re-marking as read/write when allocating.\n\nChange-Id: I978ed2921394919917307b9c99217fdc22f82c59\nSigned-off-by: Matt Wagantall <mattw@codeaurora.org>\n\nConflicts:\n\tarch/arm/Kconfig.debug","distinct":true,"url":"https://api.github.com/repos/attack11/Attacked-Kernel/commits/ca191cab81b046317c53905c3051f89f72124d03"}]}
{"actor":{"display_login":"attack11"}}