Commit graph

593767 commits

Author SHA1 Message Date
Andy Lutomirski
6434098629 x86/asm/64: Clear AC on NMI entries
commit e93c17301ac55321fc18e0f8316e924e58a83c8c upstream.

This closes a hole in our SMAP implementation.

This patch comes from grsecurity. Good catch!

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/314cc9f294e8f14ed85485727556ad4f15bb1659.1502159503.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:36 -07:00
Roger Pau Monne
c0b397fd6b xen: fix bio vec merging
commit 462cdace790ac2ed6aad1b19c9c0af0143b6aab0 upstream.

The current test for bio vec merging is not fully accurate and can be
tricked into merging bios when certain grant combinations are used.
The result of these malicious bio merges is a bio that extends past
the memory page used by any of the originating bios.

Take into account the following scenario, where a guest creates two
grant references that point to the same mfn, ie: grant 1 -> mfn A,
grant 2 -> mfn A.

These references are then used in a PV block request, and mapped by
the backend domain, thus obtaining two different pfns that point to
the same mfn, pfn B -> mfn A, pfn C -> mfn A.

If those grants happen to be used in two consecutive sectors of a disk
IO operation becoming two different bios in the backend domain, the
checks in xen_biovec_phys_mergeable will succeed, because bfn1 == bfn2
(they both point to the same mfn). However due to the bio merging,
the backend domain will end up with a bio that expands past mfn A into
mfn A + 1.

Fix this by making sure the check in xen_biovec_phys_mergeable takes
into account the offset and the length of the bio, this basically
replicates whats done in __BIOVEC_PHYS_MERGEABLE using mfns (bus
addresses). While there also remove the usage of
__BIOVEC_PHYS_MERGEABLE, since that's already checked by the callers
of xen_biovec_phys_mergeable.

Reported-by: "Jan H. Schönherr" <jschoenh@amazon.de>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:36 -07:00
Kees Cook
240628085e mm: revert x86_64 and arm64 ELF_ET_DYN_BASE base changes
commit c715b72c1ba406f133217b509044c38d8e714a37 upstream.

Moving the x86_64 and arm64 PIE base from 0x555555554000 to 0x000100000000
broke AddressSanitizer.  This is a partial revert of:

  eab09532d400 ("binfmt_elf: use ELF_ET_DYN_BASE only for PIE")
  02445990a96e ("arm64: move ELF_ET_DYN_BASE to 4GB / 4MB")

The AddressSanitizer tool has hard-coded expectations about where
executable mappings are loaded.

The motivation for changing the PIE base in the above commits was to
avoid the Stack-Clash CVEs that allowed executable mappings to get too
close to heap and stack.  This was mainly a problem on 32-bit, but the
64-bit bases were moved too, in an effort to proactively protect those
systems (proofs of concept do exist that show 64-bit collisions, but
other recent changes to fix stack accounting and setuid behaviors will
minimize the impact).

The new 32-bit PIE base is fine for ASan (since it matches the ET_EXEC
base), so only the 64-bit PIE base needs to be reverted to let x86 and
arm64 ASan binaries run again.  Future changes to the 64-bit PIE base on
these architectures can be made optional once a more dynamic method for
dealing with AddressSanitizer is found.  (e.g.  always loading PIE into
the mmap region for marked binaries.)

Link: http://lkml.kernel.org/r/20170807201542.GA21271@beast
Fixes: eab09532d400 ("binfmt_elf: use ELF_ET_DYN_BASE only for PIE")
Fixes: 02445990a96e ("arm64: move ELF_ET_DYN_BASE to 4GB / 4MB")
Signed-off-by: Kees Cook <keescook@chromium.org>
Reported-by: Kostya Serebryany <kcc@google.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:35 -07:00
zhong jiang
cc971fa12b mm/mempolicy: fix use after free when calling get_mempolicy
commit 73223e4e2e3867ebf033a5a8eb2e5df0158ccc99 upstream.

