Acquiring node in rx worker thread results in deadlock when node
release function is called from rx thread which in turn will wait
for rx thread to finish.
No need to acquire node in rx worker thread as node is guaranteed
to be present till the rx thread finishes.
CRs-Fixed: 2579396
Change-Id: I34903b672961e879596b58e28be5e333db5e10d8
Signed-off-by: Deepak Kumar Singh <deesin@codeaurora.org>
Flow structs are freed under the qrtr_tx_lock. Make sure all accesses
to the flow radix tree are protected by the qrtr_tx_lock.
Change-Id: I1574a09079e80ca9df255eaf9a8b3e5368b26305
Signed-off-by: Chris Lew <clew@codeaurora.org>
Enabling SMCInvoke for GKI based configuration
Change-Id: I377a14fb295b0c99d41867b89e79c2669d7d2982
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
We need to relocate selinux_state to a separate 4k page
to enable EL2 Hypervisor to monitor changes to this
variable using ARM stage 2 MMU. We will avoid getting
page faults from un-related data as the MMU granularity
is configured to 4k.
Change-Id: I7d0e5c9eae0a2a65ca9db73e85283e164e20c11c
Signed-off-by: Preeti Nagar <pnagar@codeaurora.org>
Add snapshot of qpnp-smb5 charger driver from msm-4.19
as of commit 1bb7bbeb1d09("sched: Fix compilation errors
with !WALT").
Change-Id: Ie7c99bea8887dcb97244e43e7984e2a82d1e5526
Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org>
Check whether size of fd is greater than or equal to
length passed by client. If its not checked here, client
might access unmapped address on dsp.
Change-Id: I4e176f32b0f263e2f7bf648e03b4ca904479527b
Acked-by: Deepika Singh <dsi@qti.qualcomm.com>
Signed-off-by: Mohammed Nayeem Ur Rahman <mohara@codeaurora.org>
Two new fields in the struct vm_fault can't easily be excluded using
CONFIG_SPECULATIVE_PAGE_FAULTS. Add them as padding to reduce the
ABI diff between vendors which use SPECULATIVE_PAGE_FAULTS and ACK. This
allows vendors to pick the SPECULATIVE_PAGE_FAULTS feature and still be
ABI compatible with ACK.
Bug: 153715905
Test: build
Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
(cherry picked from commit 47e3eb155848872a13ab6ef73a4d0eecac36ce66)
[surenb: kept only struct vm_fault changes and dropped the rest]
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I08dbe38f37fa3e8a0f96f71cb6b2dd8737221da5
Git-commit: a1db93d3a956eae02646e3269f5bb6f3c6fdc7c9
Git-Repo: https://android.googlesource.com/kernel/common/
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Signed-off-by: Mukesh Ojha <mojha@codeaurora.org>
On newer kernels, a feature was added to adjust the linear alias
mappings of pages mapped within the vmalloc space such that the
mappings are consistent with respect to each other (i.e. if the
memory is mapped as R/O in the vmalloc space, then the linear
mapping's permission attributes should also reflect a R/O mapping).
This is known as the rodata full feature.
This sort of protection is not feasible with block mappings, as block
mappings do not allow access control at a page granule, so when this
feature is enabled, or debug pagealloc is active, the kernel will not
use block mappings.
The logic in the memory offlining driver is not aware of the rodata_full
feature and when the memory is being onlined after being offlined,
it blindly assumes that if debug pagealloc is disabled, it can restore
the block mappings for the memory that is being onlined. This leads to
inconsistencies, as the memory is actually mapped without block
mappings, which ultimately results in the page table mapping not being
restored from the time at which the memory was offlined.
Thus, when onlining memory online the memory without block mappings if
the rodata full feature is enabled and debug page alloc is disabled.
Otherwise, restore the mappings using block mappings.
Change-Id: I56a3d3754deb62e0a894a14b06eaab522e6f0a05
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Ignoring duplicate packets in high concurrency scenarios when using
early_wake feature. This will avoid system restart since duplicate
packets are causing many error messages to be send to kernel logs.
Change-Id: I214d415c6df016268459bb5dad33e73d20dac925
Signed-off-by: Edgar Flores <edgarf@codeaurora.org>
Add the clock resource ids required to vote from the smd rpm clock
driver.
Change-Id: Ic224d83ea2aacabd26450498b626ebfc687aad04
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Add missing base reference for GPUs to make them consistent
across the list.
Change-Id: Iaaf9ce83fc21d18f5aea573cabe4c99b1454fc76
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
Update the QCOM whitelist file with additional symbols and
regenerate the snapshot accordingly.
Change-Id: I09c9c91d9d0d1c5bafcb54bd4893f7554c4b8e49
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
As of commit <a5f1397e4b> ("Revert "BACKPORT: tracing: Remove
unnecessary DEBUG_FS dependency""), DEBUG_FS was selected by TRACING.
Remove DEBUG_FS dependency in Tracing kconfig. CONFIG_DEBUG_FS will now
be enabled in QGKI config. Also update the whitelist and abi snapshot.
Change-Id: I8c9e9fb6b97173d6e62f6090712642f18d842888
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
Prevent unclocked access if this debugfs parameter is
attempted to be read when USB controller is powered off.
Change-Id: I5a563ea75807d95f0d6d6c5b037db48681d89625
Signed-off-by: Jack Pham <jackp@codeaurora.org>
skb_put_padto() will free the skb if it fails to add the requested
padding to the skb. Drop the packet if we are unable to allocate a new
skb with the requested padding.
Change-Id: I5503c99679c7e6ecf767d3f632d72da5315988f1
Signed-off-by: Chris Lew <clew@codeaurora.org>
Fixed 32 bit error in capability API which was causing a
failure in async tests. Also fixed returned errno value.
Change-Id: I7aa5514bd9e755c512c371645a2b927943aca943
Signed-off-by: Anirudh Raghavendra <araghave@codeaurora.org>
Ensure that valid memory is allocated for the array of all votables
before an attempt is made to populate it.
Change-Id: I9a0c3e35e345a88560e39d47484348b6c476628d
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
The hh_dbl_tx_unregister() and hh_dbl_rx_unregister() functions
tries to dereference client_desc in pr_debug(), which would
have already been freed if the tx/rx's counterpart was unregistered.
Hence, move the pr_debug() statements right before the section
where kfree() is called on client_desc to avoid use-after-free.
Change-Id: I183b0a3df0665ab90a85e0907b39641cd19f4923
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
The allocation code hot-adds the memory from another VM through
the memory hotplug code to create the S1 CPU MMU mappings. The memory
hotplug code can only add memory at a subsection granule, meaning
that all memory requests must be subsection size aligned. Thus,
enforce all allocation requests to be subsection size aligned.
Change-Id: Ia4d3294e36265f0bd956fa42670f2ac8d6974908
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
AMOLED ECM (Embedded Current Measurement) driver helps measure
the display current for OLED panels. Enable it.
Change-Id: I94d729dbfa8b46792afd424333a0bf9c106ffef1
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Client drivers may lend IRQs with knowledge of only their GPIO interrupt
number, which would not directly have an underlying GIC hwirq. Thus,
tweak RM's understanding of IRQs to be aware of IRQ domains. Now, the
irq backed by GPIO will be translated to GIC domain.
Change-Id: I191d9e072b14f4501f5bbeb5d5263f50e0eef8c1
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
If a biased cpu entered shallowest LPM state and
there are no wakeups for it, can stay in the shallowest
state for long.
Program wakeup for the biased CPU to wakeup after the
expected bias window is completed, so that the cpu can
enter a deeper state.
Change-Id: Ic92c779f0f8b1fa85aa8b3afa68d075f8d5d7dd6
Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>