On SPARSEMEM systems page poisoning is enabled after buddy is up, because
of the dependency on page extension init. This causes the pages released
by free_all_bootmem not to be poisoned. This either delays or misses the
identification of some issues because the pages have to undergo another
cycle of alloc-free-alloc for any corruption to be detected.
Enable page poisoning early by getting rid of the PAGE_EXT_DEBUG_POISON
flag. Since all the free pages will now be poisoned, the flag need not be
verified before checking the poison during an alloc.
Link: http://lkml.kernel.org/r/1490358246-11001-1-git-send-email-vinmenon@codeaurora.org
Acked-by: Laura Abbott <labbott@redhat.com>
Tested-by: Laura Abbott <labbott@redhat.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
[vinmenon@codeaurora.org: resolve trivial merge conflicts.
Remove the redundant free pages RO feature from the
page_poison.c file which is the reason for conflicts +
squash the addendum commit 40961ef8d65f51093bc94de110b97b590b6b9275
('mm-enable-page-poisoning-early-at-boot-v2')]
Git-commit: c5b7cd344fd6341e6db79e55c0f1f4d1d9c67a7e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
Change-Id: I1bb1f99d3a2e1135131911905e0916c837ba9d8a
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
By default, page poisoning uses a poison value (0xaa) on free. If this
is changed to 0, the page is not only sanitized but zeroing on alloc
with __GFP_ZERO can be skipped as well. The tradeoff is that detecting
corruption from the poisoning is harder to detect. This feature also
cannot be used with hibernation since pages are not guaranteed to be
zeroed after hibernation.
Credit to Grsecurity/PaX team for inspiring this work
Change-Id: If7116e6bff246abbafc38bdfeb3601d3ea063ad2
Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
Acked-by: Rafael J. Wysocki <rjw@rjwysocki.net>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Mathias Krause <minipli@googlemail.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Jianyu Zhan <nasa4836@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: 1414c7f4f7d72d138fff35f00151d15749b5beda
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Page poisoning is currently set up as a feature if architectures don't
have architecture debug page_alloc to allow unmapping of pages. It has
uses apart from that though. Clearing of the pages on free provides an
increase in security as it helps to limit the risk of information leaks.
Allow page poisoning to be enabled as a separate option independent of
kernel_map pages since the two features do separate work. Because of
how hiberanation is implemented, the checks on alloc cannot occur if
hibernation is enabled. The runtime alloc checks can also be enabled
with an option when !HIBERNATION.
Credit to Grsecurity/PaX team for inspiring this work
Change-Id: I77a36f844ddae54695089c98a97bf0a6e226a025
Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Mathias Krause <minipli@googlemail.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Jianyu Zhan <nasa4836@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: 8823b1dbc05fab1a8bec275eeae4709257c2661d
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Currently the hotplug notifier calls cpu_pmu_enable_percpu_irq
when a CPU comes online. The notifier doesn't have a corresponding
call to cpu_pmu_disable_percpu_irq when the CPU goes offline.
Change the code to follow what was done in 3.18 including
tracking whether the PMU is active and the IRQ number in use.
Change-Id: I1835fb543eb483713a30eb6c0ccd4e4a4b9908be
Signed-off-by: Patrick Fay <pfay@codeaurora.org>
Add a device tree property to override the minimum and maximum
charger buck/boost switching frequency.
Change-Id: I6b827157c23a389edf2daa412e6825b6ce07a886
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
On PM660 the charger buck/boost frequency is configured in
the same register. Present ordering of the sink/source
removal function call causes incorrect charger frequency
configuration.
Fix this by first calling sink_removal and then source_insertion
function. Also, configure the buck frequency to the initial
5V USB value during source insertion.
Change-Id: I0d436f7e0843f2ddaa3d09db05cec403d03b6893
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
An error message is printed even when the task's scheduling class
is switched back successfully. Fix the error condition check and
print the error value in the message.
Change-Id: Ib75c4cfa22d58dd9309542e96096ac4e91f0c3db
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
This patch updates the global variables and checks
for the logging mode status to mark the buffer
status properly.
CRs-Fixed: 2033760
Change-Id: I29a13e2fecaecacc1a0f46358ae7d4db1d2b3786
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
Unlock spin lock before returning in case of
tasklet overflow. Increase tasklet queue size
to avoid tasklet overflow.
Change-Id: If9dc03b8dc0bd026b904b6339dd7a7c9c6443871
Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
In the shutdown hook, driver forces adapter to 5V but
there is a possibility that the source change IRQ triggers
and moves back the adapter to 9V.
To avoid this and any race between the irq's and shutdown path,
disable all irqs as the first step in shutdown path.
CRs-Fixed: 2032575
Change-Id: I0d8f59a73b6631e9bf6f5d64dd215c239e7772fe
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Module parameter allows to load specific FW used
for FTM testing.
Change-Id: Ic6b4e1596edc0068a6cbd656ec7dfb82746c3f8a
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
global_state file output is prepared by reading the members of CPU
and cluster data structures. These members are updated under state_lock,
so acquire the same lock while preparing the output.
Change-Id: I8cb3ca6f9100a24f0bc9b293d364ad6aa8aabefb
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Fix HDCP 1.x state transitions by ensuring that transitions to
authenticating state can be made from both an uninitialized and
a failure state, and making sure that authentication thread is
synchronously canceled before transitioning to a disabled
state.
CRs-Fixed: 2006096
Change-Id: Ic097e16451166f589acbd7c23f87bd9b4c1a65f3
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>