I hit a use after free issue when executing trinity and repoduced it
with KASAN enabled.  The related call trace is as follows.

  BUG: KASan: use after free in SyS_get_mempolicy+0x3c8/0x960 at addr ffff8801f582d766
  Read of size 2 by task syz-executor1/798

  INFO: Allocated in mpol_new.part.2+0x74/0x160 age=3 cpu=1 pid=799
     __slab_alloc+0x768/0x970
     kmem_cache_alloc+0x2e7/0x450
     mpol_new.part.2+0x74/0x160
     mpol_new+0x66/0x80
     SyS_mbind+0x267/0x9f0
     system_call_fastpath+0x16/0x1b
  INFO: Freed in __mpol_put+0x2b/0x40 age=4 cpu=1 pid=799
     __slab_free+0x495/0x8e0
     kmem_cache_free+0x2f3/0x4c0
     __mpol_put+0x2b/0x40
     SyS_mbind+0x383/0x9f0
     system_call_fastpath+0x16/0x1b
  INFO: Slab 0xffffea0009cb8dc0 objects=23 used=8 fp=0xffff8801f582de40 flags=0x200000000004080
  INFO: Object 0xffff8801f582d760 @offset=5984 fp=0xffff8801f582d600

  Bytes b4 ffff8801f582d750: ae 01 ff ff 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a  ........ZZZZZZZZ
  Object ffff8801f582d760: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
  Object ffff8801f582d770: 6b 6b 6b 6b 6b 6b 6b a5                          kkkkkkk.
  Redzone ffff8801f582d778: bb bb bb bb bb bb bb bb                          ........
  Padding ffff8801f582d8b8: 5a 5a 5a 5a 5a 5a 5a 5a                          ZZZZZZZZ
  Memory state around the buggy address:
  ffff8801f582d600: fb fb fb fc fc fc fc fc fc fc fc fc fc fc fc fc
  ffff8801f582d680: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
  >ffff8801f582d700: fc fc fc fc fc fc fc fc fc fc fc fc fb fb fb fc

!shared memory policy is not protected against parallel removal by other
thread which is normally protected by the mmap_sem.  do_get_mempolicy,
however, drops the lock midway while we can still access it later.

