All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 4.9 00/51] 4.9.177-stable review
@ 2019-05-15 10:55 Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 01/51] netfilter: compat: initialize all fields in xt_init Greg Kroah-Hartman
                   ` (56 more replies)
  0 siblings, 57 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

This is the start of the stable review cycle for the 4.9.177 release.
There are 51 patches in this series, all will be posted as a response
to this one.  If anyone has any issues with these being applied, please
let me know.

Responses should be made by Fri 17 May 2019 09:04:42 AM UTC.
Anything received after that time might be too late.

The whole patch series can be found in one patch at:
	https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.177-rc1.gz
or in the git tree and branch at:
	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
and the diffstat can be found below.

thanks,

greg k-h

-------------
Pseudo-Shortlog of commits:

Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Linux 4.9.177-rc1

Laurentiu Tudor <laurentiu.tudor@nxp.com>
    powerpc/booke64: set RI in default MSR

Christophe Leroy <christophe.leroy@c-s.fr>
    powerpc/lib: fix book3s/32 boot failure due to code patching

Dan Carpenter <dan.carpenter@oracle.com>
    drivers/virt/fsl_hypervisor.c: prevent integer overflow in ioctl

Dan Carpenter <dan.carpenter@oracle.com>
    drivers/virt/fsl_hypervisor.c: dereferencing error pointers in ioctl

Jarod Wilson <jarod@redhat.com>
    bonding: fix arp_validate toggling in active-backup mode

David Ahern <dsahern@gmail.com>
    ipv4: Fix raw socket lookup for local traffic

Stephen Suryaputra <ssuryaextr@gmail.com>
    vrf: sit mtu should not be updated when vrf netdev is the link

Hangbin Liu <liuhangbin@gmail.com>
    vlan: disable SIOCSHWTSTAMP in container

YueHaibing <yuehaibing@huawei.com>
    packet: Fix error path in packet_init

Christophe Leroy <christophe.leroy@c-s.fr>
    net: ucc_geth - fix Oops when changing number of buffers in the ring

Hangbin Liu <liuhangbin@gmail.com>
    fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied

Tobin C. Harding <tobin@kernel.org>
    bridge: Fix error path for kobject_init_and_add()

Breno Leitao <leitao@debian.org>
    powerpc/64s: Include cpu header

Alistair Strachan <astrachan@google.com>
    x86/vdso: Pass --eh-frame-hdr to the linker

Nick Desaulniers <ndesaulniers@google.com>
    x86/vdso: Drop implicit common-page-size linker flag

Alistair Strachan <astrachan@google.com>
    x86: vdso: Use $LD instead of $CC to link

Sasha Levin <sashal@kernel.org>
    Revert "x86: vdso: Use $LD instead of $CC to link"

Sasha Levin <sashal@kernel.org>
    Revert "x86/vdso: Drop implicit common-page-size linker flag"

Nigel Croxon <ncroxon@redhat.com>
    Don't jump to compute_result state from check_result state

Gustavo A. R. Silva <gustavo@embeddedor.com>
    rtlwifi: rtl8723ae: Fix missing break in switch statement

Takashi Sakamoto <o-takashi@sakamocchi.jp>
    ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO internal command

Wei Yongjun <weiyongjun1@huawei.com>
    cw1200: fix missing unlock on error in cw1200_hw_scan()

Pan Bian <bianpan2016@163.com>
    Input: synaptics-rmi4 - fix possible double free

Daniel Gomez <dagmcr@gmail.com>
    spi: ST ST95HF NFC: declare missing of table

Daniel Gomez <dagmcr@gmail.com>
    spi: Micrel eth switch: declare missing of table

Lucas Stach <l.stach@pengutronix.de>
    gpu: ipu-v3: dp: fix CSC handling

Po-Hsu Lin <po-hsu.lin@canonical.com>
    selftests/net: correct the return value for run_netsocktests

Paul Kocialkowski <paul.kocialkowski@bootlin.com>
    drm/sun4i: Set device driver data at bind time for use in unbind

Arnd Bergmann <arnd@arndb.de>
    s390: ctcm: fix ctcm_new_device error return code

Petr Štetiar <ynezz@true.cz>
    MIPS: perf: ath79: Fix perfcount IRQ assignment

Julian Anastasov <ja@ssi.bg>
    ipvs: do not schedule icmp errors from tunnels

Florian Westphal <fw@strlen.de>
    selftests: netfilter: check icmp pkttoobig errors are set as related

Dan Williams <dan.j.williams@intel.com>
    init: initialize jump labels before command line option parsing

Rikard Falkeborn <rikard.falkeborn@gmail.com>
    tools lib traceevent: Fix missing equality check for strcmp

Vitaly Kuznetsov <vkuznets@redhat.com>
    KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing

Jian-Hong Pan <jian-hong@endlessm.com>
    x86/reboot, efi: Use EFI reboot for Acer TravelMate X514-51T

Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    mISDN: Check address length before reading address family

Martin Schwidefsky <schwidefsky@de.ibm.com>
    s390/3270: fix lockdep false positive on view->lock

Felix Fietkau <nbd@nbd.name>
    mac80211: fix unaligned access in mesh table hash function

Peter Oberparleiter <oberpar@linux.ibm.com>
    s390/dasd: Fix capacity calculation for large volumes

Aditya Pakki <pakki001@umn.edu>
    libnvdimm/btt: Fix a kmemdup failure check

Dmitry Torokhov <dmitry.torokhov@gmail.com>
    HID: input: add mapping for "Toggle Display" key

Dmitry Torokhov <dmitry.torokhov@gmail.com>
    HID: input: add mapping for keyboard Brightness Up/Down/Toggle keys

Dmitry Torokhov <dmitry.torokhov@gmail.com>
    HID: input: add mapping for Expose/Overview key

Kangjie Lu <kjlu@umn.edu>
    libnvdimm/namespace: Fix a potential NULL pointer dereference

Sven Van Asbroeck <thesven73@gmail.com>
    iio: adc: xilinx: fix potential use-after-free on remove

Johan Hovold <johan@kernel.org>
    USB: serial: fix unthrottle races

Gustavo A. R. Silva <gustavo@embeddedor.com>
    platform/x86: sony-laptop: Fix unintentional fall-through

Alexei Starovoitov <ast@fb.com>
    bpf: convert htab map to hlist_nulls

Alexei Starovoitov <ast@fb.com>
    bpf: fix struct htab_elem layout

Francesco Ruggeri <fruggeri@arista.com>
    netfilter: compat: initialize all fields in xt_init


-------------

Diffstat:

 Makefile                                           |   4 +-
 arch/mips/ath79/setup.c                            |   6 -
 arch/powerpc/include/asm/reg_booke.h               |   2 +-
 arch/powerpc/kernel/security.c                     |   1 +
 arch/powerpc/lib/code-patching.c                   |   2 +-
 arch/x86/entry/vdso/Makefile                       |   3 +-
 arch/x86/kernel/reboot.c                           |  21 ++
 arch/x86/kvm/trace.h                               |   4 +-
 drivers/gpu/drm/sun4i/sun4i_drv.c                  |   2 +
 drivers/gpu/ipu-v3/ipu-dp.c                        |  12 +-
 drivers/hid/hid-input.c                            |  14 +
 drivers/iio/adc/xilinx-xadc-core.c                 |   2 +-
 drivers/input/rmi4/rmi_driver.c                    |   6 +-
 drivers/irqchip/irq-ath79-misc.c                   |  11 +
 drivers/isdn/mISDN/socket.c                        |   4 +-
 drivers/md/raid5.c                                 |  19 +-
 drivers/net/bonding/bond_options.c                 |   7 -
 drivers/net/ethernet/freescale/ucc_geth_ethtool.c  |   8 +-
 drivers/net/phy/spi_ks8995.c                       |   9 +
 .../net/wireless/realtek/rtlwifi/rtl8723ae/hw.c    |   1 +
 drivers/net/wireless/st/cw1200/scan.c              |   5 +-
 drivers/nfc/st95hf/core.c                          |   7 +
 drivers/nvdimm/btt_devs.c                          |  18 +-
 drivers/nvdimm/namespace_devs.c                    |   5 +-
 drivers/platform/x86/sony-laptop.c                 |   8 +-
 drivers/s390/block/dasd_eckd.c                     |   6 +-
 drivers/s390/char/con3270.c                        |   2 +-
 drivers/s390/char/fs3270.c                         |   3 +-
 drivers/s390/char/raw3270.c                        |   3 +-
 drivers/s390/char/raw3270.h                        |   4 +-
 drivers/s390/char/tty3270.c                        |   3 +-
 drivers/s390/net/ctcm_main.c                       |   1 +
 drivers/usb/serial/generic.c                       |  39 ++-
 drivers/virt/fsl_hypervisor.c                      |  29 ++-
 include/linux/efi.h                                |   7 +-
 include/linux/list_nulls.h                         |   5 +
 include/linux/rculist_nulls.h                      |  14 +
 include/sound/pcm.h                                |   2 +-
 init/main.c                                        |   4 +-
 kernel/bpf/hashtab.c                               |  99 ++++---
 net/8021q/vlan_dev.c                               |   4 +-
 net/bridge/br_if.c                                 |  13 +-
 net/core/fib_rules.c                               |   6 +-
 net/ipv4/raw.c                                     |   4 +-
 net/ipv6/sit.c                                     |   2 +-
 net/mac80211/mesh_pathtbl.c                        |   2 +-
 net/netfilter/ipvs/ip_vs_core.c                    |   2 +-
 net/netfilter/x_tables.c                           |   2 +-
 net/packet/af_packet.c                             |  25 +-
 sound/core/pcm_lib.c                               |   2 -
 sound/core/pcm_native.c                            |   6 +-
 tools/lib/traceevent/event-parse.c                 |   2 +-
 tools/testing/selftests/net/run_netsocktests       |   2 +-
 tools/testing/selftests/netfilter/Makefile         |   2 +-
 .../selftests/netfilter/conntrack_icmp_related.sh  | 283 +++++++++++++++++++++
 55 files changed, 605 insertions(+), 154 deletions(-)



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 01/51] netfilter: compat: initialize all fields in xt_init
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 02/51] bpf: fix struct htab_elem layout Greg Kroah-Hartman
                   ` (55 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Francesco Ruggeri, Florian Westphal,
	Pablo Neira Ayuso, Zubin Mithra, Sasha Levin

commit 8d29d16d21342a0c86405d46de0c4ac5daf1760f upstream

If a non zero value happens to be in xt[NFPROTO_BRIDGE].cur at init
time, the following panic can be caused by running

% ebtables -t broute -F BROUTING

from a 32-bit user level on a 64-bit kernel. This patch replaces
kmalloc_array with kcalloc when allocating xt.

[  474.680846] BUG: unable to handle kernel paging request at 0000000009600920
[  474.687869] PGD 2037006067 P4D 2037006067 PUD 2038938067 PMD 0
[  474.693838] Oops: 0000 [#1] SMP
[  474.697055] CPU: 9 PID: 4662 Comm: ebtables Kdump: loaded Not tainted 4.19.17-11302235.AroraKernelnext.fc18.x86_64 #1
[  474.707721] Hardware name: Supermicro X9DRT/X9DRT, BIOS 3.0 06/28/2013
[  474.714313] RIP: 0010:xt_compat_calc_jump+0x2f/0x63 [x_tables]
[  474.720201] Code: 40 0f b6 ff 55 31 c0 48 6b ff 70 48 03 3d dc 45 00 00 48 89 e5 8b 4f 6c 4c 8b 47 60 ff c9 39 c8 7f 2f 8d 14 08 d1 fa 48 63 fa <41> 39 34 f8 4c 8d 0c fd 00 00 00 00 73 05 8d 42 01 eb e1 76 05 8d
[  474.739023] RSP: 0018:ffffc9000943fc58 EFLAGS: 00010207
[  474.744296] RAX: 0000000000000000 RBX: ffffc90006465000 RCX: 0000000002580249
[  474.751485] RDX: 00000000012c0124 RSI: fffffffff7be17e9 RDI: 00000000012c0124
[  474.758670] RBP: ffffc9000943fc58 R08: 0000000000000000 R09: ffffffff8117cf8f
[  474.765855] R10: ffffc90006477000 R11: 0000000000000000 R12: 0000000000000001
[  474.773048] R13: 0000000000000000 R14: ffffc9000943fcb8 R15: ffffc9000943fcb8
[  474.780234] FS:  0000000000000000(0000) GS:ffff88a03f840000(0063) knlGS:00000000f7ac7700
[  474.788612] CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
[  474.794632] CR2: 0000000009600920 CR3: 0000002037422006 CR4: 00000000000606e0
[  474.802052] Call Trace:
[  474.804789]  compat_do_replace+0x1fb/0x2a3 [ebtables]
[  474.810105]  compat_do_ebt_set_ctl+0x69/0xe6 [ebtables]
[  474.815605]  ? try_module_get+0x37/0x42
[  474.819716]  compat_nf_setsockopt+0x4f/0x6d
[  474.824172]  compat_ip_setsockopt+0x7e/0x8c
[  474.828641]  compat_raw_setsockopt+0x16/0x3a
[  474.833220]  compat_sock_common_setsockopt+0x1d/0x24
[  474.838458]  __compat_sys_setsockopt+0x17e/0x1b1
[  474.843343]  ? __check_object_size+0x76/0x19a
[  474.847960]  __ia32_compat_sys_socketcall+0x1cb/0x25b
[  474.853276]  do_fast_syscall_32+0xaf/0xf6
[  474.857548]  entry_SYSENTER_compat+0x6b/0x7a

Signed-off-by: Francesco Ruggeri <fruggeri@arista.com>
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Zubin Mithra <zsm@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 net/netfilter/x_tables.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/netfilter/x_tables.c b/net/netfilter/x_tables.c
index 751fec729ffb0..e065140d0c93b 100644
--- a/net/netfilter/x_tables.c
+++ b/net/netfilter/x_tables.c
@@ -1728,7 +1728,7 @@ static int __init xt_init(void)
 		seqcount_init(&per_cpu(xt_recseq, i));
 	}
 
-	xt = kmalloc(sizeof(struct xt_af) * NFPROTO_NUMPROTO, GFP_KERNEL);
+	xt = kcalloc(NFPROTO_NUMPROTO, sizeof(struct xt_af), GFP_KERNEL);
 	if (!xt)
 		return -ENOMEM;
 
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 02/51] bpf: fix struct htab_elem layout
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 01/51] netfilter: compat: initialize all fields in xt_init Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 03/51] bpf: convert htab map to hlist_nulls Greg Kroah-Hartman
                   ` (54 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Jonathan Perry, Alexei Starovoitov,
	Daniel Borkmann, David S. Miller, Chenbo Feng, Sasha Levin

commit 9f691549f76d488a0c74397b3e51e943865ea01f upstream.

when htab_elem is removed from the bucket list the htab_elem.hash_node.next
field should not be overridden too early otherwise we have a tiny race window
between lookup and delete.
The bug was discovered by manual code analysis and reproducible
only with explicit udelay() in lookup_elem_raw().

Fixes: 6c9059817432 ("bpf: pre-allocate hash map elements")
Reported-by: Jonathan Perry <jonperry@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Chenbo Feng <fengc@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 kernel/bpf/hashtab.c | 28 ++++++++++++++++++++++------
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/kernel/bpf/hashtab.c b/kernel/bpf/hashtab.c
index a36a532c056df..f9d53ac57f640 100644
--- a/kernel/bpf/hashtab.c
+++ b/kernel/bpf/hashtab.c
@@ -41,8 +41,13 @@ enum extra_elem_state {
 struct htab_elem {
 	union {
 		struct hlist_node hash_node;
-		struct bpf_htab *htab;
-		struct pcpu_freelist_node fnode;
+		struct {
+			void *padding;
+			union {
+				struct bpf_htab *htab;
+				struct pcpu_freelist_node fnode;
+			};
+		};
 	};
 	union {
 		struct rcu_head rcu;
@@ -114,8 +119,10 @@ static int prealloc_elems_and_freelist(struct bpf_htab *htab)
 	if (err)
 		goto free_elems;
 
-	pcpu_freelist_populate(&htab->freelist, htab->elems, htab->elem_size,
-			       htab->map.max_entries);
+	pcpu_freelist_populate(&htab->freelist,
+			       htab->elems + offsetof(struct htab_elem, fnode),
+			       htab->elem_size, htab->map.max_entries);
+
 	return 0;
 
 free_elems:
@@ -148,6 +155,11 @@ static struct bpf_map *htab_map_alloc(union bpf_attr *attr)
 	int err, i;
 	u64 cost;
 
+	BUILD_BUG_ON(offsetof(struct htab_elem, htab) !=
+		     offsetof(struct htab_elem, hash_node.pprev));
+	BUILD_BUG_ON(offsetof(struct htab_elem, fnode.next) !=
+		     offsetof(struct htab_elem, hash_node.pprev));
+
 	if (attr->map_flags & ~BPF_F_NO_PREALLOC)
 		/* reserved bits should not be used */
 		return ERR_PTR(-EINVAL);
@@ -429,9 +441,13 @@ static struct htab_elem *alloc_htab_elem(struct bpf_htab *htab, void *key,
 	int err = 0;
 
 	if (prealloc) {
-		l_new = (struct htab_elem *)pcpu_freelist_pop(&htab->freelist);
-		if (!l_new)
+		struct pcpu_freelist_node *l;
+
+		l = pcpu_freelist_pop(&htab->freelist);
+		if (!l)
 			err = -E2BIG;
+		else
+			l_new = container_of(l, struct htab_elem, fnode);
 	} else {
 		if (atomic_inc_return(&htab->count) > htab->map.max_entries) {
 			atomic_dec(&htab->count);
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 03/51] bpf: convert htab map to hlist_nulls
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 01/51] netfilter: compat: initialize all fields in xt_init Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 02/51] bpf: fix struct htab_elem layout Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 04/51] platform/x86: sony-laptop: Fix unintentional fall-through Greg Kroah-Hartman
                   ` (53 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Jonathan Perry, Alexei Starovoitov,
	Daniel Borkmann, David S. Miller, Chenbo Feng, Sasha Levin

commit 4fe8435909fddc97b81472026aa954e06dd192a5 upstream.

when all map elements are pre-allocated one cpu can delete and reuse htab_elem
while another cpu is still walking the hlist. In such case the lookup may
miss the element. Convert hlist to hlist_nulls to avoid such scenario.
When bucket lock is taken there is no need to take such precautions,
so only convert map_lookup and map_get_next to nulls.
The race window is extremely small and only reproducible with explicit
udelay() inside lookup_nulls_elem_raw()

Similar to hlist add hlist_nulls_for_each_entry_safe() and
hlist_nulls_entry_safe() helpers.

Fixes: 6c9059817432 ("bpf: pre-allocate hash map elements")
Reported-by: Jonathan Perry <jonperry@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Chenbo Feng <fengc@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/linux/list_nulls.h    |  5 +++
 include/linux/rculist_nulls.h | 14 +++++++
 kernel/bpf/hashtab.c          | 71 +++++++++++++++++++++++------------
 3 files changed, 67 insertions(+), 23 deletions(-)

diff --git a/include/linux/list_nulls.h b/include/linux/list_nulls.h
index b01fe10090843..87ff4f58a2f01 100644
--- a/include/linux/list_nulls.h
+++ b/include/linux/list_nulls.h
@@ -29,6 +29,11 @@ struct hlist_nulls_node {
 	((ptr)->first = (struct hlist_nulls_node *) NULLS_MARKER(nulls))
 
 #define hlist_nulls_entry(ptr, type, member) container_of(ptr,type,member)
+
+#define hlist_nulls_entry_safe(ptr, type, member) \
+	({ typeof(ptr) ____ptr = (ptr); \
+	   !is_a_nulls(____ptr) ? hlist_nulls_entry(____ptr, type, member) : NULL; \
+	})
 /**
  * ptr_is_a_nulls - Test if a ptr is a nulls
  * @ptr: ptr to be tested
diff --git a/include/linux/rculist_nulls.h b/include/linux/rculist_nulls.h
index 6224a0ab0b1e8..2720b2fbfb86d 100644
--- a/include/linux/rculist_nulls.h
+++ b/include/linux/rculist_nulls.h
@@ -118,5 +118,19 @@ static inline void hlist_nulls_add_head_rcu(struct hlist_nulls_node *n,
 		({ tpos = hlist_nulls_entry(pos, typeof(*tpos), member); 1; }); \
 		pos = rcu_dereference_raw(hlist_nulls_next_rcu(pos)))
 
+/**
+ * hlist_nulls_for_each_entry_safe -
+ *   iterate over list of given type safe against removal of list entry
+ * @tpos:	the type * to use as a loop cursor.
+ * @pos:	the &struct hlist_nulls_node to use as a loop cursor.
+ * @head:	the head for your list.
+ * @member:	the name of the hlist_nulls_node within the struct.
+ */
+#define hlist_nulls_for_each_entry_safe(tpos, pos, head, member)		\
+	for (({barrier();}),							\
+	     pos = rcu_dereference_raw(hlist_nulls_first_rcu(head));		\
+		(!is_a_nulls(pos)) &&						\
+		({ tpos = hlist_nulls_entry(pos, typeof(*tpos), member);	\
+		   pos = rcu_dereference_raw(hlist_nulls_next_rcu(pos)); 1; });)
 #endif
 #endif
diff --git a/kernel/bpf/hashtab.c b/kernel/bpf/hashtab.c
index f9d53ac57f640..8648d7d297081 100644
--- a/kernel/bpf/hashtab.c
+++ b/kernel/bpf/hashtab.c
@@ -13,10 +13,11 @@
 #include <linux/bpf.h>
 #include <linux/jhash.h>
 #include <linux/filter.h>
+#include <linux/rculist_nulls.h>
 #include "percpu_freelist.h"
 
 struct bucket {
-	struct hlist_head head;
+	struct hlist_nulls_head head;
 	raw_spinlock_t lock;
 };
 
@@ -40,7 +41,7 @@ enum extra_elem_state {
 /* each htab element is struct htab_elem + key + value */
 struct htab_elem {
 	union {
-		struct hlist_node hash_node;
+		struct hlist_nulls_node hash_node;
 		struct {
 			void *padding;
 			union {
@@ -245,7 +246,7 @@ static struct bpf_map *htab_map_alloc(union bpf_attr *attr)
 		goto free_htab;
 
 	for (i = 0; i < htab->n_buckets; i++) {
-		INIT_HLIST_HEAD(&htab->buckets[i].head);
+		INIT_HLIST_NULLS_HEAD(&htab->buckets[i].head, i);
 		raw_spin_lock_init(&htab->buckets[i].lock);
 	}
 
@@ -282,28 +283,52 @@ static inline struct bucket *__select_bucket(struct bpf_htab *htab, u32 hash)
 	return &htab->buckets[hash & (htab->n_buckets - 1)];
 }
 
-static inline struct hlist_head *select_bucket(struct bpf_htab *htab, u32 hash)
+static inline struct hlist_nulls_head *select_bucket(struct bpf_htab *htab, u32 hash)
 {
 	return &__select_bucket(htab, hash)->head;
 }
 
-static struct htab_elem *lookup_elem_raw(struct hlist_head *head, u32 hash,
+/* this lookup function can only be called with bucket lock taken */
+static struct htab_elem *lookup_elem_raw(struct hlist_nulls_head *head, u32 hash,
 					 void *key, u32 key_size)
 {
+	struct hlist_nulls_node *n;
 	struct htab_elem *l;
 
-	hlist_for_each_entry_rcu(l, head, hash_node)
+	hlist_nulls_for_each_entry_rcu(l, n, head, hash_node)
 		if (l->hash == hash && !memcmp(&l->key, key, key_size))
 			return l;
 
 	return NULL;
 }
 
+/* can be called without bucket lock. it will repeat the loop in
+ * the unlikely event when elements moved from one bucket into another
+ * while link list is being walked
+ */
+static struct htab_elem *lookup_nulls_elem_raw(struct hlist_nulls_head *head,
+					       u32 hash, void *key,
+					       u32 key_size, u32 n_buckets)
+{
+	struct hlist_nulls_node *n;
+	struct htab_elem *l;
+
+again:
+	hlist_nulls_for_each_entry_rcu(l, n, head, hash_node)
+		if (l->hash == hash && !memcmp(&l->key, key, key_size))
+			return l;
+
+	if (unlikely(get_nulls_value(n) != (hash & (n_buckets - 1))))
+		goto again;
+
+	return NULL;
+}
+
 /* Called from syscall or from eBPF program */
 static void *__htab_map_lookup_elem(struct bpf_map *map, void *key)
 {
 	struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
-	struct hlist_head *head;
+	struct hlist_nulls_head *head;
 	struct htab_elem *l;
 	u32 hash, key_size;
 
@@ -316,7 +341,7 @@ static void *__htab_map_lookup_elem(struct bpf_map *map, void *key)
 
 	head = select_bucket(htab, hash);
 
-	l = lookup_elem_raw(head, hash, key, key_size);
+	l = lookup_nulls_elem_raw(head, hash, key, key_size, htab->n_buckets);
 
 	return l;
 }
@@ -335,7 +360,7 @@ static void *htab_map_lookup_elem(struct bpf_map *map, void *key)
 static int htab_map_get_next_key(struct bpf_map *map, void *key, void *next_key)
 {
 	struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
-	struct hlist_head *head;
+	struct hlist_nulls_head *head;
 	struct htab_elem *l, *next_l;
 	u32 hash, key_size;
 	int i = 0;
@@ -352,13 +377,13 @@ static int htab_map_get_next_key(struct bpf_map *map, void *key, void *next_key)
 	head = select_bucket(htab, hash);
 
 	/* lookup the key */
-	l = lookup_elem_raw(head, hash, key, key_size);
+	l = lookup_nulls_elem_raw(head, hash, key, key_size, htab->n_buckets);
 
 	if (!l)
 		goto find_first_elem;
 
 	/* key was found, get next key in the same bucket */
-	next_l = hlist_entry_safe(rcu_dereference_raw(hlist_next_rcu(&l->hash_node)),
+	next_l = hlist_nulls_entry_safe(rcu_dereference_raw(hlist_nulls_next_rcu(&l->hash_node)),
 				  struct htab_elem, hash_node);
 
 	if (next_l) {
@@ -377,7 +402,7 @@ static int htab_map_get_next_key(struct bpf_map *map, void *key, void *next_key)
 		head = select_bucket(htab, i);
 
 		/* pick first element in the bucket */
-		next_l = hlist_entry_safe(rcu_dereference_raw(hlist_first_rcu(head)),
+		next_l = hlist_nulls_entry_safe(rcu_dereference_raw(hlist_nulls_first_rcu(head)),
 					  struct htab_elem, hash_node);
 		if (next_l) {
 			/* if it's not empty, just return it */
@@ -534,7 +559,7 @@ static int htab_map_update_elem(struct bpf_map *map, void *key, void *value,
 {
 	struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
 	struct htab_elem *l_new = NULL, *l_old;
-	struct hlist_head *head;
+	struct hlist_nulls_head *head;
 	unsigned long flags;
 	struct bucket *b;
 	u32 key_size, hash;
@@ -573,9 +598,9 @@ static int htab_map_update_elem(struct bpf_map *map, void *key, void *value,
 	/* add new element to the head of the list, so that
 	 * concurrent search will find it before old elem
 	 */
-	hlist_add_head_rcu(&l_new->hash_node, head);
+	hlist_nulls_add_head_rcu(&l_new->hash_node, head);
 	if (l_old) {
-		hlist_del_rcu(&l_old->hash_node);
+		hlist_nulls_del_rcu(&l_old->hash_node);
 		free_htab_elem(htab, l_old);
 	}
 	ret = 0;
@@ -590,7 +615,7 @@ static int __htab_percpu_map_update_elem(struct bpf_map *map, void *key,
 {
 	struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
 	struct htab_elem *l_new = NULL, *l_old;
-	struct hlist_head *head;
+	struct hlist_nulls_head *head;
 	unsigned long flags;
 	struct bucket *b;
 	u32 key_size, hash;
@@ -642,7 +667,7 @@ static int __htab_percpu_map_update_elem(struct bpf_map *map, void *key,
 			ret = PTR_ERR(l_new);
 			goto err;
 		}
-		hlist_add_head_rcu(&l_new->hash_node, head);
+		hlist_nulls_add_head_rcu(&l_new->hash_node, head);
 	}
 	ret = 0;
 err:
@@ -660,7 +685,7 @@ static int htab_percpu_map_update_elem(struct bpf_map *map, void *key,
 static int htab_map_delete_elem(struct bpf_map *map, void *key)
 {
 	struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
-	struct hlist_head *head;
+	struct hlist_nulls_head *head;
 	struct bucket *b;
 	struct htab_elem *l;
 	unsigned long flags;
@@ -680,7 +705,7 @@ static int htab_map_delete_elem(struct bpf_map *map, void *key)
 	l = lookup_elem_raw(head, hash, key, key_size);
 
 	if (l) {
-		hlist_del_rcu(&l->hash_node);
+		hlist_nulls_del_rcu(&l->hash_node);
 		free_htab_elem(htab, l);
 		ret = 0;
 	}
@@ -694,12 +719,12 @@ static void delete_all_elements(struct bpf_htab *htab)
 	int i;
 
 	for (i = 0; i < htab->n_buckets; i++) {
-		struct hlist_head *head = select_bucket(htab, i);
-		struct hlist_node *n;
+		struct hlist_nulls_head *head = select_bucket(htab, i);
+		struct hlist_nulls_node *n;
 		struct htab_elem *l;
 
-		hlist_for_each_entry_safe(l, n, head, hash_node) {
-			hlist_del_rcu(&l->hash_node);
+		hlist_nulls_for_each_entry_safe(l, n, head, hash_node) {
+			hlist_nulls_del_rcu(&l->hash_node);
 			if (l->state != HTAB_EXTRA_ELEM_USED)
 				htab_elem_free(htab, l);
 		}
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 04/51] platform/x86: sony-laptop: Fix unintentional fall-through
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (2 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 03/51] bpf: convert htab map to hlist_nulls Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 05/51] USB: serial: fix unthrottle races Greg Kroah-Hartman
                   ` (52 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Gustavo A. R. Silva, Kees Cook,
	Andy Shevchenko

From: Gustavo A. R. Silva <gustavo@embeddedor.com>

commit 1cbd7a64959d33e7a2a1fa2bf36a62b350a9fcbd upstream.

It seems that the default case should return AE_CTRL_TERMINATE, instead
of falling through to case ACPI_RESOURCE_TYPE_END_TAG and returning AE_OK;
otherwise the line of code at the end of the function is unreachable and
makes no sense:

return AE_CTRL_TERMINATE;

This fix is based on the following thread of discussion:

https://lore.kernel.org/patchwork/patch/959782/

Fixes: 33a04454527e ("sony-laptop: Add SNY6001 device handling (sonypi reimplementation)")
Cc: stable@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/platform/x86/sony-laptop.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -4422,14 +4422,16 @@ sony_pic_read_possible_resource(struct a
 			}
 			return AE_OK;
 		}
+
+	case ACPI_RESOURCE_TYPE_END_TAG:
+		return AE_OK;
+
 	default:
 		dprintk("Resource %d isn't an IRQ nor an IO port\n",
 			resource->type);
+		return AE_CTRL_TERMINATE;
 
-	case ACPI_RESOURCE_TYPE_END_TAG:
-		return AE_OK;
 	}
-	return AE_CTRL_TERMINATE;
 }
 
 static int sony_pic_possible_resources(struct acpi_device *device)



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 05/51] USB: serial: fix unthrottle races
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (3 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 04/51] platform/x86: sony-laptop: Fix unintentional fall-through Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 06/51] iio: adc: xilinx: fix potential use-after-free on remove Greg Kroah-Hartman
                   ` (51 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Johan Hovold

From: Johan Hovold <johan@kernel.org>

commit 3f5edd58d040bfa4b74fb89bc02f0bc6b9cd06ab upstream.

Fix two long-standing bugs which could potentially lead to memory
corruption or leave the port throttled until it is reopened (on weakly
ordered systems), respectively, when read-URB completion races with
unthrottle().

First, the URB must not be marked as free before processing is complete
to prevent it from being submitted by unthrottle() on another CPU.

	CPU 1				CPU 2
	================		================
	complete()			unthrottle()
	  process_urb();
	  smp_mb__before_atomic();
	  set_bit(i, free);		  if (test_and_clear_bit(i, free))
	  					  submit_urb();

Second, the URB must be marked as free before checking the throttled
flag to prevent unthrottle() on another CPU from failing to observe that
the URB needs to be submitted if complete() sees that the throttled flag
is set.

	CPU 1				CPU 2
	================		================
	complete()			unthrottle()
	  set_bit(i, free);		  throttled = 0;
	  smp_mb__after_atomic();	  smp_mb();
	  if (throttled)		  if (test_and_clear_bit(i, free))
	  	  return;			  submit_urb();

Note that test_and_clear_bit() only implies barriers when the test is
successful. To handle the case where the URB is still in use an explicit
barrier needs to be added to unthrottle() for the second race condition.

Fixes: d83b405383c9 ("USB: serial: add support for multiple read urbs")
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/usb/serial/generic.c |   39 ++++++++++++++++++++++++++++++++-------
 1 file changed, 32 insertions(+), 7 deletions(-)

--- a/drivers/usb/serial/generic.c
+++ b/drivers/usb/serial/generic.c
@@ -350,6 +350,7 @@ void usb_serial_generic_read_bulk_callba
 	struct usb_serial_port *port = urb->context;
 	unsigned char *data = urb->transfer_buffer;
 	unsigned long flags;
+	bool stopped = false;
 	int status = urb->status;
 	int i;
 
@@ -357,33 +358,51 @@ void usb_serial_generic_read_bulk_callba
 		if (urb == port->read_urbs[i])
 			break;
 	}
-	set_bit(i, &port->read_urbs_free);
 
 	dev_dbg(&port->dev, "%s - urb %d, len %d\n", __func__, i,
 							urb->actual_length);
 	switch (status) {
 	case 0:
+		usb_serial_debug_data(&port->dev, __func__, urb->actual_length,
+							data);
+		port->serial->type->process_read_urb(urb);
 		break;
 	case -ENOENT:
 	case -ECONNRESET:
 	case -ESHUTDOWN:
 		dev_dbg(&port->dev, "%s - urb stopped: %d\n",
 							__func__, status);
-		return;
+		stopped = true;
+		break;
 	case -EPIPE:
 		dev_err(&port->dev, "%s - urb stopped: %d\n",
 							__func__, status);
-		return;
+		stopped = true;
+		break;
 	default:
 		dev_dbg(&port->dev, "%s - nonzero urb status: %d\n",
 							__func__, status);
-		goto resubmit;
+		break;
 	}
 
-	usb_serial_debug_data(&port->dev, __func__, urb->actual_length, data);
-	port->serial->type->process_read_urb(urb);
+	/*
+	 * Make sure URB processing is done before marking as free to avoid
+	 * racing with unthrottle() on another CPU. Matches the barriers
+	 * implied by the test_and_clear_bit() in
+	 * usb_serial_generic_submit_read_urb().
+	 */
+	smp_mb__before_atomic();
+	set_bit(i, &port->read_urbs_free);
+	/*
+	 * Make sure URB is marked as free before checking the throttled flag
+	 * to avoid racing with unthrottle() on another CPU. Matches the
+	 * smp_mb() in unthrottle().
+	 */
+	smp_mb__after_atomic();
+
+	if (stopped)
+		return;
 
-resubmit:
 	/* Throttle the device if requested by tty */
 	spin_lock_irqsave(&port->lock, flags);
 	port->throttled = port->throttle_req;
@@ -458,6 +477,12 @@ void usb_serial_generic_unthrottle(struc
 	port->throttled = port->throttle_req = 0;
 	spin_unlock_irq(&port->lock);
 
+	/*
+	 * Matches the smp_mb__after_atomic() in
+	 * usb_serial_generic_read_bulk_callback().
+	 */
+	smp_mb();
+
 	if (was_throttled)
 		usb_serial_generic_submit_read_urbs(port, GFP_KERNEL);
 }



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 06/51] iio: adc: xilinx: fix potential use-after-free on remove
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (4 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 05/51] USB: serial: fix unthrottle races Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 07/51] libnvdimm/namespace: Fix a potential NULL pointer dereference Greg Kroah-Hartman
                   ` (50 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Sven Van Asbroeck, Jonathan Cameron,
	Sasha Levin

[ Upstream commit 62039b6aef63380ba7a37c113bbaeee8a55c5342 ]

When cancel_delayed_work() returns, the delayed work may still
be running. This means that the core could potentially free
the private structure (struct xadc) while the delayed work
is still using it. This is a potential use-after-free.

Fix by calling cancel_delayed_work_sync(), which waits for
any residual work to finish before returning.

Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/iio/adc/xilinx-xadc-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/adc/xilinx-xadc-core.c b/drivers/iio/adc/xilinx-xadc-core.c
index 56cf5907a5f01..143894a315d9b 100644
--- a/drivers/iio/adc/xilinx-xadc-core.c
+++ b/drivers/iio/adc/xilinx-xadc-core.c
@@ -1299,7 +1299,7 @@ static int xadc_remove(struct platform_device *pdev)
 	}
 	free_irq(irq, indio_dev);
 	clk_disable_unprepare(xadc->clk);
-	cancel_delayed_work(&xadc->zynq_unmask_work);
+	cancel_delayed_work_sync(&xadc->zynq_unmask_work);
 	kfree(xadc->data);
 	kfree(indio_dev->channels);
 
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 07/51] libnvdimm/namespace: Fix a potential NULL pointer dereference
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (5 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 06/51] iio: adc: xilinx: fix potential use-after-free on remove Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 08/51] HID: input: add mapping for Expose/Overview key Greg Kroah-Hartman
                   ` (49 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Kangjie Lu, Dan Williams, Sasha Levin

[ Upstream commit 55c1fc0af29a6c1b92f217b7eb7581a882e0c07c ]

In case kmemdup fails, the fix goes to blk_err to avoid NULL
pointer dereference.

Signed-off-by: Kangjie Lu <kjlu@umn.edu>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/nvdimm/namespace_devs.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
index 9bc5f555ee686..cf4a90b50f8b8 100644
--- a/drivers/nvdimm/namespace_devs.c
+++ b/drivers/nvdimm/namespace_devs.c
@@ -2028,9 +2028,12 @@ struct device *create_namespace_blk(struct nd_region *nd_region,
 	if (!nsblk->uuid)
 		goto blk_err;
 	memcpy(name, nd_label->name, NSLABEL_NAME_LEN);
-	if (name[0])
+	if (name[0]) {
 		nsblk->alt_name = kmemdup(name, NSLABEL_NAME_LEN,
 				GFP_KERNEL);
+		if (!nsblk->alt_name)
+			goto blk_err;
+	}
 	res = nsblk_add_resource(nd_region, ndd, nsblk,
 			__le64_to_cpu(nd_label->dpa));
 	if (!res)
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 08/51] HID: input: add mapping for Expose/Overview key
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (6 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 07/51] libnvdimm/namespace: Fix a potential NULL pointer dereference Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 09/51] HID: input: add mapping for keyboard Brightness Up/Down/Toggle keys Greg Kroah-Hartman
                   ` (48 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Dmitry Torokhov, Sasha Levin

[ Upstream commit 96dd86871e1fffbc39e4fa61c9c75ec54ee9af0f ]

According to HUTRR77 usage 0x29f from the consumer page is reserved for
the Desktop application to present all running user’s application windows.
Linux defines KEY_SCALE to request Compiz Scale (Expose) mode, so let's
add the mapping.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/hid/hid-input.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index fc7ada26457e8..d31725c4e7b1e 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -932,6 +932,8 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
 		case 0x2cb: map_key_clear(KEY_KBDINPUTASSIST_ACCEPT);	break;
 		case 0x2cc: map_key_clear(KEY_KBDINPUTASSIST_CANCEL);	break;
 
+		case 0x29f: map_key_clear(KEY_SCALE);		break;
+
 		default: map_key_clear(KEY_UNKNOWN);
 		}
 		break;
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 09/51] HID: input: add mapping for keyboard Brightness Up/Down/Toggle keys
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (7 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 08/51] HID: input: add mapping for Expose/Overview key Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 10/51] HID: input: add mapping for "Toggle Display" key Greg Kroah-Hartman
                   ` (47 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Dmitry Torokhov, Sasha Levin

[ Upstream commit 7975a1d6a7afeb3eb61c971a153d24dd8fa032f3 ]

According to HUTRR73 usages 0x79, 0x7a and 0x7c from the consumer page
correspond to Brightness Up/Down/Toggle keys, so let's add the mappings.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/hid/hid-input.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index d31725c4e7b1e..302a24931147b 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -802,6 +802,10 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
 		case 0x074: map_key_clear(KEY_BRIGHTNESS_MAX);		break;
 		case 0x075: map_key_clear(KEY_BRIGHTNESS_AUTO);		break;
 
+		case 0x079: map_key_clear(KEY_KBDILLUMUP);	break;
+		case 0x07a: map_key_clear(KEY_KBDILLUMDOWN);	break;
+		case 0x07c: map_key_clear(KEY_KBDILLUMTOGGLE);	break;
+
 		case 0x082: map_key_clear(KEY_VIDEO_NEXT);	break;
 		case 0x083: map_key_clear(KEY_LAST);		break;
 		case 0x084: map_key_clear(KEY_ENTER);		break;
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 10/51] HID: input: add mapping for "Toggle Display" key
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (8 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 09/51] HID: input: add mapping for keyboard Brightness Up/Down/Toggle keys Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 11/51] libnvdimm/btt: Fix a kmemdup failure check Greg Kroah-Hartman
                   ` (46 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Dmitry Torokhov, Sasha Levin

[ Upstream commit c01908a14bf735b871170092807c618bb9dae654 ]

According to HUT 1.12 usage 0xb5 from the generic desktop page is reserved
for switching between external and internal display, so let's add the
mapping.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/hid/hid-input.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 302a24931147b..9f7b1cf726a8d 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -607,6 +607,14 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
 			break;
 		}
 
+		if ((usage->hid & 0xf0) == 0xb0) {	/* SC - Display */
+			switch (usage->hid & 0xf) {
+			case 0x05: map_key_clear(KEY_SWITCHVIDEOMODE); break;
+			default: goto ignore;
+			}
+			break;
+		}
+
 		/*
 		 * Some lazy vendors declare 255 usages for System Control,
 		 * leading to the creation of ABS_X|Y axis and too many others.
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 11/51] libnvdimm/btt: Fix a kmemdup failure check
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (9 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 10/51] HID: input: add mapping for "Toggle Display" key Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 12/51] s390/dasd: Fix capacity calculation for large volumes Greg Kroah-Hartman
                   ` (45 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Aditya Pakki, Dan Williams, Sasha Levin

[ Upstream commit 486fa92df4707b5df58d6508728bdb9321a59766 ]

In case kmemdup fails, the fix releases resources and returns to
avoid the NULL pointer dereference.

Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/nvdimm/btt_devs.c | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/drivers/nvdimm/btt_devs.c b/drivers/nvdimm/btt_devs.c
index 97dd2925ed6e9..5d2c766828488 100644
--- a/drivers/nvdimm/btt_devs.c
+++ b/drivers/nvdimm/btt_devs.c
@@ -190,14 +190,15 @@ static struct device *__nd_btt_create(struct nd_region *nd_region,
 		return NULL;
 
 	nd_btt->id = ida_simple_get(&nd_region->btt_ida, 0, 0, GFP_KERNEL);
-	if (nd_btt->id < 0) {
-		kfree(nd_btt);
-		return NULL;
-	}
+	if (nd_btt->id < 0)
+		goto out_nd_btt;
 
 	nd_btt->lbasize = lbasize;
-	if (uuid)
+	if (uuid) {
 		uuid = kmemdup(uuid, 16, GFP_KERNEL);
+		if (!uuid)
+			goto out_put_id;
+	}
 	nd_btt->uuid = uuid;
 	dev = &nd_btt->dev;
 	dev_set_name(dev, "btt%d.%d", nd_region->id, nd_btt->id);
@@ -212,6 +213,13 @@ static struct device *__nd_btt_create(struct nd_region *nd_region,
 		return NULL;
 	}
 	return dev;
+
+out_put_id:
+	ida_simple_remove(&nd_region->btt_ida, nd_btt->id);
+
+out_nd_btt:
+	kfree(nd_btt);
+	return NULL;
 }
 
 struct device *nd_btt_create(struct nd_region *nd_region)
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 12/51] s390/dasd: Fix capacity calculation for large volumes
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (10 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 11/51] libnvdimm/btt: Fix a kmemdup failure check Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 13/51] mac80211: fix unaligned access in mesh table hash function Greg Kroah-Hartman
                   ` (44 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Peter Oberparleiter,
	Stefan Haberland, Martin Schwidefsky, Sasha Levin

[ Upstream commit 2cc9637ce825f3a9f51f8f78af7474e9e85bfa5f ]

The DASD driver incorrectly limits the maximum number of blocks of ECKD
DASD volumes to 32 bit numbers. Volumes with a capacity greater than
2^32-1 blocks are incorrectly recognized as smaller volumes.

This results in the following volume capacity limits depending on the
formatted block size:

  BLKSIZE  MAX_GB   MAX_CYL
      512    2047   5843492
     1024    4095   8676701
     2048    8191  13634816
     4096   16383  23860929

The same problem occurs when a volume with more than 17895697 cylinders
is accessed in raw-track-access mode.

Fix this problem by adding an explicit type cast when calculating the
maximum number of blocks.

Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Reviewed-by: Stefan Haberland <sth@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/s390/block/dasd_eckd.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c
index 11c6335b19516..9d772201e3347 100644
--- a/drivers/s390/block/dasd_eckd.c
+++ b/drivers/s390/block/dasd_eckd.c
@@ -2054,14 +2054,14 @@ static int dasd_eckd_end_analysis(struct dasd_block *block)
 	blk_per_trk = recs_per_track(&private->rdc_data, 0, block->bp_block);
 
 raw:
-	block->blocks = (private->real_cyl *
+	block->blocks = ((unsigned long) private->real_cyl *
 			  private->rdc_data.trk_per_cyl *
 			  blk_per_trk);
 
 	dev_info(&device->cdev->dev,
-		 "DASD with %d KB/block, %d KB total size, %d KB/track, "
+		 "DASD with %u KB/block, %lu KB total size, %u KB/track, "
 		 "%s\n", (block->bp_block >> 10),
-		 ((private->real_cyl *
+		 (((unsigned long) private->real_cyl *
 		   private->rdc_data.trk_per_cyl *
 		   blk_per_trk * (block->bp_block >> 9)) >> 1),
 		 ((blk_per_trk * block->bp_block) >> 10),
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 13/51] mac80211: fix unaligned access in mesh table hash function
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (11 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 12/51] s390/dasd: Fix capacity calculation for large volumes Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 14/51] s390/3270: fix lockdep false positive on view->lock Greg Kroah-Hartman
                   ` (43 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Felix Fietkau, Johannes Berg, Sasha Levin

[ Upstream commit 40586e3fc400c00c11151804dcdc93f8c831c808 ]

The pointer to the last four bytes of the address is not guaranteed to be
aligned, so we need to use __get_unaligned_cpu32 here

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 net/mac80211/mesh_pathtbl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c
index 197753ad50b4e..8c17d498df301 100644
--- a/net/mac80211/mesh_pathtbl.c
+++ b/net/mac80211/mesh_pathtbl.c
@@ -23,7 +23,7 @@ static void mesh_path_free_rcu(struct mesh_table *tbl, struct mesh_path *mpath);
 static u32 mesh_table_hash(const void *addr, u32 len, u32 seed)
 {
 	/* Use last four bytes of hw addr as hash index */
-	return jhash_1word(*(u32 *)(addr+2), seed);
+	return jhash_1word(__get_unaligned_cpu32((u8 *)addr + 2), seed);
 }
 
 static const struct rhashtable_params mesh_rht_params = {
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 14/51] s390/3270: fix lockdep false positive on view->lock
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (12 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 13/51] mac80211: fix unaligned access in mesh table hash function Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 15/51] mISDN: Check address length before reading address family Greg Kroah-Hartman
                   ` (42 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Martin Schwidefsky, Sasha Levin

[ Upstream commit 5712f3301a12c0c3de9cc423484496b0464f2faf ]

The spinlock in the raw3270_view structure is used by con3270, tty3270
and fs3270 in different ways. For con3270 the lock can be acquired in
irq context, for tty3270 and fs3270 the highest context is bh.

Lockdep sees the view->lock as a single class and if the 3270 driver
is used for the console the following message is generated:

WARNING: inconsistent lock state
5.1.0-rc3-05157-g5c168033979d #12 Not tainted
--------------------------------
inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
swapper/0/1 [HC0[0]:SC1[1]:HE1:SE0] takes:
(____ptrval____) (&(&view->lock)->rlock){?.-.}, at: tty3270_update+0x7c/0x330

Introduce a lockdep subclass for the view lock to distinguish bh from
irq locks.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/s390/char/con3270.c | 2 +-
 drivers/s390/char/fs3270.c  | 3 ++-
 drivers/s390/char/raw3270.c | 3 ++-
 drivers/s390/char/raw3270.h | 4 +++-
 drivers/s390/char/tty3270.c | 3 ++-
 5 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/s390/char/con3270.c b/drivers/s390/char/con3270.c
index 285b4006f44bb..5d5e78afde88a 100644
--- a/drivers/s390/char/con3270.c
+++ b/drivers/s390/char/con3270.c
@@ -628,7 +628,7 @@ con3270_init(void)
 		     (void (*)(unsigned long)) con3270_read_tasklet,
 		     (unsigned long) condev->read);
 
-	raw3270_add_view(&condev->view, &con3270_fn, 1);
+	raw3270_add_view(&condev->view, &con3270_fn, 1, RAW3270_VIEW_LOCK_IRQ);
 
 	INIT_LIST_HEAD(&condev->freemem);
 	for (i = 0; i < CON3270_STRING_PAGES; i++) {
diff --git a/drivers/s390/char/fs3270.c b/drivers/s390/char/fs3270.c
index 85eca1cef0630..04a6810a4298c 100644
--- a/drivers/s390/char/fs3270.c
+++ b/drivers/s390/char/fs3270.c
@@ -462,7 +462,8 @@ fs3270_open(struct inode *inode, struct file *filp)
 
 	init_waitqueue_head(&fp->wait);
 	fp->fs_pid = get_pid(task_pid(current));
-	rc = raw3270_add_view(&fp->view, &fs3270_fn, minor);
+	rc = raw3270_add_view(&fp->view, &fs3270_fn, minor,
+			      RAW3270_VIEW_LOCK_BH);
 	if (rc) {
 		fs3270_free_view(&fp->view);
 		goto out;
diff --git a/drivers/s390/char/raw3270.c b/drivers/s390/char/raw3270.c
index a2da898ce90fd..1ebf632e327b9 100644
--- a/drivers/s390/char/raw3270.c
+++ b/drivers/s390/char/raw3270.c
@@ -919,7 +919,7 @@ raw3270_deactivate_view(struct raw3270_view *view)
  * Add view to device with minor "minor".
  */
 int
-raw3270_add_view(struct raw3270_view *view, struct raw3270_fn *fn, int minor)
+raw3270_add_view(struct raw3270_view *view, struct raw3270_fn *fn, int minor, int subclass)
 {
 	unsigned long flags;
 	struct raw3270 *rp;
@@ -941,6 +941,7 @@ raw3270_add_view(struct raw3270_view *view, struct raw3270_fn *fn, int minor)
 		view->cols = rp->cols;
 		view->ascebc = rp->ascebc;
 		spin_lock_init(&view->lock);
+		lockdep_set_subclass(&view->lock, subclass);
 		list_add(&view->list, &rp->view_list);
 		rc = 0;
 		spin_unlock_irqrestore(get_ccwdev_lock(rp->cdev), flags);
diff --git a/drivers/s390/char/raw3270.h b/drivers/s390/char/raw3270.h
index 56519cbb165c7..7577d7d0ad486 100644
--- a/drivers/s390/char/raw3270.h
+++ b/drivers/s390/char/raw3270.h
@@ -149,6 +149,8 @@ struct raw3270_fn {
 struct raw3270_view {
 	struct list_head list;
 	spinlock_t lock;
+#define RAW3270_VIEW_LOCK_IRQ	0
+#define RAW3270_VIEW_LOCK_BH	1
 	atomic_t ref_count;
 	struct raw3270 *dev;
 	struct raw3270_fn *fn;
@@ -157,7 +159,7 @@ struct raw3270_view {
 	unsigned char *ascebc;		/* ascii -> ebcdic table */
 };
 
-int raw3270_add_view(struct raw3270_view *, struct raw3270_fn *, int);
+int raw3270_add_view(struct raw3270_view *, struct raw3270_fn *, int, int);
 int raw3270_activate_view(struct raw3270_view *);
 void raw3270_del_view(struct raw3270_view *);
 void raw3270_deactivate_view(struct raw3270_view *);
diff --git a/drivers/s390/char/tty3270.c b/drivers/s390/char/tty3270.c
index 272cb6cd1b2ac..6dd6f9ff7de56 100644
--- a/drivers/s390/char/tty3270.c
+++ b/drivers/s390/char/tty3270.c
@@ -978,7 +978,8 @@ static int tty3270_install(struct tty_driver *driver, struct tty_struct *tty)
 		return PTR_ERR(tp);
 
 	rc = raw3270_add_view(&tp->view, &tty3270_fn,
-			      tty->index + RAW3270_FIRSTMINOR);
+			      tty->index + RAW3270_FIRSTMINOR,
+			      RAW3270_VIEW_LOCK_BH);
 	if (rc) {
 		tty3270_free_view(tp);
 		return rc;
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 15/51] mISDN: Check address length before reading address family
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (13 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 14/51] s390/3270: fix lockdep false positive on view->lock Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 16/51] x86/reboot, efi: Use EFI reboot for Acer TravelMate X514-51T Greg Kroah-Hartman
                   ` (41 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Tetsuo Handa, David S. Miller, Sasha Levin

[ Upstream commit 238ffdc49ef98b15819cfd5e3fb23194e3ea3d39 ]

KMSAN will complain if valid address length passed to bind() is shorter
than sizeof("struct sockaddr_mISDN"->family) bytes.

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/isdn/mISDN/socket.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/isdn/mISDN/socket.c b/drivers/isdn/mISDN/socket.c
index 99e5f9751e8b1..f96b8f2bdf743 100644
--- a/drivers/isdn/mISDN/socket.c
+++ b/drivers/isdn/mISDN/socket.c
@@ -712,10 +712,10 @@ base_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
 	struct sock *sk = sock->sk;
 	int err = 0;
 
-	if (!maddr || maddr->family != AF_ISDN)
+	if (addr_len < sizeof(struct sockaddr_mISDN))
 		return -EINVAL;
 
-	if (addr_len < sizeof(struct sockaddr_mISDN))
+	if (!maddr || maddr->family != AF_ISDN)
 		return -EINVAL;
 
 	lock_sock(sk);
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 16/51] x86/reboot, efi: Use EFI reboot for Acer TravelMate X514-51T
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (14 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 15/51] mISDN: Check address length before reading address family Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 17/51] KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing Greg Kroah-Hartman
                   ` (40 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Jian-Hong Pan, Daniel Drake,
	Ard Biesheuvel, Borislav Petkov, Linus Torvalds, Matt Fleming,
	Peter Zijlstra, Thomas Gleixner, linux-efi, linux, Ingo Molnar,
	Sasha Levin

[ Upstream commit 0082517fa4bce073e7cf542633439f26538a14cc ]

Upon reboot, the Acer TravelMate X514-51T laptop appears to complete the
shutdown process, but then it hangs in BIOS POST with a black screen.

The problem is intermittent - at some points it has appeared related to
Secure Boot settings or different kernel builds, but ultimately we have
not been able to identify the exact conditions that trigger the issue to
come and go.

Besides, the EFI mode cannot be disabled in the BIOS of this model.

However, after extensive testing, we observe that using the EFI reboot
method reliably avoids the issue in all cases.

So add a boot time quirk to use EFI reboot on such systems.

Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=203119
Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
Signed-off-by: Daniel Drake <drake@endlessm.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-efi@vger.kernel.org
Cc: linux@endlessm.com
Link: http://lkml.kernel.org/r/20190412080152.3718-1-jian-hong@endlessm.com
[ Fix !CONFIG_EFI build failure, clarify the code and the changelog a bit. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/kernel/reboot.c | 21 +++++++++++++++++++++
 include/linux/efi.h      |  7 ++++++-
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index 4a12362a194af..c55b11fe8e9f6 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -82,6 +82,19 @@ static int __init set_bios_reboot(const struct dmi_system_id *d)
 	return 0;
 }
 
+/*
+ * Some machines don't handle the default ACPI reboot method and
+ * require the EFI reboot method:
+ */
+static int __init set_efi_reboot(const struct dmi_system_id *d)
+{
+	if (reboot_type != BOOT_EFI && !efi_runtime_disabled()) {
+		reboot_type = BOOT_EFI;
+		pr_info("%s series board detected. Selecting EFI-method for reboot.\n", d->ident);
+	}
+	return 0;
+}
+
 void __noreturn machine_real_restart(unsigned int type)
 {
 	local_irq_disable();
@@ -167,6 +180,14 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "AOA110"),
 		},
 	},
+	{	/* Handle reboot issue on Acer TravelMate X514-51T */
+		.callback = set_efi_reboot,
+		.ident = "Acer TravelMate X514-51T",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate X514-51T"),
+		},
+	},
 
 	/* Apple */
 	{	/* Handle problems with rebooting on Apple MacBook5 */
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 80b1b8faf503f..e6711bf9f0d12 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -1433,7 +1433,12 @@ efi_status_t efi_setup_gop(efi_system_table_t *sys_table_arg,
 			   struct screen_info *si, efi_guid_t *proto,
 			   unsigned long size);
 
-bool efi_runtime_disabled(void);
+#ifdef CONFIG_EFI
+extern bool efi_runtime_disabled(void);
+#else
+static inline bool efi_runtime_disabled(void) { return true; }
+#endif
+
 extern void efi_call_virt_check_flags(unsigned long flags, const char *call);
 
 /*
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 17/51] KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (15 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 16/51] x86/reboot, efi: Use EFI reboot for Acer TravelMate X514-51T Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 18/51] tools lib traceevent: Fix missing equality check for strcmp Greg Kroah-Hartman
                   ` (39 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Vitaly Kuznetsov, Paolo Bonzini, Sasha Levin

[ Upstream commit 7a223e06b1a411cef6c4cd7a9b9a33c8d225b10e ]

In __apic_accept_irq() interface trig_mode is int and actually on some code
paths it is set above u8:

kvm_apic_set_irq() extracts it from 'struct kvm_lapic_irq' where trig_mode
is u16. This is done on purpose as e.g. kvm_set_msi_irq() sets it to
(1 << 15) & e->msi.data

kvm_apic_local_deliver sets it to reg & (1 << 15).

Fix the immediate issue by making 'tm' into u16. We may also want to adjust
__apic_accept_irq() interface and use proper sizes for vector, level,
trig_mode but this is not urgent.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/kvm/trace.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h
index 0a6cc6754ec5a..ea618b713b6f2 100644
--- a/arch/x86/kvm/trace.h
+++ b/arch/x86/kvm/trace.h
@@ -434,13 +434,13 @@ TRACE_EVENT(kvm_apic_ipi,
 );
 
 TRACE_EVENT(kvm_apic_accept_irq,
-	    TP_PROTO(__u32 apicid, __u16 dm, __u8 tm, __u8 vec),
+	    TP_PROTO(__u32 apicid, __u16 dm, __u16 tm, __u8 vec),
 	    TP_ARGS(apicid, dm, tm, vec),
 
 	TP_STRUCT__entry(
 		__field(	__u32,		apicid		)
 		__field(	__u16,		dm		)
-		__field(	__u8,		tm		)
+		__field(	__u16,		tm		)
 		__field(	__u8,		vec		)
 	),
 
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 18/51] tools lib traceevent: Fix missing equality check for strcmp
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (16 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 17/51] KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 19/51] init: initialize jump labels before command line option parsing Greg Kroah-Hartman
                   ` (38 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Rikard Falkeborn,
	Steven Rostedt (VMware),
	Tzvetomir Stoyanov, Arnaldo Carvalho de Melo, Sasha Levin

[ Upstream commit f32c2877bcb068a718bb70094cd59ccc29d4d082 ]

There was a missing comparison with 0 when checking if type is "s64" or
"u64". Therefore, the body of the if-statement was entered if "type" was
"u64" or not "s64", which made the first strcmp() redundant since if
type is "u64", it's not "s64".

If type is "s64", the body of the if-statement is not entered but since
the remainder of the function consists of if-statements which will not
be entered if type is "s64", we will just return "val", which is
correct, albeit at the cost of a few more calls to strcmp(), i.e., it
will behave just as if the if-statement was entered.

If type is neither "s64" or "u64", the body of the if-statement will be
entered incorrectly and "val" returned. This means that any type that is
checked after "s64" and "u64" is handled the same way as "s64" and
"u64", i.e., the limiting of "val" to fit in for example "s8" is never
reached.

This was introduced in the kernel tree when the sources were copied from
trace-cmd in commit f7d82350e597 ("tools/events: Add files to create
libtraceevent.a"), and in the trace-cmd repo in 1cdbae6035cei
("Implement typecasting in parser") when the function was introduced,
i.e., it has always behaved the wrong way.

Detected by cppcheck.

Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Cc: Tzvetomir Stoyanov <tstoyanov@vmware.com>
Fixes: f7d82350e597 ("tools/events: Add files to create libtraceevent.a")
Link: http://lkml.kernel.org/r/20190409091529.2686-1-rikard.falkeborn@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 tools/lib/traceevent/event-parse.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
index 700c74b0aed02..def61125ac36d 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -2204,7 +2204,7 @@ eval_type_str(unsigned long long val, const char *type, int pointer)
 		return val & 0xffffffff;
 
 	if (strcmp(type, "u64") == 0 ||
-	    strcmp(type, "s64"))
+	    strcmp(type, "s64") == 0)
 		return val;
 
 	if (strcmp(type, "s8") == 0)
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 19/51] init: initialize jump labels before command line option parsing
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (17 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 18/51] tools lib traceevent: Fix missing equality check for strcmp Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 20/51] selftests: netfilter: check icmp pkttoobig errors are set as related Greg Kroah-Hartman
                   ` (37 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Dan Williams, Guenter Roeck,
	Kees Cook, Mathieu Desnoyers, Thomas Gleixner, Mike Rapoport,
	Russell King, Andrew Morton, Linus Torvalds, Sasha Levin

[ Upstream commit 6041186a32585fc7a1d0f6cfe2f138b05fdc3c82 ]

When a module option, or core kernel argument, toggles a static-key it
requires jump labels to be initialized early.  While x86, PowerPC, and
ARM64 arrange for jump_label_init() to be called before parse_args(),
ARM does not.

  Kernel command line: rdinit=/sbin/init page_alloc.shuffle=1 panic=-1 console=ttyAMA0,115200 page_alloc.shuffle=1
  ------------[ cut here ]------------
  WARNING: CPU: 0 PID: 0 at ./include/linux/jump_label.h:303
  page_alloc_shuffle+0x12c/0x1ac
  static_key_enable(): static key 'page_alloc_shuffle_key+0x0/0x4' used
  before call to jump_label_init()
  Modules linked in:
  CPU: 0 PID: 0 Comm: swapper Not tainted
  5.1.0-rc4-next-20190410-00003-g3367c36ce744 #1
  Hardware name: ARM Integrator/CP (Device Tree)
  [<c0011c68>] (unwind_backtrace) from [<c000ec48>] (show_stack+0x10/0x18)
  [<c000ec48>] (show_stack) from [<c07e9710>] (dump_stack+0x18/0x24)
  [<c07e9710>] (dump_stack) from [<c001bb1c>] (__warn+0xe0/0x108)
  [<c001bb1c>] (__warn) from [<c001bb88>] (warn_slowpath_fmt+0x44/0x6c)
  [<c001bb88>] (warn_slowpath_fmt) from [<c0b0c4a8>]
  (page_alloc_shuffle+0x12c/0x1ac)
  [<c0b0c4a8>] (page_alloc_shuffle) from [<c0b0c550>] (shuffle_store+0x28/0x48)
  [<c0b0c550>] (shuffle_store) from [<c003e6a0>] (parse_args+0x1f4/0x350)
  [<c003e6a0>] (parse_args) from [<c0ac3c00>] (start_kernel+0x1c0/0x488)

Move the fallback call to jump_label_init() to occur before
parse_args().

The redundant calls to jump_label_init() in other archs are left intact
in case they have static key toggling use cases that are even earlier
than option parsing.

Link: http://lkml.kernel.org/r/155544804466.1032396.13418949511615676665.stgit@dwillia2-desk3.amr.corp.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Reported-by: Guenter Roeck <groeck@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Russell King <rmk@armlinux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 init/main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/init/main.c b/init/main.c
index 3c7f71d8e7046..148843e627a06 100644
--- a/init/main.c
+++ b/init/main.c
@@ -516,6 +516,8 @@ asmlinkage __visible void __init start_kernel(void)
 	page_alloc_init();
 
 	pr_notice("Kernel command line: %s\n", boot_command_line);
+	/* parameters may set static keys */
+	jump_label_init();
 	parse_early_param();
 	after_dashes = parse_args("Booting kernel",
 				  static_command_line, __start___param,
@@ -525,8 +527,6 @@ asmlinkage __visible void __init start_kernel(void)
 		parse_args("Setting init args", after_dashes, NULL, 0, -1, -1,
 			   NULL, set_init_arg);
 
-	jump_label_init();
-
 	/*
 	 * These use large bootmem allocations and must precede
 	 * kmem_cache_init()
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 20/51] selftests: netfilter: check icmp pkttoobig errors are set as related
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (18 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 19/51] init: initialize jump labels before command line option parsing Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 21/51] ipvs: do not schedule icmp errors from tunnels Greg Kroah-Hartman
                   ` (36 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Florian Westphal, Pablo Neira Ayuso,
	Sasha Levin

[ Upstream commit becf2319f320cae43e20cf179cc51a355a0deb5f ]

When an icmp error such as pkttoobig is received, conntrack checks
if the "inner" header (header of packet that did not fit link mtu)
is matches an existing connection, and, if so, sets that packet as
being related to the conntrack entry it found.

It was recently reported that this "related" setting also works
if the inner header is from another, different connection (i.e.,
artificial/forged icmp error).

Add a test, followup patch will add additional "inner dst matches
outer dst in reverse direction" check before setting related state.

Link: https://www.synacktiv.com/posts/systems/icmp-reachable.html
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 tools/testing/selftests/netfilter/Makefile    |   2 +-
 .../netfilter/conntrack_icmp_related.sh       | 283 ++++++++++++++++++
 2 files changed, 284 insertions(+), 1 deletion(-)
 create mode 100755 tools/testing/selftests/netfilter/conntrack_icmp_related.sh

diff --git a/tools/testing/selftests/netfilter/Makefile b/tools/testing/selftests/netfilter/Makefile
index c9ff2b47bd1ca..a37cb1192c6a6 100644
--- a/tools/testing/selftests/netfilter/Makefile
+++ b/tools/testing/selftests/netfilter/Makefile
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0
 # Makefile for netfilter selftests
 
-TEST_PROGS := nft_trans_stress.sh nft_nat.sh
+TEST_PROGS := nft_trans_stress.sh nft_nat.sh conntrack_icmp_related.sh
 
 include ../lib.mk
diff --git a/tools/testing/selftests/netfilter/conntrack_icmp_related.sh b/tools/testing/selftests/netfilter/conntrack_icmp_related.sh
new file mode 100755
index 0000000000000..b48e1833bc896
--- /dev/null
+++ b/tools/testing/selftests/netfilter/conntrack_icmp_related.sh
@@ -0,0 +1,283 @@
+#!/bin/bash
+#
+# check that ICMP df-needed/pkttoobig icmp are set are set as related
+# state
+#
+# Setup is:
+#
+# nsclient1 -> nsrouter1 -> nsrouter2 -> nsclient2
+# MTU 1500, except for nsrouter2 <-> nsclient2 link (1280).
+# ping nsclient2 from nsclient1, checking that conntrack did set RELATED
+# 'fragmentation needed' icmp packet.
+#
+# In addition, nsrouter1 will perform IP masquerading, i.e. also
+# check the icmp errors are propagated to the correct host as per
+# nat of "established" icmp-echo "connection".
+
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+ret=0
+
+nft --version > /dev/null 2>&1
+if [ $? -ne 0 ];then
+	echo "SKIP: Could not run test without nft tool"
+	exit $ksft_skip
+fi
+
+ip -Version > /dev/null 2>&1
+if [ $? -ne 0 ];then
+	echo "SKIP: Could not run test without ip tool"
+	exit $ksft_skip
+fi
+
+cleanup() {
+	for i in 1 2;do ip netns del nsclient$i;done
+	for i in 1 2;do ip netns del nsrouter$i;done
+}
+
+ipv4() {
+    echo -n 192.168.$1.2
+}
+
+ipv6 () {
+    echo -n dead:$1::2
+}
+
+check_counter()
+{
+	ns=$1
+	name=$2
+	expect=$3
+	local lret=0
+
+	cnt=$(ip netns exec $ns nft list counter inet filter "$name" | grep -q "$expect")
+	if [ $? -ne 0 ]; then
+		echo "ERROR: counter $name in $ns has unexpected value (expected $expect)" 1>&2
+		ip netns exec $ns nft list counter inet filter "$name" 1>&2
+		lret=1
+	fi
+
+	return $lret
+}
+
+check_unknown()
+{
+	expect="packets 0 bytes 0"
+	for n in nsclient1 nsclient2 nsrouter1 nsrouter2; do
+		check_counter $n "unknown" "$expect"
+		if [ $? -ne 0 ] ;then
+			return 1
+		fi
+	done
+
+	return 0
+}
+
+for n in nsclient1 nsclient2 nsrouter1 nsrouter2; do
+  ip netns add $n
+  ip -net $n link set lo up
+done
+
+DEV=veth0
+ip link add $DEV netns nsclient1 type veth peer name eth1 netns nsrouter1
+DEV=veth0
+ip link add $DEV netns nsclient2 type veth peer name eth1 netns nsrouter2
+
+DEV=veth0
+ip link add $DEV netns nsrouter1 type veth peer name eth2 netns nsrouter2
+
+DEV=veth0
+for i in 1 2; do
+    ip -net nsclient$i link set $DEV up
+    ip -net nsclient$i addr add $(ipv4 $i)/24 dev $DEV
+    ip -net nsclient$i addr add $(ipv6 $i)/64 dev $DEV
+done
+
+ip -net nsrouter1 link set eth1 up
+ip -net nsrouter1 link set veth0 up
+
+ip -net nsrouter2 link set eth1 up
+ip -net nsrouter2 link set eth2 up
+
+ip -net nsclient1 route add default via 192.168.1.1
+ip -net nsclient1 -6 route add default via dead:1::1
+
+ip -net nsclient2 route add default via 192.168.2.1
+ip -net nsclient2 route add default via dead:2::1
+
+i=3
+ip -net nsrouter1 addr add 192.168.1.1/24 dev eth1
+ip -net nsrouter1 addr add 192.168.3.1/24 dev veth0
+ip -net nsrouter1 addr add dead:1::1/64 dev eth1
+ip -net nsrouter1 addr add dead:3::1/64 dev veth0
+ip -net nsrouter1 route add default via 192.168.3.10
+ip -net nsrouter1 -6 route add default via dead:3::10
+
+ip -net nsrouter2 addr add 192.168.2.1/24 dev eth1
+ip -net nsrouter2 addr add 192.168.3.10/24 dev eth2
+ip -net nsrouter2 addr add dead:2::1/64 dev eth1
+ip -net nsrouter2 addr add dead:3::10/64 dev eth2
+ip -net nsrouter2 route add default via 192.168.3.1
+ip -net nsrouter2 route add default via dead:3::1
+
+sleep 2
+for i in 4 6; do
+	ip netns exec nsrouter1 sysctl -q net.ipv$i.conf.all.forwarding=1
+	ip netns exec nsrouter2 sysctl -q net.ipv$i.conf.all.forwarding=1
+done
+
+for netns in nsrouter1 nsrouter2; do
+ip netns exec $netns nft -f - <<EOF
+table inet filter {
+	counter unknown { }
+	counter related { }
+	chain forward {
+		type filter hook forward priority 0; policy accept;
+		meta l4proto icmpv6 icmpv6 type "packet-too-big" ct state "related" counter name "related" accept
+		meta l4proto icmp icmp type "destination-unreachable" ct state "related" counter name "related" accept
+		meta l4proto { icmp, icmpv6 } ct state new,established accept
+		counter name "unknown" drop
+	}
+}
+EOF
+done
+
+ip netns exec nsclient1 nft -f - <<EOF
+table inet filter {
+	counter unknown { }
+	counter related { }
+	chain input {
+		type filter hook input priority 0; policy accept;
+		meta l4proto { icmp, icmpv6 } ct state established,untracked accept
+
+		meta l4proto { icmp, icmpv6 } ct state "related" counter name "related" accept
+		counter name "unknown" drop
+	}
+}
+EOF
+
+ip netns exec nsclient2 nft -f - <<EOF
+table inet filter {
+	counter unknown { }
+	counter new { }
+	counter established { }
+
+	chain input {
+		type filter hook input priority 0; policy accept;
+		meta l4proto { icmp, icmpv6 } ct state established,untracked accept
+
+		meta l4proto { icmp, icmpv6 } ct state "new" counter name "new" accept
+		meta l4proto { icmp, icmpv6 } ct state "established" counter name "established" accept
+		counter name "unknown" drop
+	}
+	chain output {
+		type filter hook output priority 0; policy accept;
+		meta l4proto { icmp, icmpv6 } ct state established,untracked accept
+
+		meta l4proto { icmp, icmpv6 } ct state "new" counter name "new"
+		meta l4proto { icmp, icmpv6 } ct state "established" counter name "established"
+		counter name "unknown" drop
+	}
+}
+EOF
+
+
+# make sure NAT core rewrites adress of icmp error if nat is used according to
+# conntrack nat information (icmp error will be directed at nsrouter1 address,
+# but it needs to be routed to nsclient1 address).
+ip netns exec nsrouter1 nft -f - <<EOF
+table ip nat {
+	chain postrouting {
+		type nat hook postrouting priority 0; policy accept;
+		ip protocol icmp oifname "veth0" counter masquerade
+	}
+}
+table ip6 nat {
+	chain postrouting {
+		type nat hook postrouting priority 0; policy accept;
+		ip6 nexthdr icmpv6 oifname "veth0" counter masquerade
+	}
+}
+EOF
+
+ip netns exec nsrouter2 ip link set eth1  mtu 1280
+ip netns exec nsclient2 ip link set veth0 mtu 1280
+sleep 1
+
+ip netns exec nsclient1 ping -c 1 -s 1000 -q -M do 192.168.2.2 >/dev/null
+if [ $? -ne 0 ]; then
+	echo "ERROR: netns ip routing/connectivity broken" 1>&2
+	cleanup
+	exit 1
+fi
+ip netns exec nsclient1 ping6 -q -c 1 -s 1000 dead:2::2 >/dev/null
+if [ $? -ne 0 ]; then
+	echo "ERROR: netns ipv6 routing/connectivity broken" 1>&2
+	cleanup
+	exit 1
+fi
+
+check_unknown
+if [ $? -ne 0 ]; then
+	ret=1
+fi
+
+expect="packets 0 bytes 0"
+for netns in nsrouter1 nsrouter2 nsclient1;do
+	check_counter "$netns" "related" "$expect"
+	if [ $? -ne 0 ]; then
+		ret=1
+	fi
+done
+
+expect="packets 2 bytes 2076"
+check_counter nsclient2 "new" "$expect"
+if [ $? -ne 0 ]; then
+	ret=1
+fi
+
+ip netns exec nsclient1 ping -q -c 1 -s 1300 -M do 192.168.2.2 > /dev/null
+if [ $? -eq 0 ]; then
+	echo "ERROR: ping should have failed with PMTU too big error" 1>&2
+	ret=1
+fi
+
+# nsrouter2 should have generated the icmp error, so
+# related counter should be 0 (its in forward).
+expect="packets 0 bytes 0"
+check_counter "nsrouter2" "related" "$expect"
+if [ $? -ne 0 ]; then
+	ret=1
+fi
+
+# but nsrouter1 should have seen it, same for nsclient1.
+expect="packets 1 bytes 576"
+for netns in nsrouter1 nsclient1;do
+	check_counter "$netns" "related" "$expect"
+	if [ $? -ne 0 ]; then
+		ret=1
+	fi
+done
+
+ip netns exec nsclient1 ping6 -c 1 -s 1300 dead:2::2 > /dev/null
+if [ $? -eq 0 ]; then
+	echo "ERROR: ping6 should have failed with PMTU too big error" 1>&2
+	ret=1
+fi
+
+expect="packets 2 bytes 1856"
+for netns in nsrouter1 nsclient1;do
+	check_counter "$netns" "related" "$expect"
+	if [ $? -ne 0 ]; then
+		ret=1
+	fi
+done
+
+if [ $ret -eq 0 ];then
+	echo "PASS: icmp mtu error had RELATED state"
+else
+	echo "ERROR: icmp error RELATED state test has failed"
+fi
+
+cleanup
+exit $ret
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 21/51] ipvs: do not schedule icmp errors from tunnels
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (19 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 20/51] selftests: netfilter: check icmp pkttoobig errors are set as related Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 22/51] MIPS: perf: ath79: Fix perfcount IRQ assignment Greg Kroah-Hartman
                   ` (35 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Julian Anastasov, Simon Horman,
	Pablo Neira Ayuso, Sasha Levin

[ Upstream commit 0261ea1bd1eb0da5c0792a9119b8655cf33c80a3 ]

We can receive ICMP errors from client or from
tunneling real server. While the former can be
scheduled to real server, the latter should
not be scheduled, they are decapsulated only when
existing connection is found.

Fixes: 6044eeffafbe ("ipvs: attempt to schedule icmp packets")
Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 net/netfilter/ipvs/ip_vs_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
index fd186b011a999..8475e8692ff04 100644
--- a/net/netfilter/ipvs/ip_vs_core.c
+++ b/net/netfilter/ipvs/ip_vs_core.c
@@ -1643,7 +1643,7 @@ ip_vs_in_icmp(struct netns_ipvs *ipvs, struct sk_buff *skb, int *related,
 	if (!cp) {
 		int v;
 
-		if (!sysctl_schedule_icmp(ipvs))
+		if (ipip || !sysctl_schedule_icmp(ipvs))
 			return NF_ACCEPT;
 
 		if (!ip_vs_try_to_schedule(ipvs, AF_INET, skb, pd, &v, &cp, &ciph))
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 22/51] MIPS: perf: ath79: Fix perfcount IRQ assignment
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (20 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 21/51] ipvs: do not schedule icmp errors from tunnels Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 23/51] s390: ctcm: fix ctcm_new_device error return code Greg Kroah-Hartman
                   ` (34 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Kevin ldir Darbyshire-Bryant,
	Petr Štetiar, John Crispin, Marc Zyngier, Paul Burton,
	linux-mips, Ralf Baechle, James Hogan, Thomas Gleixner,
	Jason Cooper, Sasha Levin

[ Upstream commit a1e8783db8e0d58891681bc1e6d9ada66eae8e20 ]

Currently it's not possible to use perf on ath79 due to genirq flags
mismatch happening on static virtual IRQ 13 which is used for
performance counters hardware IRQ 5.

On TP-Link Archer C7v5:

           CPU0
  2:          0      MIPS   2  ath9k
  4:        318      MIPS   4  19000000.eth
  7:      55034      MIPS   7  timer
  8:       1236      MISC   3  ttyS0
 12:          0      INTC   1  ehci_hcd:usb1
 13:          0  gpio-ath79   2  keys
 14:          0  gpio-ath79   5  keys
 15:         31  AR724X PCI    1  ath10k_pci

 $ perf top
 genirq: Flags mismatch irq 13. 00014c83 (mips_perf_pmu) vs. 00002003 (keys)

On TP-Link Archer C7v4:

         CPU0
  4:          0      MIPS   4  19000000.eth
  5:       7135      MIPS   5  1a000000.eth
  7:      98379      MIPS   7  timer
  8:         30      MISC   3  ttyS0
 12:      90028      INTC   0  ath9k
 13:       5520      INTC   1  ehci_hcd:usb1
 14:       4623      INTC   2  ehci_hcd:usb2
 15:      32844  AR724X PCI    1  ath10k_pci
 16:          0  gpio-ath79  16  keys
 23:          0  gpio-ath79  23  keys

 $ perf top
 genirq: Flags mismatch irq 13. 00014c80 (mips_perf_pmu) vs. 00000080 (ehci_hcd:usb1)

This problem is happening, because currently statically assigned virtual
IRQ 13 for performance counters is not claimed during the initialization
of MIPS PMU during the bootup, so the IRQ subsystem doesn't know, that
this interrupt isn't available for further use.

So this patch fixes the issue by simply booking hardware IRQ 5 for MIPS PMU.

Tested-by: Kevin 'ldir' Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Acked-by: John Crispin <john@phrozen.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: linux-mips@vger.kernel.org
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/mips/ath79/setup.c          |  6 ------
 drivers/irqchip/irq-ath79-misc.c | 11 +++++++++++
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
index 26a058d58d37b..c7c31e2148136 100644
--- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c
@@ -183,12 +183,6 @@ const char *get_system_type(void)
 	return ath79_sys_type;
 }
 
-int get_c0_perfcount_int(void)
-{
-	return ATH79_MISC_IRQ(5);
-}
-EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
-
 unsigned int get_c0_compare_int(void)
 {
 	return CP0_LEGACY_COMPARE_IRQ;
diff --git a/drivers/irqchip/irq-ath79-misc.c b/drivers/irqchip/irq-ath79-misc.c
index aa72907846360..0390603170b40 100644
--- a/drivers/irqchip/irq-ath79-misc.c
+++ b/drivers/irqchip/irq-ath79-misc.c
@@ -22,6 +22,15 @@
 #define AR71XX_RESET_REG_MISC_INT_ENABLE	4
 
 #define ATH79_MISC_IRQ_COUNT			32
+#define ATH79_MISC_PERF_IRQ			5
+
+static int ath79_perfcount_irq;
+
+int get_c0_perfcount_int(void)
+{
+	return ath79_perfcount_irq;
+}
+EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
 
 static void ath79_misc_irq_handler(struct irq_desc *desc)
 {
@@ -113,6 +122,8 @@ static void __init ath79_misc_intc_domain_init(
 {
 	void __iomem *base = domain->host_data;
 
+	ath79_perfcount_irq = irq_create_mapping(domain, ATH79_MISC_PERF_IRQ);
+
 	/* Disable and clear all interrupts */
 	__raw_writel(0, base + AR71XX_RESET_REG_MISC_INT_ENABLE);
 	__raw_writel(0, base + AR71XX_RESET_REG_MISC_INT_STATUS);
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 23/51] s390: ctcm: fix ctcm_new_device error return code
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (21 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 22/51] MIPS: perf: ath79: Fix perfcount IRQ assignment Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:55 ` [PATCH 4.9 24/51] drm/sun4i: Set device driver data at bind time for use in unbind Greg Kroah-Hartman
                   ` (33 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Nathan Chancellor, Arnd Bergmann,
	Julian Wiedmann, David S. Miller, Sasha Levin

[ Upstream commit 27b141fc234a3670d21bd742c35d7205d03cbb3a ]

clang points out that the return code from this function is
undefined for one of the error paths:

../drivers/s390/net/ctcm_main.c:1595:7: warning: variable 'result' is used uninitialized whenever 'if' condition is true
      [-Wsometimes-uninitialized]
                if (priv->channel[direction] == NULL) {
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/s390/net/ctcm_main.c:1638:9: note: uninitialized use occurs here
        return result;
               ^~~~~~
../drivers/s390/net/ctcm_main.c:1595:3: note: remove the 'if' if its condition is always false
                if (priv->channel[direction] == NULL) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/s390/net/ctcm_main.c:1539:12: note: initialize the variable 'result' to silence this warning
        int result;
                  ^

Make it return -ENODEV here, as in the related failure cases.
gcc has a known bug in underreporting some of these warnings
when it has already eliminated the assignment of the return code
based on some earlier optimization step.

Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/s390/net/ctcm_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/s390/net/ctcm_main.c b/drivers/s390/net/ctcm_main.c
index ad17fc5883f61..e22b9ac3e564f 100644
--- a/drivers/s390/net/ctcm_main.c
+++ b/drivers/s390/net/ctcm_main.c
@@ -1595,6 +1595,7 @@ static int ctcm_new_device(struct ccwgroup_device *cgdev)
 		if (priv->channel[direction] == NULL) {
 			if (direction == CTCM_WRITE)
 				channel_free(priv->channel[CTCM_READ]);
+			result = -ENODEV;
 			goto out_dev;
 		}
 		priv->channel[direction]->netdev = dev;
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 24/51] drm/sun4i: Set device driver data at bind time for use in unbind
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (22 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 23/51] s390: ctcm: fix ctcm_new_device error return code Greg Kroah-Hartman
@ 2019-05-15 10:55 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 25/51] selftests/net: correct the return value for run_netsocktests Greg Kroah-Hartman
                   ` (32 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Paul Kocialkowski, Maxime Ripard,
	Sasha Levin

[ Upstream commit 02b92adbe33e6dbd15dc6e32540b22f47c4ff0a2 ]

Our sun4i_drv_unbind gets the drm device using dev_get_drvdata.
However, that driver data is never set in sun4i_drv_bind.

Set it there to avoid getting a NULL pointer at unbind time.

Fixes: 9026e0d122ac ("drm: Add Allwinner A10 Display Engine support")
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190418132727.5128-3-paul.kocialkowski@bootlin.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/sun4i/sun4i_drv.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
index 97828faf2a1ff..d58991b06a470 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -137,6 +137,8 @@ static int sun4i_drv_bind(struct device *dev)
 		ret = -ENOMEM;
 		goto free_drm;
 	}
+
+	dev_set_drvdata(dev, drm);
 	drm->dev_private = drv;
 
 	drm_vblank_init(drm, 1);
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 25/51] selftests/net: correct the return value for run_netsocktests
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (23 preceding siblings ...)
  2019-05-15 10:55 ` [PATCH 4.9 24/51] drm/sun4i: Set device driver data at bind time for use in unbind Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 26/51] gpu: ipu-v3: dp: fix CSC handling Greg Kroah-Hartman
                   ` (31 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Po-Hsu Lin, David S. Miller, Sasha Levin

[ Upstream commit 30c04d796b693e22405c38e9b78e9a364e4c77e6 ]

The run_netsocktests will be marked as passed regardless the actual test
result from the ./socket:

    selftests: net: run_netsocktests
    ========================================
    --------------------
    running socket test
    --------------------
    [FAIL]
    ok 1..6 selftests: net: run_netsocktests [PASS]

This is because the test script itself has been successfully executed.
Fix this by exit 1 when the test failed.

Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 tools/testing/selftests/net/run_netsocktests | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/run_netsocktests b/tools/testing/selftests/net/run_netsocktests
index 16058bbea7a85..c195b44786627 100755
--- a/tools/testing/selftests/net/run_netsocktests
+++ b/tools/testing/selftests/net/run_netsocktests
@@ -6,7 +6,7 @@ echo "--------------------"
 ./socket
 if [ $? -ne 0 ]; then
 	echo "[FAIL]"
+	exit 1
 else
 	echo "[PASS]"
 fi
-
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 26/51] gpu: ipu-v3: dp: fix CSC handling
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (24 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 25/51] selftests/net: correct the return value for run_netsocktests Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 27/51] spi: Micrel eth switch: declare missing of table Greg Kroah-Hartman
                   ` (30 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Lucas Stach, Philipp Zabel,
	Sasha Levin, Jonathan Marek

[ Upstream commit d4fad0a426c6e26f48c9a7cdd21a7fe9c198d645 ]

Initialize the flow input colorspaces to unknown and reset to that value
when the channel gets disabled. This avoids the state getting mixed up
with a previous mode.

Also keep the CSC settings for the background flow intact when disabling
the foreground flow.

Root-caused-by: Jonathan Marek <jonathan@marek.ca>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/ipu-v3/ipu-dp.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/ipu-v3/ipu-dp.c b/drivers/gpu/ipu-v3/ipu-dp.c
index 98686edbcdbb0..33de3a1bac49f 100644
--- a/drivers/gpu/ipu-v3/ipu-dp.c
+++ b/drivers/gpu/ipu-v3/ipu-dp.c
@@ -195,7 +195,8 @@ int ipu_dp_setup_channel(struct ipu_dp *dp,
 		ipu_dp_csc_init(flow, flow->foreground.in_cs, flow->out_cs,
 				DP_COM_CONF_CSC_DEF_BOTH);
 	} else {
-		if (flow->foreground.in_cs == flow->out_cs)
+		if (flow->foreground.in_cs == IPUV3_COLORSPACE_UNKNOWN ||
+		    flow->foreground.in_cs == flow->out_cs)
 			/*
 			 * foreground identical to output, apply color
 			 * conversion on background
@@ -261,6 +262,8 @@ void ipu_dp_disable_channel(struct ipu_dp *dp)
 	struct ipu_dp_priv *priv = flow->priv;
 	u32 reg, csc;
 
+	dp->in_cs = IPUV3_COLORSPACE_UNKNOWN;
+
 	if (!dp->foreground)
 		return;
 
@@ -268,8 +271,9 @@ void ipu_dp_disable_channel(struct ipu_dp *dp)
 
 	reg = readl(flow->base + DP_COM_CONF);
 	csc = reg & DP_COM_CONF_CSC_DEF_MASK;
-	if (csc == DP_COM_CONF_CSC_DEF_FG)
-		reg &= ~DP_COM_CONF_CSC_DEF_MASK;
+	reg &= ~DP_COM_CONF_CSC_DEF_MASK;
+	if (csc == DP_COM_CONF_CSC_DEF_BOTH || csc == DP_COM_CONF_CSC_DEF_BG)
+		reg |= DP_COM_CONF_CSC_DEF_BG;
 
 	reg &= ~DP_COM_CONF_FG_EN;
 	writel(reg, flow->base + DP_COM_CONF);
@@ -350,6 +354,8 @@ int ipu_dp_init(struct ipu_soc *ipu, struct device *dev, unsigned long base)
 	mutex_init(&priv->mutex);
 
 	for (i = 0; i < IPUV3_NUM_FLOWS; i++) {
+		priv->flow[i].background.in_cs = IPUV3_COLORSPACE_UNKNOWN;
+		priv->flow[i].foreground.in_cs = IPUV3_COLORSPACE_UNKNOWN;
 		priv->flow[i].foreground.foreground = true;
 		priv->flow[i].base = priv->base + ipu_dp_flow_base[i];
 		priv->flow[i].priv = priv;
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 27/51] spi: Micrel eth switch: declare missing of table
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (25 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 26/51] gpu: ipu-v3: dp: fix CSC handling Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 28/51] spi: ST ST95HF NFC: " Greg Kroah-Hartman
                   ` (29 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Javier Martinez Canillas,
	Daniel Gomez, David S. Miller, Sasha Levin

[ Upstream commit 2f23a2a768bee7ad2ff1e9527c3f7e279e794a46 ]

Add missing <of_device_id> table for SPI driver relying on SPI
device match since compatible is in a DT binding or in a DTS.

Before this patch:
modinfo drivers/net/phy/spi_ks8995.ko | grep alias
alias:          spi:ksz8795
alias:          spi:ksz8864
alias:          spi:ks8995

After this patch:
modinfo drivers/net/phy/spi_ks8995.ko | grep alias
alias:          spi:ksz8795
alias:          spi:ksz8864
alias:          spi:ks8995
alias:          of:N*T*Cmicrel,ksz8795C*
alias:          of:N*T*Cmicrel,ksz8795
alias:          of:N*T*Cmicrel,ksz8864C*
alias:          of:N*T*Cmicrel,ksz8864
alias:          of:N*T*Cmicrel,ks8995C*
alias:          of:N*T*Cmicrel,ks8995

Reported-by: Javier Martinez Canillas <javier@dowhile0.org>
Signed-off-by: Daniel Gomez <dagmcr@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/phy/spi_ks8995.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/phy/spi_ks8995.c b/drivers/net/phy/spi_ks8995.c
index 1e2d4f1179da3..45df03673e010 100644
--- a/drivers/net/phy/spi_ks8995.c
+++ b/drivers/net/phy/spi_ks8995.c
@@ -162,6 +162,14 @@ static const struct spi_device_id ks8995_id[] = {
 };
 MODULE_DEVICE_TABLE(spi, ks8995_id);
 
+static const struct of_device_id ks8895_spi_of_match[] = {
+        { .compatible = "micrel,ks8995" },
+        { .compatible = "micrel,ksz8864" },
+        { .compatible = "micrel,ksz8795" },
+        { },
+ };
+MODULE_DEVICE_TABLE(of, ks8895_spi_of_match);
+
 static inline u8 get_chip_id(u8 val)
 {
 	return (val >> ID1_CHIPID_S) & ID1_CHIPID_M;
@@ -529,6 +537,7 @@ static int ks8995_remove(struct spi_device *spi)
 static struct spi_driver ks8995_driver = {
 	.driver = {
 		.name	    = "spi-ks8995",
+		.of_match_table = of_match_ptr(ks8895_spi_of_match),
 	},
 	.probe	  = ks8995_probe,
 	.remove	  = ks8995_remove,
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 28/51] spi: ST ST95HF NFC: declare missing of table
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (26 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 27/51] spi: Micrel eth switch: declare missing of table Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 29/51] Input: synaptics-rmi4 - fix possible double free Greg Kroah-Hartman
                   ` (28 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Javier Martinez Canillas,
	Daniel Gomez, David S. Miller, Sasha Levin

[ Upstream commit d04830531d0c4a99c897a44038e5da3d23331d2f ]

Add missing <of_device_id> table for SPI driver relying on SPI
device match since compatible is in a DT binding or in a DTS.

Before this patch:
modinfo drivers/nfc/st95hf/st95hf.ko | grep alias
alias:          spi:st95hf

After this patch:
modinfo drivers/nfc/st95hf/st95hf.ko | grep alias
alias:          spi:st95hf
alias:          of:N*T*Cst,st95hfC*
alias:          of:N*T*Cst,st95hf

Reported-by: Javier Martinez Canillas <javier@dowhile0.org>
Signed-off-by: Daniel Gomez <dagmcr@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/nfc/st95hf/core.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/nfc/st95hf/core.c b/drivers/nfc/st95hf/core.c
index c2840e4129624..850e75571c8ee 100644
--- a/drivers/nfc/st95hf/core.c
+++ b/drivers/nfc/st95hf/core.c
@@ -1074,6 +1074,12 @@ static const struct spi_device_id st95hf_id[] = {
 };
 MODULE_DEVICE_TABLE(spi, st95hf_id);
 
+static const struct of_device_id st95hf_spi_of_match[] = {
+        { .compatible = "st,st95hf" },
+        { },
+};
+MODULE_DEVICE_TABLE(of, st95hf_spi_of_match);
+
 static int st95hf_probe(struct spi_device *nfc_spi_dev)
 {
 	int ret;
@@ -1260,6 +1266,7 @@ static struct spi_driver st95hf_driver = {
 	.driver = {
 		.name = "st95hf",
 		.owner = THIS_MODULE,
+		.of_match_table = of_match_ptr(st95hf_spi_of_match),
 	},
 	.id_table = st95hf_id,
 	.probe = st95hf_probe,
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 29/51] Input: synaptics-rmi4 - fix possible double free
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (27 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 28/51] spi: ST ST95HF NFC: " Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 30/51] cw1200: fix missing unlock on error in cw1200_hw_scan() Greg Kroah-Hartman
                   ` (27 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Pan Bian, Dmitry Torokhov, Sasha Levin

[ Upstream commit bce1a78423961fce676ac65540a31b6ffd179e6d ]

The RMI4 function structure has been released in rmi_register_function
if error occurs. However, it will be released again in the function
rmi_create_function, which may result in a double-free bug.

Signed-off-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/input/rmi4/rmi_driver.c |    6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

--- a/drivers/input/rmi4/rmi_driver.c
+++ b/drivers/input/rmi4/rmi_driver.c
@@ -772,7 +772,7 @@ static int rmi_create_function(struct rm
 
 	error = rmi_register_function(fn);
 	if (error)
-		goto err_put_fn;
+		return error;
 
 	if (pdt->function_number == 0x01)
 		data->f01_container = fn;
@@ -780,10 +780,6 @@ static int rmi_create_function(struct rm
 	list_add_tail(&fn->node, &data->function_list);
 
 	return RMI_SCAN_CONTINUE;
-
-err_put_fn:
-	put_device(&fn->dev);
-	return error;
 }
 
 int rmi_driver_suspend(struct rmi_device *rmi_dev)



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 30/51] cw1200: fix missing unlock on error in cw1200_hw_scan()
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (28 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 29/51] Input: synaptics-rmi4 - fix possible double free Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 31/51] ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO internal command Greg Kroah-Hartman
                   ` (26 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Wei Yongjun, Jia-Ju Bai, Kalle Valo

From: Wei Yongjun <weiyongjun1@huawei.com>

commit 51c8d24101c79ffce3e79137e2cee5dfeb956dd7 upstream.

Add the missing unlock before return from function cw1200_hw_scan()
in the error handling case.

Fixes: 4f68ef64cd7f ("cw1200: Fix concurrency use-after-free bugs in cw1200_hw_scan()")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Acked-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/wireless/st/cw1200/scan.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- a/drivers/net/wireless/st/cw1200/scan.c
+++ b/drivers/net/wireless/st/cw1200/scan.c
@@ -84,8 +84,11 @@ int cw1200_hw_scan(struct ieee80211_hw *
 
 	frame.skb = ieee80211_probereq_get(hw, priv->vif->addr, NULL, 0,
 		req->ie_len);
-	if (!frame.skb)
+	if (!frame.skb) {
+		mutex_unlock(&priv->conf_mutex);
+		up(&priv->scan.lock);
 		return -ENOMEM;
+	}
 
 	if (req->ie_len)
 		memcpy(skb_put(frame.skb, req->ie_len), req->ie, req->ie_len);



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 31/51] ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO internal command
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (29 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 30/51] cw1200: fix missing unlock on error in cw1200_hw_scan() Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 32/51] rtlwifi: rtl8723ae: Fix missing break in switch statement Greg Kroah-Hartman
                   ` (25 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Takashi Sakamoto, Takashi Iwai,
	Nobuhiro Iwamatsu

From: Takashi Sakamoto <o-takashi@sakamocchi.jp>

commit e11f0f90a626f93899687b1cc909ee37dd6c5809 upstream.

Drivers can implement 'struct snd_pcm_ops.ioctl' to handle some requests
from ALSA PCM core. These requests are internal purpose in kernel land.
Usually common set of operations are used for it.

SNDRV_PCM_IOCTL1_INFO is one of the requests. According to code comment,
it has been obsoleted in the old days.

We can see old releases in ftp.alsa-project.org. The command was firstly
introduced in v0.5.0 release as SND_PCM_IOCTL1_INFO, to allow drivers to
fill data of 'struct snd_pcm_channel_info' type. In v0.9.0 release,
this was obsoleted by the other commands for ioctl(2) such as
SNDRV_PCM_IOCTL_CHANNEL_INFO.

This commit removes the long-abandoned command, bye.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 include/sound/pcm.h     |    2 +-
 sound/core/pcm_lib.c    |    2 --
 sound/core/pcm_native.c |    6 +-----
 3 files changed, 2 insertions(+), 8 deletions(-)

--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
@@ -100,7 +100,7 @@ struct snd_pcm_ops {
 #endif
 
 #define SNDRV_PCM_IOCTL1_RESET		0
-#define SNDRV_PCM_IOCTL1_INFO		1
+/* 1 is absent slot. */
 #define SNDRV_PCM_IOCTL1_CHANNEL_INFO	2
 #define SNDRV_PCM_IOCTL1_GSTATE		3
 #define SNDRV_PCM_IOCTL1_FIFO_SIZE	4
--- a/sound/core/pcm_lib.c
+++ b/sound/core/pcm_lib.c
@@ -1849,8 +1849,6 @@ int snd_pcm_lib_ioctl(struct snd_pcm_sub
 		      unsigned int cmd, void *arg)
 {
 	switch (cmd) {
-	case SNDRV_PCM_IOCTL1_INFO:
-		return 0;
 	case SNDRV_PCM_IOCTL1_RESET:
 		return snd_pcm_lib_ioctl_reset(substream, arg);
 	case SNDRV_PCM_IOCTL1_CHANNEL_INFO:
--- a/sound/core/pcm_native.c
+++ b/sound/core/pcm_native.c
@@ -214,11 +214,7 @@ int snd_pcm_info(struct snd_pcm_substrea
 	info->subdevices_avail = pstr->substream_count - pstr->substream_opened;
 	strlcpy(info->subname, substream->name, sizeof(info->subname));
 	runtime = substream->runtime;
-	/* AB: FIXME!!! This is definitely nonsense */
-	if (runtime) {
-		info->sync = runtime->sync;
-		substream->ops->ioctl(substream, SNDRV_PCM_IOCTL1_INFO, info);
-	}
+
 	return 0;
 }
 



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 32/51] rtlwifi: rtl8723ae: Fix missing break in switch statement
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (30 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 31/51] ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO internal command Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 33/51] Dont jump to compute_result state from check_result state Greg Kroah-Hartman
                   ` (24 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Gustavo A. R. Silva, Kalle Valo

From: Gustavo A. R. Silva <gustavo@embeddedor.com>

commit 84242b82d81c54e009a2aaa74d3d9eff70babf56 upstream.

Add missing break statement in order to prevent the code from falling
through to case 0x1025, and erroneously setting rtlhal->oem_id to
RT_CID_819X_ACER when rtlefuse->eeprom_svid is equal to 0x10EC and
none of the cases in switch (rtlefuse->eeprom_smid) match.

This bug was found thanks to the ongoing efforts to enable
-Wimplicit-fallthrough.

Fixes: 238ad2ddf34b ("rtlwifi: rtl8723ae: Clean up the hardware info routine")
Cc: stable@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c |    1 +
 1 file changed, 1 insertion(+)

--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
@@ -1703,6 +1703,7 @@ static void _rtl8723e_read_adapter_info(
 					rtlhal->oem_id = RT_CID_819X_LENOVO;
 					break;
 				}
+				break;
 			case 0x1025:
 				rtlhal->oem_id = RT_CID_819X_ACER;
 				break;



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 33/51] Dont jump to compute_result state from check_result state
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (31 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 32/51] rtlwifi: rtl8723ae: Fix missing break in switch statement Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 34/51] Revert "x86/vdso: Drop implicit common-page-size linker flag" Greg Kroah-Hartman
                   ` (23 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Xiao Ni, David Jeffery, Nigel Croxon,
	Song Liu, Jens Axboe

From: Nigel Croxon <ncroxon@redhat.com>

commit 4f4fd7c5798bbdd5a03a60f6269cf1177fbd11ef upstream.

Changing state from check_state_check_result to
check_state_compute_result not only is unsafe but also doesn't
appear to serve a valid purpose.  A raid6 check should only be
pushing out extra writes if doing repair and a mis-match occurs.
The stripe dev management will already try and do repair writes
for failing sectors.

This patch makes the raid6 check_state_check_result handling
work more like raid5's.  If somehow too many failures for a
check, just quit the check operation for the stripe.  When any
checks pass, don't try and use check_state_compute_result for
a purpose it isn't needed for and is unsafe for.  Just mark the
stripe as in sync for passing its parity checks and let the
stripe dev read/write code and the bad blocks list do their
job handling I/O errors.

Repro steps from Xiao:

These are the steps to reproduce this problem:
1. redefined OPT_MEDIUM_ERR_ADDR to 12000 in scsi_debug.c
2. insmod scsi_debug.ko dev_size_mb=11000  max_luns=1 num_tgts=1
3. mdadm --create /dev/md127 --level=6 --raid-devices=5 /dev/sde1 /dev/sde2 /dev/sde3 /dev/sde5 /dev/sde6
sde is the disk created by scsi_debug
4. echo "2" >/sys/module/scsi_debug/parameters/opts
5. raid-check

It panic:
[ 4854.730899] md: data-check of RAID array md127
[ 4854.857455] sd 5:0:0:0: [sdr] tag#80 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 4854.859246] sd 5:0:0:0: [sdr] tag#80 Sense Key : Medium Error [current]
[ 4854.860694] sd 5:0:0:0: [sdr] tag#80 Add. Sense: Unrecovered read error
[ 4854.862207] sd 5:0:0:0: [sdr] tag#80 CDB: Read(10) 28 00 00 00 2d 88 00 04 00 00
[ 4854.864196] print_req_error: critical medium error, dev sdr, sector 11656 flags 0
[ 4854.867409] sd 5:0:0:0: [sdr] tag#100 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 4854.869469] sd 5:0:0:0: [sdr] tag#100 Sense Key : Medium Error [current]
[ 4854.871206] sd 5:0:0:0: [sdr] tag#100 Add. Sense: Unrecovered read error
[ 4854.872858] sd 5:0:0:0: [sdr] tag#100 CDB: Read(10) 28 00 00 00 2e e0 00 00 08 00
[ 4854.874587] print_req_error: critical medium error, dev sdr, sector 12000 flags 4000
[ 4854.876456] sd 5:0:0:0: [sdr] tag#101 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 4854.878552] sd 5:0:0:0: [sdr] tag#101 Sense Key : Medium Error [current]
[ 4854.880278] sd 5:0:0:0: [sdr] tag#101 Add. Sense: Unrecovered read error
[ 4854.881846] sd 5:0:0:0: [sdr] tag#101 CDB: Read(10) 28 00 00 00 2e e8 00 00 08 00
[ 4854.883691] print_req_error: critical medium error, dev sdr, sector 12008 flags 4000
[ 4854.893927] sd 5:0:0:0: [sdr] tag#166 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 4854.896002] sd 5:0:0:0: [sdr] tag#166 Sense Key : Medium Error [current]
[ 4854.897561] sd 5:0:0:0: [sdr] tag#166 Add. Sense: Unrecovered read error
[ 4854.899110] sd 5:0:0:0: [sdr] tag#166 CDB: Read(10) 28 00 00 00 2e e0 00 00 10 00
[ 4854.900989] print_req_error: critical medium error, dev sdr, sector 12000 flags 0
[ 4854.902757] md/raid:md127: read error NOT corrected!! (sector 9952 on sdr1).
[ 4854.904375] md/raid:md127: read error NOT corrected!! (sector 9960 on sdr1).
[ 4854.906201] ------------[ cut here ]------------
[ 4854.907341] kernel BUG at drivers/md/raid5.c:4190!

raid5.c:4190 above is this BUG_ON:

    handle_parity_checks6()
        ...
        BUG_ON(s->uptodate < disks - 1); /* We don't need Q to recover */

Cc: <stable@vger.kernel.org> # v3.16+
OriginalAuthor: David Jeffery <djeffery@redhat.com>
Cc: Xiao Ni <xni@redhat.com>
Tested-by: David Jeffery <djeffery@redhat.com>
Signed-off-by: David Jeffy <djeffery@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/md/raid5.c |   19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -3914,26 +3914,15 @@ static void handle_parity_checks6(struct
 	case check_state_check_result:
 		sh->check_state = check_state_idle;
 
+		if (s->failed > 1)
+			break;
 		/* handle a successful check operation, if parity is correct
 		 * we are done.  Otherwise update the mismatch count and repair
 		 * parity if !MD_RECOVERY_CHECK
 		 */
 		if (sh->ops.zero_sum_result == 0) {
-			/* both parities are correct */
-			if (!s->failed)
-				set_bit(STRIPE_INSYNC, &sh->state);
-			else {
-				/* in contrast to the raid5 case we can validate
-				 * parity, but still have a failure to write
-				 * back
-				 */
-				sh->check_state = check_state_compute_result;
-				/* Returning at this point means that we may go
-				 * off and bring p and/or q uptodate again so
-				 * we make sure to check zero_sum_result again
-				 * to verify if p or q need writeback
-				 */
-			}
+			/* Any parity checked was correct */
+			set_bit(STRIPE_INSYNC, &sh->state);
 		} else {
 			atomic64_add(STRIPE_SECTORS, &conf->mddev->resync_mismatches);
 			if (test_bit(MD_RECOVERY_CHECK, &conf->mddev->recovery))



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 34/51] Revert "x86/vdso: Drop implicit common-page-size linker flag"
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (32 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 33/51] Dont jump to compute_result state from check_result state Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 35/51] Revert "x86: vdso: Use $LD instead of $CC to link" Greg Kroah-Hartman
                   ` (22 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Sasha Levin

This reverts commit 408d67a0fecf4cfe7869f518211ae278ee44376e.

The commit message in the 4.9 stable tree did not have a reference to
the upstream commit id.

Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/entry/vdso/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile
index 0d3ebdfa07396..cec8cb28eabae 100644
--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -48,7 +48,7 @@ targets += $(vdso_img_sodbg)
 export CPPFLAGS_vdso.lds += -P -C
 
 VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 -soname linux-vdso.so.1 --no-undefined \
-			-z max-page-size=4096
+			-z max-page-size=4096 -z common-page-size=4096
 
 $(obj)/vdso64.so.dbg: $(src)/vdso.lds $(vobjs) FORCE
 	$(call if_changed,vdso)
@@ -95,7 +95,7 @@ CFLAGS_REMOVE_vvar.o = -pg
 
 CPPFLAGS_vdsox32.lds = $(CPPFLAGS_vdso.lds)
 VDSO_LDFLAGS_vdsox32.lds = -m elf32_x86_64 -soname linux-vdso.so.1 \
-			   -z max-page-size=4096
+			   -z max-page-size=4096 -z common-page-size=4096
 
 # 64-bit objects to re-brand as x32
 vobjs64-for-x32 := $(filter-out $(vobjs-nox32),$(vobjs-y))
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 35/51] Revert "x86: vdso: Use $LD instead of $CC to link"
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (33 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 34/51] Revert "x86/vdso: Drop implicit common-page-size linker flag" Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 36/51] x86: vdso: Use $LD instead of $CC to link Greg Kroah-Hartman
                   ` (21 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Sasha Levin

This reverts commit 94c0c4f033eee2304a98cf30a141f9dae35d3a62.

The commit message in the 4.9 stable tree did not have a reference to
the upstream commit id.

Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/entry/vdso/Makefile | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile
index 2ae92c6b1de6d..d5409660f5de6 100644
--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -47,8 +47,10 @@ targets += $(vdso_img_sodbg)
 
 export CPPFLAGS_vdso.lds += -P -C
 
-VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 -soname linux-vdso.so.1 --no-undefined \
-			-z max-page-size=4096 -z common-page-size=4096
+VDSO_LDFLAGS_vdso.lds = -m64 -Wl,-soname=linux-vdso.so.1 \
+			-Wl,--no-undefined \
+			-Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 \
+			$(DISABLE_LTO)
 
 $(obj)/vdso64.so.dbg: $(src)/vdso.lds $(vobjs) FORCE
 	$(call if_changed,vdso)
@@ -94,8 +96,10 @@ CFLAGS_REMOVE_vvar.o = -pg
 #
 
 CPPFLAGS_vdsox32.lds = $(CPPFLAGS_vdso.lds)
-VDSO_LDFLAGS_vdsox32.lds = -m elf32_x86_64 -soname linux-vdso.so.1 \
-			   -z max-page-size=4096 -z common-page-size=4096
+VDSO_LDFLAGS_vdsox32.lds = -Wl,-m,elf32_x86_64 \
+			   -Wl,-soname=linux-vdso.so.1 \
+			   -Wl,-z,max-page-size=4096 \
+			   -Wl,-z,common-page-size=4096
 
 # 64-bit objects to re-brand as x32
 vobjs64-for-x32 := $(filter-out $(vobjs-nox32),$(vobjs-y))
@@ -123,7 +127,7 @@ $(obj)/vdsox32.so.dbg: $(src)/vdsox32.lds $(vobjx32s) FORCE
 	$(call if_changed,vdso)
 
 CPPFLAGS_vdso32.lds = $(CPPFLAGS_vdso.lds)
-VDSO_LDFLAGS_vdso32.lds = -m elf_i386 -soname linux-gate.so.1
+VDSO_LDFLAGS_vdso32.lds = -m32 -Wl,-m,elf_i386 -Wl,-soname=linux-gate.so.1
 
 # This makes sure the $(obj) subdirectory exists even though vdso32/
 # is not a kbuild sub-make subdirectory.
@@ -161,13 +165,13 @@ $(obj)/vdso32.so.dbg: FORCE \
 # The DSO images are built using a special linker script.
 #
 quiet_cmd_vdso = VDSO    $@
-      cmd_vdso = $(LD) -nostdlib -o $@ \
+      cmd_vdso = $(CC) -nostdlib -o $@ \
 		       $(VDSO_LDFLAGS) $(VDSO_LDFLAGS_$(filter %.lds,$(^F))) \
-		       -T $(filter %.lds,$^) $(filter %.o,$^) && \
+		       -Wl,-T,$(filter %.lds,$^) $(filter %.o,$^) && \
 		 sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'
 
-VDSO_LDFLAGS = -shared $(call ld-option, --hash-style=both) \
-	$(call ld-option, --build-id) -Bsymbolic
+VDSO_LDFLAGS = -fPIC -shared $(call cc-ldoption, -Wl$(comma)--hash-style=both) \
+	$(call cc-ldoption, -Wl$(comma)--build-id) -Wl,-Bsymbolic $(LTO_CFLAGS)
 GCOV_PROFILE := n
 
 #
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 36/51] x86: vdso: Use $LD instead of $CC to link
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (34 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 35/51] Revert "x86: vdso: Use $LD instead of $CC to link" Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 37/51] x86/vdso: Drop implicit common-page-size linker flag Greg Kroah-Hartman
                   ` (20 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Alistair Strachan, Thomas Gleixner,
	Andy Lutomirski, H. Peter Anvin, kernel-team, joel, Andi Kleen,
	Nathan Chancellor, Sasha Levin

commit 379d98ddf41344273d9718556f761420f4dc80b3 upstream.

The vdso{32,64}.so can fail to link with CC=clang when clang tries to find
a suitable GCC toolchain to link these libraries with.

/usr/bin/ld: arch/x86/entry/vdso/vclock_gettime.o:
  access beyond end of merged section (782)

This happens because the host environment leaked into the cross compiler
environment due to the way clang searches for suitable GCC toolchains.

Clang is a retargetable compiler, and each invocation of it must provide
--target=<something> --gcc-toolchain=<something> to allow it to find the
correct binutils for cross compilation. These flags had been added to
KBUILD_CFLAGS, but the vdso code uses CC and not KBUILD_CFLAGS (for various
reasons) which breaks clang's ability to find the correct linker when cross
compiling.

Most of the time this goes unnoticed because the host linker is new enough
to work anyway, or is incompatible and skipped, but this cannot be reliably
assumed.

This change alters the vdso makefile to just use LD directly, which
bypasses clang and thus the searching problem. The makefile will just use
${CROSS_COMPILE}ld instead, which is always what we want. This matches the
method used to link vmlinux.

This drops references to DISABLE_LTO; this option doesn't seem to be set
anywhere, and not knowing what its possible values are, it's not clear how
to convert it from CC to LD flag.

Signed-off-by: Alistair Strachan <astrachan@google.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Andy Lutomirski <luto@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: kernel-team@android.com
Cc: joel@joelfernandes.org
Cc: Andi Kleen <andi.kleen@intel.com>
Link: https://lkml.kernel.org/r/20180803173931.117515-1-astrachan@google.com
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/entry/vdso/Makefile | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile
index d5409660f5de6..2ae92c6b1de6d 100644
--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -47,10 +47,8 @@ targets += $(vdso_img_sodbg)
 
 export CPPFLAGS_vdso.lds += -P -C
 
-VDSO_LDFLAGS_vdso.lds = -m64 -Wl,-soname=linux-vdso.so.1 \
-			-Wl,--no-undefined \
-			-Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 \
-			$(DISABLE_LTO)
+VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 -soname linux-vdso.so.1 --no-undefined \
+			-z max-page-size=4096 -z common-page-size=4096
 
 $(obj)/vdso64.so.dbg: $(src)/vdso.lds $(vobjs) FORCE
 	$(call if_changed,vdso)
@@ -96,10 +94,8 @@ CFLAGS_REMOVE_vvar.o = -pg
 #
 
 CPPFLAGS_vdsox32.lds = $(CPPFLAGS_vdso.lds)
-VDSO_LDFLAGS_vdsox32.lds = -Wl,-m,elf32_x86_64 \
-			   -Wl,-soname=linux-vdso.so.1 \
-			   -Wl,-z,max-page-size=4096 \
-			   -Wl,-z,common-page-size=4096
+VDSO_LDFLAGS_vdsox32.lds = -m elf32_x86_64 -soname linux-vdso.so.1 \
+			   -z max-page-size=4096 -z common-page-size=4096
 
 # 64-bit objects to re-brand as x32
 vobjs64-for-x32 := $(filter-out $(vobjs-nox32),$(vobjs-y))
@@ -127,7 +123,7 @@ $(obj)/vdsox32.so.dbg: $(src)/vdsox32.lds $(vobjx32s) FORCE
 	$(call if_changed,vdso)
 
 CPPFLAGS_vdso32.lds = $(CPPFLAGS_vdso.lds)
-VDSO_LDFLAGS_vdso32.lds = -m32 -Wl,-m,elf_i386 -Wl,-soname=linux-gate.so.1
+VDSO_LDFLAGS_vdso32.lds = -m elf_i386 -soname linux-gate.so.1
 
 # This makes sure the $(obj) subdirectory exists even though vdso32/
 # is not a kbuild sub-make subdirectory.
@@ -165,13 +161,13 @@ $(obj)/vdso32.so.dbg: FORCE \
 # The DSO images are built using a special linker script.
 #
 quiet_cmd_vdso = VDSO    $@
-      cmd_vdso = $(CC) -nostdlib -o $@ \
+      cmd_vdso = $(LD) -nostdlib -o $@ \
 		       $(VDSO_LDFLAGS) $(VDSO_LDFLAGS_$(filter %.lds,$(^F))) \
-		       -Wl,-T,$(filter %.lds,$^) $(filter %.o,$^) && \
+		       -T $(filter %.lds,$^) $(filter %.o,$^) && \
 		 sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'
 
-VDSO_LDFLAGS = -fPIC -shared $(call cc-ldoption, -Wl$(comma)--hash-style=both) \
-	$(call cc-ldoption, -Wl$(comma)--build-id) -Wl,-Bsymbolic $(LTO_CFLAGS)
+VDSO_LDFLAGS = -shared $(call ld-option, --hash-style=both) \
+	$(call ld-option, --build-id) -Bsymbolic
 GCOV_PROFILE := n
 
 #
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 37/51] x86/vdso: Drop implicit common-page-size linker flag
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (35 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 36/51] x86: vdso: Use $LD instead of $CC to link Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 38/51] x86/vdso: Pass --eh-frame-hdr to the linker Greg Kroah-Hartman
                   ` (19 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Dmitry Golovin, Bill Wendling,
	Rui Ueyama, Nick Desaulniers, Borislav Petkov, Andy Lutomirski,
	Andi Kleen, Fangrui Song, H. Peter Anvin, Ingo Molnar,
	Thomas Gleixner, x86-ml, Nathan Chancellor, Sasha Levin

commit ac3e233d29f7f77f28243af0132057d378d3ea58 upstream.

GNU linker's -z common-page-size's default value is based on the target
architecture. arch/x86/entry/vdso/Makefile sets it to the architecture
default, which is implicit and redundant. Drop it.

Fixes: 2aae950b21e4 ("x86_64: Add vDSO for x86-64 with gettimeofday/clock_gettime/getcpu")
Reported-by: Dmitry Golovin <dima@golovin.in>
Reported-by: Bill Wendling <morbo@google.com>
Suggested-by: Dmitry Golovin <dima@golovin.in>
Suggested-by: Rui Ueyama <ruiu@google.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Andy Lutomirski <luto@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Fangrui Song <maskray@google.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: x86-ml <x86@kernel.org>
Link: https://lkml.kernel.org/r/20181206191231.192355-1-ndesaulniers@google.com
Link: https://bugs.llvm.org/show_bug.cgi?id=38774
Link: https://github.com/ClangBuiltLinux/linux/issues/31
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/entry/vdso/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile
index 2ae92c6b1de6d..756dc9432d152 100644
--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -48,7 +48,7 @@ targets += $(vdso_img_sodbg)
 export CPPFLAGS_vdso.lds += -P -C
 
 VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 -soname linux-vdso.so.1 --no-undefined \
-			-z max-page-size=4096 -z common-page-size=4096
+			-z max-page-size=4096
 
 $(obj)/vdso64.so.dbg: $(src)/vdso.lds $(vobjs) FORCE
 	$(call if_changed,vdso)
@@ -95,7 +95,7 @@ CFLAGS_REMOVE_vvar.o = -pg
 
 CPPFLAGS_vdsox32.lds = $(CPPFLAGS_vdso.lds)
 VDSO_LDFLAGS_vdsox32.lds = -m elf32_x86_64 -soname linux-vdso.so.1 \
-			   -z max-page-size=4096 -z common-page-size=4096
+			   -z max-page-size=4096
 
 # 64-bit objects to re-brand as x32
 vobjs64-for-x32 := $(filter-out $(vobjs-nox32),$(vobjs-y))
-- 
2.20.1




^ permalink raw reply related	[flat|nested] 66+ messages in thread

* [PATCH 4.9 38/51] x86/vdso: Pass --eh-frame-hdr to the linker
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (36 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 37/51] x86/vdso: Drop implicit common-page-size linker flag Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 39/51] powerpc/64s: Include cpu header Greg Kroah-Hartman
                   ` (18 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Florian Weimer, Carlos ODonell,
	H. J. Lu, Alistair Strachan, Borislav Petkov, Laura Abbott,
	Andy Lutomirski, H. Peter Anvin, Ingo Molnar, Joel Fernandes,
	kernel-team, Thomas Gleixner, X86 ML, Nobuhiro Iwamatsu

From: Alistair Strachan <astrachan@google.com>

commit cd01544a268ad8ee5b1dfe42c4393f1095f86879 upstream.

Commit

  379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")

accidentally broke unwinding from userspace, because ld would strip the
.eh_frame sections when linking.

Originally, the compiler would implicitly add --eh-frame-hdr when
invoking the linker, but when this Makefile was converted from invoking
ld via the compiler, to invoking it directly (like vmlinux does),
the flag was missed. (The EH_FRAME section is important for the VDSO
shared libraries, but not for vmlinux.)

Fix the problem by explicitly specifying --eh-frame-hdr, which restores
parity with the old method.

See relevant bug reports for additional info:

  https://bugzilla.kernel.org/show_bug.cgi?id=201741
  https://bugzilla.redhat.com/show_bug.cgi?id=1659295

Fixes: 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")
Reported-by: Florian Weimer <fweimer@redhat.com>
Reported-by: Carlos O'Donell <carlos@redhat.com>
Reported-by: "H. J. Lu" <hjl.tools@gmail.com>
Signed-off-by: Alistair Strachan <astrachan@google.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Tested-by: Laura Abbott <labbott@redhat.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Carlos O'Donell <carlos@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Joel Fernandes <joel@joelfernandes.org>
Cc: kernel-team@android.com
Cc: Laura Abbott <labbott@redhat.com>
Cc: stable <stable@vger.kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: X86 ML <x86@kernel.org>
Link: https://lkml.kernel.org/r/20181214223637.35954-1-astrachan@google.com
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/x86/entry/vdso/Makefile |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -167,7 +167,8 @@ quiet_cmd_vdso = VDSO    $@
 		 sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'
 
 VDSO_LDFLAGS = -shared $(call ld-option, --hash-style=both) \
-	$(call ld-option, --build-id) -Bsymbolic
+	$(call ld-option, --build-id) $(call ld-option, --eh-frame-hdr) \
+	-Bsymbolic
 GCOV_PROFILE := n
 
 #



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 39/51] powerpc/64s: Include cpu header
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (37 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 38/51] x86/vdso: Pass --eh-frame-hdr to the linker Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 40/51] bridge: Fix error path for kobject_init_and_add() Greg Kroah-Hartman
                   ` (17 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Breno Leitao, Michael Ellerman,
	Joel Stanley, Nathan Chancellor, Major Hayden

From: Breno Leitao <leitao@debian.org>

commit 42e2acde1237878462b028f5a27d9cc5bea7502c upstream.

Current powerpc security.c file is defining functions, as
cpu_show_meltdown(), cpu_show_spectre_v{1,2} and others, that are being
declared at linux/cpu.h header without including the header file that
contains these declarations.

This is being reported by sparse, which thinks that these functions are
static, due to the lack of declaration:

	arch/powerpc/kernel/security.c:105:9: warning: symbol 'cpu_show_meltdown' was not declared. Should it be static?
	arch/powerpc/kernel/security.c:139:9: warning: symbol 'cpu_show_spectre_v1' was not declared. Should it be static?
	arch/powerpc/kernel/security.c:161:9: warning: symbol 'cpu_show_spectre_v2' was not declared. Should it be static?
	arch/powerpc/kernel/security.c:209:6: warning: symbol 'stf_barrier' was not declared. Should it be static?
	arch/powerpc/kernel/security.c:289:9: warning: symbol 'cpu_show_spec_store_bypass' was not declared. Should it be static?

This patch simply includes the proper header (linux/cpu.h) to match
function definition and declaration.

Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Cc: Joel Stanley <joel@jms.id.au>
Cc: Nathan Chancellor <natechancellor@gmail.com>
Cc: Major Hayden <major@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/powerpc/kernel/security.c |    1 +
 1 file changed, 1 insertion(+)

--- a/arch/powerpc/kernel/security.c
+++ b/arch/powerpc/kernel/security.c
@@ -4,6 +4,7 @@
 //
 // Copyright 2018, Michael Ellerman, IBM Corporation.
 
+#include <linux/cpu.h>
 #include <linux/kernel.h>
 #include <linux/debugfs.h>
 #include <linux/device.h>



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 40/51] bridge: Fix error path for kobject_init_and_add()
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (38 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 39/51] powerpc/64s: Include cpu header Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 41/51] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied Greg Kroah-Hartman
                   ` (16 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Tobin C. Harding, David S. Miller

From: "Tobin C. Harding" <tobin@kernel.org>

[ Upstream commit bdfad5aec1392b93495b77b864d58d7f101dc1c1 ]

Currently error return from kobject_init_and_add() is not followed by a
call to kobject_put().  This means there is a memory leak.  We currently
set p to NULL so that kfree() may be called on it as a noop, the code is
arguably clearer if we move the kfree() up closer to where it is
called (instead of after goto jump).

Remove a goto label 'err1' and jump to call to kobject_put() in error
return from kobject_init_and_add() fixing the memory leak.  Re-name goto
label 'put_back' to 'err1' now that we don't use err1, following current
nomenclature (err1, err2 ...).  Move call to kfree out of the error
code at bottom of function up to closer to where memory was allocated.
Add comment to clarify call to kfree().

Signed-off-by: Tobin C. Harding <tobin@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/bridge/br_if.c |   13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

--- a/net/bridge/br_if.c
+++ b/net/bridge/br_if.c
@@ -519,13 +519,15 @@ int br_add_if(struct net_bridge *br, str
 	call_netdevice_notifiers(NETDEV_JOIN, dev);
 
 	err = dev_set_allmulti(dev, 1);
-	if (err)
-		goto put_back;
+	if (err) {
+		kfree(p);	/* kobject not yet init'd, manually free */
+		goto err1;
+	}
 
 	err = kobject_init_and_add(&p->kobj, &brport_ktype, &(dev->dev.kobj),
 				   SYSFS_BRIDGE_PORT_ATTR);
 	if (err)
-		goto err1;
+		goto err2;
 
 	err = br_sysfs_addif(p);
 	if (err)
@@ -608,12 +610,9 @@ err3:
 	sysfs_remove_link(br->ifobj, p->dev->name);
 err2:
 	kobject_put(&p->kobj);
-	p = NULL; /* kobject_put frees */
-err1:
 	dev_set_allmulti(dev, -1);
-put_back:
+err1:
 	dev_put(dev);
-	kfree(p);
 	return err;
 }
 



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 41/51] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (39 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 40/51] bridge: Fix error path for kobject_init_and_add() Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-19 15:43   ` Nathan Chancellor
  2019-05-15 10:56 ` [PATCH 4.9 42/51] net: ucc_geth - fix Oops when changing number of buffers in the ring Greg Kroah-Hartman
                   ` (15 subsequent siblings)
  56 siblings, 1 reply; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Thomas Haller, Hangbin Liu, David S. Miller

From: Hangbin Liu <liuhangbin@gmail.com>

[ Upstream commit e9919a24d3022f72bcadc407e73a6ef17093a849 ]

With commit 153380ec4b9 ("fib_rules: Added NLM_F_EXCL support to
fib_nl_newrule") we now able to check if a rule already exists. But this
only works with iproute2. For other tools like libnl, NetworkManager,
it still could add duplicate rules with only NLM_F_CREATE flag, like

[localhost ~ ]# ip rule
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default
100000: from 192.168.7.5 lookup 5
100000: from 192.168.7.5 lookup 5

As it doesn't make sense to create two duplicate rules, let's just return
0 if the rule exists.

Fixes: 153380ec4b9 ("fib_rules: Added NLM_F_EXCL support to fib_nl_newrule")
Reported-by: Thomas Haller <thaller@redhat.com>
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/core/fib_rules.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/net/core/fib_rules.c
+++ b/net/core/fib_rules.c
@@ -429,9 +429,9 @@ int fib_nl_newrule(struct sk_buff *skb,
 	if (rule->l3mdev && rule->table)
 		goto errout_free;
 
-	if ((nlh->nlmsg_flags & NLM_F_EXCL) &&
-	    rule_exists(ops, frh, tb, rule)) {
-		err = -EEXIST;
+	if (rule_exists(ops, frh, tb, rule)) {
+		if (nlh->nlmsg_flags & NLM_F_EXCL)
+			err = -EEXIST;
 		goto errout_free;
 	}
 



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 42/51] net: ucc_geth - fix Oops when changing number of buffers in the ring
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (40 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 41/51] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 43/51] packet: Fix error path in packet_init Greg Kroah-Hartman
                   ` (14 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Christophe Leroy, David S. Miller

From: Christophe Leroy <christophe.leroy@c-s.fr>

[ Upstream commit ee0df19305d9fabd9479b785918966f6e25b733b ]

When changing the number of buffers in the RX ring while the interface
is running, the following Oops is encountered due to the new number
of buffers being taken into account immediately while their allocation
is done when opening the device only.

[   69.882706] Unable to handle kernel paging request for data at address 0xf0000100
[   69.890172] Faulting instruction address: 0xc033e164
[   69.895122] Oops: Kernel access of bad area, sig: 11 [#1]
[   69.900494] BE PREEMPT CMPCPRO
[   69.907120] CPU: 0 PID: 0 Comm: swapper Not tainted 4.14.115-00006-g179ade8ce3-dirty #269
[   69.915956] task: c0684310 task.stack: c06da000
[   69.920470] NIP:  c033e164 LR: c02e44d0 CTR: c02e41fc
[   69.925504] REGS: dfff1e20 TRAP: 0300   Not tainted  (4.14.115-00006-g179ade8ce3-dirty)
[   69.934161] MSR:  00009032 <EE,ME,IR,DR,RI>  CR: 22004428  XER: 20000000
[   69.940869] DAR: f0000100 DSISR: 20000000
[   69.940869] GPR00: c0352d70 dfff1ed0 c0684310 f00000a4 00000040 dfff1f68 00000000 0000001f
[   69.940869] GPR08: df53f410 1cc00040 00000021 c0781640 42004424 100c82b6 f00000a4 df53f5b0
[   69.940869] GPR16: df53f6c0 c05daf84 00000040 00000000 00000040 c0782be4 00000000 00000001
[   69.940869] GPR24: 00000000 df53f400 000001b0 df53f410 df53f000 0000003f df708220 1cc00044
[   69.978348] NIP [c033e164] skb_put+0x0/0x5c
[   69.982528] LR [c02e44d0] ucc_geth_poll+0x2d4/0x3f8
[   69.987384] Call Trace:
[   69.989830] [dfff1ed0] [c02e4554] ucc_geth_poll+0x358/0x3f8 (unreliable)
[   69.996522] [dfff1f20] [c0352d70] net_rx_action+0x248/0x30c
[   70.002099] [dfff1f80] [c04e93e4] __do_softirq+0xfc/0x310
[   70.007492] [dfff1fe0] [c0021124] irq_exit+0xd0/0xd4
[   70.012458] [dfff1ff0] [c000e7e0] call_do_irq+0x24/0x3c
[   70.017683] [c06dbe80] [c0006bac] do_IRQ+0x64/0xc4
[   70.022474] [c06dbea0] [c001097c] ret_from_except+0x0/0x14
[   70.027964] --- interrupt: 501 at rcu_idle_exit+0x84/0x90
[   70.027964]     LR = rcu_idle_exit+0x74/0x90
[   70.037585] [c06dbf60] [20000000] 0x20000000 (unreliable)
[   70.042984] [c06dbf80] [c004bb0c] do_idle+0xb4/0x11c
[   70.047945] [c06dbfa0] [c004bd14] cpu_startup_entry+0x18/0x1c
[   70.053682] [c06dbfb0] [c05fb034] start_kernel+0x370/0x384
[   70.059153] [c06dbff0] [00003438] 0x3438
[   70.063062] Instruction dump:
[   70.066023] 38a00000 38800000 90010014 4bfff015 80010014 7c0803a6 3123ffff 7c691910
[   70.073767] 38210010 4e800020 38600000 4e800020 <80e3005c> 80c30098 3107ffff 7d083910
[   70.081690] ---[ end trace be7ccd9c1e1a9f12 ]---

This patch forbids the modification of the number of buffers in the
ring while the interface is running.

Fixes: ac421852b3a0 ("ucc_geth: add ethtool support")
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/net/ethernet/freescale/ucc_geth_ethtool.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

--- a/drivers/net/ethernet/freescale/ucc_geth_ethtool.c
+++ b/drivers/net/ethernet/freescale/ucc_geth_ethtool.c
@@ -250,14 +250,12 @@ uec_set_ringparam(struct net_device *net
 		return -EINVAL;
 	}
 
+	if (netif_running(netdev))
+		return -EBUSY;
+
 	ug_info->bdRingLenRx[queue] = ring->rx_pending;
 	ug_info->bdRingLenTx[queue] = ring->tx_pending;
 
-	if (netif_running(netdev)) {
-		/* FIXME: restart automatically */
-		netdev_info(netdev, "Please re-open the interface\n");
-	}
-
 	return ret;
 }
 



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 43/51] packet: Fix error path in packet_init
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (41 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 42/51] net: ucc_geth - fix Oops when changing number of buffers in the ring Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 44/51] vlan: disable SIOCSHWTSTAMP in container Greg Kroah-Hartman
                   ` (13 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Hulk Robot, YueHaibing, David S. Miller

From: YueHaibing <yuehaibing@huawei.com>

[ Upstream commit 36096f2f4fa05f7678bc87397665491700bae757 ]

kernel BUG at lib/list_debug.c:47!
invalid opcode: 0000 [#1
CPU: 0 PID: 12914 Comm: rmmod Tainted: G        W         5.1.0+ #47
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.3-0-ge2fc41e-prebuilt.qemu-project.org 04/01/2014
RIP: 0010:__list_del_entry_valid+0x53/0x90
Code: 48 8b 32 48 39 fe 75 35 48 8b 50 08 48 39 f2 75 40 b8 01 00 00 00 5d c3 48
89 fe 48 89 c2 48 c7 c7 18 75 fe 82 e8 cb 34 78 ff <0f> 0b 48 89 fe 48 c7 c7 50 75 fe 82 e8 ba 34 78 ff 0f 0b 48 89 f2
RSP: 0018:ffffc90001c2fe40 EFLAGS: 00010286
RAX: 000000000000004e RBX: ffffffffa0184000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffff888237a17788 RDI: 00000000ffffffff
RBP: ffffc90001c2fe40 R08: 0000000000000000 R09: 0000000000000000
R10: ffffc90001c2fe10 R11: 0000000000000000 R12: 0000000000000000
R13: ffffc90001c2fe50 R14: ffffffffa0184000 R15: 0000000000000000
FS:  00007f3d83634540(0000) GS:ffff888237a00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555c350ea818 CR3: 0000000231677000 CR4: 00000000000006f0
Call Trace:
 unregister_pernet_operations+0x34/0x120
 unregister_pernet_subsys+0x1c/0x30
 packet_exit+0x1c/0x369 [af_packet
 __x64_sys_delete_module+0x156/0x260
 ? lockdep_hardirqs_on+0x133/0x1b0
 ? do_syscall_64+0x12/0x1f0
 do_syscall_64+0x6e/0x1f0
 entry_SYSCALL_64_after_hwframe+0x49/0xbe

When modprobe af_packet, register_pernet_subsys
fails and does a cleanup, ops->list is set to LIST_POISON1,
but the module init is considered to success, then while rmmod it,
BUG() is triggered in __list_del_entry_valid which is called from
unregister_pernet_subsys. This patch fix error handing path in
packet_init to avoid possilbe issue if some error occur.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/packet/af_packet.c |   25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -4624,14 +4624,29 @@ static void __exit packet_exit(void)
 
 static int __init packet_init(void)
 {
-	int rc = proto_register(&packet_proto, 0);
+	int rc;
 
-	if (rc != 0)
+	rc = proto_register(&packet_proto, 0);
+	if (rc)
 		goto out;
+	rc = sock_register(&packet_family_ops);
+	if (rc)
+		goto out_proto;
+	rc = register_pernet_subsys(&packet_net_ops);
+	if (rc)
+		goto out_sock;
+	rc = register_netdevice_notifier(&packet_netdev_notifier);
+	if (rc)
+		goto out_pernet;
 
-	sock_register(&packet_family_ops);
-	register_pernet_subsys(&packet_net_ops);
-	register_netdevice_notifier(&packet_netdev_notifier);
+	return 0;
+
+out_pernet:
+	unregister_pernet_subsys(&packet_net_ops);
+out_sock:
+	sock_unregister(PF_PACKET);
+out_proto:
+	proto_unregister(&packet_proto);
 out:
 	return rc;
 }



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 44/51] vlan: disable SIOCSHWTSTAMP in container
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (42 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 43/51] packet: Fix error path in packet_init Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 45/51] vrf: sit mtu should not be updated when vrf netdev is the link Greg Kroah-Hartman
                   ` (12 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Hangbin Liu, Richard Cochran,
	David S. Miller

From: Hangbin Liu <liuhangbin@gmail.com>

[ Upstream commit 873017af778439f2f8e3d87f28ddb1fcaf244a76 ]

With NET_ADMIN enabled in container, a normal user could be mapped to
root and is able to change the real device's rx filter via ioctl on
vlan, which would affect the other ptp process on host. Fix it by
disabling SIOCSHWTSTAMP in container.

Fixes: a6111d3c93d0 ("vlan: Pass SIOC[SG]HWTSTAMP ioctls to real device")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/8021q/vlan_dev.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -366,10 +366,12 @@ static int vlan_dev_ioctl(struct net_dev
 	ifrr.ifr_ifru = ifr->ifr_ifru;
 
 	switch (cmd) {
+	case SIOCSHWTSTAMP:
+		if (!net_eq(dev_net(dev), &init_net))
+			break;
 	case SIOCGMIIPHY:
 	case SIOCGMIIREG:
 	case SIOCSMIIREG:
-	case SIOCSHWTSTAMP:
 	case SIOCGHWTSTAMP:
 		if (netif_device_present(real_dev) && ops->ndo_do_ioctl)
 			err = ops->ndo_do_ioctl(real_dev, &ifrr, cmd);



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 45/51] vrf: sit mtu should not be updated when vrf netdev is the link
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (43 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 44/51] vlan: disable SIOCSHWTSTAMP in container Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 46/51] ipv4: Fix raw socket lookup for local traffic Greg Kroah-Hartman
                   ` (11 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Stephen Suryaputra, David Ahern,
	David S. Miller

From: Stephen Suryaputra <ssuryaextr@gmail.com>

[ Upstream commit ff6ab32bd4e073976e4d8797b4d514a172cfe6cb ]

VRF netdev mtu isn't typically set and have an mtu of 65536. When the
link of a tunnel is set, the tunnel mtu is changed from 1480 to the link
mtu minus tunnel header. In the case of VRF netdev is the link, then the
tunnel mtu becomes 65516. So, fix it by not setting the tunnel mtu in
this case.

Signed-off-by: Stephen Suryaputra <ssuryaextr@gmail.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/ipv6/sit.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/net/ipv6/sit.c
+++ b/net/ipv6/sit.c
@@ -1069,7 +1069,7 @@ static void ipip6_tunnel_bind_dev(struct
 	if (!tdev && tunnel->parms.link)
 		tdev = __dev_get_by_index(tunnel->net, tunnel->parms.link);
 
-	if (tdev) {
+	if (tdev && !netif_is_l3_master(tdev)) {
 		int t_hlen = tunnel->hlen + sizeof(struct iphdr);
 
 		dev->hard_header_len = tdev->hard_header_len + sizeof(struct iphdr);



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 46/51] ipv4: Fix raw socket lookup for local traffic
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (44 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 45/51] vrf: sit mtu should not be updated when vrf netdev is the link Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 47/51] bonding: fix arp_validate toggling in active-backup mode Greg Kroah-Hartman
                   ` (10 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, David Ahern, David S. Miller

From: David Ahern <dsahern@gmail.com>

[ Upstream commit 19e4e768064a87b073a4b4c138b55db70e0cfb9f ]

inet_iif should be used for the raw socket lookup. inet_iif considers
rt_iif which handles the case of local traffic.

As it stands, ping to a local address with the '-I <dev>' option fails
ever since ping was changed to use SO_BINDTODEVICE instead of
cmsg + IP_PKTINFO.

IPv6 works fine.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/ipv4/raw.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -169,6 +169,7 @@ static int icmp_filter(const struct sock
  */
 static int raw_v4_input(struct sk_buff *skb, const struct iphdr *iph, int hash)
 {
+	int dif = inet_iif(skb);
 	struct sock *sk;
 	struct hlist_head *head;
 	int delivered = 0;
@@ -181,8 +182,7 @@ static int raw_v4_input(struct sk_buff *
 
 	net = dev_net(skb->dev);
 	sk = __raw_v4_lookup(net, __sk_head(head), iph->protocol,
-			     iph->saddr, iph->daddr,
-			     skb->dev->ifindex);
+			     iph->saddr, iph->daddr, dif);
 
 	while (sk) {
 		delivered = 1;



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 47/51] bonding: fix arp_validate toggling in active-backup mode
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (45 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 46/51] ipv4: Fix raw socket lookup for local traffic Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 48/51] drivers/virt/fsl_hypervisor.c: dereferencing error pointers in ioctl Greg Kroah-Hartman
                   ` (9 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Jay Vosburgh, Veaceslav Falico,
	Andy Gospodarek, David S. Miller, netdev, Jarod Wilson,
	Jay Vosburgh

From: Jarod Wilson <jarod@redhat.com>

[ Upstream commit a9b8a2b39ce65df45687cf9ef648885c2a99fe75 ]

There's currently a problem with toggling arp_validate on and off with an
active-backup bond. At the moment, you can start up a bond, like so:

modprobe bonding mode=1 arp_interval=100 arp_validate=0 arp_ip_targets=192.168.1.1
ip link set bond0 down
echo "ens4f0" > /sys/class/net/bond0/bonding/slaves
echo "ens4f1" > /sys/class/net/bond0/bonding/slaves
ip link set bond0 up
ip addr add 192.168.1.2/24 dev bond0

Pings to 192.168.1.1 work just fine. Now turn on arp_validate:

echo 1 > /sys/class/net/bond0/bonding/arp_validate

Pings to 192.168.1.1 continue to work just fine. Now when you go to turn
arp_validate off again, the link falls flat on it's face:

echo 0 > /sys/class/net/bond0/bonding/arp_validate
dmesg
...
[133191.911987] bond0: Setting arp_validate to none (0)
[133194.257793] bond0: bond_should_notify_peers: slave ens4f0
[133194.258031] bond0: link status definitely down for interface ens4f0, disabling it
[133194.259000] bond0: making interface ens4f1 the new active one
[133197.330130] bond0: link status definitely down for interface ens4f1, disabling it
[133197.331191] bond0: now running without any active interface!

The problem lies in bond_options.c, where passing in arp_validate=0
results in bond->recv_probe getting set to NULL. This flies directly in
the face of commit 3fe68df97c7f, which says we need to set recv_probe =
bond_arp_recv, even if we're not using arp_validate. Said commit fixed
this in bond_option_arp_interval_set, but missed that we can get to that
same state in bond_option_arp_validate_set as well.

One solution would be to universally set recv_probe = bond_arp_recv here
as well, but I don't think bond_option_arp_validate_set has any business
touching recv_probe at all, and that should be left to the arp_interval
code, so we can just make things much tidier here.

Fixes: 3fe68df97c7f ("bonding: always set recv_probe to bond_arp_rcv in arp monitor")
CC: Jay Vosburgh <j.vosburgh@gmail.com>
CC: Veaceslav Falico <vfalico@gmail.com>
CC: Andy Gospodarek <andy@greyhouse.net>
CC: "David S. Miller" <davem@davemloft.net>
CC: netdev@vger.kernel.org
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Jay Vosburgh <jay.vosburgh@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/net/bonding/bond_options.c |    7 -------
 1 file changed, 7 deletions(-)

--- a/drivers/net/bonding/bond_options.c
+++ b/drivers/net/bonding/bond_options.c
@@ -1065,13 +1065,6 @@ static int bond_option_arp_validate_set(
 {
 	netdev_info(bond->dev, "Setting arp_validate to %s (%llu)\n",
 		    newval->string, newval->value);
-
-	if (bond->dev->flags & IFF_UP) {
-		if (!newval->value)
-			bond->recv_probe = NULL;
-		else if (bond->params.arp_interval)
-			bond->recv_probe = bond_arp_rcv;
-	}
 	bond->params.arp_validate = newval->value;
 
 	return 0;



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 48/51] drivers/virt/fsl_hypervisor.c: dereferencing error pointers in ioctl
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (46 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 47/51] bonding: fix arp_validate toggling in active-backup mode Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 49/51] drivers/virt/fsl_hypervisor.c: prevent integer overflow " Greg Kroah-Hartman
                   ` (8 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Dan Carpenter, Andrew Morton,
	Timur Tabi, Mihai Caraman, Kumar Gala, Linus Torvalds

From: Dan Carpenter <dan.carpenter@oracle.com>

commit c8ea3663f7a8e6996d44500ee818c9330ac4fd88 upstream.

strndup_user() returns error pointers on error, and then in the error
handling we pass the error pointers to kfree().  It will cause an Oops.

Link: http://lkml.kernel.org/r/20181218082003.GD32567@kadam
Fixes: 6db7199407ca ("drivers/virt: introduce Freescale hypervisor management driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Timur Tabi <timur@freescale.com>
Cc: Mihai Caraman <mihai.caraman@freescale.com>
Cc: Kumar Gala <galak@kernel.crashing.org>
Cc: <stable@vger.kernel.org>
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>

---
 drivers/virt/fsl_hypervisor.c |   26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

--- a/drivers/virt/fsl_hypervisor.c
+++ b/drivers/virt/fsl_hypervisor.c
@@ -334,8 +334,8 @@ static long ioctl_dtprop(struct fsl_hv_i
 	struct fsl_hv_ioctl_prop param;
 	char __user *upath, *upropname;
 	void __user *upropval;
-	char *path = NULL, *propname = NULL;
-	void *propval = NULL;
+	char *path, *propname;
+	void *propval;
 	int ret = 0;
 
 	/* Get the parameters from the user. */
@@ -347,32 +347,30 @@ static long ioctl_dtprop(struct fsl_hv_i
 	upropval = (void __user *)(uintptr_t)param.propval;
 
 	path = strndup_user(upath, FH_DTPROP_MAX_PATHLEN);
-	if (IS_ERR(path)) {
-		ret = PTR_ERR(path);
-		goto out;
-	}
+	if (IS_ERR(path))
+		return PTR_ERR(path);
 
 	propname = strndup_user(upropname, FH_DTPROP_MAX_PATHLEN);
 	if (IS_ERR(propname)) {
 		ret = PTR_ERR(propname);
-		goto out;
+		goto err_free_path;
 	}
 
 	if (param.proplen > FH_DTPROP_MAX_PROPLEN) {
 		ret = -EINVAL;
-		goto out;
+		goto err_free_propname;
 	}
 
 	propval = kmalloc(param.proplen, GFP_KERNEL);
 	if (!propval) {
 		ret = -ENOMEM;
-		goto out;
+		goto err_free_propname;
 	}
 
 	if (set) {
 		if (copy_from_user(propval, upropval, param.proplen)) {
 			ret = -EFAULT;
-			goto out;
+			goto err_free_propval;
 		}
 
 		param.ret = fh_partition_set_dtprop(param.handle,
@@ -391,7 +389,7 @@ static long ioctl_dtprop(struct fsl_hv_i
 			if (copy_to_user(upropval, propval, param.proplen) ||
 			    put_user(param.proplen, &p->proplen)) {
 				ret = -EFAULT;
-				goto out;
+				goto err_free_propval;
 			}
 		}
 	}
@@ -399,10 +397,12 @@ static long ioctl_dtprop(struct fsl_hv_i
 	if (put_user(param.ret, &p->ret))
 		ret = -EFAULT;
 
-out:
-	kfree(path);
+err_free_propval:
 	kfree(propval);
+err_free_propname:
 	kfree(propname);
+err_free_path:
+	kfree(path);
 
 	return ret;
 }



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 49/51] drivers/virt/fsl_hypervisor.c: prevent integer overflow in ioctl
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (47 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 48/51] drivers/virt/fsl_hypervisor.c: dereferencing error pointers in ioctl Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 50/51] powerpc/lib: fix book3s/32 boot failure due to code patching Greg Kroah-Hartman
                   ` (7 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Dan Carpenter, Andrew Morton,
	Timur Tabi, Mihai Caraman, Kumar Gala, Linus Torvalds

From: Dan Carpenter <dan.carpenter@oracle.com>

commit 6a024330650e24556b8a18cc654ad00cfecf6c6c upstream.

The "param.count" value is a u64 thatcomes from the user.  The code
later in the function assumes that param.count is at least one and if
it's not then it leads to an Oops when we dereference the ZERO_SIZE_PTR.

Also the addition can have an integer overflow which would lead us to
allocate a smaller "pages" array than required.  I can't immediately
tell what the possible run times implications are, but it's safest to
prevent the overflow.

Link: http://lkml.kernel.org/r/20181218082129.GE32567@kadam
Fixes: 6db7199407ca ("drivers/virt: introduce Freescale hypervisor management driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Timur Tabi <timur@freescale.com>
Cc: Mihai Caraman <mihai.caraman@freescale.com>
Cc: Kumar Gala <galak@kernel.crashing.org>
Cc: <stable@vger.kernel.org>
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>

---
 drivers/virt/fsl_hypervisor.c |    3 +++
 1 file changed, 3 insertions(+)

--- a/drivers/virt/fsl_hypervisor.c
+++ b/drivers/virt/fsl_hypervisor.c
@@ -215,6 +215,9 @@ static long ioctl_memcpy(struct fsl_hv_i
 	 * hypervisor.
 	 */
 	lb_offset = param.local_vaddr & (PAGE_SIZE - 1);
+	if (param.count == 0 ||
+	    param.count > U64_MAX - lb_offset - PAGE_SIZE + 1)
+		return -EINVAL;
 	num_pages = (param.count + lb_offset + PAGE_SIZE - 1) >> PAGE_SHIFT;
 
 	/* Allocate the buffers we need */



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 50/51] powerpc/lib: fix book3s/32 boot failure due to code patching
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (48 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 49/51] drivers/virt/fsl_hypervisor.c: prevent integer overflow " Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 10:56 ` [PATCH 4.9 51/51] powerpc/booke64: set RI in default MSR Greg Kroah-Hartman
                   ` (6 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Christophe Leroy, Michael Ellerman

From: Christophe Leroy <christophe.leroy@c-s.fr>

commit b45ba4a51cde29b2939365ef0c07ad34c8321789 upstream.

Commit 51c3c62b58b3 ("powerpc: Avoid code patching freed init
sections") accesses 'init_mem_is_free' flag too early, before the
kernel is relocated. This provokes early boot failure (before the
console is active).

As it is not necessary to do this verification that early, this
patch moves the test into patch_instruction() instead of
__patch_instruction().

This modification also has the advantage of avoiding unnecessary
remappings.

Fixes: 51c3c62b58b3 ("powerpc: Avoid code patching freed init sections")
Cc: stable@vger.kernel.org # 4.13+
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/powerpc/lib/code-patching.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/powerpc/lib/code-patching.c
+++ b/arch/powerpc/lib/code-patching.c
@@ -23,7 +23,7 @@ int patch_instruction(unsigned int *addr
 	int err;
 
 	/* Make sure we aren't patching a freed init section */
-	if (init_mem_is_free && init_section_contains(addr, 4)) {
+	if (*PTRRELOC(&init_mem_is_free) && init_section_contains(addr, 4)) {
 		pr_debug("Skipping init section patching addr: 0x%px\n", addr);
 		return 0;
 	}



^ permalink raw reply	[flat|nested] 66+ messages in thread

* [PATCH 4.9 51/51] powerpc/booke64: set RI in default MSR
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (49 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 50/51] powerpc/lib: fix book3s/32 boot failure due to code patching Greg Kroah-Hartman
@ 2019-05-15 10:56 ` Greg Kroah-Hartman
  2019-05-15 18:27 ` [PATCH 4.9 00/51] 4.9.177-stable review kernelci.org bot
                   ` (5 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-15 10:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Laurentiu Tudor, Michael Ellerman

From: Laurentiu Tudor <laurentiu.tudor@nxp.com>

commit 5266e58d6cd90ac85c187d673093ad9cb649e16d upstream.

Set RI in the default kernel's MSR so that the architected way of
detecting unrecoverable machine check interrupts has a chance to work.
This is inline with the MSR setup of the rest of booke powerpc
architectures configured here.

Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Cc: stable@vger.kernel.org
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/powerpc/include/asm/reg_booke.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/powerpc/include/asm/reg_booke.h
+++ b/arch/powerpc/include/asm/reg_booke.h
@@ -41,7 +41,7 @@
 #if defined(CONFIG_PPC_BOOK3E_64)
 #define MSR_64BIT	MSR_CM
 
-#define MSR_		(MSR_ME | MSR_CE)
+#define MSR_		(MSR_ME | MSR_RI | MSR_CE)
 #define MSR_KERNEL	(MSR_ | MSR_64BIT)
 #define MSR_USER32	(MSR_ | MSR_PR | MSR_EE)
 #define MSR_USER64	(MSR_USER32 | MSR_64BIT)



^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 00/51] 4.9.177-stable review
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (50 preceding siblings ...)
  2019-05-15 10:56 ` [PATCH 4.9 51/51] powerpc/booke64: set RI in default MSR Greg Kroah-Hartman
@ 2019-05-15 18:27 ` kernelci.org bot
  2019-05-15 19:54 ` Naresh Kamboju
                   ` (4 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: kernelci.org bot @ 2019-05-15 18:27 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: Greg Kroah-Hartman, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

stable-rc/linux-4.9.y boot: 112 boots: 0 failed, 106 passed with 3 offline, 1 untried/unknown, 2 conflicts (v4.9.176-52-g2647f24152a7)

Full Boot Summary: https://kernelci.org/boot/all/job/stable-rc/branch/linux-4.9.y/kernel/v4.9.176-52-g2647f24152a7/
Full Build Summary: https://kernelci.org/build/stable-rc/branch/linux-4.9.y/kernel/v4.9.176-52-g2647f24152a7/

Tree: stable-rc
Branch: linux-4.9.y
Git Describe: v4.9.176-52-g2647f24152a7
Git Commit: 2647f24152a78a686e9e2c8382f5b292cc31b99a
Git URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Tested: 52 unique boards, 22 SoC families, 15 builds out of 197

Boot Regressions Detected:

arm:

    omap2plus_defconfig:
        gcc-8:
          omap4-panda:
              lab-baylibre: new failure (last pass: v4.9.176-35-g6194f35e779b)

Offline Platforms:

arm:

    tegra_defconfig:
        gcc-8
            tegra20-iris-512: 1 offline lab

    multi_v7_defconfig:
        gcc-8
            stih410-b2120: 1 offline lab
            tegra20-iris-512: 1 offline lab

Conflicting Boot Failures Detected: (These likely are not failures as other labs are reporting PASS. Needs review.)

arm:
    omap2plus_defconfig:
        omap4-panda:
            lab-baylibre: FAIL (gcc-8)
            lab-baylibre-seattle: PASS (gcc-8)

    davinci_all_defconfig:
        da850-lcdk:
            lab-baylibre: PASS (gcc-8)
            lab-baylibre-seattle: FAIL (gcc-8)

---
For more info write to <info@kernelci.org>

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 00/51] 4.9.177-stable review
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (51 preceding siblings ...)
  2019-05-15 18:27 ` [PATCH 4.9 00/51] 4.9.177-stable review kernelci.org bot
@ 2019-05-15 19:54 ` Naresh Kamboju
  2019-05-16  3:34 ` Guenter Roeck
                   ` (3 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Naresh Kamboju @ 2019-05-15 19:54 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: open list, Shuah Khan, patches, lkft-triage, Ben Hutchings,
	linux- stable, Andrew Morton, Linus Torvalds, Guenter Roeck

On Wed, 15 May 2019 at 16:45, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> This is the start of the stable review cycle for the 4.9.177 release.
> There are 51 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Fri 17 May 2019 09:04:42 AM UTC.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
>         https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.177-rc1.gz
> or in the git tree and branch at:
>         git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.

Summary
------------------------------------------------------------------------

kernel: 4.9.177-rc1
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-4.9.y
git commit: 2647f24152a78a686e9e2c8382f5b292cc31b99a
git describe: v4.9.176-52-g2647f24152a7
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-4.9-oe/build/v4.9.176-52-g2647f24152a7


No regressions (compared to build v4.9.176)

No fixes (compared to build v4.9.176)


Ran 21640 total tests in the following environments and test suites.

Environments
--------------
- dragonboard-410c - arm64
- hi6220-hikey - arm64
- i386
- juno-r2 - arm64
- qemu_arm
- qemu_arm64
- qemu_i386
- qemu_x86_64
- x15 - arm
- x86_64

Test Suites
-----------
* build
* install-android-platform-tools-r2600
* kselftest
* libhugetlbfs
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-containers-tests
* ltp-cpuhotplug-tests
* ltp-cve-tests
* ltp-dio-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-nptl-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* ltp-timers-tests
* perf
* spectre-meltdown-checker-test
* v4l2-compliance
* ltp-open-posix-tests
* prep-tmp-disk
* kvm-unit-tests
* kselftest-vsyscall-mode-native
* kselftest-vsyscall-mode-none
* ssuite

-- 
Linaro LKFT
https://lkft.linaro.org

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 00/51] 4.9.177-stable review
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (52 preceding siblings ...)
  2019-05-15 19:54 ` Naresh Kamboju
@ 2019-05-16  3:34 ` Guenter Roeck
  2019-05-16 11:00   ` Jon Hunter
                   ` (2 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Guenter Roeck @ 2019-05-16  3:34 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, shuah, patches, ben.hutchings, lkft-triage, stable

On 5/15/19 3:55 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.177 release.
> There are 51 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri 17 May 2019 09:04:42 AM UTC.
> Anything received after that time might be too late.
> 

Build results:
	total: 172 pass: 172 fail: 0
Qemu test results:
	total: 320 pass: 320 fail: 0

Guenter

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 00/51] 4.9.177-stable review
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
@ 2019-05-16 11:00   ` Jon Hunter
  2019-05-15 10:55 ` [PATCH 4.9 02/51] bpf: fix struct htab_elem layout Greg Kroah-Hartman
                     ` (55 subsequent siblings)
  56 siblings, 0 replies; 66+ messages in thread
From: Jon Hunter @ 2019-05-16 11:00 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, linux, shuah, patches, ben.hutchings,
	lkft-triage, stable, linux-tegra


On 15/05/2019 11:55, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.177 release.
> There are 51 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri 17 May 2019 09:04:42 AM UTC.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.177-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h


All tests are passing for Tegra ...

Test results for stable-v4.9:
    8 builds:	8 pass, 0 fail
    16 boots:	16 pass, 0 fail
    24 tests:	24 pass, 0 fail

Linux version:	4.9.177-rc1-g2647f24
Boards tested:	tegra124-jetson-tk1, tegra20-ventana,
                tegra210-p2371-2180, tegra30-cardhu-a04

Cheers
Jon

-- 
nvpublic

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 00/51] 4.9.177-stable review
@ 2019-05-16 11:00   ` Jon Hunter
  0 siblings, 0 replies; 66+ messages in thread
From: Jon Hunter @ 2019-05-16 11:00 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, linux, shuah, patches, ben.hutchings,
	lkft-triage, stable, linux-tegra


On 15/05/2019 11:55, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.177 release.
> There are 51 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri 17 May 2019 09:04:42 AM UTC.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.177-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h


All tests are passing for Tegra ...

Test results for stable-v4.9:
    8 builds:	8 pass, 0 fail
    16 boots:	16 pass, 0 fail
    24 tests:	24 pass, 0 fail

Linux version:	4.9.177-rc1-g2647f24
Boards tested:	tegra124-jetson-tk1, tegra20-ventana,
                tegra210-p2371-2180, tegra30-cardhu-a04

Cheers
Jon

-- 
nvpublic

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 00/51] 4.9.177-stable review
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (54 preceding siblings ...)
  2019-05-16 11:00   ` Jon Hunter
@ 2019-05-16 14:09 ` shuah
  2019-05-17  6:33 ` Kelsey Skunberg
  56 siblings, 0 replies; 66+ messages in thread
From: shuah @ 2019-05-16 14:09 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, linux, patches, ben.hutchings, lkft-triage,
	stable, shuah

On 5/15/19 4:55 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.177 release.
> There are 51 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri 17 May 2019 09:04:42 AM UTC.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.177-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Compiled and booted on my test system. No dmesg regressions.

thanks,
-- Shuah

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 00/51] 4.9.177-stable review
  2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
                   ` (55 preceding siblings ...)
  2019-05-16 14:09 ` shuah
@ 2019-05-17  6:33 ` Kelsey Skunberg
  56 siblings, 0 replies; 66+ messages in thread
From: Kelsey Skunberg @ 2019-05-17  6:33 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Wed, May 15, 2019 at 12:55:35PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.177 release.
> There are 51 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri 17 May 2019 09:04:42 AM UTC.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.177-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h

Compiled and booted with no dmesg regressions on my system.

Cheers,
Kelsey


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 41/51] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied
  2019-05-15 10:56 ` [PATCH 4.9 41/51] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied Greg Kroah-Hartman
@ 2019-05-19 15:43   ` Nathan Chancellor
  2019-05-19 20:27     ` Florian Westphal
                       ` (2 more replies)
  0 siblings, 3 replies; 66+ messages in thread
From: Nathan Chancellor @ 2019-05-19 15:43 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, stable, Thomas Haller, Hangbin Liu,
	David S. Miller, netdev

[-- Attachment #1: Type: text/plain, Size: 2121 bytes --]

On Wed, May 15, 2019 at 12:56:16PM +0200, Greg Kroah-Hartman wrote:
> From: Hangbin Liu <liuhangbin@gmail.com>
> 
> [ Upstream commit e9919a24d3022f72bcadc407e73a6ef17093a849 ]
> 
> With commit 153380ec4b9 ("fib_rules: Added NLM_F_EXCL support to
> fib_nl_newrule") we now able to check if a rule already exists. But this
> only works with iproute2. For other tools like libnl, NetworkManager,
> it still could add duplicate rules with only NLM_F_CREATE flag, like
> 
> [localhost ~ ]# ip rule
> 0:      from all lookup local
> 32766:  from all lookup main
> 32767:  from all lookup default
> 100000: from 192.168.7.5 lookup 5
> 100000: from 192.168.7.5 lookup 5
> 
> As it doesn't make sense to create two duplicate rules, let's just return
> 0 if the rule exists.
> 
> Fixes: 153380ec4b9 ("fib_rules: Added NLM_F_EXCL support to fib_nl_newrule")
> Reported-by: Thomas Haller <thaller@redhat.com>
> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>  net/core/fib_rules.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> --- a/net/core/fib_rules.c
> +++ b/net/core/fib_rules.c
> @@ -429,9 +429,9 @@ int fib_nl_newrule(struct sk_buff *skb,
>  	if (rule->l3mdev && rule->table)
>  		goto errout_free;
>  
> -	if ((nlh->nlmsg_flags & NLM_F_EXCL) &&
> -	    rule_exists(ops, frh, tb, rule)) {
> -		err = -EEXIST;
> +	if (rule_exists(ops, frh, tb, rule)) {
> +		if (nlh->nlmsg_flags & NLM_F_EXCL)
> +			err = -EEXIST;
>  		goto errout_free;
>  	}
>  
> 
> 

Hi all,

This commit is causing issues on Android devices when Wi-Fi and mobile
data are both enabled. The device will do a soft reboot consistently.
So far, I've had reports on the Pixel 3 XL, OnePlus 6, Pocophone, and
Note 9 and I can reproduce on my OnePlus 6.

Sorry for taking so long to report this, I just figured out how to
reproduce it today and I didn't want to report it without that.

Attached is a full dmesg and the relevant snippet from Android's logcat.

Let me know what I can do to help debug,
Nathan

[-- Attachment #2: dmesg.log --]
[-- Type: text/plain, Size: 168270 bytes --]

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.9.177-gb7bd79d4e8f5 (nathan@archlinux-epyc) (clang version 9.0.0 (git://github.com/llvm/llvm-project 898896836dd17e093ffb9c8293193332d3d68b62)) #1 SMP PREEMPT Sat May 18 12:24:16 MST 2019
[    0.000000] Boot CPU: AArch64 Processor [517f803c]
[    0.000000] Machine: Qualcomm Technologies, Inc. SDM845 v2.1 MTP PVT
[    0.000000] Reserved memory: created CMA memory pool at 0x00000000fec00000, size 16 MiB
[    0.000000] OF: reserved mem: initialized node adsp_region, compatible id shared-dma-pool
[    0.000000] Reserved memory: created CMA memory pool at 0x00000000fdc00000, size 16 MiB
[    0.000000] OF: reserved mem: initialized node qseecom_ta_region, compatible id shared-dma-pool
[    0.000000] Reserved memory: created CMA memory pool at 0x00000000f8000000, size 92 MiB
[    0.000000] OF: reserved mem: initialized node secure_display_region, compatible id shared-dma-pool
[    0.000000] Reserved memory: created CMA memory pool at 0x000000027a400000, size 36 MiB
[    0.000000] OF: reserved mem: initialized node mem_dump_region, compatible id shared-dma-pool
[    0.000000] Reserved memory: created CMA memory pool at 0x00000000f7800000, size 8 MiB
[    0.000000] OF: reserved mem: initialized node secure_sp_region, compatible id shared-dma-pool
[    0.000000] Reserved memory: created CMA memory pool at 0x00000000ef800000, size 128 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000008ab00000, size 20 MiB
[    0.000000] OF: reserved mem: initialized node qseecom_region@0x8ab00000, compatible id shared-dma-pool
[    0.000000] Removed memory: created DMA memory pool at 0x000000008bf00000, size 5 MiB
[    0.000000] OF: reserved mem: initialized node camera_region@0x8bf00000, compatible id removed-dma-pool
[    0.000000] Removed memory: created DMA memory pool at 0x000000008c400000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node ips_fw_region@0x8c400000, compatible id removed-dma-pool
[    0.000000] Removed memory: created DMA memory pool at 0x000000008c410000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node ipa_gsi_region@0x8c410000, compatible id removed-dma-pool
[    0.000000] Removed memory: created DMA memory pool at 0x000000008c415000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node gpu_region@0x8c415000, compatible id removed-dma-pool
[    0.000000] Removed memory: created DMA memory pool at 0x000000008c500000, size 26 MiB
[    0.000000] OF: reserved mem: initialized node adsp_region@0x8c500000, compatible id removed-dma-pool
[    0.000000] Removed memory: created DMA memory pool at 0x000000008df00000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node wlan_fw_region@0x8df00000, compatible id removed-dma-pool
[    0.000000] Removed memory: created DMA memory pool at 0x000000008e000000, size 120 MiB
[    0.000000] OF: reserved mem: initialized node modem_region@0x8e000000, compatible id removed-dma-pool
[    0.000000] Removed memory: created DMA memory pool at 0x0000000095800000, size 5 MiB
[    0.000000] OF: reserved mem: initialized node video_region@0x95800000, compatible id removed-dma-pool
[    0.000000] Removed memory: created DMA memory pool at 0x0000000095d00000, size 8 MiB
[    0.000000] OF: reserved mem: initialized node cdsp_region@0x95d00000, compatible id removed-dma-pool
[    0.000000] Removed memory: created DMA memory pool at 0x0000000096500000, size 2 MiB
[    0.000000] OF: reserved mem: initialized node mba_region@0x96500000, compatible id removed-dma-pool
[    0.000000] Removed memory: created DMA memory pool at 0x0000000096700000, size 20 MiB
[    0.000000] OF: reserved mem: initialized node slpi_region@0x96700000, compatible id removed-dma-pool
[    0.000000] Removed memory: created DMA memory pool at 0x0000000097b00000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node pil_spss_region@0x97b00000, compatible id removed-dma-pool
[    0.000000] On node 0 totalpages: 2008649
[    0.000000] free_area_init_node: node 0, pgdat ffffff8009707680, node_mem_map ffffffc1f2214000
[    0.000000] DMA zone: 8192 pages used for memmap
[    0.000000] DMA zone: 0 pages reserved
[    0.000000] DMA zone: 449961 pages, LIFO batch:31
[    0.000000] Normal zone: 24355 pages used for memmap
[    0.000000] Normal zone: 1558688 pages, LIFO batch:31
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.0
[    0.000000] random: fast init done
[    0.000000] percpu: Embedded 20 pages/cpu s51480 r0 d30440 u81920
[    0.000000] pcpu-alloc: s51480 r0 d30440 u81920 alloc=20*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4 [0] 5 [0] 6 [0] 7 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 1976102
[    0.000000] Kernel command line: quiet rcupdate.rcu_expedited=1 noirqdebug androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 buildvariant=user androidboot.verifiedbootstate=orange androidboot.keymaster=1 dm="1 vroot none ro 1,0 5764704 verity 1 PARTUUID=e7505641-4ac1-cf0a-53c2-f640f90fdd04 PARTUUID=e7505641-4ac1-cf0a-53c2-f640f90fdd04 4096 4096 720588 720588 sha1 8ac817f655b76567ece5024b04dca0ea23256077 1a87bfcea39e15b538433e48836a4032e45a9ff2e1b809a0f129c10704566ae8 10 restart_on_corruption ignore_zero_blocks use_fec_from_device PARTUUID=e7505641-4ac1-cf0a-53c2-f640f90fdd04 fec_roots 2 fec_blocks 726263 fec_start 726263" root=/dev/dm-0 androidboot.vbmeta.device=PARTUUID=c4dc3735-e477-34e9-9acf-62b92d8f6a70 androidb
[    0.000000] IRQ lockup detection disabled
[    0.000000] log_buf_len individual max cpu contribution: 131072 bytes
[    0.000000] log_buf_len total cpu_extra contributions: 917504 bytes
[    0.000000] log_buf_len min size: 262144 bytes
[    0.000000] log_buf_len: 2097152 bytes
[    0.000000] early log buf free: 255696(97%)
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes)
[    0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.000000] software IO TLB: mapped [mem 0xef400000-0xef800000] (4MB)
[    0.000000] Memory: 7484332K/8034596K available (15998K kernel code, 1584K rwdata, 4904K rodata, 576K init, 5323K bss, 247160K reserved, 303104K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000] modules : 0xffffff8000000000 - 0xffffff8008000000   (   128 MB)
[    0.000000] vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000   (   250 GB)
[    0.000000] .text : 0xffffff8008080000 - 0xffffff8009020000   ( 16000 KB)
[    0.000000] .rodata : 0xffffff8009020000 - 0xffffff80094f0000   (  4928 KB)
[    0.000000] .init : 0xffffff80094f0000 - 0xffffff8009580000   (   576 KB)
[    0.000000] .data : 0xffffff8009580000 - 0xffffff800970c000   (  1584 KB)
[    0.000000] .bss : 0xffffff800970c000 - 0xffffff8009c3ed5c   (  5324 KB)
[    0.000000] fixed   : 0xffffffbefe7fd000 - 0xffffffbefec00000   (  4108 KB)
[    0.000000] PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000   (    16 MB)
[    0.000000] memory  : 0xffffffc000000000 - 0xffffffc1fc8a0000   (  8136 MB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] \x09RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] \x09RCU kthread priority: 1.
[    0.000000] NR_IRQS:64 nr_irqs:64 0
[    0.000000] PDC SDM845 v2 initialized
[    0.000000] \x09Offload RCU callbacks from all CPUs
[    0.000000] \x09Offload RCU callbacks from CPUs: 0-7.
[    0.000000] arm_arch_timer: Architected cp15 and mmio timer(s) running at 19.20MHz (virt/virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000005] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000021] clocksource: Switched to clocksource arch_sys_counter
[    0.002221] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.00 BogoMIPS (lpj=64000)
[    0.002237] pid_max: default: 32768 minimum: 301
[    0.002307] Security Framework initialized
[    0.002316] SELinux:  Initializing.
[    0.002356] SELinux:  Starting in permissive mode
[    0.002388] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes)
[    0.002392] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes)
[    0.003405] /cpus/cpu@0: Missing clock-frequency property
[    0.003417] /cpus/cpu@100: Missing clock-frequency property
[    0.003424] /cpus/cpu@200: Missing clock-frequency property
[    0.003430] /cpus/cpu@300: Missing clock-frequency property
[    0.003439] /cpus/cpu@400: Missing clock-frequency property
[    0.003446] /cpus/cpu@500: Missing clock-frequency property
[    0.003453] /cpus/cpu@600: Missing clock-frequency property
[    0.003461] /cpus/cpu@700: Missing clock-frequency property
[    0.003522] sched-energy: Sched-energy-costs installed from DT
[    0.006780] ASID allocator initialised with 65536 entries
[    0.006828] NOHZ: local_softirq_pending 02
[    0.030566] CPU1: Booted secondary processor [517f803c]
[    0.040577] CPU2: Booted secondary processor [517f803c]
[    0.050642] CPU3: Booted secondary processor [517f803c]
[    0.061311] CPU4: Booted secondary processor [516f802d]
[    0.071742] CPU5: Booted secondary processor [516f802d]
[    0.082299] CPU6: Booted secondary processor [516f802d]
[    0.093019] CPU7: Booted secondary processor [516f802d]
[    0.093175] Brought up 8 CPUs
[    0.093181] SMP: Total of 8 processors activated.
[    0.093185] CPU features: detected feature: GIC system register CPU interface
[    0.093187] CPU features: detected feature: Privileged Access Never
[    0.093189] CPU features: detected feature: User Access Override
[    0.093192] CPU features: detected feature: 32-bit EL0 Support
[    0.093299] CPU: All CPU(s) started at EL1
[    0.093336] alternatives: patching kernel code
[    0.094987] CPU7: update max cpu_capacity 1024
[    0.162393] CPU0: update max cpu_capacity 1024
[    0.163113] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370867519511994 ns
[    0.163125] futex hash table entries: 2048 (order: 6, 262144 bytes)
[    0.168909] pinctrl core: initialized pinctrl subsystem
[    0.169512] NET: Registered protocol family 16
[    0.170529] schedtune: init normalization constants...
[    0.170536] schedtune: CLUSTER[0-3]      min_pwr:     1 max_pwr:    17
[    0.170541] schedtune: CPU[0]            min_pwr:     4 max_pwr:   160
[    0.170544] schedtune: CPU[1]            min_pwr:     4 max_pwr:   160
[    0.170546] schedtune: CPU[2]            min_pwr:     4 max_pwr:   160
[    0.170549] schedtune: CPU[3]            min_pwr:     4 max_pwr:   160
[    0.170553] schedtune: CLUSTER[4-7]      min_pwr:     1 max_pwr:   190
[    0.170557] schedtune: CPU[4]            min_pwr:    40 max_pwr: 60000
[    0.170560] schedtune: CPU[5]            min_pwr:    40 max_pwr: 60000
[    0.170563] schedtune: CPU[6]            min_pwr:    40 max_pwr: 60000
[    0.170566] schedtune: CPU[7]            min_pwr:    40 max_pwr: 60000
[    0.170571] schedtune: SYSTEM            min_pwr:   178 max_pwr: 240847
[    0.170573] schedtune: using normalization constants mul: 383241808 sh1: 1 sh2: 17
[    0.170574] schedtune: verify normalization constants...
[    0.170577] schedtune: max_pwr/2^0: 240669 => norm_pwr:  1024
[    0.170580] schedtune: max_pwr/2^1: 120334 => norm_pwr:   511
[    0.170582] schedtune: max_pwr/2^2: 60167 => norm_pwr:   255
[    0.170584] schedtune: max_pwr/2^3: 30083 => norm_pwr:   127
[    0.170586] schedtune: max_pwr/2^4: 15041 => norm_pwr:    63
[    0.170587] schedtune: max_pwr/2^5: 7520 => norm_pwr:    31
[    0.170589] schedtune: configured to support 6 boost groups
[    0.171231] cpuidle: using governor menu
[    0.172392] cpuidle: using governor qcom
[    0.177311] vdso: 2 pages (1 code @ ffffff8009027000, 1 data @ ffffff8009584000)
[    0.177316] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.177911] DMA: preallocated 256 KiB pool for atomic allocations
[    0.177992] msm_smem_init: unable to create logging context
[    0.178014] <CORE> glink_init: unable to create log context
[    0.178561] exit: IPA_USB init success!
[    0.178600] Failed to create IPC log0
[    0.178606] Failed to create IPC log1
[    0.178609] Failed to create IPC log2
[    0.178611] Failed to create IPC log3
[    0.178613] Failed to create IPC log4
[    0.188677] pstore: using zlib compression
[    0.188862] console [pstore0] enabled
[    0.188933] pstore: Registered ramoops as persistent store backend
[    0.188937] ramoops: attached 0x400000@0xac300000, ecc: 0/0
[    0.191558] irq: no irq domain found for /soc/qcom,mdss_mdp@ae00000 !
[    0.191630] irq: no irq domain found for /soc/qcom,mdss_mdp@ae00000 !
[    0.191902] qupv3_geni_se 8c0000.qcom,qupv3_0_geni_se: geni_se_probe Failed to allocate log context
[    0.192030] irq: no irq domain found for /soc/pinctrl@03400000 !
[    0.192438] qupv3_geni_se ac0000.qcom,qupv3_1_geni_se: geni_se_probe Failed to allocate log context
[    0.195523] unable to find DT imem DLOAD mode node
[    0.197220] unable to find DT imem EDLOAD mode node
[    0.198089] set_dload_mode ON
[    0.198513] spmi spmi-0: PMIC arbiter version v5 (0x50000000)
[    0.200298] platform 4080000.qcom,mss: assigned reserved memory node modem_region@0x8e000000
[    0.200391] platform 17300000.qcom,lpass: assigned reserved memory node adsp_region@0x8c500000
[    0.200482] platform 5c00000.qcom,ssc: assigned reserved memory node slpi_region@0x96700000
[    0.201095] platform 8300000.qcom,turing: assigned reserved memory node cdsp_region@0x95d00000
[    0.201375] platform soc:qcom,msm-adsprpc-mem: assigned reserved memory node adsp_region
[    0.201585] platform aae0000.qcom,venus: assigned reserved memory node video_region@0x95800000
[    0.205749] <CORE> glink_core_register_transport: unable to create log context for [spss:mailbox]
[    0.205824] <CORE> glink_mailbox_probe: unable to create log context for [spss:mailbox]
[    0.210841] <CORE> glink_core_register_transport: unable to create log context for [mpss:smem]
[    0.210907] <CORE> glink_smem_native_probe: unable to create log context for [mpss:smem]
[    0.211312] <CORE> glink_core_register_transport: unable to create log context for [lpass:smem]
[    0.211381] <CORE> glink_smem_native_probe: unable to create log context for [lpass:smem]
[    0.211804] <CORE> glink_core_register_transport: unable to create log context for [dsps:smem]
[    0.211853] <CORE> glink_smem_native_probe: unable to create log context for [dsps:smem]
[    0.212350] <CORE> glink_core_register_transport: unable to create log context for [cdsp:smem]
[    0.212396] <CORE> glink_smem_native_probe: unable to create log context for [cdsp:smem]
[    0.213196] sps:sps is ready.
[    0.213712] (NULL device *): msm_gsi_probe:3147 failed to create IPC log, continue...
[    0.214048] platform soc:qcom,ipa_fws: assigned reserved memory node ips_fw_region@0x8c400000
[    0.215205] platform soc:mem_dump: assigned reserved memory node mem_dump_region
[    0.217930] pm8998_s9_level: supplied by pm8998_s6_level
[    0.217965] pm8998_s9_level: Bringing 1uV into 17-17uV
[    0.218084] pm8998_s9_level_ao: supplied by pm8998_s6_level_ao
[    0.218107] pm8998_s9_level_ao: Bringing 1uV into 17-17uV
[    0.225344] pm8998_l24: supplied by pm8998_l12
[    0.226881] pm8998_lvs1: Bringing 1uV into 1800000-1800000uV
[    0.227220] pm8998_lvs2: Bringing 1uV into 1800000-1800000uV
[    0.240559] sdm845-v2-pinctrl 3400000.pinctrl: invalid resource
[    0.246607] platform soc:qcom,kgsl-hyp: assigned reserved memory node gpu_region@0x8c415000
[    0.263724] gpu_cx_gdsc: supplied by pm8998_s9_level
[    0.266339] clk: cam_cc_bps_clk_src: set OPP pair(19200000 Hz: 129 uV) on ac6f000.qcom,bps
[    0.266542] clk: cam_cc_bps_clk_src: set OPP pair(600000000 Hz: 257 uV) on ac6f000.qcom,bps
[    0.266683] clk: cam_cc_cci_clk_src: set OPP pair(19200000 Hz: 129 uV) on ac4a000.qcom,cci
[    0.266829] clk: cam_cc_cci_clk_src: set OPP pair(100000000 Hz: 257 uV) on ac4a000.qcom,cci
[    0.266994] clk: cam_cc_csi0phytimer_clk_src: set OPP pair(19200000 Hz: 129 uV) on ac65000.qcom,csiphy
[    0.267066] clk: cam_cc_csi0phytimer_clk_src: set OPP pair(269333333 Hz: 129 uV) on ac65000.qcom,csiphy
[    0.267217] clk: cam_cc_csi1phytimer_clk_src: set OPP pair(19200000 Hz: 129 uV) on ac66000.qcom,csiphy
[    0.267301] clk: cam_cc_csi1phytimer_clk_src: set OPP pair(269333333 Hz: 129 uV) on ac66000.qcom,csiphy
[    0.267439] clk: cam_cc_csi2phytimer_clk_src: set OPP pair(19200000 Hz: 129 uV) on ac67000.qcom,csiphy
[    0.267527] clk: cam_cc_csi2phytimer_clk_src: set OPP pair(269333333 Hz: 129 uV) on ac67000.qcom,csiphy
[    0.267688] clk: cam_cc_csi3phytimer_clk_src: set OPP pair(19200000 Hz: 49 uV) on ac68000.qcom,csiphy
[    0.267771] clk: cam_cc_csi3phytimer_clk_src: set OPP pair(269333333 Hz: 129 uV) on ac68000.qcom,csiphy
[    0.268259] clk: cam_cc_icp_clk_src: set OPP pair(19200000 Hz: 129 uV) on ac00000.qcom,a5
[    0.268423] clk: cam_cc_icp_clk_src: set OPP pair(600000000 Hz: 193 uV) on ac00000.qcom,a5
[    0.268724] clk: cam_cc_ife_0_clk_src: set OPP pair(19200000 Hz: 129 uV) on acaf000.qcom,vfe0
[    0.268941] clk: cam_cc_ife_0_clk_src: set OPP pair(600000000 Hz: 257 uV) on acaf000.qcom,vfe0
[    0.269178] clk: cam_cc_ife_0_csid_clk_src: set OPP pair(19200000 Hz: 129 uV) on acb3000.qcom,csid0
[    0.269307] clk: cam_cc_ife_0_csid_clk_src: set OPP pair(538666667 Hz: 257 uV) on acb3000.qcom,csid0
[    0.269619] clk: cam_cc_ife_1_clk_src: set OPP pair(19200000 Hz: 129 uV) on acb6000.qcom,vfe1
[    0.269842] clk: cam_cc_ife_1_clk_src: set OPP pair(600000000 Hz: 257 uV) on acb6000.qcom,vfe1
[    0.270121] clk: cam_cc_ife_1_csid_clk_src: set OPP pair(19200000 Hz: 129 uV) on acba000.qcom,csid1
[    0.270252] clk: cam_cc_ife_1_csid_clk_src: set OPP pair(538666667 Hz: 257 uV) on acba000.qcom,csid1
[    0.270548] clk: cam_cc_ife_lite_clk_src: set OPP pair(19200000 Hz: 129 uV) on acc4000.qcom,vfe-lite
[    0.270774] clk: cam_cc_ife_lite_clk_src: set OPP pair(600000000 Hz: 257 uV) on acc4000.qcom,vfe-lite
[    0.271069] clk: cam_cc_ife_lite_csid_clk_src: set OPP pair(19200000 Hz: 129 uV) on acc8000.qcom,csid-lite
[    0.271218] clk: cam_cc_ife_lite_csid_clk_src: set OPP pair(538666667 Hz: 257 uV) on acc8000.qcom,csid-lite
[    0.271685] clk: cam_cc_ipe_0_clk_src: set OPP pair(19200000 Hz: 129 uV) on ac87000.qcom,ipe0
[    0.272001] clk: cam_cc_ipe_0_clk_src: set OPP pair(600000000 Hz: 257 uV) on ac87000.qcom,ipe0
[    0.272525] clk: cam_cc_ipe_1_clk_src: set OPP pair(19200000 Hz: 129 uV) on ac91000.qcom,ipe1
[    0.272804] clk: cam_cc_ipe_1_clk_src: set OPP pair(600000000 Hz: 257 uV) on ac91000.qcom,ipe1
[    0.275868] cam_cc-sdm845 ad00000.qcom,camcc: Registered Camera CC clocks
[    0.276989] qmp-aop-clk soc:qcom,aopclk: Registered clocks with AOP
[    0.277924] clk-rpmh soc:qcom,rpmhclk: Registered RPMh clocks
[    0.279824] disp_cc-sdm845 af00000.qcom,dispcc: Registered Display CC clocks
[    0.303522] gcc-sdm845 100000.qcom,gcc: Registered GCC clocks
[    0.304386] clk: gpu_cc_gx_gfx3d_clk_src: set OPP pair(180000000 Hz: 49 uV) on 5000000.qcom,kgsl-3d0
[    0.304658] clk: gpu_cc_gx_gfx3d_clk_src: set OPP pair(710000000 Hz: 417 uV) on 5000000.qcom,kgsl-3d0
[    0.304725] gfxcc-sdm845 5090000.qcom,gfxcc: Registered GFX CC clocks
[    0.306239] clk: gpu_cc_gmu_clk_src: set OPP pair(19200000 Hz: 49 uV) on 506a000.qcom,gmu
[    0.306340] clk: gpu_cc_gmu_clk_src: set OPP pair(500000000 Hz: 129 uV) on 506a000.qcom,gmu
[    0.306533] gpu_cc-sdm845 5090000.qcom,gpucc: Registered GPU CC clocks
[    0.307728] video_cc-sdm845 ab00000.qcom,videocc: Registered Video CC clocks
[    0.308049] socinfo_print: v0.15, id=321, ver=2.1, raw_id=139, raw_ver=2, hw_plat=8, hw_plat_ver=65536\x0a accessory_chip=0, hw_plat_subtype=0, pmic_model=65556, pmic_die_revision=131072 foundry_id=3 serial_number=3423966390 num_pmics=3 chip_family=0x4f raw_device_family=0x6 raw_device_number=0x0 nproduct_id=0x3f4 num_clusters=0x1 ncluster_array_offset=0xb0 num_defective_parts=0x6 ndefective_parts_array_offset=0xb4 nmodem_supported=0xff
[    0.308052] msm_bus_fabric_rpmh_init_driver
[    0.308254] msm_bus: Probe started
[    0.308864] msm_bus_device 16e0000.ad-hoc-bus: Bus type is missing
[    0.308915] msm_bus_device 16e0000.ad-hoc-bus: Bus type is missing
[    0.308928] msm_bus_device 16e0000.ad-hoc-bus: Bus type is missing
[    0.308978] msm_bus_device 16e0000.ad-hoc-bus: Bus type is missing
[    0.311322] msm_bus: DT Parsing complete
[    0.314282] msm_bus_fab_init_noc_ops: Invalid Bus type
[    0.314433] msm_bus_fab_init_noc_ops: Invalid Bus type
[    0.314472] msm_bus_fab_init_noc_ops: Invalid Bus type
[    0.314629] msm_bus_fab_init_noc_ops: Invalid Bus type
[    0.325444] actuator_regulator: supplied by pmi8998_bob
[    0.325787] actuator_regulator: supplied by pmi8998_bob
[    0.325878] actuator_regulator: Failed to create debugfs directory
[    0.325898] actuator_regulator: Failed to create debugfs directory
[    0.325917] reg-fixed-voltage vendor:ext_5v_boost: could not find pctldev for node /soc/qcom,spmi@c440000/qcom,pmi8998@2/pinctrl@c000/usb2_ext_5v_boost/usb2_ext_5v_boost_default, deferring probe
[    0.326776] arm-smmu 5040000.arm,smmu-kgsl: \x09(IDR0.CTTW overridden by dma-coherent property)
[    0.326895] arm-smmu 5040000.arm,smmu-kgsl: \x09stream matching with 5 register groups, mask 0x7
[    0.327058] arm-smmu 5040000.arm,smmu-kgsl: found 8 context interrupt(s) but have 5 context banks. assuming 5 context interrupts.
[    0.329616] register_client_adhoc:find path.src 139 dest 627
[    0.329804] register_client_adhoc:Client handle 1 apps_smmu
[    0.329974] arm-smmu 15000000.apps-smmu: \x09(IDR0.CTTW overridden by dma-coherent property)
[    0.330098] arm-smmu 15000000.apps-smmu: \x09stream matching with 76 register groups, mask 0x7fff
[    0.330840] arm-smmu 15000000.apps-smmu: found 64 context interrupt(s) but have 45 context banks. assuming 45 context interrupts.
[    0.331340] register_client_adhoc:find path.src 139 dest 627
[    0.331478] register_client_adhoc:Client handle 2 apps_smmu
[    0.331677] register_client_adhoc:find path.src 139 dest 627
[    0.331810] register_client_adhoc:Client handle 3 apps_smmu
[    0.332000] register_client_adhoc:find path.src 22 dest 773
[    0.332075] register_client_adhoc:Client handle 4 mnoc_hf_0_tbu
[    0.332263] register_client_adhoc:find path.src 22 dest 773
[    0.332332] register_client_adhoc:Client handle 5 mnoc_hf_1_tbu
[    0.332517] register_client_adhoc:find path.src 137 dest 772
[    0.332590] register_client_adhoc:Client handle 6 mnoc_sf_0_tbu
[    0.332730] register_client_adhoc:find path.src 139 dest 627
[    0.332868] register_client_adhoc:Client handle 7 apps_smmu
[    0.333059] register_client_adhoc:find path.src 139 dest 627
[    0.333192] register_client_adhoc:Client handle 8 apps_smmu
[    0.333418] register_client_adhoc:find path.src 139 dest 627
[    0.333550] register_client_adhoc:Client handle 9 apps_smmu
[    0.334232] iommu: Adding device ae00000.qcom,mdss_mdp to group 0
[    0.334372] iommu: Adding device 8c0000.qcom,qupv3_0_geni_se:qcom,iommu_qupv3_0_geni_se_cb to group 1
[    0.334508] iommu: Adding device ac0000.qcom,qupv3_1_geni_se:qcom,iommu_qupv3_1_geni_se_cb to group 2
[    0.334665] iommu: Adding device 1de0000.qcedev to group 3
[    0.334796] iommu: Adding device 1de0000.qcrypto to group 4
[    0.334931] iommu: Adding device 18800000.qcom,icnss to group 5
[    0.335062] iommu: Adding device 800000.qcom,gpi-dma to group 6
[    0.335195] iommu: Adding device a00000.qcom,gpi-dma to group 7
[    0.335325] iommu: Adding device 88a7000.msm_tspp to group 8
[    0.335458] iommu: Adding device soc:apps_iommu_test_device to group 8
[    0.335582] iommu: Adding device soc:apps_iommu_coherent_test_device to group 8
[    0.335727] iommu: Adding device soc:qcom,msm-audio-ion to group 9
[    0.335863] iommu: Adding device a600000.ssusb to group 10
[    0.335996] iommu: Adding device soc:usb_audio_qmi_dev to group 11
[    0.337618] SCSI subsystem initialized
[    0.337711] usbcore: registered new interface driver usbfs
[    0.337734] usbcore: registered new interface driver hub
[    0.337853] usbcore: registered new device driver usb
[    0.338347] soc:usb_nop_phy supply vcc not found, using dummy regulator
[    0.338676] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8c0:0x21)
[    0.338690] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8c1:0x0)
[    0.338704] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8c2:0x2)
[    0.338718] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8c3:0x0)
[    0.338733] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8c4:0x40)
[    0.338746] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8c5:0x2)
[    0.338760] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8c6:0x0)
[    0.338774] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8c7:0x80)
[    0.338788] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8c8:0x40)
[    0.338802] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8c9:0x0)
[    0.338816] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8ca:0x0)
[    0.338830] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8cb:0x0)
[    0.338844] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8cc:0x0)
[    0.338858] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8cd:0x0)
[    0.338872] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8ce:0x0)
[    0.338886] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: (0x8cf:0x0)
[    0.338938] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: PMIC@SID0 PON_REASON1 regs :[0x21] and Power-on reason: Triggered from Hard Reset and 'warm' boot
[    0.338942] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: PMIC@SID0 PON_REASON1 regs :[0x21] and Power-on reason: Triggered from PON1 (secondary PMIC) and 'warm' boot
[    0.338970] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: PMIC@SID0: POFF_REASON regs :[0x2] and Power-off reason: Triggered from PS_HOLD (PS_HOLD/MSM controlled shutdown)
[    0.339152] input: qpnp_pon as /devices/virtual/input/input0
[    0.340006] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: No PON config. specified
[    0.340056] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8c0:0x20)
[    0.340072] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8c1:0x0)
[    0.340086] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8c2:0x8)
[    0.340101] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8c3:0x0)
[    0.340115] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8c4:0x40)
[    0.340129] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8c5:0x8)
[    0.340144] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8c6:0x0)
[    0.340157] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8c7:0x80)
[    0.340171] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8c8:0x0)
[    0.340186] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8c9:0x0)
[    0.340200] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8ca:0x0)
[    0.340214] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8cb:0x0)
[    0.340228] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8cc:0x0)
[    0.340242] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8cd:0x0)
[    0.340256] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8ce:0x0)
[    0.340271] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: (0x8cf:0x0)
[    0.340322] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: PMIC@SID2 PON_REASON1 regs :[0x20] and Power-on reason: Triggered from PON1 (secondary PMIC) and 'warm' boot
[    0.340348] qcom,qpnp-power-on c440000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: PMIC@SID2: POFF_REASON regs :[0x8] and Power-off reason: Triggered from GP1 (Keypad_Reset1)
[    0.340703] media: Linux media interface: v0.10
[    0.340726] Linux video capture interface: v2.00
[    0.354136] platform soc:qcom,ion:qcom,ion-heap@22: assigned reserved memory node adsp_region
[    0.354371] platform soc:qcom,ion:qcom,ion-heap@27: assigned reserved memory node qseecom_region@0x8ab00000
[    0.354460] platform soc:qcom,ion:qcom,ion-heap@19: assigned reserved memory node qseecom_ta_region
[    0.354532] platform soc:qcom,ion:qcom,ion-heap@13: assigned reserved memory node secure_sp_region
[    0.354604] platform soc:qcom,ion:qcom,ion-heap@10: assigned reserved memory node secure_display_region
[    0.354878] ION heap system created
[    0.355002] ION heap adsp created at 0x00000000fec00000 with size 1000000
[    0.355012] ION heap qsecom created at 0x000000008ab00000 with size 1400000
[    0.355019] ION heap qsecom_ta created at 0x00000000fdc00000 with size 1000000
[    0.355027] ION heap spss created at 0x00000000f7800000 with size 800000
[    0.355035] ION heap secure_display created at 0x00000000f8000000 with size 5c00000
[    0.355042] ION heap secure_heap created
[    0.355628] ipa ipa3_tz_unlock_reg:4965 Bad parameters
[    0.355639] ipa ipa3_pre_init:5165 Failed to unlock memory region using TZ
[    0.355726] register_client_adhoc:find path.src 90 dest 512
[    0.356167] register_client_adhoc:find path.src 90 dest 585
[    0.356301] register_client_adhoc:find path.src 1 dest 676
[    0.356542] register_client_adhoc:find path.src 143 dest 777
[    0.356612] register_client_adhoc:Client handle 10 ipa
[    0.357039] ipa ipa3_uc_state_check:284 uC interface not initialized
[    0.357622] ipa ipa3_uc_state_check:284 uC interface not initialized
[    0.358126] iommu: Adding device 1e00000.qcom,ipa:ipa_smmu_ap to group 12
[    0.358351] iommu: Adding device 1e00000.qcom,ipa:ipa_smmu_wlan to group 13
[    0.358560] iommu: Adding device 1e00000.qcom,ipa:ipa_smmu_uc to group 14
[    0.359321] PMIC@SID0: PM8998 v2.0 options: 0, 0, 0, 0
[    0.359452] PMIC@SID4: PM8005 v2.0 options: 0, 0, 0, 0
[    0.359564] PMIC@SID2: PMI8998 v2.1 options: 0, 0, 0, 0
[    0.360808] Advanced Linux Sound Architecture Driver Initialized.
[    0.361497] Bluetooth: Core ver 2.22
[    0.361517] NET: Registered protocol family 31
[    0.361518] Bluetooth: HCI device and connection manager initialized
[    0.361526] Bluetooth: HCI socket layer initialized
[    0.361532] Bluetooth: L2CAP socket layer initialized
[    0.361553] Bluetooth: SCO socket layer initialized
[    0.361895] NetLabel: Initializing
[    0.361897] NetLabel:  domain hash size = 128
[    0.361898] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.361939] NetLabel:  unlabeled traffic allowed by default
[    0.361991] pcie:pcie_init.
[    0.362000] pcie_init: unable to create IPC log context for pcie0-short
[    0.362004] pcie_init: unable to create IPC log context for pcie0-long
[    0.362009] pcie_init: unable to create IPC log context for pcie0-dump
[    0.362014] pcie_init: unable to create IPC log context for pcie1-short
[    0.362018] pcie_init: unable to create IPC log context for pcie1-long
[    0.362023] pcie_init: unable to create IPC log context for pcie1-dump
[    0.362028] pcie_init: unable to create IPC log context for pcie2-short
[    0.362033] pcie_init: unable to create IPC log context for pcie2-long
[    0.362037] pcie_init: unable to create IPC log context for pcie2-dump
[    0.362944] gpu_gx_gdsc: supplied by pm8005_s1_level
[    0.363288] actuator_regulator: Failed to create debugfs directory
[    0.364718] clk: add_opp: Set OPP pair (300000000 Hz, 592000 uv) on cpu0
[    0.365376] clk: add_opp: Set OPP pair (1766400000 Hz, 804000 uv) on cpu0
[    0.365425] clk: add_opp: Set OPP pair (300000000 Hz, 592000 uv) on cpu1
[    0.366084] clk: add_opp: Set OPP pair (1766400000 Hz, 804000 uv) on cpu1
[    0.366133] clk: add_opp: Set OPP pair (300000000 Hz, 592000 uv) on cpu2
[    0.366828] clk: add_opp: Set OPP pair (1766400000 Hz, 804000 uv) on cpu2
[    0.366895] clk: add_opp: Set OPP pair (300000000 Hz, 592000 uv) on cpu3
[    0.367574] clk: add_opp: Set OPP pair (1766400000 Hz, 804000 uv) on cpu3
[    0.367621] clk: add_opp: Set OPP pair (825600000 Hz, 600000 uv) on cpu4
[    0.368613] clk: add_opp: Set OPP pair (2803200000 Hz, 1032000 uv) on cpu4
[    0.368658] clk: add_opp: Set OPP pair (825600000 Hz, 600000 uv) on cpu5
[    0.369660] clk: add_opp: Set OPP pair (2803200000 Hz, 1032000 uv) on cpu5
[    0.369708] clk: add_opp: Set OPP pair (825600000 Hz, 600000 uv) on cpu6
[    0.370767] clk: add_opp: Set OPP pair (2803200000 Hz, 1032000 uv) on cpu6
[    0.370814] clk: add_opp: Set OPP pair (825600000 Hz, 600000 uv) on cpu7
[    0.371872] clk: add_opp: Set OPP pair (2803200000 Hz, 1032000 uv) on cpu7
[    0.372285] clk: add_opp: Set OPP pair (300000000 Hz, 600000 uv) on soc:qcom,l3-cpu0
[    0.372288] clk: add_opp: Set OPP pair (300000000 Hz, 600000 uv) on soc:qcom,l3-cpu4
[    0.372290] clk: add_opp: Set OPP pair (300000000 Hz, 600000 uv) on soc:qcom,l3-cdsp
[    0.372293] clk: add_opp: Set OPP pair (300000000 Hz, 600000 uv) on 5000000.qcom,kgsl-3d0
[    0.374388] clk: add_opp: Set OPP pair (1478400000 Hz, 816000 uv) on soc:qcom,l3-cpu0
[    0.374390] clk: add_opp: Set OPP pair (1478400000 Hz, 816000 uv) on soc:qcom,l3-cpu4
[    0.374392] clk: add_opp: Set OPP pair (1478400000 Hz, 816000 uv) on soc:qcom,l3-cdsp
[    0.374394] clk: add_opp: Set OPP pair (1478400000 Hz, 816000 uv) on 5000000.qcom,kgsl-3d0
[    0.375465] cpufreq: driver osm-cpufreq up and running
[    0.375467] clk: clk_cpu_osm_driver_probe: OSM CPUFreq driver inited
[    0.375523] reg-fixed-voltage vendor:ext_5v_boost: could not find pctldev for node /soc/qcom,spmi@c440000/qcom,pmi8998@2/pinctrl@c000/usb2_ext_5v_boost/usb2_ext_5v_boost_default, deferring probe
[    0.375709] sched-energy energy-costs: cpu=0 eff=1024 [freq=300000 cap=65 power_d0=12] -> [freq=1766400 cap=381 power_d0=160]
[    0.375713] CPU0: update cpu_capacity 381
[    0.375720] sched-energy energy-costs: cpu=1 eff=1024 [freq=300000 cap=65 power_d0=12] -> [freq=1766400 cap=381 power_d0=160]
[    0.375722] CPU1: update cpu_capacity 381
[    0.375728] sched-energy energy-costs: cpu=2 eff=1024 [freq=300000 cap=65 power_d0=12] -> [freq=1766400 cap=381 power_d0=160]
[    0.375730] CPU2: update cpu_capacity 381
[    0.375737] sched-energy energy-costs: cpu=3 eff=1024 [freq=300000 cap=65 power_d0=12] -> [freq=1766400 cap=381 power_d0=160]
[    0.375739] CPU3: update cpu_capacity 381
[    0.375746] sched-energy energy-costs: cpu=4 eff=1740 [freq=300000 cap=110 power_d0=189] -> [freq=2956800 cap=1024 power_d0=60000]
[    0.375747] CPU4: update cpu_capacity 1024
[    0.375754] sched-energy energy-costs: cpu=5 eff=1740 [freq=300000 cap=110 power_d0=189] -> [freq=2956800 cap=1024 power_d0=60000]
[    0.375755] CPU5: update cpu_capacity 1024
[    0.375762] sched-energy energy-costs: cpu=6 eff=1740 [freq=300000 cap=110 power_d0=189] -> [freq=2956800 cap=1024 power_d0=60000]
[    0.375763] CPU6: update cpu_capacity 1024
[    0.375771] sched-energy energy-costs: cpu=7 eff=1740 [freq=300000 cap=110 power_d0=189] -> [freq=2956800 cap=1024 power_d0=60000]
[    0.375773] CPU7: update cpu_capacity 1024
[    0.376864] sched-energy energy-costs: Sched-energy-costs capacity updated
[    0.376895] reg-fixed-voltage vendor:ext_5v_boost: could not find pctldev for node /soc/qcom,spmi@c440000/qcom,pmi8998@2/pinctrl@c000/usb2_ext_5v_boost/usb2_ext_5v_boost_default, deferring probe
[    0.377150] clocksource: Switched to clocksource arch_sys_counter
[    0.377216] VFS: Disk quotas dquot_6.6.0
[    0.377245] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.377697] debugcc-sdm845 soc:qcom,cc-debug@100000: Registered debug mux successfully
[    0.378222] mdss_pll_probe: MDSS pll label = MDSS DSI 0 PLL
[    0.378224] mdss_pll_probe: mdss_pll_probe: label=MDSS DSI 0 PLL PLL SSC enabled
[    0.378268] mdss_pll ae94a00.qcom,mdss_dsi_pll: Failed to create debugfs directory
[    0.378271] mdss_pll ae94a00.qcom,mdss_dsi_pll: Failed to create debugfs directory
[    0.378275] mdss_pll ae94a00.qcom,mdss_dsi_pll: Failed to create debugfs directory
[    0.378278] mdss_pll ae94a00.qcom,mdss_dsi_pll: Failed to create debugfs directory
[    0.378281] mdss_pll ae94a00.qcom,mdss_dsi_pll: Failed to create debugfs directory
[    0.378689] dsi_pll_clock_register_10nm: Registered DSI PLL ndx=0, clocks successfully
[    0.378705] mdss_pll_probe: MDSS pll label = MDSS DSI 1 PLL
[    0.378706] mdss_pll_probe: mdss_pll_probe: label=MDSS DSI 1 PLL PLL SSC enabled
[    0.378733] mdss_pll ae96a00.qcom,mdss_dsi_pll: Failed to create debugfs directory
[    0.378736] mdss_pll ae96a00.qcom,mdss_dsi_pll: Failed to create debugfs directory
[    0.378739] mdss_pll ae96a00.qcom,mdss_dsi_pll: Failed to create debugfs directory
[    0.378742] mdss_pll ae96a00.qcom,mdss_dsi_pll: Failed to create debugfs directory
[    0.378744] mdss_pll ae96a00.qcom,mdss_dsi_pll: Failed to create debugfs directory
[    0.380060] CPU1: update max cpu_capacity 381
[    0.383375] CPU5: update max cpu_capacity 1024
[    0.383821] dsi_pll_10nm_lock_status: DSI PLL(1) lock failed, status=0x00000000
[    0.389024] dsi_pll_10nm_lock_status: DSI PLL(1) lock failed, status=0x00000000
[    0.389130] dsi_pll_clock_register_10nm: Registered DSI PLL ndx=1, clocks successfully
[    0.389143] mdss_pll_probe: MDSS pll label = MDSS DP PLL
[    0.392311] NET: Registered protocol family 2
[    0.392629] TCP established hash table entries: 65536 (order: 7, 524288 bytes)
[    0.392737] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    0.393004] TCP: Hash tables configured (established 65536 bind 65536)
[    0.393034] UDP hash table entries: 4096 (order: 5, 131072 bytes)
[    0.393082] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes)
[    0.393216] NET: Registered protocol family 1
[    0.393233] PCI: CLS 0 bytes, default 128
[    0.393267] reg-fixed-voltage vendor:ext_5v_boost: could not find pctldev for node /soc/qcom,spmi@c440000/qcom,pmi8998@2/pinctrl@c000/usb2_ext_5v_boost/usb2_ext_5v_boost_default, deferring probe
[    0.393509] Unpacking initramfs...
[    0.600396] Freeing initrd memory: 15616K
[    0.600493] execprog: copying static data
[    0.600550] execprog: finished copying
[    0.600882] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    0.605518] workingset: timestamp_bits=61 max_order=21 bucket_order=0
[    0.606819] Registering sdcardfs 0.1
[    0.606882] ntfs: driver 2.1.32 [Flags: R/O].
[    0.606917] fuse init (API version 7.26)
[    0.607068] exFAT: Version 1.2.9
[    0.607088] SELinux:  Registering netfilter hooks
[    0.607225] pfk_ext4 [pfk_ext4_init]: PFK EXT4 inited successfully
[    0.607226] pfk_f2fs [pfk_f2fs_init]: PFK F2FS inited successfully
[    0.607228] pfk [pfk_init]: Driver initialized successfully
[    0.612236] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    0.612240] io scheduler noop registered
[    0.612241] io scheduler deadline registered
[    0.612278] io scheduler cfq registered (default)
[    0.619848] qcom,qpnp-clkdiv c440000.qcom,spmi:qcom,pm8998@0:qcom,clkdiv@5b00: Registered qpnp_clkdiv_1 successfully
[    0.619905] qcom,qpnp-clkdiv c440000.qcom,spmi:qcom,pm8998@0:qcom,clkdiv@5c00: Registered qpnp_clkdiv_2 successfully
[    0.619961] qcom,qpnp-clkdiv c440000.qcom,spmi:qcom,pm8998@0:qcom,clkdiv@5d00: Registered qpnp_clkdiv_3 successfully
[    0.622482] glink_loopback_server_init: unable to create log context
[    0.622818] <CORE> glink_core_register_transport: unable to create log context for [wdsp:spi]
[    0.623209] msm_smp2p_init: unable to create log context
[    0.624450] qmi_log_init: Unable to create QMI IPC logging for Req/Resp
[    0.624454] logging for Indications: Unable to create QMI IPC qmi_log_init
[    0.624913] icnss: Unable to create log context
[    0.624916] icnss: Unable to create log long context
[    0.625786] icnss 18800000.qcom,icnss: for wcss_msa0 segments only will be dumped.
[    0.625836] icnss: Platform driver probed successfully
[    0.626423] register_client_adhoc:find path.src 125 dest 512
[    0.626629] register_client_adhoc:Client handle 11 scm_pas
[    0.626641] minidump-id not found for adsp
[    0.626763] minidump-id not found for slpi
[    0.626816] minidump-id not found for cdsp
[    0.627073] register_client_adhoc:find path.src 63 dest 512
[    0.627190] register_client_adhoc:Client handle 12 pil-venus
[    0.627196] minidump-id not found for venus
[    0.627207] subsys-pil-tz aae0000.qcom,venus: for venus segments only will be dumped.
[    0.627316] minidump-id not found for ipa_fws
[    0.627321] subsys-pil-tz soc:qcom,ipa_fws: for ipa_fws segments only will be dumped.
[    0.627422] minidump-id not found for a630_zap
[    0.627427] subsys-pil-tz soc:qcom,kgsl-hyp: for a630_zap segments only will be dumped.
[    0.627754] pil-q6v5-mss 4080000.qcom,mss: No pas_id found.
[    0.628463] qiib_driver_data_init: unable to create logging context
[    0.630393] msm_geni_serial 898000.qcom,qup_uart: Wakeup byte 0xfd
[    0.630417] msm_geni_serial 898000.qcom,qup_uart: Serial port0 added.FifoSize 64 is_console0
[    0.630429] 898000.qcom,qup_uart: ttyHS0 at MMIO 0x898000 (irq = 8, base_baud = 0) is a MSM
[    0.630792] msm_geni_serial_init: Driver initialized
[    0.630903] register_client_adhoc:find path.src 1 dest 618
[    0.631020] register_client_adhoc:Client handle 13 msm-rng-noc
[    0.632750] random: crng init done
[    0.635104] loop: module loaded
[    0.635513] QSEECOM: qseecom_probe: qseecom.qsee_version = 0x1400000
[    0.635529] QSEECOM: qseecom_retrieve_ce_data: Device does not support PFE
[    0.635533] QSEECOM: qseecom_probe: no-clock-support=0x1
[    0.635535] QSEECOM: qseecom_probe: qseecom.qsee_reentrancy_support = 2
[    0.635554] register_client_adhoc:find path.src 125 dest 512
[    0.635719] register_client_adhoc:Client handle 14 qseecom-noc
[    0.635774] QSEECOM: qseecom_probe: qseecom.whitelist_support = 1
[    0.635953] Loading pn544 driver
[    0.636054] register_client_adhoc:find path.src 125 dest 512
[    0.636196] register_client_adhoc:Client handle 15 qcedev-noc
[    0.637686] qce 1de0000.qcedev: QTI Crypto 5.4.1 device found @0x1de0000
[    0.637691] qce 1de0000.qcedev: CE device = 0x0 IO base, CE = ffffff800a8a0000 Consumer (IN) PIPE 6,\x0aProducer (OUT) PIPE 7 IO base BAM = 0000000000000000\x0aBAM IRQ 104 Engines Availability = 0x2011073
[    0.637721] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x0000000001dc4000
[    0.637730] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x0000000001dc4000
[    0.637736] sps_register_bam_device : unable to create IPC Logging 2 for bam 0x0000000001dc4000
[    0.637742] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x0000000001dc4000
[    0.637746] sps_register_bam_device : unable to create IPC Logging 4 for bam 0x0000000001dc4000
[    0.637754] sps:BAM 0x0000000001dc4000 is registered.
[    0.637954] sps:BAM 0x0000000001dc4000 (va:0xffffff800bdc0000) enabled: ver:0x27, number of pipes:16
[    0.638300] QCE50: qce_sps_init:  QTI MSM CE-BAM at 0x0000000001dc4000 irq 104
[    0.638743] iommu: Adding device 1de0000.qcedev:qcom_cedev_ns_cb to group 15
[    0.639269] qcedev_setup_context_bank Attached 1de0000.qcedev:qcom_cedev_ns_cb and create mapping
[    0.639271] qcedev_setup_context_bank Context Bank name:ns_context, is_secure:0, start_addr:0x60000000
[    0.639274] qcedev_setup_context_bank size:0x40000000, dev:ffffffc1ec013c10, mapping:ffffffc1ec0eab00
[    0.639347] iommu: Adding device 1de0000.qcedev:qcom_cedev_s_cb to group 16
[    0.641300] qcedev_setup_context_bank Attached 1de0000.qcedev:qcom_cedev_s_cb and create mapping
[    0.641305] qcedev_setup_context_bank Context Bank name:secure_context, is_secure:1, start_addr:0x60200000
[    0.641307] qcedev_setup_context_bank size:0x40000000, dev:ffffffc1ec014010, mapping:ffffffc1ec100400
[    0.642009] register_client_adhoc:find path.src 125 dest 512
[    0.642209] register_client_adhoc:Client handle 16 qcrypto-noc
[    0.643565] qcrypto 1de0000.qcrypto: QTI Crypto 5.4.1 device found @0x1de0000
[    0.643570] qcrypto 1de0000.qcrypto: CE device = 0x0 IO base, CE = ffffff800bea0000 Consumer (IN) PIPE 4,\x0aProducer (OUT) PIPE 5 IO base BAM = 0000000000000000\x0aBAM IRQ 104 Engines Availability = 0x2011073
[    0.644041] QCE50: qce_sps_init:  QTI MSM CE-BAM at 0x0000000001dc4000 irq 104
[    0.644419] qcrypto 1de0000.qcrypto: qcrypto-ecb-aes
[    0.644551] qcrypto 1de0000.qcrypto: qcrypto-cbc-aes
[    0.644668] qcrypto 1de0000.qcrypto: qcrypto-ctr-aes
[    0.644778] qcrypto 1de0000.qcrypto: qcrypto-ecb-des
[    0.644883] qcrypto 1de0000.qcrypto: qcrypto-cbc-des
[    0.644990] qcrypto 1de0000.qcrypto: qcrypto-ecb-3des
[    0.645102] qcrypto 1de0000.qcrypto: qcrypto-cbc-3des
[    0.645211] qcrypto 1de0000.qcrypto: qcrypto-xts-aes
[    0.645334] qcrypto 1de0000.qcrypto: qcrypto-sha1
[    0.645444] qcrypto 1de0000.qcrypto: qcrypto-sha256
[    0.645552] qcrypto 1de0000.qcrypto: qcrypto-aead-hmac-sha1-cbc-aes
[    0.645662] qcrypto 1de0000.qcrypto: qcrypto-aead-hmac-sha1-cbc-des
[    0.645770] qcrypto 1de0000.qcrypto: qcrypto-aead-hmac-sha1-cbc-3des
[    0.645876] qcrypto 1de0000.qcrypto: qcrypto-aead-hmac-sha256-cbc-aes
[    0.645987] qcrypto 1de0000.qcrypto: qcrypto-aead-hmac-sha256-cbc-des
[    0.646095] qcrypto 1de0000.qcrypto: qcrypto-aead-hmac-sha256-cbc-3des
[    0.646206] qcrypto 1de0000.qcrypto: qcrypto-hmac-sha1
[    0.646315] qcrypto 1de0000.qcrypto: qcrypto-hmac-sha256
[    0.646420] qcrypto 1de0000.qcrypto: qcrypto-aes-ccm
[    0.646526] qcrypto 1de0000.qcrypto: qcrypto-rfc4309-aes-ccm
[    0.647669] ufshcd-qcom 1d84000.ufshc: ufshcd_populate_vreg: Unable to find vccq-supply regulator, assuming enabled
[    0.650942] qcom_ice_get_pdevice: found ice device ffffffc1ec733a00
[    0.650944] qcom_ice_get_pdevice: matching platform device ffffffc1efebb000
[    0.651122] register_client_adhoc:find path.src 123 dest 512
[    0.651336] register_client_adhoc:find path.src 1 dest 757
[    0.651470] register_client_adhoc:Client handle 17 ufshc_mem
[    0.652155] scsi host0: ufshcd
[    0.656834] qcom_ice 1d90000.ufsice: QC ICE 3.1.75 device found @0xffffff800a8c8000
[    0.663905] SCSI Media Changer driver v0.25 
[    0.663946] [drm] Initialized
[    0.664075] register_client_adhoc:find path.src 20003 dest 20515
[    0.664144] register_client_adhoc:find path.src 20004 dest 20515
[    0.664190] register_client_adhoc:Client handle 18 disp_rsc_mnoc
[    0.664208] register_client_adhoc:find path.src 20001 dest 20513
[    0.664262] register_client_adhoc:Client handle 19 disp_rsc_llcc
[    0.664280] register_client_adhoc:find path.src 20000 dest 20512
[    0.664331] register_client_adhoc:Client handle 20 disp_rsc_ebi
[    0.664505] [sde_rsc_hw:rsc_hw_init:679]: sde rsc init successfully done
[    0.664524] [sde_rsc:sde_rsc_probe:1416]: sde rsc index:0 probed successfully
[    0.664887] msm-dsi-phy:[dsi_phy_driver_probe] Probe successful for dsi-phy-0
[    0.665019] msm-dsi-phy:[dsi_phy_driver_probe] Probe successful for dsi-phy-1
[    0.665505] AXI: get_pdata(): Error: Client name not found
[    0.665511] AXI: msm_bus_cl_get_pdata(): client has to provide missing entry for successful registration
[    0.665518] dsi-ctrl:[dsi_ctrl_dev_probe] Probe successful for dsi-ctrl-0
[    0.667249] msm-dsi-panel:[dsi_panel_parse_reset_sequence:1869] RESET SEQ LENGTH = 24
[    0.667268] msm-dsi-panel:[dsi_panel_parse_misc_features:1916] dsi_panel_parse_misc_features: ulps feature enabled
[    0.667271] msm-dsi-panel:[dsi_panel_parse_misc_features:1922] dsi_panel_parse_misc_features: ulps during suspend feature disabled
[    0.667340] msm-dsi-panel:[dsi_panel_parse_esd_config:3118] ESD enabled with mode: register_read
[    0.668155] msm-dsi-display:[dsi_display_get_boot_display] index = 0
[    0.668159] msm-dsi-display:[dsi_display_get_boot_display] index = 1
[    0.668740] register_client_adhoc:find path.src 1 dest 590
[    0.668908] register_client_adhoc:Client handle 21 mdss_reg
[    0.668934] register_client_adhoc:find path.src 22 dest 512
[    0.669065] register_client_adhoc:find path.src 23 dest 512
[    0.669196] register_client_adhoc:Client handle 22 mdss_sde
[    0.669279] msm_drm ae00000.qcom,mdss_mdp: bound af20000.qcom,sde_rscc (ops 0xffffff80090a4e08)
[    0.669285] msm_drm ae00000.qcom,mdss_mdp: bound soc:qcom,wb-display@0 (ops 0xffffff80090a91a8)
[    0.669554] msm-dsi-display:[dsi_display_bind] Successfully bind display panel 'dsi_samsung_sofef00_m_cmd_display'
[    0.669840] msm_drm ae00000.qcom,mdss_mdp: bound soc:qcom,dsi-display@18 (ops 0xffffff80090a5c50)
[    0.669878] [drm] mapped mdp address space @ffffff800e700000
[    0.669892] msm_drm ae00000.qcom,mdss_mdp: failed to get memory resource: vbif_nrt_phys
[    0.669964] [drm:_sde_kms_get_splash_data:3194] found continuous splash base address:9d400000 size:2400000
[    0.671424] [drm:sde_kms_hw_init:3323] sde hardware revision:0x40000001
[    0.672258] [drm] Created domain mdp_ns [80000000,80000000] secure=0
[    0.676077] iommu: Adding device ae00000.qcom,mdss_mdp:qcom,smmu_sde_sec_cb to group 17
[    0.676400] [drm] probing device qcom,smmu_sde_sec
[    0.676408] [drm] Created domain mdp_s [80000000,80000000] secure=1
[    0.680473] [drm] invalid feature map 9 for feature 10
[    0.680593] [drm] invalid feature map 9 for feature 10
[    0.680708] [drm] invalid feature map 9 for feature 10
[    0.680729] ufshcd-qcom 1d84000.ufshc: ufshcd_print_pwr_info:[RX, TX]: gear=[1, 1], lane[1, 1], pwr[SLOWAUTO_MODE, SLOWAUTO_MODE], rate = 0
[    0.680834] [drm] invalid feature map 9 for feature 10
[    0.769647] ufshcd-qcom 1d84000.ufshc: ufshcd_print_pwr_info:[RX, TX]: gear=[3, 3], lane[2, 2], pwr[FAST MODE, FAST MODE], rate = 2
[    0.770623] scsi 0:0:0:49488: Well-known LUN    SAMSUNG  KLUDG4U1EA-B0C1  0500 PQ: 0 ANSI: 6
[    0.771638] scsi 0:0:0:49456: Well-known LUN    SAMSUNG  KLUDG4U1EA-B0C1  0500 PQ: 0 ANSI: 6
[    0.772460] scsi 0:0:0:49476: Well-known LUN    SAMSUNG  KLUDG4U1EA-B0C1  0500 PQ: 0 ANSI: 6
[    0.773319] scsi 0:0:0:0: Direct-Access     SAMSUNG  KLUDG4U1EA-B0C1  0500 PQ: 0 ANSI: 6
[    0.774071] scsi 0:0:0:1: Direct-Access     SAMSUNG  KLUDG4U1EA-B0C1  0500 PQ: 0 ANSI: 6
[    0.774670] scsi 0:0:0:2: Direct-Access     SAMSUNG  KLUDG4U1EA-B0C1  0500 PQ: 0 ANSI: 6
[    0.775287] scsi 0:0:0:3: Direct-Access     SAMSUNG  KLUDG4U1EA-B0C1  0500 PQ: 0 ANSI: 6
[    0.775904] scsi 0:0:0:4: Direct-Access     SAMSUNG  KLUDG4U1EA-B0C1  0500 PQ: 0 ANSI: 6
[    0.776524] scsi 0:0:0:5: Direct-Access     SAMSUNG  KLUDG4U1EA-B0C1  0500 PQ: 0 ANSI: 6
[    0.783815] sdc: sdc1 sdc2
[    0.783995] sda: sda1 sda2 sda3 sda4 sda5 sda6 sda7 sda8 sda9 sda10 sda11 sda12 sda13 sda14 sda15 sda16 sda17
[    0.784933] sdb: sdb1 sdb2
[    0.785117] sdd: sdd1 sdd2 sdd3
[    0.787342] sde: sde1 sde2 sde3 sde4 sde5 sde6 sde7 sde8 sde9 sde10 sde11 sde12 sde13 sde14 sde15 sde16 sde17 sde18 sde19 sde20 sde21 sde22 sde23 sde24 sde25 sde26 sde27 sde28 sde29 sde30 sde31 sde32 sde33 sde34 sde35 sde36 sde37 sde38 sde39 sde40 sde41 sde42 sde43 sde44 sde45 sde46 sde47 sde48 sde49 sde50 sde51 sde52 sde53 sde54 sde55 sde56 sde57 sde58 sde59 sde60 sde61 sde62 sde63 sde64 sde65 sde66 sde67 sde68 sde69 sde70 sde71 sde72
[    0.792469] sdf: sdf1 sdf2 sdf3 sdf4 sdf5
[    0.805936] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.805939] [drm] No driver support for vblank timestamp query.
[    0.807335] msm-dsi-panel:[dsi_panel_parse_topology:2662] default topology: lm: 1 comp_enc:0 intf: 1
[    0.807702] msm-dsi-panel:[dsi_panel_parse_partial_update_caps:2750] partial update disabled as the property is not set
[    0.807871] dsi-ctrl:[_dsi_ctrl_setup_isr] [DSI_0] IRQ 661 registered
[    0.812277] iommu: Adding device 506a000.qcom,gmu:gmu_user to group 18
[    0.812544] iommu: Adding device 506a000.qcom,gmu:gmu_kernel to group 19
[    0.814092] register_client_adhoc:find path.src 26 dest 512
[    0.814352] register_client_adhoc:Client handle 23 grp3d
[    0.814373] register_client_adhoc:find path.src 26 dest 10036
[    0.814527] register_client_adhoc:Client handle 24 cnoc
[    0.814534] query_client_usecase_all: query_start
[    0.814593] query_client_usecase_all: query_start
[    0.815636] iommu: Adding device 5040000.qcom,kgsl-iommu:gfx3d_user to group 20
[    0.815896] iommu: Adding device 5040000.qcom,kgsl-iommu:gfx3d_secure to group 21
[    0.849521] libphy: Fixed MDIO Bus: probed
[    0.849523] tun: Universal TUN/TAP device driver, 1.6
[    0.849524] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    0.849563] PPP generic driver version 2.4.2
[    0.849633] PPP BSD Compression module registered
[    0.849635] PPP Deflate Compression module registered
[    0.849712] PPP MPPE Compression module registered
[    0.849716] NET: Registered protocol family 24
[    0.849820] CLD80211: Initializing
[    0.849894] usbcore: registered new interface driver r8152
[    0.849901] usbcore: registered new interface driver asix
[    0.849908] usbcore: registered new interface driver ax88179_178a
[    0.849921] usbcore: registered new interface driver cdc_ether
[    0.849925] usbcore: registered new interface driver net1080
[    0.849930] usbcore: registered new interface driver cdc_subset
[    0.849936] usbcore: registered new interface driver zaurus
[    0.849944] usbcore: registered new interface driver cdc_ncm
[    0.850325] msm_sharedmem: sharedmem_register_qmi: qmi init successful
[    0.855078] msm_sharedmem: msm_sharedmem_probe: Device created for client 'rmtfs'
[    0.856806] msm-qusb-phy-v2 88e2000.qusb: qusb_phy_probe:qusb-phy-ophost-init-seq got!
[    0.856935] msm-qusb-phy-v2 88e2000.qusb: usb_oe_exist=0
[    0.857237] actuator_regulator: Failed to create debugfs directory
[    0.858688] msm-dwc3 a600000.ssusb: unable to get dbm device
[    0.859774] usbcore: registered new interface driver usb-storage
[    0.860924] fgsi_init: Err allocating ipc_log_ctxt
[    0.861837] qpnp-pdphy c440000.qcom,spmi:qcom,pmi8998@2:qcom,usb-pdphy@1700: usbpd_create failed: -517
[    0.862269] mousedev: PS/2 mouse device common for all mice
[    0.862353] usbcore: registered new interface driver xpad
[    0.862355] synaptics,s3320: tpd_driver_init enter
[    0.862702] fingerprint_detect_probe
[    0.862843] fingerprint_detect soc:fingerprint_detect: fp-gpio-id0 - gpio: 91
[    0.862847] fingerprint_detect soc:fingerprint_detect: fingerprint_detect_probe: gpio_is_valid(fp_detect->id0_gpio=91)
[    0.862858] fingerprint_detect soc:fingerprint_detect: fp-gpio-id1 - gpio: 92
[    0.862860] fingerprint_detect soc:fingerprint_detect: fingerprint_detect_probe: gpio_is_valid(fp_detect->id1_gpio=92)
[    0.862872] fingerprint_detect soc:fingerprint_detect: fp-gpio-id2 - gpio: 95
[    0.862873] fingerprint_detect soc:fingerprint_detect: fingerprint_detect_probe: gpio_is_valid(fp_detect->id2_gpio=95)
[    0.872962] fingerprint_detect_probe: 011
[    0.883054] fingerprint_detect_probe: 011
[    0.893121] fingerprint_detect_probe: 011
[    0.893125] fingerprint_detect soc:fingerprint_detect: fingerprint_detect_probe: ok
[    0.893147] gf_spi: gf_init:fp version 3
[    0.893155] CHRDEV "goodix_fp_spi" major number 233 goes below the dynamic allocation range
[    0.893492] soc:goodix_fp supply vdd-3v2 not found, using dummy regulator
[    0.893523] gf_parse_dts: Failed to get regulator vdd voltage
[    0.893532] gf_parse_dts:00Failed to set regulator voltage vdd
[    0.893537] gf_parse_dts: Failed to get regulator vdd current
[    0.894011] input: gf_input as /devices/virtual/input/input1
[    0.894043] gf_spi: version V1.2.08
[    0.894106] gf_spi: status = 0x0
[    0.894109] [+silead_fp-] SILEAD_FP Driver, Version: v0.2.3.
[    0.894110] silfp_dev_init:fp version 3
[    0.894552] qcom,qpnp-rtc c440000.qcom,spmi:qcom,pm8998@0:qcom,pm8998_rtc: rtc core: registered qpnp_rtc as rtc0
[    0.894770] i2c /dev entries driver
[    0.894953] i2c_geni 88c000.i2c: No reset config specified
[    0.894959] i2c_geni 88c000.i2c: Bus frequency not specified, default to 400KHz.
[    0.895000] i2c_geni 88c000.i2c: Geni-I2C speed=400000
[    0.895713] pn544_parse_dt: 63, 12, 62, 116 error:0
[    0.895944] pn544_probe : requesting IRQ 315
[    0.896285] i2c_geni 890000.i2c: No reset config specified
[    0.896292] i2c_geni 890000.i2c: Bus frequency not specified, default to 400KHz.
[    0.896328] i2c_geni 890000.i2c: Geni-I2C speed=400000
[    0.896936] i2c_geni a88000.i2c: reset config specified
[    0.896975] i2c_geni a88000.i2c: Geni-I2C speed=100000
[    0.897632] i2c_geni a88000.i2c: i2c error :-107
[    0.897839] i2c_geni a88000.i2c: i2c error :-107
[    0.898043] i2c_geni a88000.i2c: i2c error :-107
[    0.898247] i2c_geni a88000.i2c: i2c error :-107
[    0.898253] I2C PMIC: i2c_pmic_read: i2c_pmic_read failed for 3 retries, rc = -107
[    0.898259] I2C PMIC: i2c_pmic_determine_initial_status: Couldn't read irq data rc=-107
[    0.898265] I2C PMIC: i2c_pmic_probe: Couldn't determine initial status rc=-107
[    0.898314] i2c_pmic: probe of 0-0008 failed with error -107
[    0.898578] i2c_geni a88000.i2c: i2c error :-107
[    0.898781] i2c_geni a88000.i2c: i2c error :-107
[    0.898982] i2c_geni a88000.i2c: i2c error :-107
[    0.899185] i2c_geni a88000.i2c: i2c error :-107
[    0.899189] I2C PMIC: i2c_pmic_read: i2c_pmic_read failed for 3 retries, rc = -107
[    0.899194] I2C PMIC: i2c_pmic_determine_initial_status: Couldn't read irq data rc=-107
[    0.899198] I2C PMIC: i2c_pmic_probe: Couldn't determine initial status rc=-107
[    0.899216] i2c_pmic: probe of 0-000c failed with error -107
[    0.899438] i2c_geni a90000.i2c: No reset config specified
[    0.899443] i2c_geni a90000.i2c: Bus frequency not specified, default to 400KHz.
[    0.899476] i2c_geni a90000.i2c: Geni-I2C speed=400000
[    0.900067] synaptics,s3320: before on cpu [4]
[    0.900073] synaptics,s3320: check CPU[0] is [online]
[    0.902197] iommu: Adding device aa00000.qcom,vidc:non_secure_cb to group 22
[    0.902653] iommu: Adding device aa00000.qcom,vidc:secure_bitstream_cb to group 23
[    0.903965] iommu: Adding device aa00000.qcom,vidc:secure_pixel_cb to group 24
[    0.904976] iommu: Adding device aa00000.qcom,vidc:secure_non_pixel_cb to group 25
[    0.906723] register_client_adhoc:find path.src 1 dest 590
[    0.906945] register_client_adhoc:Client handle 25 sde_reg
[    0.907015] iommu: Adding device ae00000.qcom,mdss_rotator:qcom,smmu_rot_unsec_cb to group 26
[    0.907119] iommu: Adding device ae00000.qcom,mdss_rotator:qcom,smmu_rot_sec_cb to group 27
[    0.907256] register_client_adhoc:find path.src 25 dest 512
[    0.907407] register_client_adhoc:Client handle 26 mdss_rotator
[    0.907417] register_client_adhoc:find path.src 1 dest 590
[    0.907536] register_client_adhoc:Client handle 27 mdss_rot_reg
[    0.907935] No change in context(0==0), skip
[    0.909464] sde_rotator_evtlog_create_debugfs: evtlog_status: enable:0, panic:1, dump:2
[    0.910692] sde_rotator ae00000.qcom,mdss_rotator: <SDEROT_INFO> SDE v4l2 rotator probe success
[    0.911865] sde_smmu_probe: <SDEROT_INFO> iommu v2 domain[0] mapping and clk register successful!
[    0.912854] sde_smmu_probe: <SDEROT_INFO> iommu v2 domain[1] mapping and clk register successful!
[    0.914303] iommu: Adding device soc:qcom,cam_smmu:msm_cam_smmu_ife to group 28
[    0.914451] iommu: Adding device soc:qcom,cam_smmu:msm_cam_smmu_jpeg to group 29
[    0.914517] platform soc:qcom,cam_smmu:msm_cam_icp_fw: assigned reserved memory node camera_region@0x8bf00000
[    0.914602] iommu: Adding device soc:qcom,cam_smmu:msm_cam_smmu_icp to group 30
[    0.914700] iommu: Adding device soc:qcom,cam_smmu:msm_cam_smmu_cpas_cdm to group 31
[    0.914830] iommu: Adding device soc:qcom,cam_smmu:msm_cam_smmu_fd to group 32
[    0.914906] iommu: Adding device soc:qcom,cam_smmu:msm_cam_smmu_lrme to group 33
[    0.915710] register_client_adhoc:find path.src 1 dest 589
[    0.915873] register_client_adhoc:Client handle 28 cam_ahb
[    0.915984] register_client_adhoc:find path.src 136 dest 512
[    0.916106] register_client_adhoc:Client handle 29 cam_hf_1_mnoc
[    0.916295] register_client_adhoc:find path.src 146 dest 778
[    0.916330] register_client_adhoc:Client handle 30 cam_hf_1_camnoc
[    0.916428] register_client_adhoc:find path.src 145 dest 512
[    0.916546] register_client_adhoc:Client handle 31 cam_hf_2_mnoc
[    0.916724] register_client_adhoc:find path.src 147 dest 778
[    0.916754] register_client_adhoc:Client handle 32 cam_hf_2_camnoc
[    0.916854] register_client_adhoc:find path.src 137 dest 512
[    0.916983] register_client_adhoc:Client handle 33 cam_sf_1_mnoc
[    0.917150] register_client_adhoc:find path.src 148 dest 778
[    0.917183] register_client_adhoc:Client handle 34 cam_sf_1_camnoc
[    0.924801] CAM_INFO: CAM-ISP: cam_vfe_reset: 390 calling RESET on vfe 0
[    0.924889] CAM_INFO: CAM-ISP: cam_vfe_reset: 390 calling RESET on vfe 0
[    0.927564] CAM_INFO: CAM-ISP: cam_vfe_reset: 390 calling RESET on vfe 1
[    0.927646] CAM_INFO: CAM-ISP: cam_vfe_reset: 390 calling RESET on vfe 1
[    0.928246] CAM_ERR: CAM-UTIL: cam_soc_util_get_option_clk_by_name: 256 No clk named ife_dsp_clk found. Dev acc4000.qcom,vfe-lite
[    0.928252] CAM_WARN: CAM-ISP: cam_vfe_init_soc_resources: 107 option clk get failed
[    0.930272] CAM_INFO: CAM-ISP: cam_vfe_reset: 390 calling RESET on vfe 2
[    0.930354] CAM_INFO: CAM-ISP: cam_vfe_reset: 390 calling RESET on vfe 2
[    0.931648] CAM_INFO: CAM-ISP: cam_isp_dev_probe: 148 Camera ISP probe complete
[    0.932770] CAM_INFO: CAM: cam_res_mgr_probe: 681 Disable shared gpio support.
[    0.933390] execprog: worker started
[    0.933392] execprog: waiting for /dev/socket/property_service
[    0.934659] CAM_INFO: CAM-ACTUATOR: cam_actuator_parse_dt: 58 No GPIO found
[    0.934675] CAM_INFO: CAM-ACTUATOR: cam_actuator_parse_dt: 58 No GPIO found
[    0.939604] CAM_ERR: CAM-SMMU: cam_smmu_create_add_handle_in_table: 608 Error: cam-secure already got handle 0x42562
[    0.941498] CAM_INFO: CAM-JPEG: cam_jpeg_dev_probe: 146 Camera JPEG probe complete
[    0.947539] SMB2: smb2_chg_config_init: PMI8998 Revision=0x2
[    0.947561] SMB2: smb2_parse_dt: T1:-22, T2:-22, T3:-22, fcc1:-22, fcc1:-22, cut1:-22, cut2:-22,full:-22
[    0.947566] SMB2: smb2_parse_dt: OTG_ICL:enable:1,CapThr:15,LowThr:1000000,NorThr:1500000
[    0.947567] SMB2: smb2_parse_dt: q1:-22,q2:-22,q3:-22,NORMAL_CUTOFF:-22,warm:-22,FULL=-22
[    0.947572] SMB2: smb2_parse_dt: T0=-30, T1=0, T2=50, T3=120, T4=160, T5=450, T6=530
[    0.947573] SMB2: smb2_parse_dt: BATT_TEMP_LITTLE_COLD=275, 3975, 3700
[    0.947574] SMB2: smb2_parse_dt: BATT_TEMP_COOL=425, 4400, 4150
[    0.947574] SMB2: smb2_parse_dt: BATT_TEMP_LITTLE_COOL=725, 4400, 4270
[    0.947575] SMB2: smb2_parse_dt: BATT_TEMP_PRE_NORMAL=1375, 4400, 4270
[    0.947576] SMB2: smb2_parse_dt: BATT_TEMP_NORMAL=1950, 4400, 4270
[    0.947576] SMB2: smb2_parse_dt: BATT_TEMP_WARM=750, 4080, 3980
[    0.947577] SMB2: smb2_parse_dt: cutoff_volt_with_charger=3250, disable-pd=1
[    0.947580] SMB2: smb2_parse_dt: sw_iterm_ma=264,check_batt_full_by_sw=1
[    0.947665] SMBLIB: op_set_collapse_fet: USBIN_5V_AICL_THRESHOLD_CFG_REG(0x1381)=0x3
[    0.947687] SMBLIB: op_set_collapse_fet: USBIN_CONT_AICL_THRESHOLD_CFG_REG(0x1384)=0x3
[    0.947742] SMBLIB: op_set_collapse_fet: USBIN_AICL_OPTIONS_CFG_REG(0x1380)=0xc7
[    0.947782] SMBLIB: op_set_collapse_fet: USBIN_LOAD_CFG_REG(0x1365)=0xf7
[    0.948111] SMBLIB: op_battery_temp_region_set: set temp_region=5
[    0.948184] register_client_adhoc:find path.src 1 dest 731
[    0.948400] register_client_adhoc:Client handle 35 dash_clk_vote
[    0.948808] actuator_regulator: Failed to create debugfs directory
[    0.948901] actuator_regulator: Failed to create debugfs directory
[    0.948961] SMB2: smb2_init_hw: vbat_max=4365000, ibat_max=500000, iusb_max=1800000
[    0.949129] SMBLIB: smblib_set_dc_suspend: 0
[    0.949180] SMBLIB: smblib_dc_icl_vote_callback: dc icl set 1200000
[    0.949345] SMBLIB: smblib_chg_disable_vote_callback: set chg_disable=0
[    0.950233] SMBLIB: get_prop_fast_adapter_update: no fast_charger register found
[    0.950239] SMBLIB: get_prop_fast_chg_started: no fast_charger register found
[    0.950514] SMBLIB: smblib_get_apsd_result: APSD_DTC_STATUS_DONE_BIT is 0
[    0.950593] SMBLIB: smblib_usb_plugin_locked: V  fail rc=-517
[    0.950597] SMBLIB: smblib_usb_plugin_locked: IRQ: detached
[    0.950602] SMBLIB: get_prop_fast_adapter_update: no fast_charger register found
[    0.950605] SMBLIB: get_prop_fast_chg_started: no fast_charger register found
[    0.950638] SMBLIB: get_prop_fast_adapter_update: no fast_charger register found
[    0.950742] SMBLIB: smblib_get_apsd_result: APSD_DTC_STATUS_DONE_BIT is 0
[    0.950798] SMBLIB: get_prop_fast_chg_started: no fast_charger register found
[    0.950812] SMBLIB: smblib_handle_usb_source_change: APSD_STATUS=0x00
[    0.950826] SMBLIB: smblib_get_apsd_result: APSD_DTC_STATUS_DONE_BIT is 0
[    0.950925] SMBLIB: smblib_set_icl_current: icl_ua=25000
[    0.950928] SMBLIB: smblib_set_usb_suspend: suspend=1
[    0.950960] SMBLIB: smblib_set_icl_current: icl_ua=2147483647
[    0.951002] SMBLIB: smblib_set_usb_suspend: suspend=0
[    0.951204] SMBLIB: smblib_get_apsd_result: APSD_DTC_STATUS_DONE_BIT is 0
[    0.951288] SMBLIB: get_property_from_fg: no bms psy found
[    0.951294] SMBLIB: get_prop_batt_capacity: Couldn't get capacity rc=-22
[    0.951299] SMBLIB: get_prop_fast_adapter_update: no fast_charger register found
[    0.951302] SMBLIB: get_prop_fast_chg_started: no fast_charger register found
[    0.951346] SMBLIB: get_property_from_fg: no bms psy found
[    0.951351] SMBLIB: get_prop_batt_capacity: Couldn't get capacity rc=-22
[    0.951354] SMBLIB: get_prop_fast_adapter_update: no fast_charger register found
[    0.951358] SMBLIB: get_prop_fast_chg_started: no fast_charger register found
[    0.951451] SMBLIB: op_get_fastchg_ing: no fast_charger register found
[    0.951615] SMBLIB: get_property_from_fg: no bms psy found
[    0.951619] SMBLIB: get_prop_batt_capacity: Couldn't get capacity rc=-22
[    0.951622] SMBLIB: get_prop_fast_adapter_update: no fast_charger register found
[    0.951626] SMBLIB: get_prop_fast_chg_started: no fast_charger register found
[    0.951665] SMBLIB: get_property_from_fg: no bms psy found
[    0.951668] SMBLIB: get_prop_batt_capacity: Couldn't get capacity rc=-22
[    0.951671] SMBLIB: get_prop_fast_adapter_update: no fast_charger register found
[    0.951676] SMBLIB: get_prop_fast_chg_started: no fast_charger register found
[    0.951762] SMBLIB: op_get_fastchg_ing: no fast_charger register found
[    0.958919] SMBLIB: smblib_set_icl_current: icl_ua=25000
[    0.958921] SMBLIB: smblib_set_usb_suspend: suspend=1
[    0.958953] SMBLIB: smblib_set_icl_current: icl_ua=2147483647
[    0.958976] SMBLIB: smblib_set_usb_suspend: suspend=0
[    0.959121] SMB2: smb2_probe: QPNP SMB2 probed successfully usb:present=0 type=0 batt:present = 1 health = 1 charge = 1
[    0.959715] BQ: bq27541_parse_dt: di->is_mcl_verion=0
[    0.960330] SMBLIB: get_property_from_fg: no bms psy found
[    0.960337] SMBLIB: get_prop_batt_capacity: Couldn't get capacity rc=-22
[    0.960341] SMBLIB: get_prop_fast_adapter_update: no fast_charger register found
[    0.960345] SMBLIB: get_prop_fast_chg_started: no fast_charger register found
[    0.960399] SMBLIB: get_property_from_fg: no bms psy found
[    0.960403] SMBLIB: get_prop_batt_capacity: Couldn't get capacity rc=-22
[    0.960407] SMBLIB: get_prop_fast_adapter_update: no fast_charger register found
[    0.960410] SMBLIB: get_prop_fast_chg_started: no fast_charger register found
[    0.960506] SMBLIB: op_get_fastchg_ing: no fast_charger register found
[    0.960678] BQ: bq27541_battery_probe: probe success battery exist 
[    0.961017] FASTCHG: dash_probe: dash_probe
[    0.963384] FASTCHG: check_n76e_support: n76e not exist
[    0.963386] FASTCHG: check_enhance_support: enhance dash not exist
[    0.963389] FASTCHG: dash_probe: dash_probe success
[    0.963409] dash_adapter_init success
[    0.970300] SMBLIB: smblib_get_apsd_result: APSD_DTC_STATUS_DONE_BIT is 0
[    0.978756] bcl_peripheral:bcl_read_soc battery percentage read error:-61
[    0.978769] thermal thermal_zone63: failed to read out thermal zone (-61)
[    0.978775] bcl_peripheral:bcl_read_soc battery percentage read error:-61
[    0.978779] thermal thermal_zone63: failed to read out thermal zone (-61)
[    0.978808] bcl_peripheral:bcl_read_soc battery percentage read error:-61
[    0.980379] 17d41000.qcom,cpucc:qcom,limits-dcvs@0 supply isens_vref not found, using dummy regulator
[    0.980422] msm_lmh_dcvs:limits_isens_vref_ldo_init Regulator:isens_vref settings read error:-22
[    0.991028] bcl_peripheral:bcl_read_soc battery percentage read error:-61
[    0.991040] thermal thermal_zone63: failed to read out thermal zone (-61)
[    0.994462] bcl_peripheral:bcl_read_soc battery percentage read error:-61
[    0.994469] thermal thermal_zone63: failed to read out thermal zone (-61)
[    1.007907] device-mapper: uevent: version 1.0.3
[    1.008028] device-mapper: ioctl: 4.35.0-ioctl (2016-06-23) initialised: dm-devel@redhat.com
[    1.008174] device-mapper: req-crypt: dm-req-crypt successfully initalized.\x0a
[    1.008503] bt_power_populate_dt_pinfo: bt-reset-gpio not provided in device tree
[    1.008527] bt_dt_parse_vreg_info: qca,bt-chip-pwd: is not provided in device tree
[    1.008530] bt_dt_parse_clk_info: clocks is not provided in device tree
[    1.008534] bt_power_populate_dt_pinfo: clock not provided in device tree
[    1.008646] CHRDEV "bt" major number 232 goes below the dynamic allocation range
[    1.010138] haptics: qpnp_haptics_probe: qpnp_haptics_probe done
[    1.010458] usbcore: registered new interface driver usbhid
[    1.010460] usbhid: USB HID core driver
[    1.010547] ashmem: initialized
[    1.010554] CHRDEV "qcwlanstate" major number 231 goes below the dynamic allocation range
[    1.010585] wlan_hdd_state wlan major(231) initialized
[    1.010590] ipa_ut ipa_ut_module_init:1044 Loading IPA test module...
[    1.010704] qpnp_coincell_charger_show_state: enabled=Y, voltage=3200 mV, resistance=800 ohm
[    1.011316] bimc-bwmon 1436400.qcom,cpu-bwmon: BW HWmon governor registered.
[    1.011348] bimc-bwmon 114a000.qcom,llcc-bwmon: BW HWmon governor registered.
[    1.011686] arm-memlat-mon soc:qcom,cpu0-memlat-mon: Memory Latency governor registered.
[    1.011710] arm-memlat-mon soc:qcom,cpu4-memlat-mon: Memory Latency governor registered.
[    1.011732] arm-memlat-mon soc:qcom,cpu0-l3lat-mon: Memory Latency governor registered.
[    1.011750] arm-memlat-mon soc:qcom,cpu4-l3lat-mon: Memory Latency governor registered.
[    1.011768] arm-memlat-mon soc:qcom,devfreq-compute: Compute governor registered.
[    1.012263] register_client_adhoc:find path.src 1 dest 770
[    1.012422] register_client_adhoc:Client handle 36 soc:qcom,cpubw
[    1.012901] register_client_adhoc:find path.src 129 dest 512
[    1.012938] register_client_adhoc:Client handle 37 soc:qcom,llccbw
[    1.014354] register_client_adhoc:find path.src 1 dest 512
[    1.014465] register_client_adhoc:Client handle 38 soc:qcom,memlat-cpu0
[    1.014646] register_client_adhoc:find path.src 1 dest 512
[    1.014758] register_client_adhoc:Client handle 39 soc:qcom,memlat-cpu4
[    1.014942] register_client_adhoc:find path.src 139 dest 627
[    1.015017] register_client_adhoc:Client handle 40 soc:qcom,snoc_cnoc_keepalive
[    1.015137] register_client_adhoc:find path.src 1 dest 512
[    1.015244] register_client_adhoc:Client handle 41 soc:qcom,mincpubw
[    1.015495] register_client_adhoc:find path.src 26 dest 512
[    1.015567] register_client_adhoc:Client handle 42 soc:qcom,gpubw
[    1.016862] extcon_data->key3_gpio=126
[    1.016865] extcon_data->key2_gpio=52
[    1.016867] extcon_data->key1_gpio=24
[    1.017616] CHRDEV "esoc" major number 230 goes below the dynamic allocation range
[    1.017862] CHRDEV "sensors" major number 229 goes below the dynamic allocation range
[    1.017992] usbcore: registered new interface driver snd-usb-audio
[    1.026355] msm-cdc-pinctrl soc:msm_cdc_pinctrl@49: msm_cdc_pinctrl_probe: Cannot get cdc gpio pinctrl:-19
[    1.026871] ****** max98927_i2c_probe id.name =max98927L id.driver_data= 0 
[    1.026875] max98927_reset:69------
[    1.050330] max98927 device version 0x42
[    1.059472] ****** max98927_i2c_probe snd_soc_register_codec id =0
[    1.059474] max98927 register codec ok.
[    1.059523] tfa98xx_i2c_init(): TFA98XX driver version v6.5.2
[    1.059564] fsa4480 driver fsa4480_i2c_init
[    1.060086] CHRDEV "avtimer" major number 228 goes below the dynamic allocation range
[    1.060626] apr_probe: Unable to create ipc log context
[    1.060785] CHRDEV "wcd-dsp-glink" major number 227 goes below the dynamic allocation range
[    1.061128] GACT probability NOT on
[    1.061137] Mirror/redirect action on
[    1.061142] u32 classifier
[    1.061143] Actions configured
[    1.061146] Netfilter messages via NETLINK v0.30.
[    1.061226] nf_conntrack version 0.5.0 (65536 buckets, 262144 max)
[    1.061275] ctnetlink v0.93: registering with nfnetlink.
[    1.061414] xt_time: kernel timezone is -0000
[    1.061438] wireguard: WireGuard 0.0.20190227 loaded. See www.wireguard.com for information.
[    1.061439] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[    1.061467] IPv4 over IPsec tunneling driver
[    1.061606] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.061674] arp_tables: arp_tables: (C) 2002 David S. Miller
[    1.061687] Initializing XFRM netlink socket
[    1.061756] NET: Registered protocol family 10
[    1.062095] mip6: Mobile IPv6
[    1.062101] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    1.062263] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.062445] NET: Registered protocol family 17
[    1.062451] NET: Registered protocol family 15
[    1.062458] Ebtables v2.0 registered
[    1.062515] l2tp_core: L2TP core driver, V2.0
[    1.062518] l2tp_ppp: PPPoL2TP kernel driver, V2.0
[    1.062519] l2tp_ip: L2TP IP encapsulation support (L2TPv3)
[    1.062524] l2tp_netlink: L2TP netlink interface
[    1.062533] l2tp_eth: L2TP ethernet pseudowire support (L2TPv3)
[    1.062534] l2tp_ip6: L2TP IP encapsulation support for IPv6 (L2TPv3)
[    1.062748] NET: Registered protocol family 27
[    1.062749] IPC_RTR: ipc_router_create_log_ctx: Unable to create IPC logging for [local_IPCRTR]
[    1.063228] actuator_regulator: Failed to create debugfs directory
[    1.065862] minidump-id not found for adsp
[    1.065981] subsys-pil-tz 17300000.qcom,lpass: for adsp segments only will be dumped.
[    1.066249] minidump-id not found for slpi
[    1.066335] subsys-pil-tz 5c00000.qcom,ssc: for slpi segments only will be dumped.
[    1.066504] minidump-id not found for cdsp
[    1.066588] subsys-pil-tz 8300000.qcom,turing: for cdsp segments only will be dumped.
[    1.066808] pil-q6v5-mss 4080000.qcom,mss: No pas_id found.
[    1.066916] platform 4080000.qcom,mss:qcom,mba-mem@0: assigned reserved memory node mba_region@0x96500000
[    1.067042] pil-q6v5-mss 4080000.qcom,mss: for modem segments only will be dumped.
[    1.067055] pil-q6v5-mss 4080000.qcom,mss: for md_modem segments only will be dumped.
[    1.067923] Force USB running as High speed
[    1.068634] dwc3 a600000.dwc3: Error getting ipc_log_ctxt
[    1.068728] register_client_adhoc:find path.src 61 dest 512
[    1.068914] register_client_adhoc:find path.src 61 dest 676
[    1.069018] register_client_adhoc:find path.src 1 dest 583
[    1.069130] register_client_adhoc:Client handle 43 usb0
[    1.069215] Invalid index Defaulting curr to 0
[    1.069415] msm-dwc3 a600000.ssusb: Not attached
[    1.070556] FG: fg_parse_dt: use_external_fg=1
[    1.078277] FG: fg_gen3_probe: battery SOC:50 voltage: 4199696uV temp: 310
[    1.078854] qcom,fg-gen3 c440000.qcom,spmi:qcom,pmi8998@2:qpnp,fg: thermal_zone_of_sensor_register() failed rc:-19
[    1.083376] FG: fg_psy_get_property: unsupported property 24
[    1.083410] SMBLIB: load_data: stored_soc[0xb8], shutdown_soc[92]
[    1.085370] FG: fg_psy_get_property: unsupported property 1
[    1.200076] synaptics,s3320: after on cpu [0]
[    1.200082] synaptics,s3320: synaptics_ts_probe  is called
[    1.200102] synaptics,s3320: synaptics_parse_dts ts->support_hw_poweroff =1
[    1.200109] synaptics,s3320: synaptics,tx-rx-num is 15 30 
[    1.200114] synaptics,s3320: synaptic:ts->irq_gpio:125 irq_flags:8200 max_num 10
[    1.200151] synaptics,s3320: synaptics_parse_dts: avdd current = 20000
[    1.200233] synaptics,s3320: synaptics_parse_dts:avdd_vmin=3008000,avdd_vmax=3008000
[    1.200343] 3-0020 supply vcc_i2c_1v8 not found, using dummy regulator
[    1.200379] synaptics,s3320: synaptics_parse_dts: Failed to get regulator vdd current
[    1.200384] synaptics,s3320: synaptics_parse_dts: Failed to get regulator vdd voltage
[    1.237020] thermal thermal_zone64: failed to read out thermal zone (-61)
[    1.238057] register_client_adhoc:find path.src 61 dest 512
[    1.238209] register_client_adhoc:find path.src 61 dest 676
[    1.238308] register_client_adhoc:find path.src 1 dest 583
[    1.238413] register_client_adhoc:Client handle 43 usb0
[    1.238805] Registered cp15_barrier emulation handler
[    1.238830] Registered setend emulation handler
[    1.238843] core_ctl: Creating CPU group 0
[    1.238845] core_ctl: Init CPU0 state
[    1.238845] core_ctl: Init CPU1 state
[    1.238846] core_ctl: Init CPU2 state
[    1.238847] core_ctl: Init CPU3 state
[    1.238940] core_ctl: Creating CPU group 4
[    1.238941] core_ctl: Init CPU4 state
[    1.238941] core_ctl: Init CPU5 state
[    1.238942] core_ctl: Init CPU6 state
[    1.238942] core_ctl: Init CPU7 state
[    1.239183] registered taskstats version 1
[    1.241502] msm-dwc3 a600000.ssusb: DWC3 exited from low power mode
[    1.242780] msm-dwc3 a600000.ssusb: DWC3 in low power mode
[    1.258072] spss_utils [spss_init]: spss-utils driver Ver 2.0 30-Mar-2017.
[    1.260659] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb1 to group 34
[    1.261095] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb2 to group 35
[    1.261350] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb3 to group 36
[    1.261598] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb4 to group 37
[    1.261845] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb5 to group 38
[    1.262099] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb6 to group 39
[    1.262347] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb7 to group 40
[    1.262595] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb8 to group 41
[    1.262842] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb9 to group 42
[    1.263537] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb10 to group 43
[    1.263613] fastrpc: probe of soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb10 failed with error -1
[    1.263637] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb11 to group 44
[    1.263885] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb12 to group 45
[    1.264545] fastrpc: probe of soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb10 failed with error -1
[    1.264554] CHRDEV "adsprpc-smd" major number 225 goes below the dynamic allocation range
[    1.265190] ngd_msm_ctrl 171c0000.slim: error creating ipc_logging context
[    1.265245] iommu: Adding device 171c0000.slim:qcom,iommu_slim_ctrl_cb to group 46
[    1.266073] ngd_msm_ctrl 17240000.slim: error creating ipc_logging context
[    1.266165] iommu: Adding device 17240000.slim:qcom,iommu_slim_ctrl_cb to group 47
[    1.267707] input: gpio-keys as /devices/platform/soc/soc:gpio_keys/input/input2
[    1.267837] qcom,qpnp-rtc c440000.qcom,spmi:qcom,pm8998@0:qcom,pm8998_rtc: setting system clock to 1970-01-03 10:12:14 UTC (209534)
[    1.268404] lpm_levels_of: idx 1 7100
[    1.268406] lpm_levels_of: idx 2 5989
[    1.268407] lpm_levels_of: idx 2 3933
[    1.268442] lpm_levels_of: idx 1 1744
[    1.268443] lpm_levels_of: idx 2 1000
[    1.268444] lpm_levels_of: Residency < 0 for LPM
[    1.268446] lpm_levels_of: idx 2 1000
[    1.268473] lpm_levels: register_cluster_lpm_stats()
[    1.268531] lpm_levels: register_cluster_lpm_stats()
[    1.270942] rmnet_ipa3 started initialization
[    1.271041] RNDIS_IPA module is loaded.
[    1.272396] msm_bus_late_init: Remove handoff bw requests
[    1.272999] actuator_regulator: Failed to create debugfs directory
[    1.273027] ufs_card_gdsc: disabling
[    1.273079] actuator_regulator: disabling
[    1.273080] actuator_regulator: disabling
[    1.273087] ext_5v_boost: disabling
[    1.273089] regulator_proxy_consumer_remove_all: removing regulator proxy consumer requests
[    1.273190] ALSA device list:
[    1.273191] No soundcards found.
[    1.273214] Warning: unable to open an initial console.
[    1.273318] Freeing unused kernel memory: 576K
[    1.283498] EXT4-fs (sda14): mounted filesystem without journal. Opts: (null)
[    1.286164] EXT4-fs (sde44): mounted filesystem without journal. Opts: (null)
[    1.344345] synaptics,s3320: F12_2D_QUERY_BASE = 4a \x0a \x09\x09\x09F12_2D_CMD_BASE  = 0 \x0a\x09\x09\x09F12_2D_CTRL_BASE\x09= 13 \x0a\x09\x09\x09F12_2D_DATA_BASE\x09= 8 \x0a\x09\x09\x09
[    1.344952] synaptics,s3320: F34_FLASH_QUERY_BASE = 23 \x0a\x09\x09\x09F34_FLASH_CMD_BASE\x09= 0 \x0a\x09\x09\x09F34_FLASH_CTRL_BASE\x09= c \x0a\x09\x09\x09F34_FLASH_DATA_BASE\x09= 0 \x0a\x09\x09\x09
[    1.345939] synaptics,s3320: F54_QUERY_BASE = 43 \x0a\x09\x09\x09F54_CMD_BASE  = 42 \x0a\x09\x09\x09F54_CTRL_BASE\x09= e \x0a\x09\x09\x09F54_DATA_BASE\x09= 0 \x0a\x09\x09\x09
[    1.346368] synaptics,s3320: before fw update bootloader_mode[0x0]
[    1.347902] synaptics,s3320: CURRENT_FIRMWARE_ID = 0x4543313031303134
[    1.352823] synaptics,s3320: max_x = 1080,max_y = 2280; max_x_ic = 1079,max_y_ic = 2279
[    1.353851] synaptics,s3320: synaptics_soft_reset !!!
[    1.440512] of_batterydata_get_best_profile: OP_3300mah found
[    1.457160] synaptics,s3320: synaptics_tpedge_limitfunc limit_enable =1,mode:0x67 !
[    1.457630] input: synaptics,s3320 as /devices/platform/soc/a90000.i2c/i2c-3/3-0020/input/input3
[    1.510070] synaptics,s3320: synaptic:ts->irq is 377
[    1.520966] synaptics,s3320: synaptics_ts_probe 3203: normal end
[    1.830782] init: init first stage started!
[    1.830863] init: Using Android DT directory /proc/device-tree/firmware/android/
[    1.831252] init: [libfs_mgr]fs_mgr_read_fstab_default(): failed to find device default fstab
[    1.893549] SMBLIB: smblib_get_apsd_result: APSD_DTC_STATUS_DONE_BIT is 0
[    1.947431] FG: fg_psy_get_property: unsupported property 1
[    1.971195] EXT4-fs (sde44): mounted filesystem without journal. Opts: barrier=1,discard
[    1.971232] init: [libfs_mgr]__mount(source=/dev/block/platform/soc/1d84000.ufshc/by-name/vendor_b,target=/vendor,type=ext4)=0: Success
[    1.971294] init: Skipped setting INIT_AVB_VERSION (not in recovery mode)
[    1.971347] init: Loading SELinux policy
[    1.971380] selinux: SELinux: op_load_policy default\x0a
[    1.973543] SELinux: 65536 avtab hash slots, 268543 rules.
[    1.981695] BQ: bq27541_hw_config: DEVICE_BQ27411
[    1.983314] BQ: check_df_version: DEVICE DF:177
[    1.983315] BQ: bq27541_hw_config: DEVICE_TYPE is 0x421, FIRMWARE_VERSION is 0x109
[    1.983316] BQ: bq27541_hw_config: Complete bq27541 configuration 0x208A
[    2.000397] SELinux: 65536 avtab hash slots, 268543 rules.
[    2.000407] SELinux:  1 users, 4 roles, 2221 types, 0 bools, 1 sens, 1024 cats
[    2.000410] SELinux:  93 classes, 268543 rules
[    2.001401] SELinux:  Completing initialization.
[    2.001402] SELinux:  Setting up existing superblocks.
[    2.034987] selinux: SELinux: Loaded policy from /sepolicy\x0a
[    2.040420] selinux: SELinux: Loaded file_contexts\x0a
[    2.041716] init: init second stage started!
[    2.051181] init: Using Android DT directory /proc/device-tree/firmware/android/
[    2.053302] selinux: SELinux: Loaded file_contexts\x0a
[    2.053308] init: Running restorecon...
[    2.056475] init: waitid failed: No child processes
[    2.058039] init: Couldn't load property file '/odm/default.prop': open() failed: No such file or directory: No such file or directory
[    2.059257] selinux: avc:  denied  { set } for  scontext=u:r:vendor_init:s0 tcontext=u:object_r:exported_secure_prop:s0 tclass=property_service permissive=0\x0a
[    2.059265] init: Unable to set property 'ro.adb.secure' to '1' in property file '/vendor/default.prop': SELinux permission check failed
[    2.059500] init: Created socket '/dev/socket/property_service', mode 666, user 0, group 0
[    2.059932] init: Forked subcontext for 'u:r:vendor_init:s0' with pid 498
[    2.070062] execprog: saving binary to userspace
[    2.097213] ueventd: ueventd started!
[    2.101499] selinux: SELinux: Loaded file_contexts\x0a
[    2.101530] ueventd: Parsing file /ueventd.rc...
[    2.101978] ueventd: Parsing file /vendor/ueventd.rc...
[    2.104115] ueventd: Parsing file /odm/ueventd.rc...
[    2.104134] ueventd: Unable to read config file '/odm/ueventd.rc': open() failed: No such file or directory
[    2.104192] ueventd: Parsing file /ueventd.qcom.rc...
[    2.104208] ueventd: Unable to read config file '/ueventd.qcom.rc': open() failed: No such file or directory
[    2.124930] execprog: execution finished
[    2.176982] SMBLIB: smblib_get_apsd_result: APSD_DTC_STATUS_DONE_BIT is 0
[    2.193888] killall: 
[    2.193890] msm_irqbalance
[    2.193892] : No such process
[    2.193894] 
[    2.230789] FG: fg_psy_get_property: unsupported property 1
[    3.429584] ueventd: Coldboot took 1.324 seconds
[    3.502385] keychord: using input dev qpnp_pon for fevent
[    3.502388] keychord: using input dev gf_input for fevent
[    3.502390] keychord: using input dev gpio-keys for fevent
[    3.512252] Registered swp emulation handler
[    3.576156] init: wait for '/dev/block/platform/soc/1d84000.ufshc' took 0ms
[    3.577026] init: mount_tempfs=0
[    3.579989] EXT4-fs (sda17): Ignoring removed nomblk_io_submit option
[    3.629782] EXT4-fs (sda17): recovery complete
[    3.630395] EXT4-fs (sda17): mounted filesystem with ordered data mode. Opts: errors=remount-ro,nomblk_io_submit
[    4.169449] e2fsck: e2fsck 1.43.3 (04-Sep-2016)\x0a
[    4.169461] e2fsck: Pass 1: Checking inodes, blocks, and sizes\x0a
[    4.169463] e2fsck: Pass 2: Checking directory structure\x0a
[    4.169464] e2fsck: Pass 3: Checking directory connectivity\x0a
[    4.169466] e2fsck: Pass 4: Checking reference counts\x0a
[    4.169467] e2fsck: Pass 5: Checking group summary information\x0a
[    4.169469] e2fsck: /dev/block/bootdevice/by-name/userdata: 28831/7208960 files (2.2% non-contiguous), 2098521/28835840 blocks\x0a
[    4.175554] EXT4-fs (sda17): mounted filesystem with ordered data mode. Opts: barrier=1,noauto_da_alloc,discard
[    4.179428] EXT4-fs (sde37): mounted filesystem with ordered data mode. Opts: barrier=1
[    4.181337] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: barrier=1
[    4.187464] EXT4-fs (sde59): mounted filesystem with ordered data mode. Opts: 
[    4.188970] EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: barrier=1
[    4.205280] logd.auditd: start
[    4.205286] logd.klogd: 4205269636
[    4.226209] binder: 542:542 ioctl 4018620d 7ff38182e0 returned -22
[    4.249984] QSEECOM: qseecom_register_listener: Service 8192 is registered
[    4.250292] QSEECOM: qseecom_register_listener: Service 12288 is registered
[    4.250598] QSEECOM: qseecom_register_listener: Service 16384 is registered
[    4.252801] QSEECOM: qseecom_register_listener: Service 11 is registered
[    4.253082] QSEECOM: qseecom_register_listener: Service 10 is registered
[    4.254199] QSEECOM: qseecom_register_listener: Service 28672 is registered
[    4.255131] QSEECOM: qseecom_register_listener: Service 36864 is registered
[    4.255914] QSEECOM: qseecom_register_listener: Service 45056 is registered
[    4.257105] QSEECOM: qseecom_register_listener: Service 4352 is registered
[    4.337304] IPA smmu_info.s1_bypass_arr[AP]=1 smmu_info.fast_map=0
[    4.337508] IPA smmu_info.s1_bypass_arr[WLAN]=1 smmu_info.fast_map=0
[    4.337773] IPA smmu_info.s1_bypass_arr[UC]=1 smmu_info.fast_map=0
[    4.338286] ipa ipa3_uc_state_check:284 uC interface not initialized
[    4.340945] ueventd: firmware: loading 'ipa_fws.mdt' for '/devices/platform/soc/soc:qcom,ipa_fws/firmware/ipa_fws.mdt'
[    4.344141] subsys-pil-tz soc:qcom,ipa_fws: ipa_fws: loading from 0x000000008c400000 to 0x000000008c405000
[    4.377905] subsys-pil-tz soc:qcom,ipa_fws: ipa_fws: Brought out of reset
[    4.377951] ipa ipa3_uc_state_check:284 uC interface not initialized
[    4.378254] IPA FW loaded successfully
[    4.378534] ipa ipa3_uc_state_check:284 uC interface not initialized
[    4.382538] vdc: Waited 20ms for vold
[    4.383505] ipahal ipahal_init:1577 failed to create IPA regdump log, continue...
[    4.383587] CHRDEV "ipaNatTable" major number 224 goes below the dynamic allocation range
[    4.383638] ipa ipa3_set_resorce_groups_min_max_limits:4968 skip configuring ipa_rx_hps_clients from HLOS
[    4.383799] gsi soc:qcom,msm_gsi: gsi_register_device:839 GSI irq is wake enabled 106
[    4.386122] CHRDEV "ipa_tethering_bridge" major number 223 goes below the dynamic allocation range
[    4.386361] rmnet_ipa3 started initialization
[    4.386364] IPA SSR support = True
[    4.386365] IPA ipa-loaduC = True
[    4.386366] IPA SG support = True
[    4.386367] IPA Napi Enable = True
[    4.386368] using default for wan-rx-desc-size = 256
[    4.386414] IPA driver initialization was successful.
[    4.387176] CHRDEV "wwan_ioctl" major number 222 goes below the dynamic allocation range
[    4.387511] rmnet_ipa completed initialization
[    4.405484] fscrypt: AES-256-CTS-CBC using implementation "cts(cbc-aes-ce)"
[    4.433280] ipa ipa3_uc_state_check:289 uC is not loaded
[    4.465532] vdc: Waited 0ms for vold
[    4.509124] init: oem_property_main
[    4.548400] logd: logdr: UID=0 GID=0 PID=608 n tail=0 logMask=19 pid=0 start=0ns timeout=0ns
[    4.555867] logd: logdr: UID=0 GID=0 PID=611 b tail=0 logMask=19 pid=0 start=0ns timeout=0ns
[    4.565646] SELinux:  Context  is not valid (left unmapped).
[    4.574578] init: e4crypt_set_directory_policy ro.boot.qe = 
[    4.574601] init: Setting policy on /data/fpc_images
[    4.575004] init: Found policy 7709e4b766230604 at /data/fpc_images which matches expected value
[    4.575806] init: e4crypt_set_directory_policy ro.boot.qe = 
[    4.575818] init: Setting policy on /data/fpc
[    4.576203] init: Policy for /data/fpc set to 7709e4b766230604 modes 127/4
[    4.579721] init: Not setting policy on /data/media
[    4.584431] init: e4crypt_set_directory_policy ro.boot.qe = 
[    4.584449] init: Setting policy on /data/connectivity
[    4.622915] update_verifier: Started with arg 1: nonencrypted
[    4.626552] update_verifier: Booting slot 1: isSlotMarkedSuccessful=1
[    4.626557] update_verifier: Leaving update_verifier.
[    4.868637] init: oem_property_main
[    4.870836] subsys-restart: __subsystem_get(): Changing subsys fw_name to slpi
[    4.876350] logd.daemon: reinit
[    4.876633] subsys-pil-tz 17300000.qcom,lpass: adsp: loading from 0x000000008c500000 to 0x000000008df00000
[    4.876737] subsys-pil-tz 8300000.qcom,turing: cdsp: loading from 0x0000000095d00000 to 0x0000000096500000
[    4.876884] subsys-pil-tz 5c00000.qcom,ssc: slpi: loading from 0x0000000096700000 to 0x0000000097880000
[    5.020903] subsys-pil-tz 8300000.qcom,turing: cdsp: Brought out of reset
[    5.030643] subsys-pil-tz 8300000.qcom,turing: Subsystem error monitoring/handling services are up
[    5.037489] subsys-pil-tz 8300000.qcom,turing: cdsp: Power/Clock ready interrupt received
[    5.043218] IPC_RTR: ipc_router_create_log_ctx: Unable to create IPC logging for [cdsp_IPCRTR]
[    5.053008] sysmon-qmi: sysmon_clnt_svc_arrive: Connection established between QMI handle and cdsp's SSCTL service
[    5.078033] dashd: dashd_main enterd
[    5.078042] dashd: run /sbin/dashd ENGINE START!
[    5.078070] FASTCHG: dash_dev_write: fw_ver_count=5746
[    5.078106] dashd: THREAD is created!
[    5.078812] dashd: type=USB_PD, soc=92, temp=25, vbat=4000, ibat=0
[    5.086911] dashd: THREAD running
[    5.086933] dashd: dash read
[    5.114416] rmt_storage:INFO:check_support_using_libmdm: Modem subsystem found on target!
[    5.116386] rmt_storage:INFO:main: Done with init now waiting for messages!
[    5.134231] servloc: service_locator_svc_arrive: Connection established with the Service locator
[    5.134264] servloc: init_service_locator: Service locator initialized
[    5.140065] subsys-pil-tz 17300000.qcom,lpass: adsp: Brought out of reset
[    5.144362] subsys-pil-tz 17300000.qcom,lpass: Subsystem error monitoring/handling services are up
[    5.145146] apr_tal_link_state_cb: edge[lpass] link state[0]
[    5.145389] IPC_RTR: ipc_router_create_log_ctx: Unable to create IPC logging for [lpass_IPCRTR]
[    5.150708] sysmon-qmi: sysmon_clnt_svc_arrive: Connection established between QMI handle and adsp's SSCTL service
[    5.152081] subsys-pil-tz 17300000.qcom,lpass: adsp: Power/Clock ready interrupt received
[    5.153397] audio_notifer_reg_service: service PDR_ADSP is in use
[    5.155989] service-notifier: root_service_service_arrive: Connection established between QMI handle and 74 service
[    5.168615] service-notifier: root_service_service_ind_cb: Indication received from msm/adsp/audio_pd, state: 0x1fffffff, trans-id: 1
[    5.169470] smartpa dts config is max98927
[    5.169476] smartpa_present
[    5.173416] service-notifier: send_ind_ack: Indication ACKed for transid 1, service msm/adsp/audio_pd, instance 74!
[    5.194792] subsys-pil-tz 5c00000.qcom,ssc: slpi: Brought out of reset
[    5.196950] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x0000000017184000
[    5.196957] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x0000000017184000
[    5.196960] sps_register_bam_device : unable to create IPC Logging 2 for bam 0x0000000017184000
[    5.196962] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x0000000017184000
[    5.196964] sps_register_bam_device : unable to create IPC Logging 4 for bam 0x0000000017184000
[    5.197112] sps:BAM 0x0000000017184000 (va:0x0000000000000000) enabled: ver:0x19, number of pipes:23
[    5.197114] sps:BAM 0x0000000017184000 is registered.
[    5.210097] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x0000000017204000
[    5.210106] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x0000000017204000
[    5.210108] sps_register_bam_device : unable to create IPC Logging 2 for bam 0x0000000017204000
[    5.210110] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x0000000017204000
[    5.210112] sps_register_bam_device : unable to create IPC Logging 4 for bam 0x0000000017204000
[    5.210155] sps:BAM 0x0000000017204000 (va:0x0000000000000000) enabled: ver:0x19, number of pipes:13
[    5.210156] sps:BAM 0x0000000017204000 is registered.
[    5.224166] healthd: Unknown power supply type 'BMS'
[    5.224193] healthd: Unknown power supply type 'Main'
[    5.235076] subsys-pil-tz 5c00000.qcom,ssc: Subsystem error monitoring/handling services are up
[    5.241992] subsys-pil-tz 5c00000.qcom,ssc: slpi: Power/Clock ready interrupt received
[    5.251779] IPC_RTR: ipc_router_create_log_ctx: Unable to create IPC logging for [dsps_IPCRTR]
[    5.254723] healthd: battery l=92 v=4000 t=25.0 h=2 st=3 c=0 fc=2878000 cc=0 chg=
[    5.261509] healthd: Unknown power supply type 'BMS'
[    5.261540] healthd: Unknown power supply type 'Main'
[    5.267149] healthd: battery l=92 v=4000 t=25.0 h=2 st=3 c=0 fc=2878000 cc=0 chg=
[    5.280177] logd: logdr: UID=0 GID=0 PID=773 b tail=0 logMask=2 pid=0 start=0ns timeout=0ns
[    5.280390] logd: logdr: UID=0 GID=0 PID=775 b tail=0 logMask=80 pid=0 start=0ns timeout=0ns
[    5.280466] logd: logdr: UID=0 GID=0 PID=774 b tail=0 logMask=4 pid=0 start=0ns timeout=0ns
[    5.280559] logd: logdr: UID=0 GID=0 PID=772 b tail=0 logMask=19 pid=0 start=0ns timeout=0ns
[    5.296203] Mass Storage Function, version: 2009/09/11
[    5.296210] LUN: removable read only CD-ROM file: (no medium)
[    5.316976] sdm845-asoc-snd soc:qcom,msm-audio-apr:sound-tavil: msm_init_wsa_dev: Max WSA devices is 0 for this target?
[    5.317040] sdm845-asoc-snd soc:qcom,msm-audio-apr:sound-tavil: ASoC: platform /soc/qcom,msm-pcm-voice not registered
[    5.322620] slimbus sb-1: of_slim: invalid E-addr
[    5.323278] wcd-slim tavil-slim-pgd: Platform data from device tree
[    5.323786] wcd-slim tavil-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-vdd-buck: vol=[1800000 1800000]uV, curr=[650000]uA, ond 0
[    5.323913] wcd-slim tavil-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-buck-sido: vol=[1800000 1800000]uV, curr=[250000]uA, ond 0
[    5.323983] wcd-slim tavil-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-vdd-tx-h: vol=[1800000 1800000]uV, curr=[25000]uA, ond 0
[    5.324043] wcd-slim tavil-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-vdd-rx-h: vol=[1800000 1800000]uV, curr=[25000]uA, ond 0
[    5.324103] wcd-slim tavil-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-vddpx-1: vol=[1800000 1800000]uV, curr=[10000]uA, ond 0
[    5.324179] wcd-slim tavil-slim-pgd: wcd9xxx_slim_probe: probing for wcd type: 4, name: tavil-slim-pgd
[    5.326175] smartpa dts config is max98927
[    5.326182] smartpa_present
[    5.330350] file system registered
[    5.331361] CHRDEV "msm_usb_bridge" major number 221 goes below the dynamic allocation range
[    5.332612] f_cdev_alloc: port_name:at_usb0 (0000000000000000) portno:(0)
[    5.333938] f_cdev_alloc: port_name:at_usb1 (0000000000000000) portno:(1)
[    5.334844] f_cdev_alloc: port_name:at_usb2 (0000000000000000) portno:(2)
[    5.347713] sysmon-qmi: sysmon_clnt_svc_arrive: Connection established between QMI handle and slpi's SSCTL service
[    5.352294] boot_mode: 
[    5.365782] synaptics,s3320: start update ******* fw_name:tp/fw_synaptics_17819.img,ts->manu_name:S3706B
[    5.365791] synaptics,s3320: enter version 17819 update mode
[    5.380412] slimbus:1 laddr:0xcf, EAPC:0x1:0x50
[    5.380628] wcd-slim tavil-slim-pgd: wcd9xxx_slim_device_up: slim device up, dev_up = 1
[    5.380832] slimbus:1 laddr:0xce, EAPC:0x0:0x50
[    5.382932] wcd-slim tavil-slim-pgd: wcd934x_get_cdc_info: wcd9xxx chip id major 0x108, minor 0x1
[    5.382940] wcd9xxx_core_res_init: num_irqs = 32, num_irq_regs = 4
[    5.383054] synaptics,s3320: FW_ID:2827775--CONFIG_ID  FW_NAME:tp/fw_synaptics_17819.img
[    5.391728] synaptics,s3320_firmware: fwu_start_reflash: Start of reflash process
[    5.392354] synaptics,s3320_firmware: fwu_go_nogo: Device firmware ID = 2827775
[    5.392358] synaptics,s3320_firmware: fwu_go_nogo: Image firmware ID = 2827775
[    5.393493] synaptics,s3320_firmware: fwu_go_nogo: No need to do reflash
[    5.394537] synaptics,s3320_firmware: fwu_start_reflash: End of reflash process
[    5.444461] kgsl kgsl-3d0: loading /vendor/firmware_mnt/image/a630_sqe.fw failed with error -13
[    5.446160] kgsl kgsl-3d0: loading /vendor/firmware_mnt/image/a630_gmu.bin failed with error -13
[    5.448062] sdm845-asoc-snd soc:qcom,msm-audio-apr:sound-tavil: msm_init_wsa_dev: Max WSA devices is 0 for this target?
[    5.448124] sdm845-asoc-snd soc:qcom,msm-audio-apr:sound-tavil: ASoC: platform /soc/qcom,msm-pcm-voice not registered
[    5.449111] slimbus sb-3: of_slim: invalid E-addr
[    5.450642] 'opened /dev/sdsprpc-smd c 225 2'
[    5.451049] smartpa dts config is max98927
[    5.451053] smartpa_present
[    5.480892] QSEECOM: qseecom_load_app: App (soter64) does'nt exist, loading apps for first time
[    5.509759] QSEECOM: qseecom_load_app: App with id 2 (soter64) now loaded
[    5.523781] subsys-pil-tz soc:qcom,kgsl-hyp: loading /vendor/firmware_mnt/image/a630_zap.mdt failed with error -13
[    5.526037] subsys-pil-tz soc:qcom,kgsl-hyp: a630_zap: loading from 0x000000008c415000 to 0x000000008c416000
[    5.546231] sdm845-asoc-snd soc:qcom,msm-audio-apr:sound-tavil: msm_init_wsa_dev: Max WSA devices is 0 for this target?
[    5.546825] tavil_codec tavil_codec: tavil_soc_codec_probe()
[    5.550425] subsys-pil-tz soc:qcom,kgsl-hyp: loading /vendor/firmware_mnt/image/a630_zap.b02 failed with error -13
[    5.550752] .....wcd934x_edev probe success!
[    5.554689] subsys-pil-tz soc:qcom,kgsl-hyp: a630_zap: Brought out of reset
[    5.557178] wcd-dsp-mgr soc:qcom,wcd-dsp-mgr: for wdsp segments only will be dumped.
[    5.557426] wcd-dsp-mgr soc:qcom,wcd-dsp-mgr: bound tavil_codec (ops 0xffffff80091d6b48)
[    5.557588] wcd-dsp-mgr soc:qcom,wcd-dsp-mgr: bound spi0.0 (ops 0xffffff80091dc688)
[    5.557591] wcd-dsp-mgr soc:qcom,wcd-dsp-mgr: bound soc:qcom,glink-spi-xprt-wdsp (ops 0xffffff800907f4e8)
[    5.560685] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for TERT_MI2S_TX --> TERT_MI2S_TX --> MultiMedia17 Mixer
[    5.560692] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route TERT_MI2S_TX -> TERT_MI2S_TX -> MultiMedia17 Mixer
[    5.560697] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for TERT_MI2S_TX --> TERT_MI2S_TX --> MultiMedia18 Mixer
[    5.560700] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route TERT_MI2S_TX -> TERT_MI2S_TX -> MultiMedia18 Mixer
[    5.560703] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for TERT_MI2S_TX --> TERT_MI2S_TX --> MultiMedia19 Mixer
[    5.560706] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route TERT_MI2S_TX -> TERT_MI2S_TX -> MultiMedia19 Mixer
[    5.560720] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for TERT_MI2S_TX --> TERT_MI2S_TX --> MultiMedia28 Mixer
[    5.560723] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route TERT_MI2S_TX -> TERT_MI2S_TX -> MultiMedia28 Mixer
[    5.560727] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for TERT_MI2S_TX --> TERT_MI2S_TX --> MultiMedia29 Mixer
[    5.560729] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route TERT_MI2S_TX -> TERT_MI2S_TX -> MultiMedia29 Mixer
[    5.560750] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for QUAT_MI2S_TX --> QUAT_MI2S_TX --> MultiMedia17 Mixer
[    5.560753] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route QUAT_MI2S_TX -> QUAT_MI2S_TX -> MultiMedia17 Mixer
[    5.560756] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for QUAT_MI2S_TX --> QUAT_MI2S_TX --> MultiMedia19 Mixer
[    5.560759] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route QUAT_MI2S_TX -> QUAT_MI2S_TX -> MultiMedia19 Mixer
[    5.560772] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for QUAT_MI2S_TX --> QUAT_MI2S_TX --> MultiMedia28 Mixer
[    5.560775] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route QUAT_MI2S_TX -> QUAT_MI2S_TX -> MultiMedia28 Mixer
[    5.560778] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for QUAT_MI2S_TX --> QUAT_MI2S_TX --> MultiMedia29 Mixer
[    5.560781] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route QUAT_MI2S_TX -> QUAT_MI2S_TX -> MultiMedia29 Mixer
[    5.565182] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for MM_UL28
[    5.565188] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route MultiMedia28 Mixer -> direct -> MM_UL28
[    5.565209] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for MM_UL29
[    5.565211] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route MultiMedia29 Mixer -> direct -> MM_UL29
[    5.567276] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL28 MUX
[    5.567279] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route PRI_MI2S_TX -> PRI_MI2S_TX -> AUDIO_REF_EC_UL28 MUX
[    5.567298] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL28 MUX
[    5.567301] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route SEC_MI2S_TX -> SEC_MI2S_TX -> AUDIO_REF_EC_UL28 MUX
[    5.567319] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL28 MUX
[    5.567321] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route TERT_MI2S_TX -> TERT_MI2S_TX -> AUDIO_REF_EC_UL28 MUX
[    5.567334] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL28 MUX
[    5.567337] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route QUAT_MI2S_TX -> QUAT_MI2S_TX -> AUDIO_REF_EC_UL28 MUX
[    5.567351] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL29 MUX
[    5.567353] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route PRI_MI2S_TX -> PRI_MI2S_TX -> AUDIO_REF_EC_UL29 MUX
[    5.567372] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL29 MUX
[    5.567374] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route SEC_MI2S_TX -> SEC_MI2S_TX -> AUDIO_REF_EC_UL29 MUX
[    5.567392] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL29 MUX
[    5.567394] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route TERT_MI2S_TX -> TERT_MI2S_TX -> AUDIO_REF_EC_UL29 MUX
[    5.567407] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL29 MUX
[    5.567410] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route QUAT_MI2S_TX -> QUAT_MI2S_TX -> AUDIO_REF_EC_UL29 MUX
[    5.567456] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no source widget found for AUDIO_REF_EC_UL28 MUX
[    5.567459] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route AUDIO_REF_EC_UL28 MUX -> direct -> MM_UL28
[    5.567480] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no source widget found for AUDIO_REF_EC_UL29 MUX
[    5.567482] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route AUDIO_REF_EC_UL29 MUX -> direct -> MM_UL29
[    5.575482] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for TERT_MI2S_TX --> TERT_MI2S_TX --> VoLTE Stub Tx Mixer
[    5.575489] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route TERT_MI2S_TX -> TERT_MI2S_TX -> VoLTE Stub Tx Mixer
[    5.602547] spi_geni a80000.spi: tx_fifo 16 rx_fifo 16 tx_width 32
[    5.700855] max98927_probe: enter
[    5.716137] msm_audrx_init: dev_namesoc:qcom,msm-dai-q6:qcom,msm-dai-q6-sb-0-rx
[    5.722218] apr_tal_notify_state: Channel state[0]
[    5.733084] sdm845-asoc-snd soc:qcom,msm-audio-apr:sound-tavil: ASoC: no sink widget found for SpkrLeft IN
[    5.733097] sdm845-asoc-snd soc:qcom,msm-audio-apr:sound-tavil: ASoC: Failed to add route SPK1 OUT -> direct -> SpkrLeft IN
[    5.733120] sdm845-asoc-snd soc:qcom,msm-audio-apr:sound-tavil: ASoC: no sink widget found for SpkrRight IN
[    5.733123] sdm845-asoc-snd soc:qcom,msm-audio-apr:sound-tavil: ASoC: Failed to add route SPK2 OUT -> direct -> SpkrRight IN
[    5.733143] sdm845-asoc-snd soc:qcom,msm-audio-apr:sound-tavil: wcd_mbhc_start: qcom,msm-mbhc-usbc-audio-supported in dt node is missing or false
[    5.733145] sdm845-asoc-snd soc:qcom,msm-audio-apr:sound-tavil: wcd_mbhc_start: skipping USB c analog configuration
[    5.747229] input: sdm845-tavil-snd-card Headset Jack as /devices/platform/soc/soc:qcom,msm-audio-apr/soc:qcom,msm-audio-apr:sound-tavil/sound/card0/input4
[    5.747369] input: sdm845-tavil-snd-card Button Jack as /devices/platform/soc/soc:qcom,msm-audio-apr/soc:qcom,msm-audio-apr:sound-tavil/sound/card0/input5
[    5.747416] keychord: using input dev sdm845-tavil-snd-card Button Jack for fevent
[    5.748231] sdm845-asoc-snd soc:qcom,msm-audio-apr:sound-tavil: Sound card sdm845-tavil-snd-card registered
[    5.748330] property qcom,us-euro-gpios not detected in node /soc/qcom,msm-audio-apr/sound-tavil
[    5.748337] msm_asoc_machine_probe: fsa4480_enable is false
[    5.748341] msm_prepare_us_euro
[    5.748343] setHpSwGpioPin hp_sw_gpio gpio_is_valid failed
[    5.748688] msm_get_pinctrl: could not get mi2s_disable pinstate
[    5.754291] CAM_INFO: CAM-ICP: cam_icp_mgr_hw_open: 2803 FW download done successfully
[    6.026717] extcon_dev_work ,key[0]=1,key[1]=1,key[2]=0
[    6.340385] capability: warning: `main' uses 32-bit capabilities (legacy support in use)
[    6.606353] msm_qti_pp_get_rms_value_control, back not active to query rms be_idx:3
[    6.610753] CAM_ERR: CAM-SENSOR: cam_sensor_update_id_info: 486 Sensor Addr: 0x1010100 sensor_id: 0x13 sensor_mask: 0x0
[    6.612848] core_get_license_status: cmdrsp_license_result.result = 0x15 for module 0x131ff
[    6.613385] msm-ext-disp-audio-codec-rx soc:qcom,msm-ext-disp:qcom,msm-ext-disp-audio-codec-rx: msm_ext_disp_audio_type_get: codec_data, get_audio_edid_blk() or get_intf_id is NULL
[    6.613602] max98927_info_rivision_ctl
[    6.613635] max98927_info_rivision_ctl
[    6.613667] max98927_get_rivision_ctl
[    6.613850] max98927_digital_gain_get: spk_gain setting returned 0
[    6.619168] max98927_mono_out_get_l: value:128
[    6.619350] max98927_mono_out_get_r: value:0
[    6.620339] max98927_left_channel_enable_get: value:0
[    6.620504] max98927_right_channel_enable_get: value:0
[    6.623668] CAM_ERR: CAM-SENSOR: cam_sensor_match_id: 709 sensor id 0x13 matched
[    6.623847] CAM_INFO: CAM-SENSOR: cam_sensor_match_id: 732 imx519 sensor_version: 0x10
[    6.636964] CAM_ERR: CAM-SENSOR: cam_sensor_match_id: 744 sensor_id: 0x519, fuse_id:7ab0519070120210
[    6.636971] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 866 Probe Succees,slot:0,slave_addr:0x34,sensor_id:0x519
[    6.647219] CAM_ERR: CAM-SENSOR: cam_sensor_driver_cmd: 1094 fuse_id:7ab0519070120210
[    6.748595] CAM_ERR: CAM-SENSOR: cam_sensor_update_id_info: 486 Sensor Addr: 0x0 sensor_id: 0x0 sensor_mask: 0x0
[    6.761273] CAM_ERR: CAM-SENSOR: cam_sensor_match_id: 712 sensor id register is 0x0
[    6.761372] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 866 Probe Succees,slot:2,slave_addr:0x20,sensor_id:0x371
[    6.785265] CAM_ERR: CAM-SENSOR: cam_sensor_update_id_info: 486 Sensor Addr: 0x1010100 sensor_id: 0x61 sensor_mask: 0x0
[    6.797942] CAM_ERR: CAM-SENSOR: cam_sensor_match_id: 706 sensor id 0x13 does not match 0x61
[    6.830046] CAM_ERR: CAM-SENSOR: cam_sensor_init_subdev_do_ioctl: 131 cam_sensor_subdev_ioctl failed
[    6.830293] CAM_ERR: CAM-SENSOR: cam_sensor_update_id_info: 486 Sensor Addr: 0x1010100 sensor_id: 0x13 sensor_mask: 0x0
[    6.842487] CAM_ERR: CAM-SENSOR: cam_sensor_match_id: 709 sensor id 0x13 matched
[    6.842580] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 866 Probe Succees,slot:1,slave_addr:0x20,sensor_id:0x376
[    6.892404] msm_qti_pp_get_rms_value_control, back not active to query rms be_idx:3
[    6.898455] core_get_license_status: cmdrsp_license_result.result = 0x15 for module 0x131ff
[    6.898961] msm-ext-disp-audio-codec-rx soc:qcom,msm-ext-disp:qcom,msm-ext-disp-audio-codec-rx: msm_ext_disp_audio_type_get: codec_data, get_audio_edid_blk() or get_intf_id is NULL
[    6.899169] max98927_info_rivision_ctl
[    6.899202] max98927_info_rivision_ctl
[    6.899234] max98927_get_rivision_ctl
[    6.899415] max98927_digital_gain_get: spk_gain setting returned 0
[    6.903194] max98927_mono_out_get_l: value:128
[    6.903381] max98927_mono_out_get_r: value:0
[    6.903882] max98927_left_channel_enable_get: value:0
[    6.903973] max98927_right_channel_enable_get: value:0
[    6.973634] synaptics,s3320: F12_2D_QUERY_BASE = 4a \x0a \x09\x09\x09F12_2D_CMD_BASE  = 0 \x0a\x09\x09\x09F12_2D_CTRL_BASE\x09= 13 \x0a\x09\x09\x09F12_2D_DATA_BASE\x09= 8 \x0a\x09\x09\x09
[    6.974232] synaptics,s3320: F34_FLASH_QUERY_BASE = 23 \x0a\x09\x09\x09F34_FLASH_CMD_BASE\x09= 0 \x0a\x09\x09\x09F34_FLASH_CTRL_BASE\x09= c \x0a\x09\x09\x09F34_FLASH_DATA_BASE\x09= 0 \x0a\x09\x09\x09
[    6.975140] synaptics,s3320: F54_QUERY_BASE = 43 \x0a\x09\x09\x09F54_CMD_BASE  = 42 \x0a\x09\x09\x09F54_CTRL_BASE\x09= e \x0a\x09\x09\x09F54_DATA_BASE\x09= 0 \x0a\x09\x09\x09
[    6.977089] synaptics,s3320: max_x = 1080,max_y = 2280; max_x_ic = 1079,max_y_ic = 2279
[    6.977344] synaptics,s3320: Firmware self check success
[    6.977935] synaptics,s3320: CURRENT_FIRMWARE_ID 0x4543313031303134!
[    6.987599] set_dload_mode ON
[    6.987891] CAM_ERR: CAM-EEPROM: cam_eeprom_read_memory: 159 OIS module 0x24
[    6.990671] cgroup: cgroup: disabling cgroup2 socket matching due to net_prio or net_cls activation
[    7.003185] ep0_open success!
[    7.003195] read descriptors
[    7.003201] read strings
[    7.004076] subsys-restart: __subsystem_get(): Changing subsys fw_name to modem
[    7.006364] ipa-wan ipa3_ssr_notifier_cb:2731 IPA received MPSS BEFORE_POWERUP
[    7.006671] ipa ipa3_uc_state_check:289 uC is not loaded
[    7.006679] ipa-wan ipa3_ssr_notifier_cb:2743 IPA BEFORE_POWERUP handling is complete
[    7.007800] pil-q6v5-mss 4080000.qcom,mss: modem: loading from 0x000000008e000000 to 0x0000000095800000
[    7.015317] pil-q6v5-mss 4080000.qcom,mss: Debug policy not present - msadp. Continue.
[    7.015352] pil-q6v5-mss 4080000.qcom,mss: Loading MBA and DP (if present) from 0x0000000096500000 to 0x0000000096600000
[    7.035660] 'opened /dev/adsprpc-smd c 225 0'
[    7.044481] init: starting service 'wifidisplayhalservice'...
[    7.045334] init: starting service '0HuqVPR'...
[    7.046072] init: Could not start service 'nqnfcinfo' as part of class 'late_start': Cannot find '/system/vendor/bin/nqnfcinfo': No such file or directory
[    7.046234] init: starting service 'cnss-daemon'...
[    7.047486] init: Created socket '/dev/socket/statsdw', mode 222, user 1066, group 1066
[    7.050533] init: Failed to open file '/d/mmc0/mmc0:0001/ext_csd': No such file or directory
[    7.057520] init: Could not start service 'ssgqmigd' as part of class 'late_start': Cannot find '/vendor/bin/ssgqmigd': No such file or directory
[    7.057534] init: Could not start service 'ssgtzd' as part of class 'late_start': Cannot find '/vendor/bin/ssgtzd': No such file or directory
[    7.057780] init: starting service 'mlid'...
[    7.058698] init: starting service 'loc_launcher'...
[    7.060484] 'opened /dev/cdsprpc-smd c 225 3'
[    7.092740] pil-q6v5-mss 4080000.qcom,mss: MBA boot done
[    7.094718] BQ: bq27541_battery_soc: bq27541_battery_soc = 92
[    7.094749] SMBLIB: load_data: stored_soc[0xb8], shutdown_soc[92]
[    7.094750] BQ: fg_soc_calibrate: soc=92, soc_load=92
[    7.195167] QSEECOM: qseecom_load_app: App (dhsecapp) does'nt exist, loading apps for first time
[    7.248021] Process lowi-server granted CAP_NET_ADMIN from Android group net_admin.
[    7.248024] Please update the .rc file to explictly set 'capabilities NET_ADMIN'
[    7.248025] Implicit grants are deprecated and will be removed in the future.
[    7.272947] QSEECOM: qseecom_load_app: App with id 3 (dhsecapp) now loaded
[    7.293629] QSEECOM: qseecom_load_app: App (haventkn) does'nt exist, loading apps for first time
[    7.336273] QSEECOM: qseecom_load_app: App with id 4 (haventkn) now loaded
[    7.517905] msm-dsi-panel:[dsi_panel_set_backlight:724] ---backlight level = 1023---
[    7.572150] init: oem_property_main
[    7.579708] logd.daemon: reinit
[    7.599803] set_dload_mode ON
[    8.160091] BQ: bq27411_modify_soc_smooth_parameter: bq27411_modify_soc_smooth_parameter begin
[    8.258146] BQ: unseal: bq27541 : i=1,bq27541_di->device_type=1
[    8.314152] BQ: bq27411_enable_config_mode: bq27411_enable_config_mode success i = 1, config_mode = 0x119, enable = 1
[    8.318821] healthd: battery l=92 v=4151 t=26.7 h=2 st=3 c=-881 fc=2878000 cc=0 chg=
[    8.319239] healthd: battery l=92 v=4151 t=26.7 h=2 st=3 c=-881 fc=2878000 cc=0 chg=
[    8.331702] healthd: battery l=92 v=4151 t=26.7 h=2 st=3 c=-881 fc=2878000 cc=0 chg=
[    8.332698] healthd: battery l=92 v=4151 t=26.7 h=2 st=3 c=-881 fc=2878000 cc=0 chg=
[    8.351348] BQ: bq27411_write_block_data_cmd: bq27411 write blk_id = 0x6b, addr = 0x42, old_val = 0x71, new_val = 0x11, old_csum = 0xfd, new_csum = 0x5d
[    8.368821] healthd: battery l=92 v=4151 t=26.7 h=2 st=3 c=-881 fc=2878000 cc=0 chg=
[    8.372175] healthd: battery l=92 v=4151 t=26.7 h=2 st=3 c=-881 fc=2878000 cc=0 chg=
[    8.377239] BQ: bq27411_write_block_data_cmd: bq27411 write blk_id = 0x40, addr = 0x42, old_val = 0xf, new_val = 0x7, old_csum = 0x1, new_csum = 0x9
[    8.508284] pil-q6v5-mss 4080000.qcom,mss: modem: Brought out of reset
[    8.559703] pil-q6v5-mss 4080000.qcom,mss: Subsystem error monitoring/handling services are up
[    8.561429] ipa-wan ipa3_ssr_notifier_cb:2747 ipa3_ssr_notifier_cb:2747 IPA received MPSS AFTER_POWERUP
[    8.561437] ipa-wan ipa3_ssr_notifier_cb:2752 IPA AFTER_POWERUP handling is complete
[    8.561702] apr_tal_link_state_cb: edge[mpss] link state[0]
[    8.561928] FASTCHG: dashchg_fw_check: result=success
[    8.561931] FASTCHG: reset_mcu_and_request_irq: 
[    8.562655] IPC_RTR: ipc_router_create_log_ctx: Unable to create IPC logging for [mpss_IPCRTR]
[    8.565425] rmt_storage:INFO:rmt_storage_open_cb: Processing: Open Request for /boot/modem_fs1!
[    8.565566] service-notifier: root_service_service_arrive: Connection established between QMI handle and 180 service
[    8.567542] sysmon-qmi: sysmon_clnt_svc_arrive: Connection established between QMI handle and modem's SSCTL service
[    8.567624] rmt_storage:INFO:rmt_storage_open_cb: Processing: Open Request for /boot/modem_fs2!
[    8.568125] rmt_storage:INFO:rmt_storage_open_cb: Processing: Open Request for /boot/modem_fsg!
[    8.568754] rmt_storage:INFO:rmt_storage_open_cb: Processing: Open Request for /boot/modem_fsc!
[    8.572229] rmt_storage:INFO:rmt_storage_alloc_buff_cb: Received req_size: 0! avail: 2097152
[    8.572943] rmt_storage:INFO:rmt_storage_rw_iovec_cb: Read iovec request received for /oem/nvbk/static
[    8.573091] rmt_storage:INFO:rmt_storage_client_thread: Calling Read [offset=0, size=512]for /oem/nvbk/static!
[    8.574093] rmt_storage:INFO:rmt_storage_client_thread: Done Read (bytes = 512) for /oem/nvbk/static!
[    8.588387] FASTCHG: dashchg_fw_update: FW check success
[    8.879759] ipa-wan ipa3_handle_indication_req:152 not send indication
[    8.879922] Sending QMI_IPA_INIT_MODEM_DRIVER_REQ_V01
[    8.884621] ipa ipa3_uc_wdi_event_log_info_handler:364 WDI stats ofst=0x47130
[    8.884635] ipa ipa3_uc_ntn_event_log_info_handler:39 NTN feature missing 0x9
[    8.887793] QMI_IPA_INIT_MODEM_DRIVER_REQ_V01 response received
[    8.920443] IPC_RTR: process_new_server_msg: Server 00001002 create rejected, version = 0
[    8.930958] BQ: bq27411_enable_config_mode: bq27411_enable_config_mode success i = 21, config_mode = 0x109, enable = 0
[    8.943647] BQ: bq27411_modify_soc_smooth_parameter: bq27411_modify_soc_smooth_parameter end
[    9.417404] pil-q6v5-mss 4080000.qcom,mss: modem: Power/Clock ready interrupt received
[    9.569247] service-notifier: root_service_service_ind_cb: Indication received from msm/modem/wlan_pd, state: 0x1fffffff, trans-id: 1
[    9.569518] service-notifier: send_ind_ack: Indication ACKed for transid 1, service msm/modem/wlan_pd, instance 180!
[    9.571477] icnss: QMI Server Connected: state: 0x981
[    9.629128] IPC_RTR: process_new_server_msg: Server 00001003 create rejected, version = 0
[    9.930529] ip_local_port_range: prefer different parity for start/end values.
[   10.214098] ipa ipa3_assign_policy:2879 get close-by 8192
[   10.214105] ipa ipa3_assign_policy:2885 set rx_buff_sz 7680
[   10.214108] ipa ipa3_assign_policy:2907 set aggr_limit 6
[   10.215878] ipa-wan ipa3_wwan_ioctl:1715 dev(rmnet_data0) register to IPA
[   10.299959] ipa-wan ipa3_wwan_ioctl:1715 dev(rmnet_data1) register to IPA
[   10.387389] ipa-wan ipa3_wwan_ioctl:1715 dev(rmnet_data2) register to IPA
[   10.486823] ipa-wan ipa3_wwan_ioctl:1715 dev(rmnet_data3) register to IPA
[   10.575807] ipa-wan ipa3_wwan_ioctl:1715 dev(rmnet_data4) register to IPA
[   10.611567] synaptics,s3320: key_disable_write_func key_back:0 key_appselect:0
[   10.698680] ipa-wan ipa3_wwan_ioctl:1715 dev(rmnet_data5) register to IPA
[   10.787044] ipa-wan ipa3_wwan_ioctl:1715 dev(rmnet_data6) register to IPA
[   10.864432] acc_open
[   10.864437] acc_release
[   10.884653] ipa-wan ipa3_wwan_ioctl:1715 dev(rmnet_data7) register to IPA
[   10.912456] ipa-wan ipa3_wwan_ioctl:1715 dev(rmnet_data8) register to IPA
[   10.922924] gf_spi: Found
[   10.922927] gf_spi: Succeed to open device. irq = 373
[   10.922932] gf_spi: Sensor has already powered-on.
[   10.922934] gf_spi: gf_ioctl GF_IOC_RESET. 
[   10.937716] ipa-wan ipa3_wwan_ioctl:1715 dev(rmnet_data9) register to IPA
[   10.940863] QSEECOM: qseecom_load_app: App (gfp5288) does'nt exist, loading apps for first time
[   10.983073] ipa-wan ipa3_wwan_ioctl:1715 dev(rmnet_data10) register to IPA
[   11.060797] QSEECOM: qseecom_load_app: App with id 5 (gfp5288) now loaded
[   11.099569] synaptics,s3320: tp_gesture_write_func write argc1[0xdf],argc2[0x0]
[   11.137048] synaptics,s3320: key_disable_write_func key_back:0 key_appselect:0
[   11.144396] Wifi Turning On from UI
[   11.144400] wlan: Loading driver v5.1.1.71H ()
[   11.147633] wlan: driver loaded
[   11.150306] healthd: battery l=92 v=4151 t=26.7 h=2 st=3 c=-881 fc=2878000 cc=0 chg=
[   11.152689] healthd: battery l=92 v=4151 t=26.7 h=2 st=3 c=-881 fc=2878000 cc=0 chg=
[   11.165748] gf_spi: IRQ has been enabled.
[   11.165752] gf_spi: vendor_id : 0x0
[   11.165753] gf_spi: mode : 0xe8
[   11.165753] gf_spi: operation: 0x37
[   11.688602] sdcardfs version 2.0
[   11.688608] sdcardfs: dev_name -> /data/media
[   11.688609] sdcardfs: options -> fsuid=1023,fsgid=1023,multiuser,derive_gid,default_normal,mask=6,userid=0,gid=1015
[   11.688613] sdcardfs: mnt -> 0000000000000000
[   11.688652] sdcardfs: mounted on top of /data/media type ext4
[   11.689012] Remount options were mask=23,gid=9997 for vfsmnt 0000000000000000.
[   11.689019] sdcardfs : options - debug:1
[   11.689021] sdcardfs : options - gid:9997
[   11.689022] sdcardfs : options - mask:23
[   11.689099] Remount options were mask=7,gid=9997 for vfsmnt 0000000000000000.
[   11.689102] sdcardfs : options - debug:1
[   11.689104] sdcardfs : options - gid:9997
[   11.689105] sdcardfs : options - mask:7
[   11.863573] msm-dsi-panel:[dsi_panel_set_srgb_mode:4354] sRGB Mode Off.
[   11.863841] Real Send DCI-P3 off command
[   11.864034] msm-dsi-panel:[dsi_panel_set_dci_p3_mode:4380] DCI-P3 Mode Off.
[   11.864179] Real Send Night mode off command
[   11.864504] msm-dsi-panel:[dsi_panel_set_night_mode:4407] night Mode Off.
[   11.864899] msm-dsi-panel:[dsi_panel_set_adaption_mode:4479] adaption Mode Off.
[   11.898007] subsys-restart: __subsystem_get(): Changing subsys fw_name to venus
[   11.904159] subsys-pil-tz aae0000.qcom,venus: venus: loading from 0x0000000095800000 to 0x0000000095d00000
[   11.950421] subsys-pil-tz aae0000.qcom,venus: venus: Brought out of reset
[   12.041924] binder: unexpected work type, 4, not freed
[   12.405107] init: processing action (sys.training=0) from (/system/etc/init/caffed.rc:6)
[   12.546509] init: processing action (vendor.ims.DATA_DAEMON_STATUS=1) from (/vendor/etc/init/hw/init.target.rc:446)
[   12.547622] init: starting service 'vendor.ims_rtp_daemon'...
[   12.557114] init: Received control message 'stop' for 'vendor.imsrcsservice' from pid: 1166 (/system/vendor/bin/imsdatadaemon)
[   12.557135] init: Sending signal 9 to service 'vendor.imsrcsservice' (pid 906) process group...
[   12.567869] libprocessgroup: Successfully killed process cgroup uid 1000 pid 906 in 10ms
[   12.569344] init: Service 'vendor.imsrcsservice' (pid 906) received signal 9
[   12.572153] init: Received control message 'start' for 'vendor.imsrcsservice' from pid: 1166 (/system/vendor/bin/imsdatadaemon)
[   12.572724] init: starting service 'vendor.imsrcsservice'...
[   12.697205] HTB: quantum of class 10001 is big. Consider r2q change.
[   12.723222] HTB: quantum of class 10010 is big. Consider r2q change.
[   12.742839] icnss: WLAN FW is ready: 0xd87
[   12.742942] qcom,rpmh-regulator soc:rpmh-regulator-ldoa7: TCS Busy, retrying RPMH message send
[   12.744349] wlan: probing driver v5.1.1.71H
[   12.744358] ipa ipa3_uc_reg_rdyCB:1774 bad parm. inout=          (null) 
[   12.745410] ueventd: firmware: loading 'wlan/qca_cld/WCNSS_qcom_cfg.ini' for '/devices/platform/soc/18800000.qcom,icnss/firmware/wlan!qca_cld!WCNSS_qcom_cfg.ini'
[   12.747151] ueventd: loading /devices/platform/soc/18800000.qcom,icnss/firmware/wlan!qca_cld!WCNSS_qcom_cfg.ini took 1ms
[   12.748138] ipa ipa3_uc_reg_rdyCB:1774 bad parm. inout=          (null) 
[   12.748469] ipa ipa3_uc_reg_rdyCB:1774 bad parm. inout=          (null) 
[   12.797093] IPC_RTR: process_new_server_msg: Server 00001003 create rejected, version = 0
[   12.863477] cnss_utils: WLAN MAC address is not set, type 0
[   12.864380] ueventd: firmware: loading 'wlan/qca_cld/wlan_mac.bin' for '/devices/platform/soc/18800000.qcom,icnss/firmware/wlan!qca_cld!wlan_mac.bin'
[   12.864857] ueventd: loading /devices/platform/soc/18800000.qcom,icnss/firmware/wlan!qca_cld!wlan_mac.bin took 0ms
[   12.874900] init: Received control message 'start' for 'wpa_supplicant' from pid: 924 (/system/bin/wificond)
[   13.007797] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   13.014414] Process lowi-server granted CAP_NET_ADMIN from Android group net_admin.
[   13.014418] Please update the .rc file to explictly set 'capabilities NET_ADMIN'
[   13.014419] Implicit grants are deprecated and will be removed in the future.
[   13.014498] Process lowi-server granted CAP_NET_ADMIN from Android group net_admin.
[   13.014499] Please update the .rc file to explictly set 'capabilities NET_ADMIN'
[   13.014500] Implicit grants are deprecated and will be removed in the future.
[   13.014599] Process lowi-server granted CAP_NET_ADMIN from Android group net_admin.
[   13.014601] Please update the .rc file to explictly set 'capabilities NET_ADMIN'
[   13.014602] Implicit grants are deprecated and will be removed in the future.
[   13.732925] HTB: quantum of class 10010 is big. Consider r2q change.
[   13.804579] HTB: quantum of class 10010 is big. Consider r2q change.
[   14.079246] HTB: quantum of class 10001 is big. Consider r2q change.
[   14.101667] HTB: quantum of class 10010 is big. Consider r2q change.
[   14.268641] [RMNET:HI] rmnet_config_notify_cb(): Kernel is trying to unregister v4-rmnet_data1
[   14.313558] [RMNET:HI] rmnet_config_notify_cb(): Kernel is trying to unregister v4-rmnet_data1
[   15.925229] HTB: quantum of class 10001 is big. Consider r2q change.
[   15.940490] HTB: quantum of class 10010 is big. Consider r2q change.
[   17.594250] init: Received control message 'stop' for 'vendor.imsrcsservice' from pid: 2316 (/system/vendor/bin/imsrcsd)
[   17.594267] init: Sending signal 9 to service 'vendor.imsrcsservice' (pid 2316) process group...
[   17.599513] libprocessgroup: Successfully killed process cgroup uid 1000 pid 2316 in 5ms
[   17.600811] init: Service 'vendor.imsrcsservice' (pid 2316) received signal 9
[   18.037597] init: Service 'bootanim' (pid 884) exited with status 0
[   18.162082] init: processing action (sys.boot_completed=1) from (/init.rc:765)
[   18.162153] init: processing action (sys.boot_completed=1) from (/init.rc:894)
[   18.162192] init: starting service 'AJ3Px1g'...
[   18.163022] init: processing action (sys.boot_completed=1) from (/init.usb.rc:115)
[   18.163462] init: processing action (sys.boot_completed=1) from (/init.performance_profiles.rc:1)
[   18.163778] Boot completed 
[   18.168701] Core dump to |/system/bin/coredump.sh 2671 0 1558279291 pipe failed
[   18.370088] /vendor/bin/init.qcom.post_boot.sh[78]: can't create /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us: Permission denied
[   18.370295] /vendor/bin/init.qcom.post_boot.sh[85]: can't create /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rate_limit_us: Permission denied
[   18.370553] /vendor/bin/init.qcom.post_boot.sh[97]: can't create /sys/module/lowmemorykiller/parameters/oom_reaper: Permission denied
[   18.382668] /vendor/bin/init.qcom.post_boot.sh[164]: can't create /sys/module/lpm_levels/L3/cpu0/ret/idle_enabled: No such file or directory
[   18.382695] /vendor/bin/init.qcom.post_boot.sh[165]: can't create /sys/module/lpm_levels/L3/cpu1/ret/idle_enabled: No such file or directory
[   18.382710] /vendor/bin/init.qcom.post_boot.sh[166]: can't create /sys/module/lpm_levels/L3/cpu2/ret/idle_enabled: No such file or directory
[   18.382725] /vendor/bin/init.qcom.post_boot.sh[167]: can't create /sys/module/lpm_levels/L3/cpu3/ret/idle_enabled: No such file or directory
[   18.382738] /vendor/bin/init.qcom.post_boot.sh[168]: can't create /sys/module/lpm_levels/L3/cpu4/ret/idle_enabled: No such file or directory
[   18.382753] /vendor/bin/init.qcom.post_boot.sh[169]: can't create /sys/module/lpm_levels/L3/cpu5/ret/idle_enabled: No such file or directory
[   18.382766] /vendor/bin/init.qcom.post_boot.sh[170]: can't create /sys/module/lpm_levels/L3/cpu6/ret/idle_enabled: No such file or directory
[   18.401418] SMBLIB: smblib_get_apsd_result: APSD_DTC_STATUS_DONE_BIT is 0
[   18.514313] init.qcom.post_: 2 output lines suppressed due to ratelimiting
[   18.924236] synaptics,s3320: start get base data:1
[   19.080309] synaptics,s3320: set_doze_time: set doze time: 1
[   19.081257] synaptics,s3320: synaptics_tpedge_limitfunc limit_enable =1,mode:0x67 !
[   20.454820] Process lowi-server granted CAP_NET_ADMIN from Android group net_admin.
[   20.454831] Please update the .rc file to explictly set 'capabilities NET_ADMIN'
[   20.454833] Implicit grants are deprecated and will be removed in the future.
[   22.612081] init: processing action (sys.sysctl.tcp_def_init_rwnd=*) from (/init.rc:782)
[   23.091290] selinux: SELinux: Skipping restorecon_recursive(/data/system_ce/0)\x0a
[   23.094371] init: Async property child exited with status 0
[   23.097979] selinux: SELinux: Skipping restorecon_recursive(/data/misc_ce/0)\x0a
[   23.098713] init: Async property child exited with status 0
[   23.533941] init: processing action (vold.internalSD.startcopy=1) from (OP_ACTION_INDEX:35)
[   23.534129] init: starting service 'filebuilderd'...
[   23.546598] filebuilderd: run /system/bin/filebuilderd ENGINE START!
[   23.546747] filebuilderd: Finish traveling /data/media/ folder, 0 files (0KB) copied, travel 0 folder, elapse 0 msec
[   23.546759] filebuilderd: Start checking folder...
[   23.546878] filebuilderd: Finish check /data/media/0/ folder, elapse 0 msec, ret = 0
[   23.548593] init: Service 'filebuilderd' (pid 2824) exited with status 0
[   23.773912] CPU5: update max cpu_capacity 967
[   24.137390] pn544_dev_ioctl :enter cmd = 1074063617, arg = 0
[   24.137393] p61_access_lock: Enter
[   24.137394] p61_access_lock: Exit
[   24.137395] pn544_dev_ioctl power off
[   24.137396] p61_update_access_state: Enter current_state = 100
[   24.137397] p61_update_access_state: Exit current_state = 100
[   24.137403] p61_access_unlock: Enter
[   24.137404] p61_access_unlock: Exit
[   24.137405] pn544_dev_ioctl :exit cmd = 1074063617, arg = 0
[   24.147495] pn544_dev_ioctl :enter cmd = 1074063617, arg = 1
[   24.147497] p61_access_lock: Enter
[   24.147499] p61_access_lock: Exit
[   24.147500] pn544_dev_ioctl power on
[   24.147501] p61_update_access_state: Enter current_state = 100
[   24.147502] p61_update_access_state: Exit current_state = 100
[   24.147508] p61_access_unlock: Enter
[   24.147509] p61_access_unlock: Exit
[   24.147510] pn544_dev_ioctl :exit cmd = 1074063617, arg = 1
[   24.149618] i2c_geni 88c000.i2c: i2c error :-107
[   24.149631] pn544_dev_write : i2c_master_send returned -107
[   24.206971] pn544_dev_ioctl :enter cmd = 1074063623, arg = 2
[   24.206974] p61_access_lock: Enter
[   24.206976] p61_access_lock: Exit
[   24.206977] pn544_dev_ioctl : The power scheme is set to PN80T_LEGACY_PWR_SCHEME,
[   24.206977] p61_access_unlock: Enter
[   24.206978] p61_access_unlock: Exit
[   24.206979] pn544_dev_ioctl :exit cmd = 1074063623, arg = 2
[   25.225150] pn544_dev_ioctl :enter cmd = 1074063621, arg = 2844
[   25.225153] set_nfc_pid : The NFC Service PID is 2844
[   25.247046] pn544_dev_ioctl :enter cmd = 2147805443, arg = 549051441924
[   25.247049] p61_access_lock: Enter
[   25.247051] p61_access_lock: Exit
[   25.247052] pn544_dev_ioctl: P61_GET_PWR_STATUS  = 100
[   25.247053] p61_access_unlock: Enter
[   25.247054] p61_access_unlock: Exit
[   25.247055] pn544_dev_ioctl :exit cmd = 2147805443, arg = 549051441924
[   25.251505] pn544_dev_ioctl :enter cmd = 1074063621, arg = 2844
[   25.251509] set_nfc_pid : The NFC Service PID is 2844
[   25.253412] rdc_check_valid: rdc=0 invalid, [241833636, 403056239] 
[   25.254569] max989xx_calib_get get calib_value 307581421  
[   25.254572] max98927_stream_mute: ref_RDC left =307581421 
[   25.296998] pn544_dev_ioctl :enter cmd = 1074063621, arg = 2844
[   25.297001] set_nfc_pid : The NFC Service PID is 2844
[   28.664152] CPU6: update max cpu_capacity 1024
[   33.864969] pn544_dev_ioctl :enter cmd = 1074063618, arg = 1
[   33.864981] p61_access_lock: Enter
[   33.864985] p61_access_lock: Exit
[   33.864989] pn544_dev_ioctl : PN61_SET_SPI_PWR - power on ese
[   33.864993] p61_update_access_state: Enter current_state = 100
[   33.864995] p61_update_access_state: Exit current_state = 400
[   33.864998] nfc service pid pn544_dev_ioctl   ---- 2844
[   33.865004] signal_handler: Enter
[   33.865010] com.android.nfc.
[   33.865094] signal_handler: Exit ret = 0
[   33.867205] i2c_geni 88c000.i2c: i2c error :-107
[   33.867229] pn544_dev_write : i2c_master_send returned -107
[   33.891837] pn544_dev_ioctl :enter cmd = 1074063626, arg = -16
[   33.891845] release_dwpOnOff_wait: Enter 
[   33.891984] Dwp On/off wait protection: Timeout
[   33.891987] Dwp On/Off wait protection : released
[   33.904033] p61_access_unlock: Enter
[   33.904041] p61_access_unlock: Exit
[   33.904045] pn544_dev_ioctl :exit cmd = 1074063618, arg = 1
[   33.905739] spi_geni 880000.spi: tx_fifo 16 rx_fifo 16 tx_width 32
[   34.035236] pn544_dev_ioctl :enter cmd = 1074063618, arg = 0
[   34.035248] p61_access_lock: Enter
[   34.035253] p61_access_lock: Exit
[   34.035257] pn544_dev_ioctl : PN61_SET_SPI_PWR - power off ese
[   34.035263] p61_update_access_state: Enter current_state = 400
[   34.035265] p61_update_access_state: Exit current_state = 100
[   34.035270] nfc service pid pn544_dev_ioctl   ---- 2844
[   34.035275] svdd_sync_onoff: Enter nfc_service_pid: 2844
[   34.035279] signal_handler: Enter
[   34.035283] com.android.nfc.
[   34.035344] signal_handler: Exit ret = 0
[   34.035346] Waiting for svdd protection response
[   34.046598] pn544_dev_ioctl :enter cmd = 1074063624, arg = -16
[   34.046605] release_svdd_wait: Enter 
[   34.046653] release_svdd_wait: Exit
[   34.057021] svdd wait protection : released
[   34.057029] svdd_sync_onoff: Exit
[   34.060258] svdd_sync_onoff: Enter nfc_service_pid: 2844
[   34.060264] signal_handler: Enter
[   34.060268] com.android.nfc.
[   34.060330] signal_handler: Exit ret = 0
[   34.060334] Waiting for svdd protection response
[   34.075170] pn544_dev_ioctl :enter cmd = 1074063624, arg = -16
[   34.075177] release_svdd_wait: Enter 
[   34.075261] release_svdd_wait: Exit
[   34.086860] svdd wait protection : released
[   34.086866] svdd_sync_onoff: Exit
[   34.086872] p61_access_unlock: Enter
[   34.086875] p61_access_unlock: Exit
[   34.086885] pn544_dev_ioctl :exit cmd = 1074063618, arg = 0
[   34.088518] pn544_dev_ioctl :enter cmd = 1074063618, arg = 0
[   34.088523] p61_access_lock: Enter
[   34.088526] p61_access_lock: Exit
[   34.088531] pn544_dev_ioctl : PN61_SET_SPI_PWR - power off ese
[   34.088535] pn544_dev_ioctl : PN61_SET_SPI_PWR - failed, current_state = 100 
[   34.088573] p61_access_unlock: Enter
[   34.088577] p61_access_unlock: Exit
[   35.103381] HTB: quantum of class 10010 is big. Consider r2q change.
[   35.199417] HTB: quantum of class 10010 is big. Consider r2q change.
[   35.276250] HTB: quantum of class 10010 is big. Consider r2q change.
[   35.358198] HTB: quantum of class 10010 is big. Consider r2q change.
[   35.428404] HTB: quantum of class 10010 is big. Consider r2q change.
[   35.521990] HTB: quantum of class 10010 is big. Consider r2q change.
[   36.388330] HTB: quantum of class 10010 is big. Consider r2q change.
[   36.481630] HTB: quantum of class 10010 is big. Consider r2q change.
[   36.555046] HTB: quantum of class 10010 is big. Consider r2q change.
[   36.632700] HTB: quantum of class 10010 is big. Consider r2q change.
[   36.711612] HTB: quantum of class 10010 is big. Consider r2q change.
[   36.788563] HTB: quantum of class 10010 is big. Consider r2q change.
[   41.160159] IRQ6 no longer affine to CPU4
[   41.237595] init: Untracked pid 4912 exited with status 0
[   41.380509] logd: logdr: UID=10016 GID=10016 PID=2716 n tail=0 logMask=4 pid=0 start=0ns timeout=0ns
[   41.730207] init: Received control message 'start' for 'mdnsd' from pid: 620 (/system/bin/netd)
[   41.730892] init: starting service 'mdnsd'...
[   41.737416] init: Created socket '/dev/socket/mdnsd', mode 660, user 1020, group 3003
[   41.940150] IRQ6 no longer affine to CPU4
[   42.232181] logd: logdr: UID=10016 GID=10016 PID=2429 n tail=0 logMask=4 pid=0 start=0ns timeout=0ns
[   42.257034] logd: logdr: UID=10016 GID=10016 PID=2429 n tail=0 logMask=4 pid=0 start=1558279314861000000ns timeout=1558286515441327047ns
[   43.968382] logd: logdr: UID=10016 GID=10016 PID=2716 n tail=0 logMask=4 pid=0 start=0ns timeout=0ns
[   47.713369] CPU6: update max cpu_capacity 967
[   47.741316] init: Untracked pid 5576 exited with status 0
[   53.304984] init: Received control message 'start' for 'bootanim' from pid: 726 (/system/bin/surfaceflinger)
[   53.305395] init: starting service 'bootanim'...
[   53.345664] init: Service 'zygote' (pid 621) received signal 9
[   53.345693] init: Sending signal 9 to service 'zygote' (pid 621) process group...
[   53.382744] libprocessgroup: Successfully killed process cgroup uid 0 pid 621 in 36ms
[   53.384056] init: Command 'write /sys/power/state on' action=onrestart (<Service 'zygote' onrestart>:2) took 0ms and failed: Unable to write to file '/sys/power/state': Unable to write file contents: Invalid argument
[   53.384164] init: Sending signal 9 to service 'audioserver' (pid 724) process group...
[   53.457616] libprocessgroup: Successfully killed process cgroup uid 1041 pid 724 in 73ms
[   53.457863] init: Command 'restart audioserver' action=onrestart (<Service 'zygote' onrestart>:3) took 73ms and succeeded
[   53.457901] init: Sending signal 9 to service 'cameraserver' (pid 908) process group...
[   53.603415] qtaguid: tag_stat: stat_update() p2p0 not found
[   53.912751] msm_qti_pp_get_rms_value_control, back not active to query rms be_idx:3
[   53.920373] core_get_license_status: cmdrsp_license_result.result = 0x15 for module 0x131ff
[   53.921456] msm-ext-disp-audio-codec-rx soc:qcom,msm-ext-disp:qcom,msm-ext-disp-audio-codec-rx: msm_ext_disp_audio_type_get: codec_data, get_audio_edid_blk() or get_intf_id is NULL
[   53.921699] max98927_info_rivision_ctl
[   53.921737] max98927_info_rivision_ctl
[   53.921773] max98927_get_rivision_ctl
[   53.921980] max98927_digital_gain_get: spk_gain setting returned 0
[   53.926198] max98927_mono_out_get_l: value:128
[   53.926408] max98927_mono_out_get_r: value:0
[   53.927002] max98927_left_channel_enable_get: value:0
[   53.927107] max98927_right_channel_enable_get: value:0
[   53.945795] i2c_geni 88c000.i2c: i2c error :-107
[   53.945812] pn544_dev_write : i2c_master_send returned -107
[   53.978461] pn544_dev_ioctl :enter cmd = 1074063617, arg = 0
[   53.978466] p61_access_lock: Enter
[   53.978468] p61_access_lock: Exit
[   53.978470] pn544_dev_ioctl power off
[   53.978471] p61_update_access_state: Enter current_state = 100
[   53.978473] p61_update_access_state: Exit current_state = 100
[   53.978486] p61_access_unlock: Enter
[   53.978487] p61_access_unlock: Exit
[   53.978489] pn544_dev_ioctl :exit cmd = 1074063617, arg = 0
[   54.237835] msm_qti_pp_get_rms_value_control, back not active to query rms be_idx:3
[   54.246087] core_get_license_status: cmdrsp_license_result.result = 0x15 for module 0x131ff
[   54.246628] msm-ext-disp-audio-codec-rx soc:qcom,msm-ext-disp:qcom,msm-ext-disp-audio-codec-rx: msm_ext_disp_audio_type_get: codec_data, get_audio_edid_blk() or get_intf_id is NULL
[   54.246909] max98927_info_rivision_ctl
[   54.246946] max98927_info_rivision_ctl
[   54.246977] max98927_get_rivision_ctl
[   54.247160] max98927_digital_gain_get: spk_gain setting returned 0
[   54.250947] max98927_mono_out_get_l: value:128
[   54.251128] max98927_mono_out_get_r: value:0
[   54.251633] max98927_left_channel_enable_get: value:0
[   54.251725] max98927_right_channel_enable_get: value:0
[   54.420299] IRQ6 no longer affine to CPU5
[   54.503500] qtaguid: tag_stat: stat_update() p2p0 not found
[   54.952211] HTB: quantum of class 10010 is big. Consider r2q change.
[   55.010358] HTB: quantum of class 10010 is big. Consider r2q change.
[   55.066193] HTB: quantum of class 10010 is big. Consider r2q change.
[   55.448408] healthd: battery l=92 v=4110 t=27.9 h=2 st=3 c=-913 fc=2878000 cc=0 chg=
[   55.449931] healthd: battery l=92 v=4110 t=27.9 h=2 st=3 c=-913 fc=2878000 cc=0 chg=
[   55.465795] healthd: battery l=92 v=4110 t=27.9 h=2 st=3 c=-913 fc=2878000 cc=0 chg=
[   55.471085] healthd: battery l=92 v=4110 t=27.9 h=2 st=3 c=-913 fc=2878000 cc=0 chg=
[   55.472510] healthd: battery l=92 v=4110 t=27.9 h=2 st=3 c=-913 fc=2878000 cc=0 chg=
[   58.690290] init: processing action (sys.sysctl.extra_free_kbytes=*) from (/init.rc:778)
[   58.698358] synaptics,s3320: key_disable_write_func key_back:0 key_appselect:0
[   58.998174] acc_open
[   58.998180] acc_release
[   59.411024] synaptics,s3320: tp_gesture_write_func write argc1[0xdf],argc2[0x0]
[   59.413740] init: processing action (wlan.driver.status=ok) from (/vendor/etc/init/hw/init.target.rc:176)
[   59.414164] Wifi Turning On from UI
[   59.414341] init: processing action (wlan.driver.status=ok) from (OP_ACTION_INDEX:31)
[   59.438815] synaptics,s3320: key_disable_write_func key_back:0 key_appselect:0
[   59.457111] healthd: battery l=92 v=4110 t=27.9 h=2 st=3 c=-913 fc=2878000 cc=0 chg=
[   59.468178] healthd: battery l=92 v=4110 t=27.9 h=2 st=3 c=-913 fc=2878000 cc=0 chg=
[   59.527014] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   59.807446] msm-dsi-panel:[dsi_panel_set_srgb_mode:4354] sRGB Mode Off.
[   59.807823] Real Send DCI-P3 off command
[   59.821969] msm-dsi-panel:[dsi_panel_set_dci_p3_mode:4380] DCI-P3 Mode Off.
[   59.822711] Real Send Night mode off command
[   59.824028] msm-dsi-panel:[dsi_panel_set_night_mode:4407] night Mode Off.
[   59.838983] msm-dsi-panel:[dsi_panel_set_adaption_mode:4479] adaption Mode Off.
[   59.949082] sdcardfs version 2.0
[   59.949088] sdcardfs: dev_name -> /data/media
[   59.949090] sdcardfs: options -> fsuid=1023,fsgid=1023,multiuser,derive_gid,default_normal,mask=6,userid=0,gid=1015
[   59.949093] sdcardfs: mnt -> 0000000000000000
[   59.949121] sdcardfs: mounted on top of /data/media type ext4
[   59.949346] Remount options were mask=23,gid=9997 for vfsmnt 0000000000000000.
[   59.949351] sdcardfs : options - debug:1
[   59.949353] sdcardfs : options - gid:9997
[   59.949354] sdcardfs : options - mask:23
[   59.949475] Remount options were mask=7,gid=9997 for vfsmnt 0000000000000000.
[   59.949478] sdcardfs : options - debug:1
[   59.949480] sdcardfs : options - gid:9997
[   59.949481] sdcardfs : options - mask:7
[   60.152762] init: processing action (sys.training=0) from (/system/etc/init/caffed.rc:6)
[   61.811785] init: processing action (persist.sys.gamemode.wifiboost=0) from (/init.rc:863)
[   61.812002] init: starting service 'networkboost_disable'...
[   61.817587] init: Service 'networkboost_disable' (pid 6712) exited with status 0
[   61.940527] IRQ6 no longer affine to CPU5
[   66.280737] init: Service 'bootanim' (pid 5666) exited with status 0
[   66.413032] init: processing action (sys.boot_completed=1) from (/init.rc:765)
[   66.413282] init: processing action (sys.boot_completed=1) from (/init.rc:894)
[   66.413335] init: starting service 'AJ3Px1g'...
[   66.418045] init: processing action (sys.boot_completed=1) from (/init.usb.rc:115)
[   66.419064] init: processing action (sys.boot_completed=1) from (/init.performance_profiles.rc:1)
[   66.419187] init: processing action (sys.boot_completed=1) from (/vendor/etc/init/hw/init.qcom.rc:543)
[   66.420122] Boot completed 
[   66.422221] HTB: quantum of class 10010 is big. Consider r2q change.
[   66.429729] init: processing action (sys.boot_completed=1) from (/vendor/etc/init/hw/init.qcom.rc:1008)
[   66.430736] init: starting service 'qcom-post-boot'...
[   66.434654] init: starting service 'qti-testscripts'...
[   66.442243] Core dump to |/system/bin/coredump.sh 6759 0 1558279339 pipe failed
[   66.563302] /vendor/bin/init.qcom.post_boot.sh[78]: can't create /sys/devices/system/cpu/cpu0/cpufreq/schedutil/rate_limit_us: Permission denied
[   66.563450] /vendor/bin/init.qcom.post_boot.sh[85]: can't create /sys/devices/system/cpu/cpu4/cpufreq/schedutil/rate_limit_us: Permission denied
[   66.563686] /vendor/bin/init.qcom.post_boot.sh[97]: can't create /sys/module/lowmemorykiller/parameters/oom_reaper: Permission denied
[   66.564331] CPU6: update max cpu_capacity 1024
[   66.580188] IRQ6 no longer affine to CPU6
[   66.601925] /vendor/bin/init.qcom.post_boot.sh[164]: can't create /sys/module/lpm_levels/L3/cpu0/ret/idle_enabled: No such file or directory
[   66.601985] /vendor/bin/init.qcom.post_boot.sh[165]: can't create /sys/module/lpm_levels/L3/cpu1/ret/idle_enabled: No such file or directory
[   66.602030] /vendor/bin/init.qcom.post_boot.sh[166]: can't create /sys/module/lpm_levels/L3/cpu2/ret/idle_enabled: No such file or directory
[   66.602075] /vendor/bin/init.qcom.post_boot.sh[167]: can't create /sys/module/lpm_levels/L3/cpu3/ret/idle_enabled: No such file or directory
[   66.602119] /vendor/bin/init.qcom.post_boot.sh[168]: can't create /sys/module/lpm_levels/L3/cpu4/ret/idle_enabled: No such file or directory
[   66.602163] /vendor/bin/init.qcom.post_boot.sh[169]: can't create /sys/module/lpm_levels/L3/cpu5/ret/idle_enabled: No such file or directory
[   66.602206] /vendor/bin/init.qcom.post_boot.sh[170]: can't create /sys/module/lpm_levels/L3/cpu6/ret/idle_enabled: No such file or directory
[   66.743986] init.qcom.post_: 2 output lines suppressed due to ratelimiting
[   69.022936] HTB: quantum of class 10001 is big. Consider r2q change.
[   69.065049] HTB: quantum of class 10010 is big. Consider r2q change.
[   69.208040] htb: prio qdisc 10: is non-work-conserving?
[   71.237120] CPU6: update max cpu_capacity 967
[   71.578682] pn544_dev_ioctl :enter cmd = 1074063617, arg = 0
[   71.578685] p61_access_lock: Enter
[   71.578686] p61_access_lock: Exit
[   71.578687] pn544_dev_ioctl power off
[   71.578688] p61_update_access_state: Enter current_state = 100
[   71.578689] p61_update_access_state: Exit current_state = 100
[   71.578696] p61_access_unlock: Enter
[   71.578696] p61_access_unlock: Exit
[   71.578697] pn544_dev_ioctl :exit cmd = 1074063617, arg = 0
[   71.588808] pn544_dev_ioctl :enter cmd = 1074063617, arg = 1
[   71.588811] p61_access_lock: Enter
[   71.588812] p61_access_lock: Exit
[   71.588813] pn544_dev_ioctl power on
[   71.588814] p61_update_access_state: Enter current_state = 100
[   71.588815] p61_update_access_state: Exit current_state = 100
[   71.588821] p61_access_unlock: Enter
[   71.588822] p61_access_unlock: Exit
[   71.588823] pn544_dev_ioctl :exit cmd = 1074063617, arg = 1
[   71.591460] i2c_geni 88c000.i2c: i2c error :-107
[   71.591477] pn544_dev_write : i2c_master_send returned -107
[   71.658084] pn544_dev_ioctl :enter cmd = 1074063623, arg = 2
[   71.658087] p61_access_lock: Enter
[   71.658088] p61_access_lock: Exit
[   71.658089] pn544_dev_ioctl : The power scheme is set to PN80T_LEGACY_PWR_SCHEME,
[   71.658090] p61_access_unlock: Enter
[   71.658090] p61_access_unlock: Exit
[   71.658091] pn544_dev_ioctl :exit cmd = 1074063623, arg = 2
[   72.665961] pn544_dev_ioctl :enter cmd = 1074063621, arg = 6946
[   72.665965] set_nfc_pid : The NFC Service PID is 6946
[   72.704016] pn544_dev_ioctl :enter cmd = 2147805443, arg = 549051441924
[   72.704021] p61_access_lock: Enter
[   72.704022] p61_access_lock: Exit
[   72.704024] pn544_dev_ioctl: P61_GET_PWR_STATUS  = 100
[   72.704026] p61_access_unlock: Enter
[   72.704027] p61_access_unlock: Exit
[   72.704029] pn544_dev_ioctl :exit cmd = 2147805443, arg = 549051441924
[   72.708362] pn544_dev_ioctl :enter cmd = 1074063621, arg = 6946
[   72.708368] set_nfc_pid : The NFC Service PID is 6946
[   72.723732] pn544_dev_ioctl :enter cmd = 1074063621, arg = 6946
[   72.723735] set_nfc_pid : The NFC Service PID is 6946
[   74.113494] QSEECOM: qseecom_load_app: App (faceapp) does'nt exist, loading apps for first time
[   74.161550] QSEECOM: qseecom_load_app: App with id 6 (faceapp) now loaded
[   74.165422] QSEECOM: qseecom_unload_app: App id 6 now unloaded
[   75.709093] Process lowi-server granted CAP_NET_ADMIN from Android group net_admin.
[   75.709102] Please update the .rc file to explictly set 'capabilities NET_ADMIN'
[   75.709103] Implicit grants are deprecated and will be removed in the future.
[   76.020399] IRQ6 no longer affine to CPU4
[   77.471227] init: processing action (sys.sysctl.tcp_def_init_rwnd=*) from (/init.rc:782)
[   77.680855] IRQ6 no longer affine to CPU4
[   78.321860] HTB: quantum of class 10010 is big. Consider r2q change.
[   78.440424] IRQ6 no longer affine to CPU6
[   79.184245] HTB: quantum of class 10010 is big. Consider r2q change.
[   81.325760] pn544_dev_ioctl :enter cmd = 1074063618, arg = 1
[   81.325771] p61_access_lock: Enter
[   81.325776] p61_access_lock: Exit
[   81.325782] pn544_dev_ioctl : PN61_SET_SPI_PWR - power on ese
[   81.325787] p61_update_access_state: Enter current_state = 100
[   81.325791] p61_update_access_state: Exit current_state = 400
[   81.325796] nfc service pid pn544_dev_ioctl   ---- 6946
[   81.325802] signal_handler: Enter
[   81.325808] com.android.nfc.
[   81.325901] signal_handler: Exit ret = 0
[   81.328066] i2c_geni 88c000.i2c: i2c error :-107
[   81.328091] pn544_dev_write : i2c_master_send returned -107
[   81.347370] pn544_dev_ioctl :enter cmd = 1074063626, arg = -16
[   81.347377] release_dwpOnOff_wait: Enter 
[   81.347460] Dwp On/off wait protection: Timeout
[   81.347466] Dwp On/Off wait protection : released
[   81.359535] p61_access_unlock: Enter
[   81.359541] p61_access_unlock: Exit
[   81.359548] pn544_dev_ioctl :exit cmd = 1074063618, arg = 1
[   81.517366] pn544_dev_ioctl :enter cmd = 1074063618, arg = 0
[   81.517377] p61_access_lock: Enter
[   81.517383] p61_access_lock: Exit
[   81.517389] pn544_dev_ioctl : PN61_SET_SPI_PWR - power off ese
[   81.517395] p61_update_access_state: Enter current_state = 400
[   81.517399] p61_update_access_state: Exit current_state = 100
[   81.517404] nfc service pid pn544_dev_ioctl   ---- 6946
[   81.517410] svdd_sync_onoff: Enter nfc_service_pid: 6946
[   81.517416] signal_handler: Enter
[   81.517424] com.android.nfc.
[   81.517517] signal_handler: Exit ret = 0
[   81.517520] Waiting for svdd protection response
[   81.529469] pn544_dev_ioctl :enter cmd = 1074063624, arg = -16
[   81.529476] release_svdd_wait: Enter 
[   81.529528] release_svdd_wait: Exit
[   81.540507] svdd wait protection : released
[   81.540514] svdd_sync_onoff: Exit
[   81.543467] svdd_sync_onoff: Enter nfc_service_pid: 6946
[   81.543472] signal_handler: Enter
[   81.543477] com.android.nfc.
[   81.543533] signal_handler: Exit ret = 0
[   81.543537] Waiting for svdd protection response
[   81.558342] pn544_dev_ioctl :enter cmd = 1074063624, arg = -16
[   81.558345] release_svdd_wait: Enter 
[   81.558377] release_svdd_wait: Exit
[   81.570279] svdd wait protection : released
[   81.570286] svdd_sync_onoff: Exit
[   81.570292] p61_access_unlock: Enter
[   81.570295] p61_access_unlock: Exit
[   81.570304] pn544_dev_ioctl :exit cmd = 1074063618, arg = 0
[   81.570887] pn544_dev_ioctl :enter cmd = 1074063618, arg = 0
[   81.570893] p61_access_lock: Enter
[   81.570896] p61_access_lock: Exit
[   81.570901] pn544_dev_ioctl : PN61_SET_SPI_PWR - power off ese
[   81.570906] pn544_dev_ioctl : PN61_SET_SPI_PWR - failed, current_state = 100 
[   81.570926] p61_access_unlock: Enter
[   81.570930] p61_access_unlock: Exit
[   82.111753] HTB: quantum of class 10001 is big. Consider r2q change.
[   82.142287] HTB: quantum of class 10010 is big. Consider r2q change.
[   87.039254] healthd: battery l=92 v=4147 t=28.3 h=2 st=3 c=-863 fc=2878000 cc=0 chg=
[   87.040243] healthd: battery l=92 v=4147 t=28.3 h=2 st=3 c=-863 fc=2878000 cc=0 chg=
[   87.519925] init: Untracked pid 9107 exited with status 0
[   87.731396] logd: logdr: UID=10016 GID=10016 PID=6862 n tail=0 logMask=4 pid=0 start=0ns timeout=0ns
[   88.368726] logd: logdr: UID=10016 GID=10016 PID=6834 n tail=0 logMask=4 pid=0 start=0ns timeout=0ns
[   88.404334] logd: logdr: UID=10016 GID=10016 PID=6834 n tail=0 logMask=4 pid=0 start=1558279361063000000ns timeout=1558286561589282165ns
[   88.470226] IPC_RTR: do_read_data: No local port id 00000160
[   88.474069] IPC_RTR: do_read_data: No local port id 00000160
[   88.700454] IRQ6 no longer affine to CPU4
[   98.870154] rmt_storage:INFO:rmt_storage_rw_iovec_cb: Write iovec request received for /boot/modem_fs2
[   98.870611] rmt_storage:INFO:rmt_storage_client_thread: Calling Write [offset=0, size=2097152]for /boot/modem_fs2!
[   98.928916] rmt_storage:INFO:rmt_storage_client_thread: Done Write (bytes = 2097152) for /boot/modem_fs2!
[   99.237338] logd: logdr: UID=10016 GID=10016 PID=6862 n tail=0 logMask=4 pid=0 start=0ns timeout=0ns
[   99.912690] logd: logdr: UID=10016 GID=10016 PID=6862 n tail=0 logMask=4 pid=0 start=0ns timeout=0ns
[  103.628092] CPU6: update max cpu_capacity 1024
[  103.630019] CPU6: update max cpu_capacity 967
[  103.674700] init: Untracked pid 9820 exited with status 0
[  105.741054] IRQ6 no longer affine to CPU6
[  107.597355] init: Received control message 'start' for 'bootanim' from pid: 726 (/system/bin/surfaceflinger)
[  107.597886] init: starting service 'bootanim'...
[  107.654239] init: Service 'zygote' (pid 5720) received signal 9
[  107.654269] init: Sending signal 9 to service 'zygote' (pid 5720) process group...
[  107.679085] libprocessgroup: Successfully killed process cgroup uid 0 pid 5720 in 24ms
[  107.679940] init: Command 'write /sys/power/state on' action=onrestart (<Service 'zygote' onrestart>:2) took 0ms and failed: Unable to write to file '/sys/power/state': Unable to write file contents: Invalid argument
[  107.679958] init: Sending signal 9 to service 'audioserver' (pid 5723) process group...
[  107.753715] libprocessgroup: Successfully killed process cgroup uid 1041 pid 5723 in 73ms
[  107.753980] init: Command 'restart audioserver' action=onrestart (<Service 'zygote' onrestart>:3) took 74ms and succeeded
[  107.778393] SMBLIB: smblib_get_apsd_result: APSD_DTC_STATUS_DONE_BIT is 0
[  107.778400] SMBLIB: smblib_handle_usbin_uv: PMI: smblib_handle_usbin_uv: DEBUG: RESET STORM COUNT FOR POWER_OK
[  107.778452] SMBLIB: smblib_usb_plugin_locked: acquire chg_wake_lock
[  107.779654] SMBLIB: smblib_awake_vote_callback: set awake=1
[  107.779678] SMBLIB: smblib_usb_plugin_locked: IRQ: attached
[  107.780201] IRQ6 no longer affine to CPU6
[  107.883396] qtaguid: tag_stat: stat_update() p2p0 not found
[  107.937144] SMBLIB: smblib_get_apsd_result: APSD_DTC_STATUS_DONE_BIT is 0
[  107.969377] healthd: battery l=92 v=4195 t=28.5 h=2 st=4 c=-555 fc=2878000 cc=0 chg=
[  107.983580] healthd: battery l=92 v=4195 t=28.5 h=2 st=4 c=-555 fc=2878000 cc=0 chg=
[  107.990857] SMBLIB: smblib_get_apsd_result: APSD_DTC_STATUS_DONE_BIT is 0
[  108.006356] healthd: battery l=92 v=4195 t=28.5 h=2 st=4 c=-555 fc=2878000 cc=0 chg=
[  108.013055] healthd: battery l=92 v=4195 t=28.5 h=2 st=4 c=-555 fc=2878000 cc=0 chg=
[  108.169520] msm_qti_pp_get_rms_value_control, back not active to query rms be_idx:3
[  108.175178] i2c_geni 88c000.i2c: i2c error :-107
[  108.175194] pn544_dev_write : i2c_master_send returned -107
[  108.180043] core_get_license_status: cmdrsp_license_result.result = 0x15 for module 0x131ff
[  108.180986] msm-ext-disp-audio-codec-rx soc:qcom,msm-ext-disp:qcom,msm-ext-disp-audio-codec-rx: msm_ext_disp_audio_type_get: codec_data, get_audio_edid_blk() or get_intf_id is NULL
[  108.181520] max98927_info_rivision_ctl
[  108.181616] max98927_info_rivision_ctl
[  108.181712] max98927_get_rivision_ctl
[  108.182170] max98927_digital_gain_get: spk_gain setting returned 0
[  108.187185] max98927_mono_out_get_l: value:128
[  108.187379] max98927_mono_out_get_r: value:0
[  108.187988] max98927_left_channel_enable_get: value:0
[  108.188099] max98927_right_channel_enable_get: value:0
[  108.208306] pn544_dev_ioctl :enter cmd = 1074063617, arg = 0
[  108.208311] p61_access_lock: Enter
[  108.208314] p61_access_lock: Exit
[  108.208316] pn544_dev_ioctl power off
[  108.208317] p61_update_access_state: Enter current_state = 100
[  108.208319] p61_update_access_state: Exit current_state = 100
[  108.208333] p61_access_unlock: Enter
[  108.208335] p61_access_unlock: Exit
[  108.208336] pn544_dev_ioctl :exit cmd = 1074063617, arg = 0
[  108.213422] qtaguid: tag_stat: stat_update() p2p0 not found
[  108.255214] CPU7: update max cpu_capacity 1024
[  108.497403] msm_qti_pp_get_rms_value_control, back not active to query rms be_idx:3
[  108.505615] core_get_license_status: cmdrsp_license_result.result = 0x15 for module 0x131ff
[  108.506815] msm-ext-disp-audio-codec-rx soc:qcom,msm-ext-disp:qcom,msm-ext-disp-audio-codec-rx: msm_ext_disp_audio_type_get: codec_data, get_audio_edid_blk() or get_intf_id is NULL
[  108.507333] max98927_info_rivision_ctl
[  108.507395] max98927_info_rivision_ctl
[  108.507426] max98927_get_rivision_ctl
[  108.507747] max98927_digital_gain_get: spk_gain setting returned 0
[  108.511943] max98927_mono_out_get_l: value:128
[  108.512148] max98927_mono_out_get_r: value:0
[  108.512731] max98927_left_channel_enable_get: value:0
[  108.512825] max98927_right_channel_enable_get: value:0
[  108.585079] SMBLIB: smblib_handle_usb_source_change: APSD_STATUS=0x01
[  108.585153] SMBLIB: smblib_set_icl_current: icl_ua=475000
[  108.585244] SMBLIB: smblib_set_usb_suspend: suspend=0
[  108.585260] SMBLIB: smblib_set_icl_current: icl_ua=1500000
[  108.585341] SMBLIB: smblib_set_usb_suspend: suspend=0
[  108.585363] SMBLIB: op_charging_en: enable=1
[  108.586356] SMBLIB: handle_batt_temp_normal: triggered
[  108.586367] SMBLIB: set_chg_ibat_vbat_max: set ibatmax=1950 and set vbatmax=4400
[  108.588471] SMBLIB: op_battery_temp_region_set: set temp_region=5
[  108.588482] SMBLIB: smblib_handle_apsd_done: apsd result=0x4, name=CDP, psy_type=6
[  108.589414] SMBLIB: smblib_handle_apsd_done: apsd done,current_now=555
[  108.590560] usbpd usbpd0: typec mode:6 present:1 type:6 orientation:1
[  108.590569] usbpd usbpd0: Type-C Source (default) connected
[  108.593267] msm-dwc3 a600000.ssusb: DWC3 exited from low power mode
[  108.608267] healthd: battery l=92 v=4195 t=28.5 h=2 st=2 c=-555 fc=2878000 cc=0 chg=u
[  108.609778] healthd: battery l=92 v=4195 t=28.5 h=2 st=2 c=-555 fc=2878000 cc=0 chg=u
[  108.767573] healthd: battery l=92 v=4195 t=28.5 h=2 st=2 c=-555 fc=2878000 cc=0 chg=u
[  108.768618] healthd: battery l=92 v=4195 t=28.5 h=2 st=2 c=-555 fc=2878000 cc=0 chg=u
[  108.781851] healthd: battery l=92 v=4195 t=28.5 h=2 st=2 c=-555 fc=2878000 cc=0 chg=u
[  108.782748] healthd: battery l=92 v=4195 t=28.5 h=2 st=2 c=-555 fc=2878000 cc=0 chg=u
[  108.909401] android_work: sent uevent USB_STATE=CONNECTED
[  109.040920] healthd: battery l=92 v=4141 t=28.5 h=2 st=2 c=-501 fc=2878000 cc=0 chg=u
[  109.042291] healthd: battery l=92 v=4141 t=28.5 h=2 st=2 c=-501 fc=2878000 cc=0 chg=u
[  109.189931] android_work: sent uevent USB_STATE=DISCONNECTED
[  109.262580] android_work: sent uevent USB_STATE=CONNECTED
[  109.316714] android_work: sent uevent USB_STATE=DISCONNECTED
[  109.385062] SMBLIB: notify_usb_enumeration_function: status=1
[  109.396413] android_work: sent uevent USB_STATE=CONNECTED
[  109.400277] configfs-gadget gadget: high-speed config #1: b
[  109.400366] usb_gadget_vbus_draw USB setting current is 500mA
[  109.401132] android_work: sent uevent USB_STATE=CONFIGURED
[  109.600066] SMBLIB: smbchg_re_det_work: re_det, usb_enum_status
[  109.603520] SMBLIB: op_check_charger_uovp: charger_voltage=4218 charger_ovp=0
[  109.603531] SMBLIB: op_check_charger_uovp: charger is over voltage, count=0
[  109.603536] SMBLIB: op_check_charger_uovp: uovp_satus=1,pre_uovp_satus=0,over_volt_count=0
[  109.734114] healthd: battery l=92 v=4141 t=28.5 h=2 st=2 c=-501 fc=2878000 cc=0 chg=u
[  109.743575] healthd: battery l=92 v=4141 t=28.5 h=2 st=2 c=-501 fc=2878000 cc=0 chg=u
[  109.836030] healthd: battery l=92 v=4141 t=28.5 h=2 st=2 c=-501 fc=2878000 cc=0 chg=u
[  109.840890] healthd: battery l=92 v=4141 t=28.5 h=2 st=2 c=-501 fc=2878000 cc=0 chg=u
[  109.883162] init: processing action (sys.sysctl.extra_free_kbytes=*) from (/init.rc:778)
[  109.888062] synaptics,s3320: key_disable_write_func key_back:0 key_appselect:0
[  110.106794] acc_open
[  110.106799] acc_release
[  110.340907] IRQ6 no longer affine to CPU4
[  110.442935] synaptics,s3320: tp_gesture_write_func write argc1[0xdf],argc2[0x0]
[  110.458817] Wifi Turning On from UI
[  110.459498] init: processing action (wlan.driver.status=ok) from (/vendor/etc/init/hw/init.target.rc:176)
[  110.460232] init: processing action (wlan.driver.status=ok) from (OP_ACTION_INDEX:31)
[  110.466621] synaptics,s3320: key_disable_write_func key_back:0 key_appselect:0
[  110.484729] healthd: battery l=92 v=4294 t=28.5 h=2 st=2 c=707 fc=2878000 cc=0 chg=u
[  110.579471] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  110.815760] msm-dsi-panel:[dsi_panel_set_srgb_mode:4354] sRGB Mode Off.
[  110.816637] Real Send DCI-P3 off command
[  110.817354] msm-dsi-panel:[dsi_panel_set_dci_p3_mode:4380] DCI-P3 Mode Off.
[  110.817725] Real Send Night mode off command
[  110.817952] msm-dsi-panel:[dsi_panel_set_night_mode:4407] night Mode Off.
[  110.820135] CPU7: update max cpu_capacity 967
[  110.832514] msm-dsi-panel:[dsi_panel_set_adaption_mode:4479] adaption Mode Off.
[  110.926060] sdcardfs version 2.0
[  110.926065] sdcardfs: dev_name -> /data/media
[  110.926066] sdcardfs: options -> fsuid=1023,fsgid=1023,multiuser,derive_gid,default_normal,mask=6,userid=0,gid=1015
[  110.926069] sdcardfs: mnt -> 0000000000000000
[  110.926210] sdcardfs: mounted on top of /data/media type ext4
[  110.926534] Remount options were mask=23,gid=9997 for vfsmnt 0000000000000000.
[  110.926541] sdcardfs : options - debug:1
[  110.926542] sdcardfs : options - gid:9997
[  110.926543] sdcardfs : options - mask:23
[  110.926657] Remount options were mask=7,gid=9997 for vfsmnt 0000000000000000.
[  110.926661] sdcardfs : options - debug:1
[  110.926662] sdcardfs : options - gid:9997
[  110.926710] sdcardfs : options - mask:7
[  112.853646] init: processing action (persist.sys.gamemode.wifiboost=0) from (/init.rc:863)
[  112.853899] init: starting service 'networkboost_disable'...
[  112.860377] init: Service 'networkboost_disable' (pid 11013) exited with status 0
[  113.020199] IRQ6 no longer affine to CPU4

[-- Attachment #3: logcat.log --]
[-- Type: text/plain, Size: 8272 bytes --]

05-19 08:23:00.657  5726  5743 E Netd    : Error adding IPv4 rule: Invalid argument
05-19 08:23:00.657  5726  5743 E Netd    : failed to change permission on interface rmnet_data1 of netId 100 from 0 to 1
05-19 08:23:00.658  6238  6238 D DPMJ    : |SERVICE| DPM received action android.intent.action.ANY_DATA_STATE
05-19 08:23:00.658  6238  6238 W DPMJ    : |SERVICE| DPM received ACTION_ANY_DATA_CONNECTION_STATE_CHANGEDhipri
05-19 08:23:00.658  6238  6238 D DPMJ    : |SERVICE| DPM currently does not support this apnType=hipri
05-19 08:23:00.658  7507  7507 D SecureService: onReceive action:android.intent.action.ANY_DATA_STATE
05-19 08:23:00.658  7507  7507 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1008 android.content.ContextWrapper.sendBroadcast:444 com.oneplus.security.SecureService$b.onReceive:188 android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0:1424 android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run:2 
05-19 08:23:00.659  6298  6298 D TelephonyProvider: subIdString = 1 subId = 1
05-19 08:22:06.350   859  1656 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: ConnectivityServiceThread
05-19 08:22:06.350   859  1656 E AndroidRuntime: java.lang.IllegalStateException: command '94 network permission network set NETWORK 100' failed with '400 94 setPermissionForNetworks() failed (Invalid argument)'
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at com.android.server.NetworkManagementService.setNetworkPermission(NetworkManagementService.java:2735)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at com.android.server.ConnectivityService.updateCapabilities(ConnectivityService.java:5207)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at com.android.server.ConnectivityService.handleLingerComplete(ConnectivityService.java:5434)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at com.android.server.ConnectivityService.access$3100(ConnectivityService.java:225)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at com.android.server.ConnectivityService$NetworkStateTrackerHandler.maybeHandleNetworkAgentInfoMessage(ConnectivityService.java:2417)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at com.android.server.ConnectivityService$NetworkStateTrackerHandler.handleMessage(ConnectivityService.java:2429)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at com.android.internal.util.WakeupMessage.onAlarm(WakeupMessage.java:133)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at android.app.AlarmManager$ListenerWrapper.run(AlarmManager.java:245)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:873)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:99)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:193)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at android.os.HandlerThread.run(HandlerThread.java:65)
05-19 08:22:06.350   859  1656 E AndroidRuntime: Caused by: com.android.server.NativeDaemonConnector$NativeDaemonFailureException: command '94 network permission network set NETWORK 100' failed with '400 94 setPermissionForNetworks() failed (Invalid argument)'
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at com.android.server.NativeDaemonConnector.executeForList(NativeDaemonConnector.java:515)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at com.android.server.NativeDaemonConnector.execute(NativeDaemonConnector.java:411)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at com.android.server.NativeDaemonConnector.execute(NativeDaemonConnector.java:406)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	at com.android.server.NetworkManagementService.setNetworkPermission(NetworkManagementService.java:2730)
05-19 08:22:06.350   859  1656 E AndroidRuntime: 	... 12 more
05-19 08:23:00.660  5838  5979 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: ConnectivityServiceThread
05-19 08:23:00.660  5838  5979 E AndroidRuntime: java.lang.IllegalStateException: command '92 network permission network set NETWORK 100' failed with '400 92 setPermissionForNetworks() failed (Invalid argument)'
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at com.android.server.NetworkManagementService.setNetworkPermission(NetworkManagementService.java:2735)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at com.android.server.ConnectivityService.updateCapabilities(ConnectivityService.java:5207)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at com.android.server.ConnectivityService.handleLingerComplete(ConnectivityService.java:5434)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at com.android.server.ConnectivityService.access$3100(ConnectivityService.java:225)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at com.android.server.ConnectivityService$NetworkStateTrackerHandler.maybeHandleNetworkAgentInfoMessage(ConnectivityService.java:2417)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at com.android.server.ConnectivityService$NetworkStateTrackerHandler.handleMessage(ConnectivityService.java:2429)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at com.android.internal.util.WakeupMessage.onAlarm(WakeupMessage.java:133)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at android.app.AlarmManager$ListenerWrapper.run(AlarmManager.java:245)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:873)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:99)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:193)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at android.os.HandlerThread.run(HandlerThread.java:65)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: Caused by: com.android.server.NativeDaemonConnector$NativeDaemonFailureException: command '92 network permission network set NETWORK 100' failed with '400 92 setPermissionForNetworks() failed (Invalid argument)'
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at com.android.server.NativeDaemonConnector.executeForList(NativeDaemonConnector.java:515)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at com.android.server.NativeDaemonConnector.execute(NativeDaemonConnector.java:411)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at com.android.server.NativeDaemonConnector.execute(NativeDaemonConnector.java:406)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	at com.android.server.NetworkManagementService.setNetworkPermission(NetworkManagementService.java:2730)
05-19 08:23:00.660  5838  5979 E AndroidRuntime: 	... 12 more
05-19 08:23:00.665  6298  6298 I chatty  : uid=1001(radio) identical 1 line
05-19 08:23:00.669  6298  6298 D TelephonyProvider: subIdString = 1 subId = 1
05-19 08:23:00.669  5838  5979 E OPDiagnose: OPDiagnoseManager addIssueCount type = 2, count = 1
05-19 08:23:00.669  5838  5979 E         : BpOPDiagnoseServer addIssueCount type = 2, count = 1
05-19 08:23:00.670   718   803 E         : BnOPDiagnoseServer ADD_ISSUE_COUNT type = 2, count = 1
05-19 08:23:00.670   718   803 W OPDiagnoseService: OPDiagnoseService addIssueCount type = 2, count = 1
05-19 08:23:00.670   718   802 D OPDiagnoseService: OPDiagnoseService get issue item...2
05-19 08:23:00.670  5838  5939 D OSTracker: OS Event: system_server_crash
05-19 08:23:00.672  5838  5858 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.stats.service.DropBoxEntryAddedReceiver
05-19 08:23:00.673  5838  5858 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.chimera.GmsIntentOperationService$PersistentTrustedReceiver
05-19 08:23:00.673  5838  5979 E Process : try to kill system_server
05-19 08:23:00.673  5838  5979 I Process : Sending signal. PID: 5838 SIG: 9

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 41/51] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied
  2019-05-19 15:43   ` Nathan Chancellor
@ 2019-05-19 20:27     ` Florian Westphal
  2019-05-20  2:00       ` Hangbin Liu
  2019-05-20  0:11     ` Sasha Levin
  2019-05-20  0:29     ` David Ahern
  2 siblings, 1 reply; 66+ messages in thread
From: Florian Westphal @ 2019-05-19 20:27 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: Greg Kroah-Hartman, linux-kernel, stable, Thomas Haller,
	Hangbin Liu, David S. Miller, netdev

Nathan Chancellor <natechancellor@gmail.com> wrote:
> On Wed, May 15, 2019 at 12:56:16PM +0200, Greg Kroah-Hartman wrote:
> > From: Hangbin Liu <liuhangbin@gmail.com>
> > 
> > [ Upstream commit e9919a24d3022f72bcadc407e73a6ef17093a849 ]

[..]

> > Fixes: 153380ec4b9 ("fib_rules: Added NLM_F_EXCL support to fib_nl_newrule")
> > Reported-by: Thomas Haller <thaller@redhat.com>
> > Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> > Signed-off-by: David S. Miller <davem@davemloft.net>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > ---
> >  net/core/fib_rules.c |    6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > --- a/net/core/fib_rules.c
> > +++ b/net/core/fib_rules.c
> > @@ -429,9 +429,9 @@ int fib_nl_newrule(struct sk_buff *skb,
> >  	if (rule->l3mdev && rule->table)
> >  		goto errout_free;
> >  
> > -	if ((nlh->nlmsg_flags & NLM_F_EXCL) &&
> > -	    rule_exists(ops, frh, tb, rule)) {
> > -		err = -EEXIST;
> > +	if (rule_exists(ops, frh, tb, rule)) {
> > +		if (nlh->nlmsg_flags & NLM_F_EXCL)
> > +			err = -EEXIST;
> This commit is causing issues on Android devices when Wi-Fi and mobile
> data are both enabled. The device will do a soft reboot consistently.

Not surprising, the patch can't be applied to 4.9 as-is.

In 4.9, code looks like this:

 err = -EINVAL;
 /* irrelevant */
 if (rule_exists(ops, frh, tb, rule)) {
  if (nlh->nlmsg_flags & NLM_F_EXCL)
    err = -EEXIST;
    goto errout_free;
 }

So, if rule_exists() is true, we return -EINVAL to caller
instead of 0, unlike upstream.

I don't think this commit is stable material.

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 41/51] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied
  2019-05-19 15:43   ` Nathan Chancellor
  2019-05-19 20:27     ` Florian Westphal
@ 2019-05-20  0:11     ` Sasha Levin
  2019-05-20  0:29     ` David Ahern
  2 siblings, 0 replies; 66+ messages in thread
From: Sasha Levin @ 2019-05-20  0:11 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: Greg Kroah-Hartman, linux-kernel, stable, Thomas Haller,
	Hangbin Liu, David S. Miller, netdev

On Sun, May 19, 2019 at 08:43:48AM -0700, Nathan Chancellor wrote:
>On Wed, May 15, 2019 at 12:56:16PM +0200, Greg Kroah-Hartman wrote:
>> From: Hangbin Liu <liuhangbin@gmail.com>
>>
>> [ Upstream commit e9919a24d3022f72bcadc407e73a6ef17093a849 ]
>>
>> With commit 153380ec4b9 ("fib_rules: Added NLM_F_EXCL support to
>> fib_nl_newrule") we now able to check if a rule already exists. But this
>> only works with iproute2. For other tools like libnl, NetworkManager,
>> it still could add duplicate rules with only NLM_F_CREATE flag, like
>>
>> [localhost ~ ]# ip rule
>> 0:      from all lookup local
>> 32766:  from all lookup main
>> 32767:  from all lookup default
>> 100000: from 192.168.7.5 lookup 5
>> 100000: from 192.168.7.5 lookup 5
>>
>> As it doesn't make sense to create two duplicate rules, let's just return
>> 0 if the rule exists.
>>
>> Fixes: 153380ec4b9 ("fib_rules: Added NLM_F_EXCL support to fib_nl_newrule")
>> Reported-by: Thomas Haller <thaller@redhat.com>
>> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
>> Signed-off-by: David S. Miller <davem@davemloft.net>
>> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> ---
>>  net/core/fib_rules.c |    6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> --- a/net/core/fib_rules.c
>> +++ b/net/core/fib_rules.c
>> @@ -429,9 +429,9 @@ int fib_nl_newrule(struct sk_buff *skb,
>>  	if (rule->l3mdev && rule->table)
>>  		goto errout_free;
>>
>> -	if ((nlh->nlmsg_flags & NLM_F_EXCL) &&
>> -	    rule_exists(ops, frh, tb, rule)) {
>> -		err = -EEXIST;
>> +	if (rule_exists(ops, frh, tb, rule)) {
>> +		if (nlh->nlmsg_flags & NLM_F_EXCL)
>> +			err = -EEXIST;
>>  		goto errout_free;
>>  	}
>>
>>
>>
>
>Hi all,
>
>This commit is causing issues on Android devices when Wi-Fi and mobile
>data are both enabled. The device will do a soft reboot consistently.
>So far, I've had reports on the Pixel 3 XL, OnePlus 6, Pocophone, and
>Note 9 and I can reproduce on my OnePlus 6.

Is this something that happens with Linus's tree as well? or is this a
backport issue?

>Sorry for taking so long to report this, I just figured out how to
>reproduce it today and I didn't want to report it without that.

FWIW, if you see anything suspicious with -stable patches just let us
know separately from a "better" bug report for upstream, then we can at
least temporary pull it out of the stable queue while the issue is being
addressed.

--
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 41/51] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied
  2019-05-19 15:43   ` Nathan Chancellor
  2019-05-19 20:27     ` Florian Westphal
  2019-05-20  0:11     ` Sasha Levin
@ 2019-05-20  0:29     ` David Ahern
  2019-05-20  9:04       ` Greg Kroah-Hartman
  2 siblings, 1 reply; 66+ messages in thread
From: David Ahern @ 2019-05-20  0:29 UTC (permalink / raw)
  To: Nathan Chancellor, Greg Kroah-Hartman
  Cc: linux-kernel, stable, Thomas Haller, Hangbin Liu,
	David S. Miller, netdev

On 5/19/19 9:43 AM, Nathan Chancellor wrote:
> Hi all,
> 
> This commit is causing issues on Android devices when Wi-Fi and mobile
> data are both enabled. The device will do a soft reboot consistently.
> So far, I've had reports on the Pixel 3 XL, OnePlus 6, Pocophone, and
> Note 9 and I can reproduce on my OnePlus 6.
> 
> Sorry for taking so long to report this, I just figured out how to
> reproduce it today and I didn't want to report it without that.
> 
> Attached is a full dmesg and the relevant snippet from Android's logcat.
> 
> Let me know what I can do to help debug,
> Nathan
> 

It's a backport problem. err needs to be reset to 0 before the goto.

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 41/51] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied
  2019-05-19 20:27     ` Florian Westphal
@ 2019-05-20  2:00       ` Hangbin Liu
  0 siblings, 0 replies; 66+ messages in thread
From: Hangbin Liu @ 2019-05-20  2:00 UTC (permalink / raw)
  To: Florian Westphal
  Cc: Nathan Chancellor, Greg Kroah-Hartman, linux-kernel, stable,
	Thomas Haller, David Ahern, David S. Miller, netdev

On Sun, May 19, 2019 at 10:27:53PM +0200, Florian Westphal wrote:
> Nathan Chancellor <natechancellor@gmail.com> wrote:
> > On Wed, May 15, 2019 at 12:56:16PM +0200, Greg Kroah-Hartman wrote:
> > > From: Hangbin Liu <liuhangbin@gmail.com>
> > > 
> > > [ Upstream commit e9919a24d3022f72bcadc407e73a6ef17093a849 ]
> 
> [..]
> 
> > > Fixes: 153380ec4b9 ("fib_rules: Added NLM_F_EXCL support to fib_nl_newrule")
> > > Reported-by: Thomas Haller <thaller@redhat.com>
> > > Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> > > Signed-off-by: David S. Miller <davem@davemloft.net>
> > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > > ---
> > >  net/core/fib_rules.c |    6 +++---
> > >  1 file changed, 3 insertions(+), 3 deletions(-)
> > > 
> > > --- a/net/core/fib_rules.c
> > > +++ b/net/core/fib_rules.c
> > > @@ -429,9 +429,9 @@ int fib_nl_newrule(struct sk_buff *skb,
> > >  	if (rule->l3mdev && rule->table)
> > >  		goto errout_free;
> > >  
> > > -	if ((nlh->nlmsg_flags & NLM_F_EXCL) &&
> > > -	    rule_exists(ops, frh, tb, rule)) {
> > > -		err = -EEXIST;
> > > +	if (rule_exists(ops, frh, tb, rule)) {
> > > +		if (nlh->nlmsg_flags & NLM_F_EXCL)
> > > +			err = -EEXIST;
> > This commit is causing issues on Android devices when Wi-Fi and mobile
> > data are both enabled. The device will do a soft reboot consistently.
> 
> Not surprising, the patch can't be applied to 4.9 as-is.
> 
> In 4.9, code looks like this:
> 
>  err = -EINVAL;
>  /* irrelevant */
>  if (rule_exists(ops, frh, tb, rule)) {
>   if (nlh->nlmsg_flags & NLM_F_EXCL)
>     err = -EEXIST;
>     goto errout_free;
>  }
> 
> So, if rule_exists() is true, we return -EINVAL to caller
> instead of 0, unlike upstream.
> 
> I don't think this commit is stable material.

Thanks Florian for helping check it. So we need either revert this patch,
or at least backport adeb45cbb505 ("fib_rules: fix error return code") and
f9d4b0c1e969 ("fib_rules: move common handling of newrule delrule
msgs into fib_nl2rule").

For me, I agree to revert this patch from stable tree as it's a small fix. The
issue has been there for a long time and I didn't see much complain from
customer.

Thanks
Hangbin


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 41/51] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied
  2019-05-20  0:29     ` David Ahern
@ 2019-05-20  9:04       ` Greg Kroah-Hartman
  2019-05-20  9:11         ` Greg Kroah-Hartman
  0 siblings, 1 reply; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-20  9:04 UTC (permalink / raw)
  To: David Ahern
  Cc: Nathan Chancellor, linux-kernel, stable, Thomas Haller,
	Hangbin Liu, David S. Miller, netdev

On Sun, May 19, 2019 at 06:29:19PM -0600, David Ahern wrote:
> On 5/19/19 9:43 AM, Nathan Chancellor wrote:
> > Hi all,
> > 
> > This commit is causing issues on Android devices when Wi-Fi and mobile
> > data are both enabled. The device will do a soft reboot consistently.
> > So far, I've had reports on the Pixel 3 XL, OnePlus 6, Pocophone, and
> > Note 9 and I can reproduce on my OnePlus 6.
> > 
> > Sorry for taking so long to report this, I just figured out how to
> > reproduce it today and I didn't want to report it without that.
> > 
> > Attached is a full dmesg and the relevant snippet from Android's logcat.
> > 
> > Let me know what I can do to help debug,
> > Nathan
> > 
> 
> It's a backport problem. err needs to be reset to 0 before the goto.

Ah, I see it, let me go queue up a fix for this.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [PATCH 4.9 41/51] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied
  2019-05-20  9:04       ` Greg Kroah-Hartman
@ 2019-05-20  9:11         ` Greg Kroah-Hartman
  0 siblings, 0 replies; 66+ messages in thread
From: Greg Kroah-Hartman @ 2019-05-20  9:11 UTC (permalink / raw)
  To: David Ahern
  Cc: Nathan Chancellor, linux-kernel, stable, Thomas Haller,
	Hangbin Liu, David S. Miller, netdev

On Mon, May 20, 2019 at 11:04:29AM +0200, Greg Kroah-Hartman wrote:
> On Sun, May 19, 2019 at 06:29:19PM -0600, David Ahern wrote:
> > On 5/19/19 9:43 AM, Nathan Chancellor wrote:
> > > Hi all,
> > > 
> > > This commit is causing issues on Android devices when Wi-Fi and mobile
> > > data are both enabled. The device will do a soft reboot consistently.
> > > So far, I've had reports on the Pixel 3 XL, OnePlus 6, Pocophone, and
> > > Note 9 and I can reproduce on my OnePlus 6.
> > > 
> > > Sorry for taking so long to report this, I just figured out how to
> > > reproduce it today and I didn't want to report it without that.
> > > 
> > > Attached is a full dmesg and the relevant snippet from Android's logcat.
> > > 
> > > Let me know what I can do to help debug,
> > > Nathan
> > > 
> > 
> > It's a backport problem. err needs to be reset to 0 before the goto.
> 
> Ah, I see it, let me go queue up a fix for this.

Here's the fix I'm queueing up now:


From b42f0ebbe4431ff7ce99c916555418f4a4c2be67 Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: Mon, 20 May 2019 11:07:29 +0200
Subject: [PATCH] fib_rules: fix error in backport of e9919a24d302 ("fib_rules:
 return 0...")

When commit e9919a24d302 ("fib_rules: return 0 directly if an exactly
same rule exists when NLM_F_EXCL not supplied") was backported to 4.9.y,
it changed the logic a bit as err should have been reset before exiting
the test, like it happens in the original logic.

If this is not set, errors happen :(

Reported-by: Nathan Chancellor <natechancellor@gmail.com>
Reported-by: David Ahern <dsahern@gmail.com>
Reported-by: Florian Westphal <fw@strlen.de>
Cc: Hangbin Liu <liuhangbin@gmail.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/core/fib_rules.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
index bb26457e8c21..c03dd2104d33 100644
--- a/net/core/fib_rules.c
+++ b/net/core/fib_rules.c
@@ -430,6 +430,7 @@ int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr *nlh)
 		goto errout_free;
 
 	if (rule_exists(ops, frh, tb, rule)) {
+		err = 0;
 		if (nlh->nlmsg_flags & NLM_F_EXCL)
 			err = -EEXIST;
 		goto errout_free;
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 66+ messages in thread

end of thread, other threads:[~2019-05-20  9:11 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-15 10:55 [PATCH 4.9 00/51] 4.9.177-stable review Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 01/51] netfilter: compat: initialize all fields in xt_init Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 02/51] bpf: fix struct htab_elem layout Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 03/51] bpf: convert htab map to hlist_nulls Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 04/51] platform/x86: sony-laptop: Fix unintentional fall-through Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 05/51] USB: serial: fix unthrottle races Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 06/51] iio: adc: xilinx: fix potential use-after-free on remove Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 07/51] libnvdimm/namespace: Fix a potential NULL pointer dereference Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 08/51] HID: input: add mapping for Expose/Overview key Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 09/51] HID: input: add mapping for keyboard Brightness Up/Down/Toggle keys Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 10/51] HID: input: add mapping for "Toggle Display" key Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 11/51] libnvdimm/btt: Fix a kmemdup failure check Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 12/51] s390/dasd: Fix capacity calculation for large volumes Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 13/51] mac80211: fix unaligned access in mesh table hash function Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 14/51] s390/3270: fix lockdep false positive on view->lock Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 15/51] mISDN: Check address length before reading address family Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 16/51] x86/reboot, efi: Use EFI reboot for Acer TravelMate X514-51T Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 17/51] KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 18/51] tools lib traceevent: Fix missing equality check for strcmp Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 19/51] init: initialize jump labels before command line option parsing Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 20/51] selftests: netfilter: check icmp pkttoobig errors are set as related Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 21/51] ipvs: do not schedule icmp errors from tunnels Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 22/51] MIPS: perf: ath79: Fix perfcount IRQ assignment Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 23/51] s390: ctcm: fix ctcm_new_device error return code Greg Kroah-Hartman
2019-05-15 10:55 ` [PATCH 4.9 24/51] drm/sun4i: Set device driver data at bind time for use in unbind Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 25/51] selftests/net: correct the return value for run_netsocktests Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 26/51] gpu: ipu-v3: dp: fix CSC handling Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 27/51] spi: Micrel eth switch: declare missing of table Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 28/51] spi: ST ST95HF NFC: " Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 29/51] Input: synaptics-rmi4 - fix possible double free Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 30/51] cw1200: fix missing unlock on error in cw1200_hw_scan() Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 31/51] ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO internal command Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 32/51] rtlwifi: rtl8723ae: Fix missing break in switch statement Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 33/51] Dont jump to compute_result state from check_result state Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 34/51] Revert "x86/vdso: Drop implicit common-page-size linker flag" Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 35/51] Revert "x86: vdso: Use $LD instead of $CC to link" Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 36/51] x86: vdso: Use $LD instead of $CC to link Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 37/51] x86/vdso: Drop implicit common-page-size linker flag Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 38/51] x86/vdso: Pass --eh-frame-hdr to the linker Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 39/51] powerpc/64s: Include cpu header Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 40/51] bridge: Fix error path for kobject_init_and_add() Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 41/51] fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied Greg Kroah-Hartman
2019-05-19 15:43   ` Nathan Chancellor
2019-05-19 20:27     ` Florian Westphal
2019-05-20  2:00       ` Hangbin Liu
2019-05-20  0:11     ` Sasha Levin
2019-05-20  0:29     ` David Ahern
2019-05-20  9:04       ` Greg Kroah-Hartman
2019-05-20  9:11         ` Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 42/51] net: ucc_geth - fix Oops when changing number of buffers in the ring Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 43/51] packet: Fix error path in packet_init Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 44/51] vlan: disable SIOCSHWTSTAMP in container Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 45/51] vrf: sit mtu should not be updated when vrf netdev is the link Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 46/51] ipv4: Fix raw socket lookup for local traffic Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 47/51] bonding: fix arp_validate toggling in active-backup mode Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 48/51] drivers/virt/fsl_hypervisor.c: dereferencing error pointers in ioctl Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 49/51] drivers/virt/fsl_hypervisor.c: prevent integer overflow " Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 50/51] powerpc/lib: fix book3s/32 boot failure due to code patching Greg Kroah-Hartman
2019-05-15 10:56 ` [PATCH 4.9 51/51] powerpc/booke64: set RI in default MSR Greg Kroah-Hartman
2019-05-15 18:27 ` [PATCH 4.9 00/51] 4.9.177-stable review kernelci.org bot
2019-05-15 19:54 ` Naresh Kamboju
2019-05-16  3:34 ` Guenter Roeck
2019-05-16 11:00 ` Jon Hunter
2019-05-16 11:00   ` Jon Hunter
2019-05-16 14:09 ` shuah
2019-05-17  6:33 ` Kelsey Skunberg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.