Revert "msm: kgsl: Don't do intensive memory recovery when allocating big pages"

This reverts commit 1642061b04a8a9f92eaae2102bec61e1368ed449.

Change-Id: Id3184814891d2120c7838dfc365c821706183481
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
msm: kgsl: Minimize allocation fallback delay

When we allocate memory we first try to allocate 64K pages. If that fails we
fall back to 4K pages. However, we don't want to incur too much overhead
when allocating with fallback so we don't want the higher order page
allocation to retry, perform reclaim, or run memory compaction.

Configure the GFP flags to ensure that when we allocate pages greater
than order 0 we don't try to do any retries, reclaim, access emergency
pools, or run memory compaction. This will ensure lower memory allocation
latency.

Change-Id: Ie7234809f363b95b4e0a0d082d4b4ffef73352da
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
msm_fb: display: add an extra write of 0 to clear dsi-ack-err bit

In addition to writing 1 to clear dsi-ack-err bit, an extra write of 0
is also need to clear error bit completely.

CRs-fixed: 478443
Change-Id: Id4c3e2a5a29534d65601999d3bbf9f30ebc73896
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
ASoC: msm: Support independent left-right channel volume control

The current volume sent to DSP is averaged between left and
right channels. As a result with volume level as zero on one
channel and non zero on the other channel results to playback on
both channels. Add support to send left and right volumes to DSP

Change-Id: Icc5f182d138c841607ea356ec37a7f78b4ba770d
CRs-Fixed: 449284
Signed-off-by: Subhash Chandra Bose Naripeddy <snariped@codeaurora.org>
Signed-off-by: Jay Wang <jaywang@codeaurora.org>
signal: always clear sa_restorer on execve

When the new signal handlers are set up, the location of sa_restorer is
not cleared, leaking a parent process's address space location to
children.  This allows for a potential bypass of the parent's ASLR by
examining the sa_restorer value returned when calling sigaction().

Based on what should be considered "secret" about addresses, it only
matters across the exec not the fork (since the VMAs haven't changed
until the exec).  But since exec sets SIG_DFL and keeps sa_restorer,
this is where it should be fixed.

Given the few uses of sa_restorer, a "set" function was not written
since this would be the only use.  Instead, we use
__ARCH_HAS_SA_RESTORER, as already done in other places.

Example of the leak before applying this patch:

  $ cat /proc/$$/maps
  ...
  7fb9f3083000-7fb9f3238000 r-xp 00000000 fd:01 404469 .../libc-2.15.so
  ...
  $ ./leak
  ...
  7f278bc74000-7f278be29000 r-xp 00000000 fd:01 404469 .../libc-2.15.so
  ...
  1 0 (nil) 0x7fb9f30b94a0
  2 4000000 (nil) 0x7f278bcaa4a0
  3 4000000 (nil) 0x7f278bcaa4a0
  4 0 (nil) 0x7fb9f30b94a0
  ...

[akpm@linux-foundation.org: use SA_RESTORER for backportability]
Signed-off-by: Kees Cook <keescook@chromium.org>
Reported-by: Emese Revfy <re.emese@gmail.com>
Cc: Emese Revfy <re.emese@gmail.com>
Cc: PaX Team <pageexec@freemail.hu>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Serge Hallyn <serge.hallyn@canonical.com>
Cc: Julien Tinnes <jln@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Change-Id: I7ae396ee90c2339c86f7b773d15f5571f8fd54c5
Signed-off-by: Akhila Musunuri <makhila@codeaurora.org>
mm-camera: Changes to remove unused code for security issue reported

Changes to remove MSM_CAM_IOCTL_SET_MEM_MAP_INFO Ioctl support.
This will avoid physical memory mapping to userspace.

Change-Id: If014e6d152786b508c8e7ee6c53631913cd4cfcf
Signed-off-by: Guruprasad Gaonkar <ggaonk@codeaurora.org>
Merge "msm_fb: display: add an extra write of 0 to clear dsi-ack-err bit"
Merge "ASoC: msm: Support independent left-right channel volume control"
Merge "signal: always clear sa_restorer on execve"
ASoC: msm: flush if prior and current backends rate not matching

It is found that during device switch from one backend
with one sample rate to another backend with another sample rate,
the command to QDSP6 ADM which maps audio stream session to a
particular backend would not get carried out until pending
data of audio stream session from previous backend is either
read out or flushed. This scenario occurs when application
stops providing more buffers to retrieve captured data.
Remedy is to flush upon detection of rate mismatching

Change-Id: I2c01c036d9bb71f938a6795337f08948bd986553
CRs-fixed: 422205
Signed-off-by: Patrick Lai <plai@codeaurora.org>
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Merge "mm-camera: Changes to remove unused code for security issue reported"
Merge "ASoC: msm: flush if prior and current backends rate not matching"
msm: vidc: Memset and flush codec context buffers

This change will memset and flush the codec context
buffers for non-secure case to resolve video driver
timer expire issues.

Change-Id: I6669481da3076a392061868475fc9844f2c41064
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
Merge "msm: vidc: Memset and flush codec context buffers"
Merge "Revert "msm: kgsl: Don't do intensive memory recovery when allocating big pages""
Merge "msm: kgsl: Minimize allocation fallback delay"
Revert "msm: vidc: Remove kernel mapping on input/output buffers"

This reverts commit c9128b5cc1b83a919f399aaace82d3430cbf70a4.

Change-Id: Id605da5c5562cc1f5567b570fec85a286efaeb85
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
Revert "msm: Add support for ION Flushing without virtual address"

This reverts commit ca0dd339be0dedf3eda7309989313b8deb5288ab.

Signed-off-by: Neha Pandey <nehap@codeaurora.org>
Merge "Revert "msm: vidc: Remove kernel mapping on input/output buffers""
Merge "Revert "msm: Add support for ION Flushing without virtual address""