Early premature up_read is a historical artifact from times when
put_user was called in this path see https://lwn.net/Articles/124754/
but that is gone since 8bccd85ffb ("[PATCH] Implement sys_* do_*
layering in the memory policy layer.").  but when we have the the
current mempolicy ref count model.  The issue was introduced
accordingly.

Fix the issue by removing the premature release.

Link: http://lkml.kernel.org/r/1502950924-27521-1-git-send-email-zhongjiang@huawei.com
Signed-off-by: zhong jiang <zhongjiang@huawei.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: David Rientjes <rientjes@google.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:35 -07:00
Takashi Iwai
669c8ab896 ALSA: usb-audio: Add mute TLV for playback volumes on C-Media devices
commit 0f174b3525a43bd51f9397394763925e0ebe7bc7 upstream.

C-Media devices (at least some models) mute the playback stream when
volumes are set to the minimum value.  But this isn't informed via TLV
and the user-space, typically PulseAudio, gets confused as if it's
still played in a low volume.

This patch adds the new flag, min_mute, to struct usb_mixer_elem_info
for indicating that the mixer element is with the minimum-mute volume.
This flag is set for known C-Media devices in
snd_usb_mixer_fu_apply_quirk() in turn.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=196669
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:35 -07:00
Takashi Iwai
f600f9c433 ALSA: usb-audio: Apply sample rate quirk to Sennheiser headset
commit a8e800fe0f68bc28ce309914f47e432742b865ed upstream.

A Senheisser headset requires the typical sample-rate quirk for
avoiding spurious errors from inquiring the current sample rate like:
 usb 1-1: 2:1: cannot get freq at ep 0x4
 usb 1-1: 3:1: cannot get freq at ep 0x83

The USB ID 1395:740a has to be added to the entries in
snd_usb_get_sample_rate_quirk().

Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1052580
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:35 -07:00
Daniel Mentz
735aa043bf ALSA: seq: 2nd attempt at fixing race creating a queue
commit 7e1d90f60a0d501c8503e636942ca704a454d910 upstream.

commit 4842e98f26dd80be3623c4714a244ba52ea096a8 ("ALSA: seq: Fix race at
creating a queue") attempted to fix a race reported by syzkaller. That
fix has been described as follows:

"
When a sequencer queue is created in snd_seq_queue_alloc(),it adds the
new queue element to the public list before referencing it.  Thus the
queue might be deleted before the call of snd_seq_queue_use(), and it
results in the use-after-free error, as spotted by syzkaller.

The fix is to reference the queue object at the right time.
"

Even with that fix in place, syzkaller reported a use-after-free error.
It specifically pointed to the last instruction "return q->queue" in
snd_seq_queue_alloc(). The pointer q is being used after kfree() has
been called on it.

It turned out that there is still a small window where a race can
happen. The window opens at
snd_seq_ioctl_create_queue()->snd_seq_queue_alloc()->queue_list_add()
and closes at
snd_seq_ioctl_create_queue()->queueptr()->snd_use_lock_use(). Between
these two calls, a different thread could delete the queue and possibly
re-create a different queue in the same location in queue_list.

This change prevents this situation by calling snd_use_lock_use() from
snd_seq_queue_alloc() prior to calling queue_list_add(). It is then the
caller's responsibility to call snd_use_lock_free(&q->use_lock).

Fixes: 4842e98f26dd ("ALSA: seq: Fix race at creating a queue")
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Daniel Mentz <danielmentz@google.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:35 -07:00
KT Liao
ae4743cac8 Input: elan_i2c - Add antoher Lenovo ACPI ID for upcoming Lenovo NB
commit 76988690402dde2880bfe06ecccf381d48ba8e1c upstream.

Add 2 new IDs (ELAN0609 and ELAN060B) to the list of ACPI IDs that should
be handled by the driver.

Signed-off-by: KT Liao <kt.liao@emc.com.tw>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:35 -07:00
Kai-Heng Feng
0dbf7f7811 Input: elan_i2c - add ELAN0608 to the ACPI table
commit 1874064eed0502bd9bef7be8023757b0c4f26883 upstream.

Similar to commit 722c5ac708b4f ("Input: elan_i2c - add ELAN0605 to the
ACPI table"), ELAN0608 should be handled by elan_i2c.

This touchpad can be found in Lenovo ideapad 320-14IKB.

BugLink: https://bugs.launchpad.net/bugs/1708852

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:35 -07:00
megha.dey@linux.intel.com
4362533a04 crypto: x86/sha1 - Fix reads beyond the number of blocks passed
commit 8861249c740fc4af9ddc5aee321eafefb960d7c6 upstream.

It was reported that the sha1 AVX2 function(sha1_transform_avx2) is
reading ahead beyond its intended data, and causing a crash if the next
block is beyond page boundary:
http://marc.info/?l=linux-crypto-vger&m=149373371023377

This patch makes sure that there is no overflow for any buffer length.

It passes the tests written by Jan Stancek that revealed this problem:
https://github.com/jstancek/sha1-avx2-crash

I have re-enabled sha1-avx2 by reverting commit
b82ce24426a4071da9529d726057e4e642948667

Fixes: b82ce24426a4 ("crypto: sha1-ssse3 - Disable avx2")
Originally-by: Ilya Albrekht <ilya.albrekht@intel.com>
Tested-by: Jan Stancek <jstancek@redhat.com>
Signed-off-by: Megha Dey <megha.dey@linux.intel.com>
Reported-by: Jan Stancek <jstancek@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:35 -07:00
Thomas Bogendoerfer
04f4f73ffe parisc: pci memory bar assignment fails with 64bit kernels on dino/cujo
commit 4098116039911e8870d84c975e2ec22dab65a909 upstream.

For 64bit kernels the lmmio_space_offset of the host bridge window
isn't set correctly on systems with dino/cujo PCI host bridges.
This leads to not assigned memory bars and failing drivers, which
need to use these bars.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Acked-by: Helge Deller <deller@gmx.de>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:35 -07:00
Jan Kara
ea08817269 audit: Fix use after free in audit_remove_watch_rule()
commit d76036ab47eafa6ce52b69482e91ca3ba337d6d6 upstream.

audit_remove_watch_rule() drops watch's reference to parent but then
continues to work with it. That is not safe as parent can get freed once
we drop our reference. The following is a trivial reproducer:

mount -o loop image /mnt
touch /mnt/file
auditctl -w /mnt/file -p wax
umount /mnt
auditctl -D
<crash in fsnotify_destroy_mark()>

Grab our own reference in audit_remove_watch_rule() earlier to make sure
mark does not get freed under us.

Reported-by: Tony Jones <tonyj@suse.de>
Signed-off-by: Jan Kara <jack@suse.cz>
Tested-by: Tony Jones <tonyj@suse.de>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:35 -07:00
Liping Zhang
b72f1119c6 netfilter: nf_ct_ext: fix possible panic after nf_ct_extend_unregister
commit 9c3f3794926a997b1cab6c42480ff300efa2d162 upstream.

If one cpu is doing nf_ct_extend_unregister while another cpu is doing
__nf_ct_ext_add_length, then we may hit BUG_ON(t == NULL). Moreover,
there's no synchronize_rcu invocation after set nf_ct_ext_types[id] to
NULL, so it's possible that we may access invalid pointer.

But actually, most of the ct extends are built-in, so the problem listed
above will not happen. However, there are two exceptions: NF_CT_EXT_NAT
and NF_CT_EXT_SYNPROXY.

For _EXT_NAT, the panic will not happen, since adding the nat extend and
unregistering the nat extend are located in the same file(nf_nat_core.c),
this means that after the nat module is removed, we cannot add the nat
extend too.

For _EXT_SYNPROXY, synproxy extend may be added by init_conntrack, while
synproxy extend unregister will be done by synproxy_core_exit. So after
nf_synproxy_core.ko is removed, we may still try to add the synproxy
extend, then kernel panic may happen.

I know it's very hard to reproduce this issue, but I can play a tricky
game to make it happen very easily :)

Step 1. Enable SYNPROXY for tcp dport 1234 at FORWARD hook:
  # iptables -I FORWARD -p tcp --dport 1234 -j SYNPROXY
Step 2. Queue the syn packet to the userspace at raw table OUTPUT hook.
        Also note, in the userspace we only add a 20s' delay, then
        reinject the syn packet to the kernel:
  # iptables -t raw -I OUTPUT -p tcp --syn -j NFQUEUE --queue-num 1
Step 3. Using "nc 2.2.2.2 1234" to connect the server.
Step 4. Now remove the nf_synproxy_core.ko quickly:
  # iptables -F FORWARD
  # rmmod ipt_SYNPROXY
  # rmmod nf_synproxy_core
Step 5. After 20s' delay, the syn packet is reinjected to the kernel.

Now you will see the panic like this:
  kernel BUG at net/netfilter/nf_conntrack_extend.c:91!
  Call Trace:
   ? __nf_ct_ext_add_length+0x53/0x3c0 [nf_conntrack]
   init_conntrack+0x12b/0x600 [nf_conntrack]
   nf_conntrack_in+0x4cc/0x580 [nf_conntrack]
   ipv4_conntrack_local+0x48/0x50 [nf_conntrack_ipv4]
   nf_reinject+0x104/0x270
   nfqnl_recv_verdict+0x3e1/0x5f9 [nfnetlink_queue]
   ? nfqnl_recv_verdict+0x5/0x5f9 [nfnetlink_queue]
   ? nla_parse+0xa0/0x100
   nfnetlink_rcv_msg+0x175/0x6a9 [nfnetlink]
   [...]

One possible solution is to make NF_CT_EXT_SYNPROXY extend built-in, i.e.
introduce nf_conntrack_synproxy.c and only do ct extend register and
unregister in it, similar to nf_conntrack_timeout.c.

But having such a obscure restriction of nf_ct_extend_unregister is not a
good idea, so we should invoke synchronize_rcu after set nf_ct_ext_types
to NULL, and check the NULL pointer when do __nf_ct_ext_add_length. Then
it will be easier if we add new ct extend in the future.

Last, we use kfree_rcu to free nf_ct_ext, so rcu_barrier() is unnecessary
anymore, remove it too.

Signed-off-by: Liping Zhang <zlpnobody@gmail.com>
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-24 17:02:34 -07:00
Linux Build Service Account
99956cfb73 Merge "msm: ADSPRPC: Use msm_ion_do_cache_op to flush userspace buffers" 2017-08-24 14:01:18 -07:00
Linux Build Service Account
3fe16bcfc8 Merge "Revert "ARM: dts: msm: Add fastrpc vmid flag for sdm660"" 2017-08-24 14:01:17 -07:00
Linux Build Service Account
6067c8c6a4 Merge "msm: camera: Synchronize camera open/close calls." 2017-08-24 14:01:16 -07:00
Gustavo Solaira
f2dfd94620 ARM: dts: msm: Add support for msm8996 CV2X boards
Add support for the msm8996 CV2X board that uses an mdm9650
module as endpoint for CV2X radio functionality. The msm8996
is responsible for running the CV2X application stack and
providing external debug and control access to the system.

Change-Id: I575f565580e8f81f15a9017a97aa064e7f2c6088
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2017-08-24 11:09:00 -07:00
Abhijeet Dharmapurikar
7ade27b017 qpnp-qnovo: fix ptrain done handler
Currently the handler skips calling the update function
but uses the final result from the votable not_ok_to_qnovo_votable.
Fix it by calling the update function so it gets a chance to vote on
not_ok_to_qnovo_votable.

Moreover do not return early from ptrain_done handler without setting
QNI_PT_VOTER's vote on pt_dis_votable. This is a self clearing bit and
unless QNI_PT_VOTER's bit is removed, the next restart may not trickle
down to hw.

Change-Id: I0a860287b638d20b6a4aa05c7bb25e9b81a980d2
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-08-24 09:54:49 -07:00
Abhijeet Dharmapurikar
ca0bfff287 qpnp-qnovo: disable qnovo for dcin
Usually, DC path is connected to a wireless charger. It is advisable
to disable qnovo when charging wirelessly.
Disable qnovo for dc path unless a property in device tree is set to
specifically enable qnovo for dc path.

Change-Id: I4ca475f30ca0a564f533b4ed8bcd55cfb5da291f
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-08-24 09:54:49 -07:00
Abhijeet Dharmapurikar
47235a7155 qpnp-qnovo: initialize chg_ready votable
If a charger was already present at bootup, we may not delay the start
of qnovo by 15 seconds.

Fix it by setting the chg_ready votable to false during init.

Change-Id: Icf185763576f65028cf2ef0d1c0bbcf6570460ba
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-08-24 09:54:48 -07:00
Abhijeet Dharmapurikar
9a2676a949 qpnp-qnovo: disable while shutting down
While shutting down set the not_ok_to_qnovo votable to true, so that
we skip measuring ESR if a pulse train done interrupt triggers right
during the shutdown.

Change-Id: If3a0a8e9b1d60920cbbedc16af91c05caec8dcb2
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-08-24 09:54:47 -07:00
Abhijeet Dharmapurikar
5c1894c01d qpnp-qnovo: check ptrain_en in restart work
Sometimes we observe that the ptrain_en bit is reset back to 0 while
in restart work.

Set it again if so.

Change-Id: I15d46f96a8b751f0386677e3b6876eec8bba9a1f
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2017-08-24 09:54:45 -07:00
Linux Build Service Account
9a718be2f4 Merge "ARM: dts: msm: update memlat and mincpu node for sdm636" 2017-08-24 06:14:35 -07:00
Linux Build Service Account
f22d1a9af3 Merge "usb: phy: qusb: Allow support for fused tune2 value correction" 2017-08-24 06:14:34 -07:00
Linux Build Service Account
502c187254 Merge "msm: ais: Fix crash when ioctl VIDIOC_MSM_SENSOR_INIT_CFG is called" 2017-08-24 06:14:33 -07:00
Linux Build Service Account
d7e5337d56 Merge "msm: camera: Fix null pointer exception in regulator disable" 2017-08-24 06:14:32 -07:00
Linux Build Service Account
d4a8f9c9ca Merge "spcom: return POLLERR when poll() has error" 2017-08-24 06:14:31 -07:00
Linux Build Service Account
bbc14406b1 Merge "ASoC: msm: qdsp6v2: Implement downmix control support for compr driver" 2017-08-24 06:13:58 -07:00
Linux Build Service Account
aefbc13ede Merge "msm: camera: Fix race condition in msm_sd_register." 2017-08-24 06:13:57 -07:00
Linux Build Service Account
ec1199f077 Merge "power: qcom-step-chg: Fix the error return path" 2017-08-24 06:13:56 -07:00
Linux Build Service Account
9626826f5b Merge "dwc3-msm: Add delay between consecutive register reads in while loop" 2017-08-24 06:13:55 -07:00
Narender Ankam
27d4a476f6 msm: mdss: hdmi: correctly validate the cec msg frame size
HDMI CEC message is being validated against the operand
size (MAX_OPERAND_SIZE). Instead validate against the
frame size (MAX_CEC_FRAME_SIZE).

Change-Id: I9fd66781feedbe9bc1090b0e28ef9d814edcca5a
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2017-08-24 17:01:06 +05:30
Hareesh Gundu
5033797b0e ARM: dts: msm: Add GPU maximum frequency 370Mhz support for SDM636
SDM636 inherits all SDM660 GPU properties, but it will support
GPU max frequency 370Mhz and DDR max frequency 1353Mhz.

Change-Id: I35c4e90a264109d9b490eeac762e79440bd46800
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2017-08-24 16:58:41 +05:30
Narender Ankam
ccf418d0ef msm: mdss: dp: fix wdog_bite while disconnecting DP cable
As a corner case, if DISCONNECT_IRQ_HPD event is timedout and
now if cable is disconnected and userspace triggers BLANK call
at the same time, dp core may be turned off before trying to
put it in IDLE state. Add changes to avoid this un-clocked
register access.

Change-Id: I3511443a3be4d3b70f5e68b31234b682e475ebdf
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2017-08-24 16:44:58 +05:30
Narender Ankam
4d811fc832 msm: mdss: dp: fix div by zero error
If for some reasons like ioctl fuss test or reading dpcd caps failed,
max lane count supported might be zero. In such cases handle link clk
calculation gracefully.

Change-Id: I7cb08abce76025930681f6532c03708793d3acc4
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
2017-08-24 16:23:40 +05:30
Jin Fu
db5e493881 input: misc: speed up suspend and resume for QTC800S panel
Mount QT800S suspend and resume actions to early fb event,
so speed up touch response.

Change-Id: I1ca610131e94af806dab4dfa8709fdd9c0556971
Signed-off-by: Jin Fu <jinf@codeaurora.org>
2017-08-24 17:19:31 +08:00
Zhiqiang Tu
ac693094e7 qcom: scm_qcpe: update function return value and input parameter type
Update the function return value and input scm_ret variable
type for restore secure configuration in scm_restore_sec_cfg() fn.
Adding scm_ret input variable for scm_get_feat_version() fn.

Change-Id: I5fff488f973b018f898eef616801a4b5e5a900fb
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
2017-08-24 16:47:25 +08:00
Zhiqiang Tu
839374c50c ARM: dts: msm: Update cnss configuration on virtual platform
Config sleep state for wlan bootstrap pin and add fixed regulator
support for wlan_en.

Change-Id: I1fa7ccb98b6667e2f212a658d02a4c2b68da4f89
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
2017-08-24 16:45:27 +08:00
Zhiqiang Tu
9df1d44946 Merge branch 'msm-4.4' into dev/msm-4.4-8996au
Conflicts:
	drivers/iommu/arm-smmu.c
	drivers/media/platform/msm/ais/fd/msm_fd_dev.c
	drivers/media/platform/msm/camera_v2/fd/msm_fd_dev.c
	drivers/soc/qcom/glink.c
	include/uapi/linux/msm_ipa.h

Change-Id: Id007a850fa2df09f08c413ffcd447a6532fad83c
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
2017-08-24 16:39:56 +08:00
Tharun Kumar Merugu
619757e2f4 Revert "ARM: dts: msm: Add fastrpc vmid flag for sdm660"
Revert this change to avoid TZ dependency in OTA upgrades.
This reverts commit 46756eb931

Change-Id: I2227d1dfa19fa75ea25d42702a9757043b8d63dd
Signed-off-by: Tharun Kumar Merugu <mtharu@codeaurora.org>
2017-08-24 13:44:51 +05:30
Trishansh Bhardwaj
53f6417b1a msm: camera: Synchronize camera open/close calls.
Synchronize camera_v4l2_open and camera_v4l2_close to avoid use
after free.

Change-Id: I1a203ae0753b265594f616496ab8c57e0521fd9f
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
2017-08-23 23:27:13 -07:00
Santosh Mardi
9fdd421d43 ARM: dts: msm: update memlat and mincpu node for sdm636
In SDM636 target CPU frequency corners are updated this
calls for a change in memlat and mincpu node cpufreq to
DDR mapping.

Change-Id: Ief1bf8c3b177b35e6ad178656c736b68401a1845
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2017-08-24 10:52:54 +05:30
Linux Build Service Account
c8e37b5935 Merge "leds: qpnp-wled: Cap the lower limit of brightness level" 2017-08-23 20:24:57 -07:00
Linux Build Service Account
5739675594 Merge "icnss: Do not process FW messages after Modem shutdown" 2017-08-23 20:24:56 -07:00
Linux Build Service Account
89999e357a Merge "ARM: dts: msm: Remove cdsp context banks for SDM636" 2017-08-23 20:24:55 -07:00
Linux Build Service Account
b0d7b054af Merge "msm: ipa3: Load IPA FW using PIL for MDM devices" 2017-08-23 20:24:55 -07:00
Linux Build Service Account
c54615bec1 Merge "defconfig: msm: Enable configs for msm8996 auto CV2X target" 2017-08-23 20:24:52 -07:00
Linux Build Service Account
3d1068e8c1 Merge "mmc: sdhci: Force probe of shdc1 based on boolean property" 2017-08-23 20:24:52 -07:00
Linux Build Service Account
5d09858f45 Merge "ARM: dts: msm: Add early mount for vendor and system" 2017-08-23 20:24:51 -07:00
Linux Build Service Account
03b85eaf78 Merge "msm: sps: Destroy debug log during BAM deregistration" 2017-08-23 20:24:50 -07:00