4.4.146-stable review
Subsystems (6)
Greg Kroah-Hartman
maintainercover 4.4.146-stable review
This is the start of the stable review cycle for the 4.4.146 release. There are 124 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 Mon Aug 6 08:26:39 UTC 2018. 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.4.146-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.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 4.4.146-rc1
Tony Battersby <[email protected]>
scsi: sg: fix minor memory leak in error path
Herbert Xu <[email protected]>
crypto: padlock-aes - Fix Nano workaround data corruption
Roman Kagan <[email protected]>
kvm: x86: vmx: fix vpid leak
Jiang Biao <[email protected]>
virtio_balloon: fix another race between migration and ballooning
Jeremy Cline <[email protected]>
net: socket: fix potential spectre v1 gadget in socketcall
Anton Vasilyev <[email protected]>
can: ems_usb: Fix memory leak on ems_usb_disconnect()
Linus Torvalds <[email protected]>
squashfs: more metadata hardenings
Linus Torvalds <[email protected]>
squashfs: more metadata hardening
Jeremy Cline <[email protected]>
netlink: Fix spectre v1 gadget in netlink_create()
Florian Fainelli <[email protected]>
net: dsa: Do not suspend/resume closed slave_dev
Eric Dumazet <[email protected]>
inet: frag: enforce memory limits earlier
Eric Dumazet <[email protected]>
tcp: add one more quick ack after after ECN events
Yousuk Seung <[email protected]>
tcp: refactor tcp_ecn_check_ce to remove sk type cast
Eric Dumazet <[email protected]>
tcp: do not aggressively quick ack after ECN events
Eric Dumazet <[email protected]>
tcp: add max_quickacks param to tcp_incr_quickack and tcp_enter_quickack_mode
Eric Dumazet <[email protected]>
tcp: do not force quickack when receiving out-of-order packets
Eugeniy Paltsev <[email protected]>
NET: stmmac: align DMA stuff to largest cache line length
Dmitry Safonov <[email protected]>
netlink: Don't shift with UB on nlk->ngroups
Dmitry Safonov <[email protected]>
netlink: Do not subscribe to non-existent groups
Xiao Liang <[email protected]>
xen-netfront: wait xenbus state change when load module manually
Stefan Wahren <[email protected]>
net: lan78xx: fix rx handling before first packet is send
tangpengpeng <[email protected]>
net: fix amd-xgbe flow-control issue
Lorenzo Bianconi <[email protected]>
ipv4: remove BUG_ON() from fib_compute_spec_dst
Andrea Adami <[email protected]>
ASoC: pxa: Fix module autoload for platform drivers
Eric Engestrom <[email protected]>
dmaengine: pxa_dma: remove duplicate const qualifier
Theodore Ts'o <[email protected]>
ext4: check for allocation block validity with block group locked
Theodore Ts'o <[email protected]>
ext4: fix inline data updates with checksums enabled
Linus Torvalds <[email protected]>
squashfs: be more careful about metadata corruption
Theodore Ts'o <[email protected]>
random: mix rdrand with entropy sent in from userspace
José Roberto de Souza <[email protected]>
drm: Add DP PSR2 sink enable bit
Mauro Carvalho Chehab <[email protected]>
media: si470x: fix __be16 annotations
Shivasharan S <[email protected]>
scsi: megaraid_sas: Increase timeout by 1 sec for non-RAID fastpath IOs
Xose Vazquez Perez <[email protected]>
scsi: scsi_dh: replace too broad "TP9" string with the exact models
Suman Anna <[email protected]>
media: omap3isp: fix unbalanced dma_iommu_mapping
Tudor-Dan Ambarus <[email protected]>
crypto: authenc - don't leak pointers to authenc keys
Tudor-Dan Ambarus <[email protected]>
crypto: authencesn - don't leak pointers to authenc keys
Dominik Bozek <[email protected]>
usb: hub: Don't wait for connect state at resume for powered-off ports
Michal Simek <[email protected]>
microblaze: Fix simpleImage format generation
Ondrej Mosnáček <[email protected]>
audit: allow not equal op for audit by executable
Siva Rebbagondla <[email protected]>
rsi: Fix 'invalid vdd' warning in mmc
Chris Novakovic <[email protected]>
ipconfig: Correctly initialise ic_nameservers
Luc Van Oostenryck <[email protected]>
drm/gma500: fix psb_intel_lvds_mode_valid()'s return type
Dmitry Osipenko <[email protected]>
memory: tegra: Apply interrupts mask per SoC
Dmitry Osipenko <[email protected]>
memory: tegra: Do not handle spurious interrupts
Takashi Sakamoto <[email protected]>
ALSA: hda/ca0132: fix build failure when a local macro is defined
Satendra Singh Thakur <[email protected]>
drm/atomic: Handling the case when setting old crtc for plane
Mauro Carvalho Chehab <[email protected]>
media: siano: get rid of __le32/__le16 cast warnings
Jakub Kicinski <[email protected]>
bpf: fix references to free_bpf_prog_info() in comments
Bartlomiej Zolnierkiewicz <[email protected]>
thermal: exynos: fix setting rising_threshold for Exynos5433
Dan Carpenter <[email protected]>
scsi: megaraid: silence a static checker bug
Wenwen Wang <[email protected]>
scsi: 3w-xxxx: fix a missing-check bug
Wenwen Wang <[email protected]>
scsi: 3w-9xxx: fix a missing-check bug
Thomas Richter <[email protected]>
perf: fix invalid bit in diagnostic entry
Thomas Richter <[email protected]>
s390/cpum_sf: Add data entry sizes to sampling trailer entry
Sean Lanigan <[email protected]>
brcmfmac: Add support for bcm43364 wireless chipset
Jane Wan <[email protected]>
mtd: rawnand: fsl_ifc: fix FSL NAND driver to read all ONFI parameter pages
Brad Love <[email protected]>
media: saa7164: Fix driver name in debug output
Damien Le Moal <[email protected]>
libata: Fix command retry decision
Wei Yongjun <[email protected]>
media: rcar_jpu: Add missing clk_disable_unprepare() on error in jpu_open()
Marc Zyngier <[email protected]>
dma-iommu: Fix compilation when !CONFIG_IOMMU_DMA
DaeRyong Jeong <[email protected]>
tty: Fix data race in tty_insert_flip_string_fixed_flag
Dmitry Torokhov <[email protected]>
HID: i2c-hid: check if device is there before really probing
Jonathan Neuschäfer <[email protected]>
powerpc/embedded6xx/hlwd-pic: Prevent interrupts from being handled by Starlet
Luc Van Oostenryck <[email protected]>
drm/radeon: fix mode_valid's return type
Terry Junge <[email protected]>
HID: hid-plantronics: Re-resend Update to map button for PTT products
Takashi Iwai <[email protected]>
ALSA: usb-audio: Apply rate limit to warning messages in URB complete callback
Colin Ian King <[email protected]>
media: smiapp: fix timeout checking in smiapp_read_nvm
Yufen Yu <[email protected]>
md: fix NULL dereference of mddev->pers in remove_and_add_spares()
Anson Huang <[email protected]>
regulator: pfuze100: add .is_enable() for pfuze100_swb_regulator_ops
Takashi Iwai <[email protected]>
ALSA: emu10k1: Rate-limit error messages about page errors
Maya Erez <[email protected]>
scsi: ufs: fix exception event handling
Xinming Hu <[email protected]>
mwifiex: correct histogram data with appropriate index
Mika Westerberg <[email protected]>
PCI: pciehp: Request control of native hotplug only if supported
Julia Lawall <[email protected]>
pinctrl: at91-pio4: add missing of_node_put
Christophe Leroy <[email protected]>
powerpc/8xx: fix invalid register expression in head_8xx.S
Mathieu Malaterre <[email protected]>
powerpc/powermac: Mark variable x as unused
Mathieu Malaterre <[email protected]>
powerpc/powermac: Add missing prototype for note_bootable_part()
Mathieu Malaterre <[email protected]>
powerpc/chrp/time: Make some functions static, add missing header include
Mathieu Malaterre <[email protected]>
powerpc/32: Add a missing include header
Sven Eckelmann <[email protected]>
ath: Add regulatory mapping for Bahamas
Sven Eckelmann <[email protected]>
ath: Add regulatory mapping for Bermuda
Sven Eckelmann <[email protected]>
ath: Add regulatory mapping for Serbia
Sven Eckelmann <[email protected]>
ath: Add regulatory mapping for Tanzania
Sven Eckelmann <[email protected]>
ath: Add regulatory mapping for Uganda
Sven Eckelmann <[email protected]>
ath: Add regulatory mapping for APL2_FCCA
Sven Eckelmann <[email protected]>
ath: Add regulatory mapping for APL13_WORLD
Sven Eckelmann <[email protected]>
ath: Add regulatory mapping for ETSI8_WORLD
Sven Eckelmann <[email protected]>
ath: Add regulatory mapping for FCC3_ETSIC
Christoph Hellwig <[email protected]>
PCI: Prevent sysfs disable of device while driver is attached
Qu Wenruo <[email protected]>
btrfs: qgroup: Finish rescan when hit the last leaf of extent tree
David Sterba <[email protected]>
btrfs: add barriers to btrfs_sync_log before log_commit_wait wakeups
Hans Verkuil <[email protected]>
media: videobuf2-core: don't call memop 'finish' when queueing
Eyal Reizer <[email protected]>
wlcore: sdio: check for valid platform device data before suspend
Ganapathi Bhat <[email protected]>
mwifiex: handle race during mwifiex_usb_disconnect
Vincent Palatin <[email protected]>
mfd: cros_ec: Fail early if we cannot identify the EC
Kai Chieh Chuang <[email protected]>
ASoC: dpcm: fix BE dai not hw_free and shutdown
Jian-Hong Pan <[email protected]>
Bluetooth: btusb: Add a new Realtek 8723DE ID 2ff8:b011
Thierry Escande <[email protected]>
Bluetooth: hci_qca: Fix "Sleep inside atomic section" warning
Shaul Triebitz <[email protected]>
iwlwifi: pcie: fix race in Rx buffer allocator
Kan Liang <[email protected]>
perf/x86/intel/uncore: Correct fixed counter index check for NHM
Kan Liang <[email protected]>
perf/x86/intel/uncore: Correct fixed counter index check in generic code
Shuah Khan (Samsung OSG) <[email protected]>
usbip: usbip_detach: Fix memory, udev context and udev leak
Chao Yu <[email protected]>
f2fs: fix to don't trigger writeback during recovery
Anatoly Pugachev <[email protected]>
disable loading f2fs module on PAGE_SIZE > 4KB
Leon Romanovsky <[email protected]>
RDMA/mad: Convert BUG_ONs to error flows
Nicholas Piggin <[email protected]>
powerpc/64s: Fix compiler store ordering to SLB shadow area
Stewart Smith <[email protected]>
hvc_opal: don't set tb_ticks_per_usec in udbg_init_opal_common()
Cong Wang <[email protected]>
infiniband: fix a possible use-after-free bug
Jozsef Kadlecsik <[email protected]>
netfilter: ipset: List timing out entries with "timeout 1" instead of zero
Alexandre Belloni <[email protected]>
rtc: ensure rtc_set_alarm fails when alarms are not supported
Mathieu Malaterre <[email protected]>
mm/slub.c: add __printf verification to slab_err()
Chintan Pandya <[email protected]>
mm: vmalloc: avoid racy handling of debugobjects in vunmap
Scott Mayhew <[email protected]>
nfsd: fix potential use-after-free in nfsd4_decode_getdeviceinfo
Zhouyang Jia <[email protected]>
ALSA: fm801: add error handling for snd_ctl_add
Zhouyang Jia <[email protected]>
ALSA: emu10k1: add error handling for snd_ctl_add
Juergen Gross <[email protected]>
xen/netfront: raise max number of slots in xennet_get_responses()
Steven Rostedt (VMware) <[email protected]>
tracing: Quiet gcc warning about maybe unused link variable
Artem Savkov <[email protected]>
tracing/kprobes: Fix trace_probe flags on enable_trace_kprobe() failure
Steven Rostedt (VMware) <[email protected]>
tracing: Fix possible double free in event_enable_trigger_func()
Steven Rostedt (VMware) <[email protected]>
tracing: Fix double free of event_trigger_data
KT Liao <[email protected]>
Input: elan_i2c - add another ACPI ID for Lenovo Ideapad 330-15AST
Chen-Yu Tsai <[email protected]>
Input: i8042 - add Lenovo LaVie Z to the i8042 reset list
Donald Shanty III <[email protected]>
Input: elan_i2c - add ACPI ID for lenovo ideapad 330
Paul Burton <[email protected]>
MIPS: Fix off-by-one in pci_resource_to_user()
-------------
Diffstat:
Makefile | 4 +- arch/microblaze/boot/Makefile | 10 +++-- arch/mips/include/asm/pci.h | 2 +- arch/powerpc/kernel/head_8xx.S | 2 +- arch/powerpc/kernel/pci_32.c | 1 + arch/powerpc/mm/slb.c | 8 ++-- arch/powerpc/platforms/chrp/time.c | 6 ++- arch/powerpc/platforms/embedded6xx/hlwd-pic.c | 5 +++ arch/powerpc/platforms/powermac/bootx_init.c | 4 +- arch/powerpc/platforms/powermac/setup.c | 1 + arch/s390/include/asm/cpu_mf.h | 6 ++- arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +- .../x86/kernel/cpu/perf_event_intel_uncore_nhmex.c | 2 +- arch/x86/kvm/vmx.c | 7 ++-- crypto/authenc.c | 1 + crypto/authencesn.c | 1 + drivers/acpi/pci_root.c | 4 +- drivers/ata/libata-eh.c | 12 ++++-- drivers/bluetooth/btusb.c | 3 ++ drivers/bluetooth/hci_qca.c | 2 +- drivers/char/random.c | 10 ++++- drivers/crypto/padlock-aes.c | 8 +++- drivers/dma/pxa_dma.c | 2 +- drivers/gpu/drm/drm_atomic.c | 4 +- drivers/gpu/drm/gma500/psb_intel_drv.h | 2 +- drivers/gpu/drm/gma500/psb_intel_lvds.c | 2 +- drivers/gpu/drm/radeon/radeon_connectors.c | 10 ++--- drivers/hid/hid-plantronics.c | 6 ++- drivers/hid/i2c-hid/i2c-hid.c | 8 ++++ drivers/infiniband/core/mad.c | 11 +++-- drivers/infiniband/core/ucma.c | 6 ++- drivers/input/mouse/elan_i2c_core.c | 2 + drivers/input/serio/i8042-x86ia64io.h | 7 ++++ drivers/md/md.c | 3 ++ drivers/media/common/siano/smsendian.c | 14 +++---- drivers/media/i2c/smiapp/smiapp-core.c | 11 +++-- drivers/media/pci/saa7164/saa7164-fw.c | 3 +- drivers/media/platform/omap3isp/isp.c | 7 ++-- drivers/media/platform/rcar_jpu.c | 4 +- drivers/media/radio/si470x/radio-si470x-i2c.c | 6 +-- drivers/media/v4l2-core/videobuf2-core.c | 9 ++-- drivers/memory/tegra/mc.c | 22 +++------- drivers/memory/tegra/mc.h | 9 ++++ drivers/memory/tegra/tegra114.c | 2 + drivers/memory/tegra/tegra124.c | 6 +++ drivers/memory/tegra/tegra210.c | 3 ++ drivers/memory/tegra/tegra30.c | 2 + drivers/mfd/cros_ec.c | 6 ++- drivers/mtd/nand/fsl_ifc_nand.c | 17 ++++---- drivers/net/can/usb/ems_usb.c | 1 + drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 4 +- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +- drivers/net/usb/lan78xx.c | 2 + drivers/net/wireless/ath/regd.h | 5 +++ drivers/net/wireless/ath/regd_common.h | 13 ++++++ drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 1 + drivers/net/wireless/iwlwifi/pcie/rx.c | 2 + drivers/net/wireless/mwifiex/usb.c | 3 ++ drivers/net/wireless/mwifiex/util.c | 8 ++-- drivers/net/wireless/rsi/rsi_91x_sdio.c | 2 - drivers/net/wireless/ti/wlcore/sdio.c | 5 +++ drivers/net/xen-netfront.c | 10 ++++- drivers/pci/pci-sysfs.c | 15 ++++--- drivers/pinctrl/pinctrl-at91-pio4.c | 4 +- drivers/regulator/pfuze100-regulator.c | 1 + drivers/rtc/interface.c | 5 +++ drivers/scsi/3w-9xxx.c | 5 +++ drivers/scsi/3w-xxxx.c | 3 ++ drivers/scsi/megaraid.c | 3 ++ drivers/scsi/megaraid/megaraid_sas_fusion.c | 3 ++ drivers/scsi/scsi_dh.c | 5 ++- drivers/scsi/sg.c | 1 + drivers/scsi/ufs/ufshcd.c | 2 + drivers/thermal/samsung/exynos_tmu.c | 1 + drivers/tty/hvc/hvc_opal.c | 1 - drivers/tty/pty.c | 3 ++ drivers/usb/core/hub.c | 4 ++ drivers/virtio/virtio_balloon.c | 2 + fs/btrfs/qgroup.c | 19 +++++++++ fs/btrfs/tree-log.c | 10 ++++- fs/ext4/balloc.c | 3 ++ fs/ext4/ialloc.c | 3 ++ fs/ext4/inline.c | 19 +++++---- fs/ext4/inode.c | 16 ++++---- fs/f2fs/segment.c | 3 ++ fs/f2fs/super.c | 6 +++ fs/nfsd/nfs4xdr.c | 2 + fs/squashfs/block.c | 2 + fs/squashfs/cache.c | 3 ++ fs/squashfs/file.c | 8 +++- fs/squashfs/fragment.c | 17 ++++---- fs/squashfs/squashfs_fs.h | 6 +++ fs/squashfs/squashfs_fs_sb.h | 1 + fs/squashfs/super.c | 5 ++- include/drm/drm_dp_helper.h | 1 + include/linux/dma-iommu.h | 1 + include/linux/mmc/sdio_ids.h | 1 + include/linux/netfilter/ipset/ip_set_timeout.h | 10 ++++- include/net/tcp.h | 2 +- include/soc/tegra/mc.h | 2 + kernel/auditfilter.c | 2 +- kernel/auditsc.c | 2 + kernel/bpf/verifier.c | 4 +- kernel/trace/trace_events_trigger.c | 18 +++++--- kernel/trace/trace_kprobe.c | 15 ++++++- mm/slub.c | 2 +- mm/vmalloc.c | 3 +- net/dsa/slave.c | 6 +++ net/ipv4/fib_frontend.c | 4 +- net/ipv4/inet_fragment.c | 10 ++--- net/ipv4/ipconfig.c | 13 ++++++ net/ipv4/tcp_dctcp.c | 4 +- net/ipv4/tcp_input.c | 48 +++++++++++----------- net/netlink/af_netlink.c | 7 ++++ net/socket.c | 2 + sound/pci/emu10k1/emupcm.c | 4 +- sound/pci/emu10k1/memory.c | 6 +-- sound/pci/fm801.c | 16 ++++++-- sound/pci/hda/patch_ca0132.c | 8 +++- sound/soc/pxa/brownstone.c | 1 + sound/soc/pxa/mioa701_wm9713.c | 1 + sound/soc/pxa/mmp-pcm.c | 1 + sound/soc/pxa/mmp-sspa.c | 1 + sound/soc/pxa/palm27x.c | 1 + sound/soc/pxa/pxa-ssp.c | 1 + sound/soc/pxa/pxa2xx-ac97.c | 1 + sound/soc/pxa/pxa2xx-pcm.c | 1 + sound/soc/soc-pcm.c | 6 ++- sound/usb/pcm.c | 2 +- tools/usb/usbip/src/usbip_detach.c | 9 ++-- 130 files changed, 532 insertions(+), 208 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/124 MIPS: Fix off-by-one in pci_resource_to_user()
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Paul Burton <[email protected]>
commit 38c0a74fe06da3be133cae3fb7bde6a9438e698b upstream.
The MIPS implementation of pci_resource_to_user() introduced in v3.12 by commit 4c2924b725fb ("MIPS: PCI: Use pci_resource_to_user to map pci memory space properly") incorrectly sets *end to the address of the byte after the resource, rather than the last byte of the resource.
This results in userland seeing resources as a byte larger than they actually are, for example a 32 byte BAR will be reported by a tool such as lspci as being 33 bytes in size:
Region 2: I/O ports at 1000 [disabled] [size=33]
Correct this by subtracting one from the calculated end address, reporting the correct address to userland.
Patchwork: https://patchwork.linux-mips.org/patch/19829/
--- arch/mips/include/asm/pci.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/mips/include/asm/pci.h +1 -1
@@ -89,7 +89,7 @@ static inline void pci_resource_to_user(phys_addr_t size =resource_size (rsrc); *start =fixup_bigphys_addr (rsrc->start, size); - *end = rsrc->start + size; + *end = rsrc->start + size -1 ; }/*
Greg Kroah-Hartman
maintainerPATCH 2/124 Input: elan_i2c - add ACPI ID for lenovo ideapad 330
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Donald Shanty III <[email protected]>
commit 938f45008d8bc391593c97508bc798cc95a52b9b upstream.
This allows Elan driver to bind to the touchpad found in Lenovo Ideapad 330 series laptops.
--- drivers/input/mouse/elan_i2c_core.c | 1 + 1 file changed, 1 insertion(+)
drivers/input/mouse/elan_i2c_core.c +1 -0
@@ -1251,6 +1251,7 @@ static const struct acpi_device_id elan_ { "ELAN0611", 0 }, { "ELAN0612", 0 }, { "ELAN0618", 0 }, + { "ELAN061D", 0 }, { "ELAN1000", 0 }, { } };
Greg Kroah-Hartman
maintainerPATCH 3/124 Input: i8042 - add Lenovo LaVie Z to the i8042 reset list
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Chen-Yu Tsai <[email protected]>
commit 384cf4285b34e08917e3e66603382f2b0c4f6e1b upstream.
The Lenovo LaVie Z laptop requires i8042 to be reset in order to consistently detect its Elantech touchpad. The nomux and kbdreset quirks are not sufficient.
It's possible the other LaVie Z models from NEC require this as well.
--- drivers/input/serio/i8042-x86ia64io.h | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/input/serio/i8042-x86ia64io.h +7 -0
@@ -527,6 +527,13 @@ static const struct dmi_system_id __init DMI_MATCH(DMI_PRODUCT_NAME, "N24_25BU"), }, }, + { + /* Lenovo LaVie Z */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo LaVie Z"), + }, + }, { } };
Greg Kroah-Hartman
maintainerPATCH 4/124 Input: elan_i2c - add another ACPI ID for Lenovo Ideapad 330-15AST
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: KT Liao <[email protected]>
commit 6f88a6439da5d94de334a341503bc2c7f4a7ea7f upstream.
Add ELAN0622 to ACPI mapping table to support Elan touchpad found in Ideapad 330-15AST.
--- drivers/input/mouse/elan_i2c_core.c | 1 + 1 file changed, 1 insertion(+)
drivers/input/mouse/elan_i2c_core.c +1 -0
@@ -1252,6 +1252,7 @@ static const struct acpi_device_id elan_ { "ELAN0612", 0 }, { "ELAN0618", 0 }, { "ELAN061D", 0 }, + { "ELAN0622", 0 }, { "ELAN1000", 0 }, { } };
Greg Kroah-Hartman
maintainerPATCH 5/124 tracing: Fix double free of event_trigger_data
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Steven Rostedt (VMware) <[email protected]>
commit 1863c387259b629e4ebfb255495f67cd06aa229b upstream.
Running the following:
# cd /sys/kernel/debug/tracing # echo 500000 > buffer_size_kb [ Or some other number that takes up most of memory ] # echo snapshot > events/sched/sched_switch/trigger
Triggers the following bug:
------------[ cut here ]------------ kernel BUG at mm/slub.c:296! invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC PTI CPU: 6 PID: 6878 Comm: bash Not tainted 4.18.0-rc6-test+ #1066 Hardware name: Hewlett-Packard HP Compaq Pro 6300 SFF/339A, BIOS K01 v03.03 07/14/2016 RIP: 0010:kfree+0x16c/0x180 Code: 05 41 0f b6 72 51 5b 5d 41 5c 4c 89 d7 e9 ac b3 f8 ff 48 89 d9 48 89 da 41 b8 01 00 00 00 5b 5d 41 5c 4c 89 d6 e9 f4 f3 ff ff <0f> 0b 0f 0b 48 8b 3d d9 d8 f9 00 e9 c1 fe ff ff 0f 1f 40 00 0f 1f RSP: 0018:ffffb654436d3d88 EFLAGS: 00010246 RAX: ffff91a9d50f3d80 RBX: ffff91a9d50f3d80 RCX: ffff91a9d50f3d80 RDX: 00000000000006a4 RSI: ffff91a9de5a60e0 RDI: ffff91a9d9803500 RBP: ffffffff8d267c80 R08: 00000000000260e0 R09: ffffffff8c1a56be R10: fffff0d404543cc0 R11: 0000000000000389 R12: ffffffff8c1a56be R13: ffff91a9d9930e18 R14: ffff91a98c0c2890 R15: ffffffff8d267d00 FS: 00007f363ea64700(0000) GS:ffff91a9de580000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055c1cacc8e10 CR3: 00000000d9b46003 CR4: 00000000001606e0 Call Trace: event_trigger_callback+0xee/0x1d0 event_trigger_write+0xfc/0x1a0 __vfs_write+0x33/0x190 ? handle_mm_fault+0x115/0x230 ? _cond_resched+0x16/0x40 vfs_write+0xb0/0x190 ksys_write+0x52/0xc0 do_syscall_64+0x5a/0x160 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x7f363e16ab50 Code: 73 01 c3 48 8b 0d 38 83 2c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d 79 db 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 1e e3 01 00 48 89 04 24 RSP: 002b:00007fff9a4c6378 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000009 RCX: 00007f363e16ab50 RDX: 0000000000000009 RSI: 000055c1cacc8e10 RDI: 0000000000000001 RBP: 000055c1cacc8e10 R08: 00007f363e435740 R09: 00007f363ea64700 R10: 0000000000000073 R11: 0000000000000246 R12: 0000000000000009 R13: 0000000000000001 R14: 00007f363e4345e0 R15: 00007f363e4303c0 Modules linked in: ip6table_filter ip6_tables snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hwdep snd_hda_core snd_seq snd_seq_device i915 snd_pcm snd_timer i2c_i801 snd soundcore i2c_algo_bit drm_kms_helper 86_pkg_temp_thermal video kvm_intel kvm irqbypass wmi e1000e ---[ end trace d301afa879ddfa25 ]---
The cause is because the register_snapshot_trigger() call failed to allocate the snapshot buffer, and then called unregister_trigger() which freed the data that was passed to it. Then on return to the function that called register_snapshot_trigger(), as it sees it failed to register, it frees the trigger_data again and causes a double free.
By calling event_trigger_init() on the trigger_data (which only ups the reference counter for it), and then event_trigger_free() afterward, the trigger_data would not get freed by the registering trigger function as it would only up and lower the ref count for it. If the register trigger function fails, then the event_trigger_free() called after it will free the trigger data normally.
--- kernel/trace/trace_events_trigger.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
kernel/trace/trace_events_trigger.c +8 -4
@@ -663,6 +663,8 @@ event_trigger_callback(struct event_comm goto out_free; out_reg: +/* Up the trigger_data count to make sure reg doesn't free it on failure */ +event_trigger_init (trigger_ops, trigger_data); ret = cmd_ops->reg (glob, trigger_ops, trigger_data, file);/* * The above returns on success the # of functions enabled,
@@ -670,11 +672,13 @@ event_trigger_callback(struct event_comm* Consider no functions a failure too. */ if (!ret) { + cmd_ops->unreg (glob, trigger_ops, trigger_data, file); ret = -ENOENT ; - goto out_free; - }else if (ret <0 ) - goto out_free; - ret =0 ; + }else if (ret >0 ) + ret =0 ; + +/* Down the counter of trigger_data or free it if not used anymore */ +event_trigger_free (trigger_ops, trigger_data); out:return ret;
Greg Kroah-Hartman
maintainerPATCH 6/124 tracing: Fix possible double free in event_enable_trigger_func()
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Steven Rostedt (VMware) <[email protected]>
commit 15cc78644d0075e76d59476a4467e7143860f660 upstream.
There was a case that triggered a double free in event_trigger_callback() due to the called reg() function freeing the trigger_data and then it getting freed again by the error return by the caller. The solution there was to up the trigger_data ref count.
Code inspection found that event_enable_trigger_func() has the same issue, but is not as easy to trigger (requires harder to trigger failures). It needs to be solved slightly different as it needs more to clean up when the reg() function fails.
--- kernel/trace/trace_events_trigger.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
kernel/trace/trace_events_trigger.c +5 -1
@@ -1231,6 +1231,9 @@ event_enable_trigger_func(struct event_c goto out; } +/* Up the trigger_data count to make sure nothing frees it on failure */ +event_trigger_init (trigger_ops, trigger_data); +if (trigger) { number =strsep (&trigger,":" );
@@ -1281,6 +1284,7 @@ event_enable_trigger_func(struct event_c goto out_disable;/* Just return zero, not the number of enabled functions */ ret =0 ; +event_trigger_free (trigger_ops, trigger_data); out:return ret;
@@ -1291,7 +1295,7 @@ event_enable_trigger_func(struct event_c out_free:if (cmd_ops->set_filter) cmd_ops->set_filter (NULL , trigger_data,NULL ); -kfree (trigger_data); +event_trigger_free (trigger_ops, trigger_data);kfree (enable_data); goto out; }
Greg Kroah-Hartman
maintainerPATCH 7/124 tracing/kprobes: Fix trace_probe flags on enable_trace_kprobe() failure
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Artem Savkov <[email protected]>
commit 57ea2a34adf40f3a6e88409aafcf803b8945619a upstream.
If enable_trace_kprobe fails to enable the probe in enable_k(ret)probe it returns an error, but does not unset the tp flags it set previously. This results in a probe being considered enabled and failures like being unable to remove the probe through kprobe_events file since probes_open() expects every probe to be disabled.
--- kernel/trace/trace_kprobe.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
kernel/trace/trace_kprobe.c +11 -2
@@ -349,11 +349,10 @@ static struct trace_kprobe *find_trace_kstatic int enable_trace_kprobe (struct trace_kprobe *tk,struct trace_event_file *file) { +struct event_file_link *link;int ret =0 ;if (file) { -struct event_file_link *link; - link =kmalloc (sizeof (*link),GFP_KERNEL );if (!link) { ret = -ENOMEM ;
@@ -373,6 +372,16 @@ enable_trace_kprobe(struct trace_kprobeelse ret =enable_kprobe (&tk->rp.kp); } + +if (ret) { +if (file) { +list_del_rcu (&link->list); +kfree (link); + tk->tp.flags &= ~TP_FLAG_TRACE ; + }else { + tk->tp.flags &= ~TP_FLAG_PROFILE ; + } + } out:return ret; }
Greg Kroah-Hartman
maintainerPATCH 8/124 tracing: Quiet gcc warning about maybe unused link variable
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Steven Rostedt (VMware) <[email protected]>
commit 2519c1bbe38d7acacc9aacba303ca6f97482ed53 upstream.
Commit 57ea2a34adf4 ("tracing/kprobes: Fix trace_probe flags on enable_trace_kprobe() failure") added an if statement that depends on another if statement that gcc doesn't see will initialize the "link" variable and gives the warning:
"warning: 'link' may be used uninitialized in this function"
It is really a false positive, but to quiet the warning, and also to make sure that it never actually is used uninitialized, initialize the "link" variable to NULL and add an if (!WARN_ON_ONCE(!link)) where the compiler thinks it could be used uninitialized.
--- kernel/trace/trace_kprobe.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
kernel/trace/trace_kprobe.c +4 -2
@@ -349,7 +349,7 @@ static struct trace_kprobe *find_trace_kstatic int enable_trace_kprobe (struct trace_kprobe *tk,struct trace_event_file *file) { -struct event_file_link *link; +struct event_file_link *link =NULL ;int ret =0 ;if (file) {
@@ -375,7 +375,9 @@ enable_trace_kprobe(struct trace_kprobeif (ret) {if (file) { -list_del_rcu (&link->list); +/* Notice the if is true on not WARN() */ +if (!WARN_ON_ONCE (!link)) +list_del_rcu (&link->list);kfree (link); tk->tp.flags &= ~TP_FLAG_TRACE ; }else {
Greg Kroah-Hartman
maintainerPATCH 9/124 xen/netfront: raise max number of slots in xennet_get_responses()
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Juergen Gross <[email protected]>
[ Upstream commit 57f230ab04d2910a06d17d988f1c4d7586a59113 ]
The max number of slots used in xennet_get_responses() is set to MAX_SKB_FRAGS + (rx->status <= RX_COPY_THRESHOLD).
In old kernel-xen MAX_SKB_FRAGS was 18, while nowadays it is 17. This difference is resulting in frequent messages "too many slots" and a reduced network throughput for some workloads (factor 10 below that of a kernel-xen based guest).
Replacing MAX_SKB_FRAGS by XEN_NETIF_NR_SLOTS_MIN for calculation of the max number of slots to use solves that problem (tests showed no more messages "too many slots" and throughput was as high as with the kernel-xen based guest system).
Replace MAX_SKB_FRAGS-2 by XEN_NETIF_NR_SLOTS_MIN-1 in netfront_tx_slot_available() for making it clearer what is really being tested without actually modifying the tested value.
--- drivers/net/xen-netfront.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/xen-netfront.c +2 -2
@@ -238,7 +238,7 @@ static void rx_refill_timeout(unsigned lstatic int netfront_tx_slot_available (struct netfront_queue *queue) {return (queue->tx.req_prod_pvt - queue->tx.rsp_cons) < - (NET_TX_RING_SIZE -MAX_SKB_FRAGS -2 ); + (NET_TX_RING_SIZE -XEN_NETIF_NR_SLOTS_MIN -1 ); }static void xennet_maybe_wake_tx (struct netfront_queue *queue)
@@ -775,7 +775,7 @@ static int xennet_get_responses(struct nRING_IDX cons = queue->rx.rsp_cons;struct sk_buff *skb =xennet_get_rx_skb (queue, cons);grant_ref_t ref =xennet_get_rx_ref (queue, cons); -int max =MAX_SKB_FRAGS + (rx->status <=RX_COPY_THRESHOLD ); +int max =XEN_NETIF_NR_SLOTS_MIN + (rx->status <=RX_COPY_THRESHOLD );int slots =1 ;int err =0 ;unsigned long ret;
Greg Kroah-Hartman
maintainerPATCH 10/124 ALSA: emu10k1: add error handling for snd_ctl_add
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Zhouyang Jia <[email protected]>
[ Upstream commit 6d531e7b972cb62ded011c2dfcc2d9f72ea6c421 ]
When snd_ctl_add fails, the lack of error-handling code may cause unexpected results.
This patch adds error-handling code after calling snd_ctl_add.
--- sound/pci/emu10k1/emupcm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
sound/pci/emu10k1/emupcm.c +3 -1
@@ -1850,7 +1850,9 @@ int snd_emu10k1_pcm_efx(struct snd_emu10if (!kctl)return -ENOMEM ; kctl->id.device = device; -snd_ctl_add (emu->card, kctl); + err =snd_ctl_add (emu->card, kctl); +if (err <0 ) +return err;snd_pcm_lib_preallocate_pages_for_all (pcm,SNDRV_DMA_TYPE_DEV ,snd_dma_pci_data (emu->pci),64 *1024 ,64 *1024 );
Greg Kroah-Hartman
maintainerPATCH 11/124 ALSA: fm801: add error handling for snd_ctl_add
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Zhouyang Jia <[email protected]>
[ Upstream commit ef1ffbe7889e99f5b5cccb41c89e5c94f50f3218 ]
When snd_ctl_add fails, the lack of error-handling code may cause unexpected results.
This patch adds error-handling code after calling snd_ctl_add.
--- sound/pci/fm801.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)
sound/pci/fm801.c +12 -4
@@ -1050,11 +1050,19 @@ static int snd_fm801_mixer(struct fm801if ((err =snd_ac97_mixer (chip->ac97_bus, &ac97, &chip->ac97_sec)) <0 )return err; } -for (i =0 ; i <FM801_CONTROLS ; i++) -snd_ctl_add (chip->card,snd_ctl_new1 (&snd_fm801_controls[i], chip)); +for (i =0 ; i <FM801_CONTROLS ; i++) { + err =snd_ctl_add (chip->card, +snd_ctl_new1 (&snd_fm801_controls[i], chip)); +if (err <0 ) +return err; + }if (chip->multichannel) { -for (i =0 ; i <FM801_CONTROLS_MULTI ; i++) -snd_ctl_add (chip->card,snd_ctl_new1 (&snd_fm801_controls_multi[i], chip)); +for (i =0 ; i <FM801_CONTROLS_MULTI ; i++) { + err =snd_ctl_add (chip->card, +snd_ctl_new1 (&snd_fm801_controls_multi[i], chip)); +if (err <0 ) +return err; + } }return 0 ; }
Greg Kroah-Hartman
maintainerPATCH 12/124 nfsd: fix potential use-after-free in nfsd4_decode_getdeviceinfo
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Scott Mayhew <[email protected]>
[ Upstream commit 3171822fdcdd6e6d536047c425af6dc7a92dc585 ]
When running a fuzz tester against a KASAN-enabled kernel, the following splat periodically occurs.
The problem occurs when the test sends a GETDEVICEINFO request with a malformed xdr array (size but no data) for gdia_notify_types and the array size is > 0x3fffffff, which results in an overflow in the value of nbytes which is passed to read_buf().
If the array size is 0x40000000, 0x80000000, or 0xc0000000, then after the overflow occurs, the value of nbytes 0, and when that happens the pointer returned by read_buf() points to the end of the xdr data (i.e. argp->end) when really it should be returning NULL.
Fix this by returning NFS4ERR_BAD_XDR if the array size is > 1000 (this value is arbitrary, but it's the same threshold used by nfsd4_decode_bitmap()... in could really be any value >= 1 since it's expected to get at most a single bitmap in gdia_notify_types).
[ 119.256854] ================================================================== [ 119.257611] BUG: KASAN: use-after-free in nfsd4_decode_getdeviceinfo+0x5a4/0x5b0 [nfsd] [ 119.258422] Read of size 4 at addr ffff880113ada000 by task nfsd/538
[ 119.259146] CPU: 0 PID: 538 Comm: nfsd Not tainted 4.17.0+ #1 [ 119.259662] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-1.fc25 04/01/2014 [ 119.261202] Call Trace: [ 119.262265] dump_stack+0x71/0xab [ 119.263371] print_address_description+0x6a/0x270 [ 119.264609] kasan_report+0x258/0x380 [ 119.265854] ? nfsd4_decode_getdeviceinfo+0x5a4/0x5b0 [nfsd] [ 119.267291] nfsd4_decode_getdeviceinfo+0x5a4/0x5b0 [nfsd] [ 119.268549] ? nfs4svc_decode_compoundargs+0xa5b/0x13c0 [nfsd] [ 119.269873] ? nfsd4_decode_sequence+0x490/0x490 [nfsd] [ 119.271095] nfs4svc_decode_compoundargs+0xa5b/0x13c0 [nfsd] [ 119.272393] ? nfsd4_release_compoundargs+0x1b0/0x1b0 [nfsd] [ 119.273658] nfsd_dispatch+0x183/0x850 [nfsd] [ 119.274918] svc_process+0x161c/0x31a0 [sunrpc] [ 119.276172] ? svc_printk+0x190/0x190 [sunrpc] [ 119.277386] ? svc_xprt_release+0x451/0x680 [sunrpc] [ 119.278622] nfsd+0x2b9/0x430 [nfsd] [ 119.279771] ? nfsd_destroy+0x1c0/0x1c0 [nfsd] [ 119.281157] kthread+0x2db/0x390 [ 119.282347] ? kthread_create_worker_on_cpu+0xc0/0xc0 [ 119.283756] ret_from_fork+0x35/0x40
[ 119.286041] Allocated by task 436: [ 119.287525] kasan_kmalloc+0xa0/0xd0 [ 119.288685] kmem_cache_alloc+0xe9/0x1f0 [ 119.289900] get_empty_filp+0x7b/0x410 [ 119.291037] path_openat+0xca/0x4220 [ 119.292242] do_filp_open+0x182/0x280 [ 119.293411] do_sys_open+0x216/0x360 [ 119.294555] do_syscall_64+0xa0/0x2f0 [ 119.295721] entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 119.298068] Freed by task 436: [ 119.299271] __kasan_slab_free+0x130/0x180 [ 119.300557] kmem_cache_free+0x78/0x210 [ 119.301823] rcu_process_callbacks+0x35b/0xbd0 [ 119.303162] __do_softirq+0x192/0x5ea
[ 119.305443] The buggy address belongs to the object at ffff880113ada000
which belongs to the cache filp of size 256
[ 119.308556] The buggy address is located 0 bytes inside of
256-byte region [ffff880113ada000, ffff880113ada100)
[ 119.311376] The buggy address belongs to the page:
[ 119.312728] page:ffffea00044eb680 count:1 mapcount:0 mapping:0000000000000000 index:0xffff880113ada780
[ 119.314428] flags: 0x17ffe000000100(slab)
[ 119.315740] raw: 0017ffe000000100 0000000000000000 ffff880113ada780 00000001000c0001
[ 119.317379] raw: ffffea0004553c60 ffffea00045c11e0 ffff88011b167e00 0000000000000000
[ 119.319050] page dumped because: kasan: bad access detected[ 119.321652] Memory state around the buggy address: [ 119.322993] ffff880113ad9f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 119.324515] ffff880113ad9f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 119.326087] >ffff880113ada000: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 119.327547] ^ [ 119.328730] ffff880113ada080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 119.330218] ffff880113ada100: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb [ 119.331740] ==================================================================
--- fs/nfsd/nfs4xdr.c | 2 ++ 1 file changed, 2 insertions(+)
fs/nfsd/nfs4xdr.c +2 -0
@@ -1538,6 +1538,8 @@ nfsd4_decode_getdeviceinfo(struct nfsd4_ gdev->gd_maxcount =be32_to_cpup (p++); num =be32_to_cpup (p++);if (num) { +if (num >1000 ) + goto xdr_error;READ_BUF (4 * num); gdev->gd_notify_types =be32_to_cpup (p++);for (i =1 ; i < num; i++) {
Greg Kroah-Hartman
maintainerPATCH 13/124 mm: vmalloc: avoid racy handling of debugobjects in vunmap
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Chintan Pandya <[email protected]>
[ Upstream commit f3c01d2f3ade6790db67f80fef60df84424f8964 ]
Currently, __vunmap flow is,
1) Release the VM area
2) Free the debug objects corresponding to that vm area.
This leave some race window open.
1) Release the VM area
1.5) Some other client gets the same vm area 1.6) This client allocates new debug objects on the same
vm area
2) Free the debug objects corresponding to this vm area.
Here, we actually free 'other' client's debug objects.
Fix this by freeing the debug objects first and then releasing the VM area.
--- mm/vmalloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
mm/vmalloc.c +2 -1
@@ -1460,7 +1460,7 @@ static void __vunmap(const void *addr, i addr))return ; - area =remove_vm_area (addr); + area =find_vmap_area ((unsigned long )addr)->vm;if (unlikely (!area)) {WARN (1 ,KERN_ERR "Trying to vfree() nonexistent vm area (%p)\n" , addr);
@@ -1470,6 +1470,7 @@ static void __vunmap(const void *addr, idebug_check_no_locks_freed (addr,get_vm_area_size (area));debug_check_no_obj_freed (addr,get_vm_area_size (area)); +remove_vm_area (addr);if (deallocate_pages) {int i;
Greg Kroah-Hartman
maintainerPATCH 14/124 mm/slub.c: add __printf verification to slab_err()
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Mathieu Malaterre <[email protected]>
[ Upstream commit a38965bf941b7c2af50de09c96bc5f03e136caef ]
__printf is useful to verify format and arguments. Remove the following warning (with W=1):
mm/slub.c:721:2: warning: function might be possible candidate for `gnu_printf' format attribute [-Wsuggest-attribute=format]
--- mm/slub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
mm/slub.c +1 -1
@@ -659,7 +659,7 @@ void object_err(struct kmem_cache *s, stprint_trailer (s, page, object); } -static void slab_err (struct kmem_cache *s,struct page *page, +static __printf(3, 4) void slab_err(struct kmem_cache *s, struct page *page,const char *fmt, ...) {va_list args;
Greg Kroah-Hartman
maintainerPATCH 15/124 rtc: ensure rtc_set_alarm fails when alarms are not supported
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alexandre Belloni <[email protected]>
[ Upstream commit abfdff44bc38e9e2ef7929f633fb8462632299d4 ]
When using RTC_ALM_SET or RTC_WKALM_SET with rtc_wkalrm.enabled not set, rtc_timer_enqueue() is not called and rtc_set_alarm() may succeed but the subsequent RTC_AIE_ON ioctl will fail. RTC_ALM_READ would also fail in that case.
Ensure rtc_set_alarm() fails when alarms are not supported to avoid letting programs think the alarms are working for a particular RTC when they are not.
--- drivers/rtc/interface.c | 5 +++++ 1 file changed, 5 insertions(+)
drivers/rtc/interface.c +5 -0
@@ -349,6 +349,11 @@ int rtc_set_alarm(struct rtc_device *rtc {int err; +if (!rtc->ops) +return -ENODEV ; +else if (!rtc->ops->set_alarm) +return -EINVAL ; + err =rtc_valid_tm (&alarm->time);if (err !=0 )return err;
Greg Kroah-Hartman
maintainerPATCH 16/124 netfilter: ipset: List timing out entries with "timeout 1" instead of zero
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jozsef Kadlecsik <[email protected]>
[ Upstream commit bd975e691486ba52790ba23cc9b4fecab7bc0d31 ]
When listing sets with timeout support, there's a probability that just timing out entries with "0" timeout value is listed/saved. However when restoring the saved list, the zero timeout value means permanent elelements.
The new behaviour is that timing out entries are listed with "timeout 1" instead of zero.
Fixes netfilter bugzilla #1258.
--- include/linux/netfilter/ipset/ip_set_timeout.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
include/linux/netfilter/ipset/ip_set_timeout.h +8 -2
@@ -65,8 +65,14 @@ ip_set_timeout_set(unsigned long *timeoustatic inline u32 ip_set_timeout_get (unsigned long *timeout) { -return *timeout ==IPSET_ELEM_PERMANENT ?0 : -jiffies_to_msecs (*timeout - jiffies)/MSEC_PER_SEC ; +u32 t; + +if (*timeout ==IPSET_ELEM_PERMANENT ) +return 0 ; + + t =jiffies_to_msecs (*timeout - jiffies)/MSEC_PER_SEC ; +/* Zero value in userspace means no timeout */ +return t ==0 ?1 : t; }#endif /* __KERNEL__ */
Greg Kroah-Hartman
maintainerPATCH 17/124 infiniband: fix a possible use-after-free bug
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Cong Wang <[email protected]>
[ Upstream commit cb2595c1393b4a5211534e6f0a0fbad369e21ad8 ]
ucma_process_join() will free the new allocated "mc" struct, if there is any error after that, especially the copy_to_user().
But in parallel, ucma_leave_multicast() could find this "mc" through idr_find() before ucma_process_join() frees it, since it is already published.
So "mc" could be used in ucma_leave_multicast() after it is been allocated and freed in ucma_process_join(), since we don't refcnt it.
Fix this by separating "publish" from ID allocation, so that we can get an ID first and publish it later after copy_to_user().
--- drivers/infiniband/core/ucma.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/infiniband/core/ucma.c +5 -1
@@ -217,7 +217,7 @@ static struct ucma_multicast* ucma_allocreturn NULL ;mutex_lock (&mut); - mc->id =idr_alloc (&multicast_idr, mc,0 ,0 ,GFP_KERNEL ); + mc->id =idr_alloc (&multicast_idr,NULL ,0 ,0 ,GFP_KERNEL );mutex_unlock (&mut);if (mc->id <0 ) goto error;
@@ -1375,6 +1375,10 @@ static ssize_t ucma_process_join(struct goto err3; } +mutex_lock (&mut); +idr_replace (&multicast_idr, mc, mc->id); +mutex_unlock (&mut); +mutex_unlock (&file->mut);ucma_put_ctx (ctx);return 0 ;
Greg Kroah-Hartman
maintainerPATCH 18/124 hvc_opal: dont set tb_ticks_per_usec in udbg_init_opal_common()
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stewart Smith <[email protected]>
[ Upstream commit 447808bf500a7cc92173266a59f8a494e132b122 ]
time_init() will set up tb_ticks_per_usec based on reality. time_init() is called *after* udbg_init_opal_common() during boot.
from arch/powerpc/kernel/time.c:
unsigned long tb_ticks_per_usec = 100; /* sane default */
Currently, all powernv systems have a timebase frequency of 512mhz (512000000/1000000 == 0x200) - although there's nothing written down anywhere that I can find saying that we couldn't make that different based on the requirements in the ISA.
So, we've been (accidentally) thwacking the (currently) correct (for powernv at least) value for tb_ticks_per_usec earlier than we otherwise would have.
The "sane default" seems to be adequate for our purposes between udbg_init_opal_common() and time_init() being called, and if it isn't, then we should probably be setting it somewhere that isn't hvc_opal.c!
--- drivers/tty/hvc/hvc_opal.c | 1 - 1 file changed, 1 deletion(-)
drivers/tty/hvc/hvc_opal.c +0 -1
@@ -323,7 +323,6 @@ static void udbg_init_opal_common(void) udbg_putc = udbg_opal_putc; udbg_getc = udbg_opal_getc; udbg_getc_poll = udbg_opal_getc_poll; - tb_ticks_per_usec =0x200 ;/* Make udelay not suck */ }void __init hvc_opal_init_early (void )
Greg Kroah-Hartman
maintainerPATCH 19/124 powerpc/64s: Fix compiler store ordering to SLB shadow area
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Nicholas Piggin <[email protected]>
[ Upstream commit 926bc2f100c24d4842b3064b5af44ae964c1d81c ]
The stores to update the SLB shadow area must be made as they appear in the C code, so that the hypervisor does not see an entry with mismatched vsid and esid. Use WRITE_ONCE for this.
GCC has been observed to elide the first store to esid in the update, which means that if the hypervisor interrupts the guest after storing to vsid, it could see an entry with old esid and new vsid, which may possibly result in memory corruption.
--- arch/powerpc/mm/slb.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
arch/powerpc/mm/slb.c +4 -4
@@ -69,14 +69,14 @@ static inline void slb_shadow_update(uns* updating it. No write barriers are needed here, provided * we only update the current CPU's SLB shadow buffer. */ - p->save_area[index].esid =0 ; - p->save_area[index].vsid =cpu_to_be64 (mk_vsid_data (ea, ssize, flags)); - p->save_area[index].esid =cpu_to_be64 (mk_esid_data (ea, ssize, index)); +WRITE_ONCE (p->save_area[index].esid,0 ); +WRITE_ONCE (p->save_area[index].vsid,cpu_to_be64 (mk_vsid_data (ea, ssize, flags))); +WRITE_ONCE (p->save_area[index].esid,cpu_to_be64 (mk_esid_data (ea, ssize, index))); }static inline void slb_shadow_clear (enum slb_index index) { -get_slb_shadow ()->save_area[index].esid =0 ; +WRITE_ONCE (get_slb_shadow ()->save_area[index].esid,0 ); } static inline void create_shadowed_slbe(unsigned long ea, int ssize,
Greg Kroah-Hartman
maintainerPATCH 20/124 RDMA/mad: Convert BUG_ONs to error flows
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Leon Romanovsky <[email protected]>
[ Upstream commit 2468b82d69e3a53d024f28d79ba0fdb8bf43dfbf ]
Let's perform checks in-place instead of BUG_ONs.
--- drivers/infiniband/core/mad.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
drivers/infiniband/core/mad.c +7 -4
@@ -1548,7 +1548,8 @@ static int add_oui_reg_req(struct ib_mad mad_reg_req->oui, 3)) { method = &(*vendor_table)->vendor_class[ vclass]->method_table[i]; -BUG_ON (!*method); +if (!*method) + goto error3; goto check_in_use; } }
@@ -1558,10 +1559,12 @@ static int add_oui_reg_req(struct ib_mad vclass]->oui[i])) { method = &(*vendor_table)->vendor_class[ vclass]->method_table[i]; -BUG_ON (*method);/* Allocate method table for this OUI */ -if ((ret =allocate_method_table (method))) - goto error3; +if (!*method) { + ret =allocate_method_table (method); +if (ret) + goto error3; + }memcpy ((*vendor_table)->vendor_class[vclass]->oui[i], mad_reg_req->oui,3 ); goto check_in_use;
Greg Kroah-Hartman
maintainerPATCH 21/124 disable loading f2fs module on PAGE_SIZE > 4KB
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Anatoly Pugachev <[email protected]>
[ Upstream commit 4071e67cffcc5c2a007116a02437471351f550eb ]
The following patch disables loading of f2fs module on architectures which have PAGE_SIZE > 4096 , since it is impossible to mount f2fs on such architectures , log messages are:
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/vdiskb1, missing codepage or helper program, or other error. /dev/vdiskb1: F2FS filesystem, UUID=1d8b9ca4-2389-4910-af3b-10998969f09c, volume name ""
May 15 18:03:13 ttip kernel: F2FS-fs (vdiskb1): Invalid page_cache_size (8192), supports only 4KB May 15 18:03:13 ttip kernel: F2FS-fs (vdiskb1): Can't find valid F2FS filesystem in 1th superblock May 15 18:03:13 ttip kernel: F2FS-fs (vdiskb1): Invalid page_cache_size (8192), supports only 4KB May 15 18:03:13 ttip kernel: F2FS-fs (vdiskb1): Can't find valid F2FS filesystem in 2th superblock May 15 18:03:13 ttip kernel: F2FS-fs (vdiskb1): Invalid
page_cache_size (8192), supports only 4KB
which was introduced by git commit 5c9b469295fb6b10d98923eab5e79c4edb80ed20
tested on git kernel 4.17.0-rc6-00309-gec30dcf7f425
with patch applied:
modprobe: ERROR: could not insert 'f2fs': Invalid argument
May 28 01:40:28 v215 kernel: F2FS not supported on PAGE_SIZE(8192) != 4096
--- fs/f2fs/super.c | 6 ++++++ 1 file changed, 6 insertions(+)
fs/f2fs/super.c +6 -0
@@ -1566,6 +1566,12 @@ static int __init init_f2fs_fs(void) {int err; +if (PAGE_SIZE !=F2FS_BLKSIZE ) { +printk ("F2FS not supported on PAGE_SIZE(%lu) != %d\n" , +PAGE_SIZE ,F2FS_BLKSIZE ); +return -EINVAL ; + } +f2fs_build_trace_ios (); err =init_inodecache ();
Greg Kroah-Hartman
maintainerPATCH 22/124 f2fs: fix to dont trigger writeback during recovery
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Chao Yu <[email protected]>
[ Upstream commit 64c74a7ab505ea40d1b3e5d02735ecab08ae1b14 ]
- f2fs_fill_super
- recover_fsync_data
- recover_data
- del_fsync_inode
- iput
- iput_final
- write_inode_now
- f2fs_write_inode
- f2fs_balance_fs
- f2fs_balance_fs_bg
- sync_dirty_inodes
With data_flush mount option, during recovery, in order to avoid entering above writeback flow, let's detect recovery status and do skip in f2fs_balance_fs_bg.
--- fs/f2fs/segment.c | 3 +++ 1 file changed, 3 insertions(+)
fs/f2fs/segment.c +3 -0
@@ -295,6 +295,9 @@ void f2fs_balance_fs(struct f2fs_sb_infovoid f2fs_balance_fs_bg (struct f2fs_sb_info *sbi) { +if (unlikely (is_sbi_flag_set (sbi,SBI_POR_DOING ))) +return ; +/* try to shrink extent cache when there is no enough memory */ if (!available_free_memory (sbi,EXTENT_CACHE ))f2fs_shrink_extent_tree (sbi,EXTENT_CACHE_SHRINK_NUMBER );
Greg Kroah-Hartman
maintainerPATCH 23/124 usbip: usbip_detach: Fix memory, udev context and udev leak
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: "Shuah Khan (Samsung OSG)" <[email protected]>
[ Upstream commit d179f99a651685b19333360e6558110da2fe9bd7 ]
detach_port() fails to call usbip_vhci_driver_close() from its error path after usbip_vhci_detach_device() returns failure, leaking memory allocated in usbip_vhci_driver_open() and holding udev_context and udev references. Fix it to call usbip_vhci_driver_close().
--- tools/usb/usbip/src/usbip_detach.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
tools/usb/usbip/src/usbip_detach.c +6 -3
@@ -43,7 +43,7 @@ void usbip_detach_usage(void)static int detach_port (char *port) { -int ret; +int ret =0 ;uint8_t portnum;char path[PATH_MAX +1 ];
@@ -73,9 +73,12 @@ static int detach_port(char *port) } ret =usbip_vhci_detach_device (portnum); -if (ret <0 ) -return -1 ; +if (ret <0 ) { + ret =-1 ; + goto call_driver_close; + } +call_driver_close:usbip_vhci_driver_close ();return ret;
Greg Kroah-Hartman
maintainerPATCH 24/124 perf/x86/intel/uncore: Correct fixed counter index check in generic code
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Kan Liang <[email protected]>
[ Upstream commit 4749f8196452eeb73cf2086a6a9705bae479d33d ]
There is no index which is bigger than UNCORE_PMC_IDX_FIXED. The only exception is client IMC uncore, which has been specially handled. For generic code, it is not correct to use >= to check fixed counter. The code quality issue will bring problem when a new counter index is introduced.
--- arch/x86/kernel/cpu/perf_event_intel_uncore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/x86/kernel/cpu/perf_event_intel_uncore.c +1 -1
@@ -229,7 +229,7 @@ void uncore_perf_event_update(struct intu64 prev_count, new_count, delta;int shift; -if (event->hw.idx >=UNCORE_PMC_IDX_FIXED ) +if (event->hw.idx ==UNCORE_PMC_IDX_FIXED ) shift =64 -uncore_fixed_ctr_bits (box);else shift =64 -uncore_perf_ctr_bits (box);
Greg Kroah-Hartman
maintainerPATCH 25/124 perf/x86/intel/uncore: Correct fixed counter index check for NHM
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Kan Liang <[email protected]>
[ Upstream commit d71f11c076c420c4e2fceb4faefa144e055e0935 ]
For Nehalem and Westmere, there is only one fixed counter for W-Box. There is no index which is bigger than UNCORE_PMC_IDX_FIXED. It is not correct to use >= to check fixed counter.
The code quality issue will bring problem when new counter index is introduced.
--- arch/x86/kernel/cpu/perf_event_intel_uncore_nhmex.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/x86/kernel/cpu/perf_event_intel_uncore_nhmex.c +1 -1
@@ -240,7 +240,7 @@ static void nhmex_uncore_msr_enable_even {struct hw_perf_event *hwc = &event->hw; -if (hwc->idx >=UNCORE_PMC_IDX_FIXED ) +if (hwc->idx ==UNCORE_PMC_IDX_FIXED )wrmsrl (hwc->config_base,NHMEX_PMON_CTL_EN_BIT0 );else if (box->pmu->type->event_mask &NHMEX_PMON_CTL_EN_BIT0 )wrmsrl (hwc->config_base, hwc->config |NHMEX_PMON_CTL_EN_BIT22 );
Greg Kroah-Hartman
maintainerPATCH 26/124 iwlwifi: pcie: fix race in Rx buffer allocator
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Shaul Triebitz <[email protected]>
[ Upstream commit 0f22e40053bd5378ad1e3250e65c574fd61c0cd6 ]
Make sure the rx_allocator worker is canceled before running the rx_init routine. rx_init frees and re-allocates all rxb's pages. The rx_allocator worker also allocates pages for the used rxb's. Running rx_init and rx_allocator simultaniously causes a kernel panic. Fix that by canceling the work in rx_init.
--- drivers/net/wireless/iwlwifi/pcie/rx.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/net/wireless/iwlwifi/pcie/rx.c +2 -0
@@ -713,6 +713,8 @@ int iwl_pcie_rx_init(struct iwl_trans *t WQ_HIGHPRI | WQ_UNBOUND, 1);INIT_WORK (&rba->rx_alloc, iwl_pcie_rx_allocator_work); +cancel_work_sync (&rba->rx_alloc); +spin_lock (&rba->lock);atomic_set (&rba->req_pending,0 );atomic_set (&rba->req_ready,0 );
Re: [PATCH 4.4 026/124] iwlwifi: pcie: fix race in Rx buffer allocator
Quoted 30 lines · Greg Kroah-Hartman
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Shaul Triebitz <[email protected]>
[ Upstream commit
0f22e40053bd5378ad1e3250e65c574fd61c0cd6]Make sure the
rx_allocatorworker is canceled before running therx_initroutine. rx_init frees and re-allocates all rxb's pages. Therx_allocatorworker also allocates pages for the used rxb's. Runningrx_initandrx_allocatorsimultaniously causes a kernel panic. Fix that by canceling the work inrx_init.Signed-off-by Shaul Triebitz <[email protected]>Signed-off-by Luca Coelho <[email protected]>Signed-off-by Sasha Levin <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>---
drivers/net/wireless/iwlwifi/pcie/rx.c | 2 ++1 file changed, 2 insertions(+)drivers/net/wireless/iwlwifi/pcie/rx.c +0
-0@@ -713,6 +713,8 @@ int iwl_pcie_rx_init(struct iwl_trans *t WQ_HIGHPRI | WQ_UNBOUND, 1); INIT_WORK(&rba->rx_alloc, iwl_pcie_rx_allocator_work);drivers/net/wireless/iwlwifi/pcie/rx.c +2
-0+cancel_work_sync (&rba->rx_alloc); +
Quoted 3 lines
spin_lock(&rba->lock);
atomic_set(&rba->req_pending, 0);
atomic_set(&rba->req_ready, 0);
This seems to be an incomplete fix. INIT_WORK() will overwrite the list pointers in the work item, so there is still a race condition.
I think that the RX initialisation and reinitialisation/reset cases need to be explicitly distinguished. In the initialisation case the driver should do only INIT_WORK() and in the reset case it should do only cancel_work_sync() (although it would be safe to do INIT_WORK() *after* that).
Ben.
Signature · 3 lines
Ben Hutchings, Software Developer Codethink Ltd
https://www.codethink.co.uk/ Dale House, 35 Dale Street
Manchester, M1 2HF, United KingdomGreg Kroah-Hartman
maintainerPATCH 27/124 Bluetooth: hci_qca: Fix "Sleep inside atomic section" warning
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Thierry Escande <[email protected]>
[ Upstream commit 9960521c44a5d828f29636ceac0600603ecbddbf ]
This patch fixes the following warning during boot:
do not call blocking ops when !TASK_RUNNING; state=1 set at
[<(ptrval)>] qca_setup+0x194/0x750 [hci_uart] WARNING: CPU: 2 PID: 1878 at kernel/sched/core.c:6135 __might_sleep+0x7c/0x88
In qca_set_baudrate(), the current task state is set to TASK_UNINTERRUPTIBLE before going to sleep for 300ms. It was then restored to TASK_INTERRUPTIBLE. This patch sets the current task state back to TASK_RUNNING instead.
--- drivers/bluetooth/hci_qca.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/bluetooth/hci_qca.c +1 -1
@@ -884,7 +884,7 @@ static int qca_set_baudrate(struct hci_d*/ set_current_state (TASK_UNINTERRUPTIBLE );schedule_timeout (msecs_to_jiffies (BAUDRATE_SETTLE_TIMEOUT_MS )); -set_current_state (TASK_INTERRUPTIBLE ); +set_current_state (TASK_RUNNING );return 0 ; }
Greg Kroah-Hartman
maintainerPATCH 28/124 Bluetooth: btusb: Add a new Realtek 8723DE ID 2ff8:b011
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jian-Hong Pan <[email protected]>
[ Upstream commit 66d9975c5a7c40aa7e4bb0ec0b0c37ba1f190923 ]
Without this patch we cannot turn on the Bluethooth adapter on ASUS E406MA.
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=2ff8 ProdID=b011 Rev= 2.00 S: Manufacturer=Realtek S: Product=802.11n WLAN Adapter S: SerialNumber=00e04c000001 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
--- drivers/bluetooth/btusb.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/bluetooth/btusb.c +3 -0
@@ -339,6 +339,9 @@ static const struct usb_device_id blackl/* Additional Realtek 8723BU Bluetooth devices */ { USB_DEVICE(0x7392, 0xa611), .driver_info = BTUSB_REALTEK }, + /* Additional Realtek 8723DE Bluetooth devices */ + { USB_DEVICE(0x2ff8, 0xb011), .driver_info = BTUSB_REALTEK }, + /* Additional Realtek 8821AE Bluetooth devices */ { USB_DEVICE(0x0b05, 0x17dc), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3414), .driver_info = BTUSB_REALTEK },
Greg Kroah-Hartman
maintainerPATCH 29/124 ASoC: dpcm: fix BE dai not hw_free and shutdown
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Kai Chieh Chuang <[email protected]>
[ Upstream commit 9c0ac70ad24d76b873c1551e27790c7f6a815d5c ]
In case, one BE is used by two FE1/FE2
FE1--->BE-->
|
FE2----]
when FE1/FE2 call dpcm_be_dai_hw_free() together the BE users will be 2 (> 1), hence cannot be hw_free the be state will leave at, ex. SND_SOC_DPCM_STATE_STOP
later FE1/FE2 call dpcm_be_dai_shutdown(),
will be skip due to wrong state.
leaving the BE not being hw_free and shutdown.
The BE dai will be hw_free later when callingdpcm_be_dai_shutdown() if still in invalid state.
--- sound/soc/soc-pcm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
sound/soc/soc-pcm.c +4 -2
@@ -1682,8 +1682,10 @@ int dpcm_be_dai_shutdown(struct snd_soc_continue ;if ((be->dpcm[stream].state !=SND_SOC_DPCM_STATE_HW_FREE ) && - (be->dpcm[stream].state !=SND_SOC_DPCM_STATE_OPEN )) -continue ; + (be->dpcm[stream].state !=SND_SOC_DPCM_STATE_OPEN )) { +soc_pcm_hw_free (be_substream); + be->dpcm[stream].state =SND_SOC_DPCM_STATE_HW_FREE ; + }dev_dbg (be->dev,"ASoC: close BE %s\n" , dpcm->fe->dai_link->name);
Greg Kroah-Hartman
maintainerPATCH 30/124 mfd: cros_ec: Fail early if we cannot identify the EC
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Vincent Palatin <[email protected]>
[ Upstream commit 0dbbf25561b29ffab5ba6277429760abdf49ceff ]
If we cannot communicate with the EC chip to detect the protocol version and its features, it's very likely useless to continue. Else we will commit all kind of uninformed mistakes (using the wrong protocol, the wrong buffer size, mixing the EC with other chips).
--- drivers/mfd/cros_ec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/mfd/cros_ec.c +5 -1
@@ -68,7 +68,11 @@ int cros_ec_register(struct cros_ec_devimutex_init (&ec_dev->lock); -cros_ec_query_all (ec_dev); + err =cros_ec_query_all (ec_dev); +if (err) { +dev_err (dev,"Cannot identify the EC: error %d\n" , err); +return err; + } err =mfd_add_devices (ec_dev->dev,PLATFORM_DEVID_AUTO , &ec_cell,1 ,NULL , ec_dev->irq,NULL );
Greg Kroah-Hartman
maintainerPATCH 31/124 mwifiex: handle race during mwifiex_usb_disconnect
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ganapathi Bhat <[email protected]>
[ Upstream commit b817047ae70c0bd67b677b65d0d69d72cd6e9728 ]
Race condition is observed during rmmod of mwifiex_usb:
1. The rmmod thread will call mwifiex_usb_disconnect(), download SHUTDOWN command and do wait_event_interruptible_timeout(), waiting for response.
2. The main thread will handle the response and will do a wake_up_interruptible(), unblocking rmmod thread.
3. On getting unblocked, rmmod thread will make rx_cmd.urb = NULL in mwifiex_usb_free().
4. The main thread will try to resubmit rx_cmd.urb in mwifiex_usb_submit_rx_urb(), which is NULL.
To fix, wait for main thread to complete before calling mwifiex_usb_free().
--- drivers/net/wireless/mwifiex/usb.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/net/wireless/mwifiex/usb.c +3 -0
@@ -624,6 +624,9 @@ static void mwifiex_usb_disconnect(struc MWIFIEX_FUNC_SHUTDOWN); } +if (adapter->workqueue) +flush_workqueue (adapter->workqueue); +mwifiex_usb_free (card); mwifiex_dbg(adapter, FATAL,
Greg Kroah-Hartman
maintainerPATCH 32/124 wlcore: sdio: check for valid platform device data before suspend
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eyal Reizer <[email protected]>
[ Upstream commit 6e91d48371e79862ea2c05867aaebe4afe55a865 ]
the wl pointer can be null In case only wlcore_sdio is probed while no WiLink module is successfully probed, as in the case of mounting a wl12xx module while using a device tree file configured with wl18xx related settings.
In this case the system was crashing in wl1271_suspend() as platform device data is not set.
Make sure wl the pointer is valid before using it.
--- drivers/net/wireless/ti/wlcore/sdio.c | 5 +++++ 1 file changed, 5 insertions(+)
drivers/net/wireless/ti/wlcore/sdio.c +5 -0
@@ -388,6 +388,11 @@ static int wl1271_suspend(struct devicemmc_pm_flag_t sdio_flags;int ret =0 ; +if (!wl) { +dev_err (dev,"no wilink module was probed\n" ); + goto out; + } +dev_dbg (dev,"wl1271 suspend. wow_enabled: %d\n" , wl->wow_enabled);
Greg Kroah-Hartman
maintainerPATCH 33/124 media: videobuf2-core: dont call memop finish when queueing
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Hans Verkuil <[email protected]>
[ Upstream commit 90b2da89a083e1395cb322521a42397c49ae4500 ]
When a buffer is queued or requeued in vb2_buffer_done, then don't call the finish memop. In this case the buffer is only returned to vb2, not to userspace.
Calling 'finish' here will cause an unbalance when the queue is canceled, since the core will call the same memop again.
--- drivers/media/v4l2-core/videobuf2-core.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
drivers/media/v4l2-core/videobuf2-core.c +6 -3
@@ -870,9 +870,12 @@ void vb2_buffer_done(struct vb2_buffer *dprintk (4 ,"done processing on buffer %d, state: %d\n" , vb->index, state); -/* sync buffers */ -for (plane =0 ; plane < vb->num_planes; ++plane) -call_void_memop (vb, finish, vb->planes[plane].mem_priv); +if (state !=VB2_BUF_STATE_QUEUED && + state !=VB2_BUF_STATE_REQUEUEING ) { +/* sync buffers */ +for (plane =0 ; plane < vb->num_planes; ++plane) +call_void_memop (vb, finish, vb->planes[plane].mem_priv); + }spin_lock_irqsave (&q->done_lock, flags); if (state == VB2_BUF_STATE_QUEUED ||
Greg Kroah-Hartman
maintainerPATCH 34/124 btrfs: add barriers to btrfs_sync_log before log_commit_wait wakeups
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: David Sterba <[email protected]>
[ Upstream commit 3d3a2e610ea5e7c6d4f9481ecce5d8e2d8317843 ]
Currently the code assumes that there's an implied barrier by the sequence of code preceding the wakeup, namely the mutex unlock.
As Nikolay pointed out:
I think this is wrong (not your code) but the original assumption that the RELEASE semantics provided by mutex_unlock is sufficient. According to memory-barriers.txt:
Section 'LOCK ACQUISITION FUNCTIONS' states:
(2) RELEASE operation implication:
Memory operations issued before the RELEASE will be completed before the RELEASE operation has completed.
Memory operations issued after the RELEASE *may* be completed before the RELEASE operation has completed.
(I've bolded the may portion)
The example given there:
As an example, consider the following:
*A = a;
*B = b;
ACQUIRE
*C = c;
*D = d;
RELEASE
*E = e;
*F = f;The following sequence of events is acceptable:
ACQUIRE, {*F,*A}, *E, {*C,*D}, *B, RELEASESo if we assume that *C is modifying the flag which the waitqueue is checking, and *E is the actual wakeup, then those accesses can be re-ordered...
IMHO this code should be considered broken...
---
To be on the safe side, add the barriers. The synchronization logic around log using the mutexes and several other threads does not make it easy to reason for/against the barrier.
--- fs/btrfs/tree-log.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
fs/btrfs/tree-log.c +8 -2
@@ -2961,8 +2961,11 @@ out_wake_log_root:mutex_unlock (&log_root_tree->log_mutex);/* -* The barrier before waitqueue_active is implied by mutex_unlock +* The barrier before waitqueue_active is needed so all the updates +* above are seen by the woken threads. It might not be necessary, but +* proving that seems to be hard. */ +smp_mb ();if (waitqueue_active (&log_root_tree->log_commit_wait[index2]))wake_up (&log_root_tree->log_commit_wait[index2]); out:
@@ -2973,8 +2976,11 @@ out:mutex_unlock (&root->log_mutex);/* -* The barrier before waitqueue_active is implied by mutex_unlock +* The barrier before waitqueue_active is needed so all the updates +* above are seen by the woken threads. It might not be necessary, but +* proving that seems to be hard. */ +smp_mb ();if (waitqueue_active (&root->log_commit_wait[index1]))wake_up (&root->log_commit_wait[index1]);return ret;
Greg Kroah-Hartman
maintainerPATCH 35/124 btrfs: qgroup: Finish rescan when hit the last leaf of extent tree
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Qu Wenruo <[email protected]>
[ Upstream commit ff3d27a048d926b3920ccdb75d98788c567cae0d ]
Under the following case, qgroup rescan can double account cowed tree blocks:
In this case, extent tree only has one tree block.
-
| transid=5 last committed=4 | btrfs_qgroup_rescan_worker() | |- btrfs_start_transaction() | | transid = 5 | |- qgroup_rescan_leaf() | |- btrfs_search_slot_for_read() on extent tree | Get the only extent tree block from commit root (transid = 4). | Scan it, set qgroup_rescan_progress to the last | EXTENT/META_ITEM + 1 | now qgroup_rescan_progress = A + 1. | | fs tree get CoWed, new tree block is at A + 16K | transid 5 get committed - | transid=6 last committed=5 | btrfs_qgroup_rescan_worker() | btrfs_qgroup_rescan_worker() | |- btrfs_start_transaction() | | transid = 5 | |- qgroup_rescan_leaf() | |- btrfs_search_slot_for_read() on extent tree | Get the only extent tree block from commit root (transid = 5). | scan it using qgroup_rescan_progress (A + 1). | found new tree block beyong A, and it's fs tree block, | account it to increase qgroup numbers.
-
In above case, tree block A, and tree block A + 16K get accounted twice, while qgroup rescan should stop when it already reach the last leaf, other than continue using its qgroup_rescan_progress.
Such case could happen by just looping btrfs/017 and with some possibility it can hit such double qgroup accounting problem.
Fix it by checking the path to determine if we should finish qgroup rescan, other than relying on next loop to exit.
--- fs/btrfs/qgroup.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
fs/btrfs/qgroup.c +19 -0
@@ -2186,6 +2186,21 @@ void assert_qgroups_uptodate(struct btrf }/* +* Check if the leaf is the last leaf. Which means all node pointers +* are at their last position. +*/ +static bool is_last_leaf (struct btrfs_path *path) +{ +int i; + +for (i =1 ; i <BTRFS_MAX_LEVEL && path->nodes[i]; i++) { +if (path->slots[i] !=btrfs_header_nritems (path->nodes[i]) -1 ) +return false; + } +return true; +} + +/* * returns < 0 on error, 0 when more leafs are to be scanned. * returns 1 when done. */
@@ -2198,6 +2213,7 @@ qgroup_rescan_leaf(struct btrfs_fs_infostruct ulist *roots =NULL ;struct seq_list tree_mod_seq_elem =SEQ_LIST_INIT (tree_mod_seq_elem);u64 num_bytes; +bool done;int slot;int ret;
@@ -2225,6 +2241,7 @@ qgroup_rescan_leaf(struct btrfs_fs_infomutex_unlock (&fs_info->qgroup_rescan_lock);return ret; } + done =is_last_leaf (path);btrfs_item_key_to_cpu (path->nodes[0 ], &found,btrfs_header_nritems (path->nodes[0 ]) -1 );
@@ -2271,6 +2288,8 @@ out: }btrfs_put_tree_mod_seq (fs_info, &tree_mod_seq_elem); +if (done && !ret) + ret =1 ;return ret; }
Greg Kroah-Hartman
maintainerPATCH 36/124 PCI: Prevent sysfs disable of device while driver is attached
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Christoph Hellwig <[email protected]>
[ Upstream commit 6f5cdfa802733dcb561bf664cc89d203f2fd958f ]
Manipulating the enable_cnt behind the back of the driver will wreak complete havoc with the kernel state, so disallow it.
--- drivers/pci/pci-sysfs.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-)
drivers/pci/pci-sysfs.c +9 -6
@@ -180,13 +180,16 @@ static ssize_t enable_store(struct devicif (!capable (CAP_SYS_ADMIN ))return -EPERM ; -if (!val) { -if (pci_is_enabled (pdev)) -pci_disable_device (pdev); -else - result = -EIO ; - }else +device_lock (dev); +if (dev->driver) + result = -EBUSY ; +else if (val) result =pci_enable_device (pdev); +else if (pci_is_enabled (pdev)) +pci_disable_device (pdev); +else + result = -EIO ; +device_unlock (dev);return result <0 ? result : count; }
Greg Kroah-Hartman
maintainerPATCH 37/124 ath: Add regulatory mapping for FCC3_ETSIC
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sven Eckelmann <[email protected]>
[ Upstream commit 01fb2994a98dc72c8818c274f7b5983d5dd885c7 ]
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with:
Invalid EEPROM contents
The current CTL mappings for this regdomain code are:
* 2.4GHz: ETSI
* 5GHz: FCC
--- drivers/net/wireless/ath/regd_common.h | 2 ++ 1 file changed, 2 insertions(+)
drivers/net/wireless/ath/regd_common.h +2 -0
@@ -35,6 +35,7 @@ enum EnumRd {FRANCE_RES =0x31 ,FCC3_FCCA =0x3A ,FCC3_WORLD =0x3B , +FCC3_ETSIC =0x3F ,ETSI1_WORLD =0x37 , ETSI3_ETSIA = 0x32,
@@ -168,6 +169,7 @@ static struct reg_dmn_pair_mapping regDo {FCC2_ETSIC, CTL_FCC, CTL_ETSI}, {FCC3_FCCA, CTL_FCC, CTL_FCC}, {FCC3_WORLD, CTL_FCC, CTL_ETSI}, + {FCC3_ETSIC, CTL_FCC, CTL_ETSI}, {FCC4_FCCA, CTL_FCC, CTL_FCC}, {FCC5_FCCA, CTL_FCC, CTL_FCC}, {FCC6_FCCA, CTL_FCC, CTL_FCC},
Greg Kroah-Hartman
maintainerPATCH 38/124 ath: Add regulatory mapping for ETSI8_WORLD
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sven Eckelmann <[email protected]>
[ Upstream commit 45faf6e096da8bb80e1ddf8c08a26a9601d9469e ]
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with:
Invalid EEPROM contents
The current CTL mappings for this regdomain code are:
* 2.4GHz: ETSI
* 5GHz: ETSI
--- drivers/net/wireless/ath/regd_common.h | 2 ++ 1 file changed, 2 insertions(+)
drivers/net/wireless/ath/regd_common.h +2 -0
@@ -45,6 +45,7 @@ enum EnumRd {ETSI4_ETSIC =0x38 ,ETSI5_WORLD =0x39 ,ETSI6_WORLD =0x34 , +ETSI8_WORLD =0x3D ,ETSI_RESERVED =0x33 , MKK1_MKKA = 0x40,
@@ -181,6 +182,7 @@ static struct reg_dmn_pair_mapping regDo {ETSI4_WORLD, CTL_ETSI, CTL_ETSI}, {ETSI5_WORLD, CTL_ETSI, CTL_ETSI}, {ETSI6_WORLD, CTL_ETSI, CTL_ETSI}, + {ETSI8_WORLD, CTL_ETSI, CTL_ETSI},/* XXX: For ETSI3_ETSIA, Was NO_CTL meant for the 2 GHz band ? */ {ETSI3_ETSIA, CTL_ETSI, CTL_ETSI},
Greg Kroah-Hartman
maintainerPATCH 39/124 ath: Add regulatory mapping for APL13_WORLD
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sven Eckelmann <[email protected]>
[ Upstream commit 9ba8df0c52b3e6baa436374b429d3d73bd09a320 ]
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with:
Invalid EEPROM contents
The current CTL mappings for this regdomain code are:
* 2.4GHz: ETSI
* 5GHz: ETSI
--- drivers/net/wireless/ath/regd_common.h | 2 ++ 1 file changed, 2 insertions(+)
drivers/net/wireless/ath/regd_common.h +2 -0
@@ -69,6 +69,7 @@ enum EnumRd {APL1_ETSIC =0x55 ,APL2_ETSIC =0x56 ,APL5_WORLD =0x58 , +APL13_WORLD =0x5A ,APL6_WORLD =0x5B ,APL7_FCCA =0x5C , APL8_WORLD = 0x5D,
@@ -195,6 +196,7 @@ static struct reg_dmn_pair_mapping regDo {APL3_WORLD, CTL_FCC, CTL_ETSI}, {APL4_WORLD, CTL_FCC, CTL_ETSI}, {APL5_WORLD, CTL_FCC, CTL_ETSI}, + {APL13_WORLD, CTL_ETSI, CTL_ETSI}, {APL6_WORLD, CTL_ETSI, CTL_ETSI}, {APL8_WORLD, CTL_ETSI, CTL_ETSI}, {APL9_WORLD, CTL_ETSI, CTL_ETSI},
Greg Kroah-Hartman
maintainerPATCH 40/124 ath: Add regulatory mapping for APL2_FCCA
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sven Eckelmann <[email protected]>
[ Upstream commit 4f183687e3fad3ce0e06e38976cad81bc4541990 ]
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with:
Invalid EEPROM contents
The current CTL mappings for this regdomain code are:
* 2.4GHz: FCC
* 5GHz: FCC
--- drivers/net/wireless/ath/regd_common.h | 2 ++ 1 file changed, 2 insertions(+)
drivers/net/wireless/ath/regd_common.h +2 -0
@@ -61,6 +61,7 @@ enum EnumRd {MKK1_MKKA1 =0x4A ,MKK1_MKKA2 =0x4B ,MKK1_MKKC =0x4C , +APL2_FCCA =0x4D ,APL3_FCCA =0x50 , APL1_WORLD = 0x52,
@@ -193,6 +194,7 @@ static struct reg_dmn_pair_mapping regDo {FCC1_FCCA, CTL_FCC, CTL_FCC}, {APL1_WORLD, CTL_FCC, CTL_ETSI}, {APL2_WORLD, CTL_FCC, CTL_ETSI}, + {APL2_FCCA, CTL_FCC, CTL_FCC}, {APL3_WORLD, CTL_FCC, CTL_ETSI}, {APL4_WORLD, CTL_FCC, CTL_ETSI}, {APL5_WORLD, CTL_FCC, CTL_ETSI},
Greg Kroah-Hartman
maintainerPATCH 41/124 ath: Add regulatory mapping for Uganda
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sven Eckelmann <[email protected]>
[ Upstream commit 1ea3986ad2bc72081c69f3fbc1e5e0eeb3c44f17 ]
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with:
Invalid EEPROM contents
The current CTL mappings for this country are:
* 2.4GHz: ETSI
* 5GHz: FCC
--- drivers/net/wireless/ath/regd.h | 1 + drivers/net/wireless/ath/regd_common.h | 1 + 2 files changed, 2 insertions(+)
drivers/net/wireless/ath/regd.h +1 -0
@@ -175,6 +175,7 @@ enum CountryCode {CTRY_TUNISIA =788 ,CTRY_TURKEY =792 ,CTRY_UAE =784 , +CTRY_UGANDA =800 ,CTRY_UKRAINE =804 ,CTRY_UNITED_KINGDOM =826 , CTRY_UNITED_STATES = 840,
drivers/net/wireless/ath/regd_common.h +1 -0
@@ -467,6 +467,7 @@ static struct country_code_to_enum_rd al {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT"}, {CTRY_TUNISIA, ETSI3_WORLD, "TN"}, {CTRY_TURKEY, ETSI3_WORLD, "TR"}, + {CTRY_UGANDA, FCC3_WORLD, "UG"}, {CTRY_UKRAINE, NULL1_WORLD, "UA"}, {CTRY_UAE, NULL1_WORLD, "AE"}, {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB"},
Greg Kroah-Hartman
maintainerPATCH 42/124 ath: Add regulatory mapping for Tanzania
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sven Eckelmann <[email protected]>
[ Upstream commit 667ddac5745fb9fddfe8f7fd2523070f50bd4442 ]
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with:
Invalid EEPROM contents
The current CTL mappings for this country are:
* 2.4GHz: ETSI
* 5GHz: FCC
--- drivers/net/wireless/ath/regd.h | 1 + drivers/net/wireless/ath/regd_common.h | 1 + 2 files changed, 2 insertions(+)
drivers/net/wireless/ath/regd.h +1 -0
@@ -170,6 +170,7 @@ enum CountryCode {CTRY_SWITZERLAND =756 ,CTRY_SYRIA =760 ,CTRY_TAIWAN =158 , +CTRY_TANZANIA =834 ,CTRY_THAILAND =764 ,CTRY_TRINIDAD_Y_TOBAGO =780 , CTRY_TUNISIA = 788,
drivers/net/wireless/ath/regd_common.h +1 -0
@@ -463,6 +463,7 @@ static struct country_code_to_enum_rd al {CTRY_SWITZERLAND, ETSI1_WORLD, "CH"}, {CTRY_SYRIA, NULL1_WORLD, "SY"}, {CTRY_TAIWAN, APL3_FCCA, "TW"}, + {CTRY_TANZANIA, APL1_WORLD, "TZ"}, {CTRY_THAILAND, FCC3_WORLD, "TH"}, {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT"}, {CTRY_TUNISIA, ETSI3_WORLD, "TN"},
Greg Kroah-Hartman
maintainerPATCH 43/124 ath: Add regulatory mapping for Serbia
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sven Eckelmann <[email protected]>
[ Upstream commit 2a3169a54bb53717928392a04fb84deb765b51f1 ]
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with:
Invalid EEPROM contents
The current CTL mappings for this country are:
* 2.4GHz: ETSI
* 5GHz: ETSI
--- drivers/net/wireless/ath/regd.h | 1 + drivers/net/wireless/ath/regd_common.h | 1 + 2 files changed, 2 insertions(+)
drivers/net/wireless/ath/regd.h +1 -0
@@ -159,6 +159,7 @@ enum CountryCode {CTRY_ROMANIA =642 ,CTRY_RUSSIA =643 ,CTRY_SAUDI_ARABIA =682 , +CTRY_SERBIA =688 ,CTRY_SERBIA_MONTENEGRO =891 ,CTRY_SINGAPORE =702 , CTRY_SLOVAKIA = 703,
drivers/net/wireless/ath/regd_common.h +1 -0
@@ -452,6 +452,7 @@ static struct country_code_to_enum_rd al {CTRY_ROMANIA, NULL1_WORLD, "RO"}, {CTRY_RUSSIA, NULL1_WORLD, "RU"}, {CTRY_SAUDI_ARABIA, NULL1_WORLD, "SA"}, + {CTRY_SERBIA, ETSI1_WORLD, "RS"}, {CTRY_SERBIA_MONTENEGRO, ETSI1_WORLD, "CS"}, {CTRY_SINGAPORE, APL6_WORLD, "SG"}, {CTRY_SLOVAKIA, ETSI1_WORLD, "SK"},
Greg Kroah-Hartman
maintainerPATCH 44/124 ath: Add regulatory mapping for Bermuda
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sven Eckelmann <[email protected]>
[ Upstream commit 9c790f2d234f65697e3b0948adbfdf36dbe63dd7 ]
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with:
Invalid EEPROM contents
The current CTL mappings for this country are:
* 2.4GHz: FCC
* 5GHz: FCC
--- drivers/net/wireless/ath/regd.h | 1 + drivers/net/wireless/ath/regd_common.h | 1 + 2 files changed, 2 insertions(+)
drivers/net/wireless/ath/regd.h +1 -0
@@ -74,6 +74,7 @@ enum CountryCode {CTRY_BELARUS =112 ,CTRY_BELGIUM =56 ,CTRY_BELIZE =84 , +CTRY_BERMUDA =60 ,CTRY_BOLIVIA =68 ,CTRY_BOSNIA_HERZ =70 , CTRY_BRAZIL = 76,
drivers/net/wireless/ath/regd_common.h +1 -0
@@ -313,6 +313,7 @@ static struct country_code_to_enum_rd al {CTRY_BELGIUM, ETSI1_WORLD, "BE"}, {CTRY_BELGIUM2, ETSI4_WORLD, "BL"}, {CTRY_BELIZE, APL1_ETSIC, "BZ"}, + {CTRY_BERMUDA, FCC3_FCCA, "BM"}, {CTRY_BOLIVIA, APL1_ETSIC, "BO"}, {CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA"}, {CTRY_BRAZIL, FCC3_WORLD, "BR"},
Greg Kroah-Hartman
maintainerPATCH 45/124 ath: Add regulatory mapping for Bahamas
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sven Eckelmann <[email protected]>
[ Upstream commit 699e2302c286a14afe7b7394151ce6c4e1790cc1 ]
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with:
Invalid EEPROM contents
The current CTL mappings for this country are:
* 2.4GHz: ETSI
* 5GHz: FCC
--- drivers/net/wireless/ath/regd.h | 1 + drivers/net/wireless/ath/regd_common.h | 1 + 2 files changed, 2 insertions(+)
drivers/net/wireless/ath/regd.h +1 -0
@@ -68,6 +68,7 @@ enum CountryCode {CTRY_AUSTRALIA =36 ,CTRY_AUSTRIA =40 ,CTRY_AZERBAIJAN =31 , +CTRY_BAHAMAS =44 ,CTRY_BAHRAIN =48 ,CTRY_BANGLADESH =50 , CTRY_BARBADOS = 52,
drivers/net/wireless/ath/regd_common.h +1 -0
@@ -306,6 +306,7 @@ static struct country_code_to_enum_rd al {CTRY_AUSTRALIA2, FCC6_WORLD, "AU"}, {CTRY_AUSTRIA, ETSI1_WORLD, "AT"}, {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ"}, + {CTRY_BAHAMAS, FCC3_WORLD, "BS"}, {CTRY_BAHRAIN, APL6_WORLD, "BH"}, {CTRY_BANGLADESH, NULL1_WORLD, "BD"}, {CTRY_BARBADOS, FCC2_WORLD, "BB"},
Greg Kroah-Hartman
maintainerPATCH 50/124 powerpc/8xx: fix invalid register expression in head_8xx.S
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Christophe Leroy <[email protected]>
[ Upstream commit e4ccb1dae6bdef228d729c076c38161ef6e7ca34 ]
New binutils generate the following warning
AS arch/powerpc/kernel/head_8xx.oarch/powerpc/kernel/head_8xx.S: Assembler messages:arch/powerpc/kernel/head_8xx.S:916: Warning: invalid register expression
This patch fixes it.
--- arch/powerpc/kernel/head_8xx.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/kernel/head_8xx.S +1 -1
@@ -720,7 +720,7 @@ start_here: tovirt(r6,r6) lis r5, abatron_pteptrs@h ori r5, r5, abatron_pteptrs@l - stw r5, 0xf0(r0) /* Must match your Abatron config file */ + stw r5, 0xf0(0) /* Must match your Abatron config file */ tophys(r5,r5) stw r6, 0(r5)
Greg Kroah-Hartman
maintainerPATCH 51/124 pinctrl: at91-pio4: add missing of_node_put
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Julia Lawall <[email protected]>
[ Upstream commit 21816364715f508c10da1e087e352bc1e326614f ]
The device node iterators perform an of_node_get on each iteration, so a jump out of the loop requires an of_node_put.
The semantic patch that fixes this problem is as follows
(http://coccinelle.lip6.fr):
// <smpl>
@@
expression root,e;
local idexpression child;
iterator name for_each_child_of_node;
@@
for_each_child_of_node(root, child) {
... when != of_node_put(child)
when != e = child
+ of_node_put(child);
? break;
...
}
... when != child
// </smpl>
--- drivers/pinctrl/pinctrl-at91-pio4.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/pinctrl/pinctrl-at91-pio4.c +3 -1
@@ -568,8 +568,10 @@ static int atmel_pctl_dt_node_to_map(strfor_each_child_of_node (np_config, np) { ret =atmel_pctl_dt_subnode_to_map (pctldev, np, map, &reserved_maps, num_maps); -if (ret <0 ) +if (ret <0 ) { +of_node_put (np);break ; + } } }
Greg Kroah-Hartman
maintainerPATCH 52/124 PCI: pciehp: Request control of native hotplug only if supported
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Mika Westerberg <[email protected]>
[ Upstream commit 408fec36a1ab3d14273c2116b449ef1e9be3cb8b ]
Currently we request control of native PCIe hotplug unconditionally. Native PCIe hotplug events are handled by the pciehp driver, and if it is not enabled those events will be lost.
Request control of native PCIe hotplug only if the pciehp driver is enabled, so we will actually handle native PCIe hotplug events.
--- drivers/acpi/pci_root.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/acpi/pci_root.c +3 -1
@@ -472,9 +472,11 @@ static void negotiate_os_control(struct } control =OSC_PCI_EXPRESS_CAPABILITY_CONTROL - |OSC_PCI_EXPRESS_NATIVE_HP_CONTROL |OSC_PCI_EXPRESS_PME_CONTROL ; +if (IS_ENABLED (CONFIG_HOTPLUG_PCI_PCIE )) + control |=OSC_PCI_EXPRESS_NATIVE_HP_CONTROL ; +if (pci_aer_available ()) {if (aer_acpi_firmware_first ()) dev_info(&device->dev,
Greg Kroah-Hartman
maintainerPATCH 53/124 mwifiex: correct histogram data with appropriate index
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Xinming Hu <[email protected]>
[ Upstream commit 30bfce0b63fa68c14ae1613eb9d259fa18644074 ]
Correct snr/nr/rssi data index to avoid possible buffer underflow.
--- drivers/net/wireless/mwifiex/util.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
drivers/net/wireless/mwifiex/util.c +5 -3
@@ -702,12 +702,14 @@ void mwifiex_hist_data_set(struct mwifie s8 nflr) {struct mwifiex_histogram_data *phist_data = priv->hist_data; +s8 nf = -nflr; +s8 rssi = snr - nflr;atomic_inc (&phist_data->num_samples);atomic_inc (&phist_data->rx_rate[rx_rate]); -atomic_inc (&phist_data->snr[snr]); -atomic_inc (&phist_data->noise_flr[128 + nflr]); -atomic_inc (&phist_data->sig_str[nflr - snr]); +atomic_inc (&phist_data->snr[snr +128 ]); +atomic_inc (&phist_data->noise_flr[nf +128 ]); +atomic_inc (&phist_data->sig_str[rssi +128 ]); }/* function to reset histogram data during init/reset */
Greg Kroah-Hartman
maintainerPATCH 54/124 scsi: ufs: fix exception event handling
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Maya Erez <[email protected]>
[ Upstream commit 2e3611e9546c2ed4def152a51dfd34e8dddae7a5 ]
The device can set the exception event bit in one of the response UPIU, for example to notify the need for urgent BKOPs operation. In such a case, the host driver calls ufshcd_exception_event_handler to handle this notification. When trying to check the exception event status (for finding the cause for the exception event), the device may be busy with additional SCSI commands handling and may not respond within the 100ms timeout.
To prevent that, we need to block SCSI commands during handling of exception events and allow retransmissions of the query requests, in case of timeout.
--- drivers/scsi/ufs/ufshcd.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/scsi/ufs/ufshcd.c +2 -0
@@ -3447,6 +3447,7 @@ static void ufshcd_exception_event_handl hba = container_of(work, struct ufs_hba, eeh_work);pm_runtime_get_sync (hba->dev); +scsi_block_requests (hba->host); err =ufshcd_get_ee_status (hba, &status);if (err) { dev_err(hba->dev, "%s: failed to get exception status %d\n",
@@ -3462,6 +3463,7 @@ static void ufshcd_exception_event_handl __func__, err); } out: +scsi_unblock_requests (hba->host);pm_runtime_put_sync (hba->dev);return ; }
Re: [PATCH 4.4 054/124] scsi: ufs: fix exception event handling
Quoted 7 lines · Greg Kroah-Hartman
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
Quoted 1 line
From: Maya Erez <[email protected]>
[ Upstream commit
2e3611e9546c2ed4def152a51dfd34e8dddae7a5]
[...]
Does this need to be accompanied by:
commit 38135535dcc25af856336fda31aeef79d8ad9dab
Author: Subhash Jadavani <[email protected]> Date: Thu May 3 16:37:18 2018 +0530
scsi: ufs: add reference counting for scsi block requests
?
If so, can you provide backports of that for 3.18, 4.4 and 4.9?
Ben.
Signature · 3 lines
Ben Hutchings, Software Developer Codethink Ltd
https://www.codethink.co.uk/ Dale House, 35 Dale Street
Manchester, M1 2HF, United KingdomGreg Kroah-Hartman
maintainerPATCH 55/124 ALSA: emu10k1: Rate-limit error messages about page errors
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Takashi Iwai <[email protected]>
[ Upstream commit 11d42c81036324697d367600bfc16f6dd37636fd ]
The error messages at sanity checks of memory pages tend to repeat too many times once when it hits, and without the rate limit, it may flood and become unreadable. Replace such messages with the *_ratelimited() variant.
Bugzilla: http://bugzilla.opensuse.org/show_bug.cgi?id=1093027
--- sound/pci/emu10k1/memory.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
sound/pci/emu10k1/memory.c +3 -3
@@ -237,13 +237,13 @@ __found_pages:static int is_valid_page (struct snd_emu10k1 *emu,dma_addr_t addr) {if (addr & ~emu->dma_mask) { -dev_err (emu->card->dev, +dev_err_ratelimited (emu->card->dev,"max memory size is 0x%lx (addr = 0x%lx)!!\n" , emu->dma_mask, (unsigned long )addr);return 0 ; }if (addr & (EMUPAGESIZE -1 )) { -dev_err (emu->card->dev,"page is not aligned\n" ); +dev_err_ratelimited (emu->card->dev,"page is not aligned\n" );return 0 ; }return 1 ;
@@ -334,7 +334,7 @@ snd_emu10k1_alloc_pages(struct snd_emu10else addr =snd_pcm_sgbuf_get_addr (substream, ofs);if (!is_valid_page (emu, addr)) { -dev_err (emu->card->dev, +dev_err_ratelimited (emu->card->dev,"emu: failure page = %d\n" , idx);mutex_unlock (&hdr->block_mutex);return NULL ;
Greg Kroah-Hartman
maintainerPATCH 56/124 regulator: pfuze100: add .is_enable() for pfuze100_swb_regulator_ops
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Anson Huang <[email protected]>
[ Upstream commit 0b01fd3d40fe6402e5fa3b491ef23109feb1aaa5 ]
If is_enabled() is not defined, regulator core will assume this regulator is already enabled, then it can NOT be really enabled after disabled.
Based on Li Jun's patch from the NXP kernel tree.
--- drivers/regulator/pfuze100-regulator.c | 1 + 1 file changed, 1 insertion(+)
drivers/regulator/pfuze100-regulator.c +1 -0
@@ -152,6 +152,7 @@ static struct regulator_ops pfuze100_sw_static struct regulator_ops pfuze100_swb_regulator_ops = { .enable = regulator_enable_regmap, .disable = regulator_disable_regmap, + .is_enabled = regulator_is_enabled_regmap, .list_voltage = regulator_list_voltage_table, .map_voltage = regulator_map_voltage_ascend, .set_voltage_sel = regulator_set_voltage_sel_regmap,
Greg Kroah-Hartman
maintainerPATCH 57/124 md: fix NULL dereference of mddev->pers in remove_and_add_spares()
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Yufen Yu <[email protected]>
[ Upstream commit c42a0e2675721e1444f56e6132a07b7b1ec169ac ]
We met NULL pointer BUG as follow:
[ 151.760358] BUG: unable to handle kernel NULL pointer dereference at 0000000000000060 [ 151.761340] PGD 80000001011eb067 P4D 80000001011eb067 PUD 1011ea067 PMD 0 [ 151.762039] Oops: 0000 [#1] SMP PTI [ 151.762406] Modules linked in: [ 151.762723] CPU: 2 PID: 3561 Comm: mdadm-test Kdump: loaded Not tainted 4.17.0-rc1+ #238 [ 151.763542] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1.fc26 04/01/2014 [ 151.764432] RIP: 0010:remove_and_add_spares.part.56+0x13c/0x3a0 [ 151.765061] RSP: 0018:ffffc90001d7fcd8 EFLAGS: 00010246 [ 151.765590] RAX: 0000000000000000 RBX: ffff88013601d600 RCX: 0000000000000000 [ 151.766306] RDX: 0000000000000000 RSI: ffff88013601d600 RDI: ffff880136187000 [ 151.767014] RBP: ffff880136187018 R08: 0000000000000003 R09: 0000000000000051 [ 151.767728] R10: ffffc90001d7fed8 R11: 0000000000000000 R12: ffff88013601d600 [ 151.768447] R13: ffff8801298b1300 R14: ffff880136187000 R15: 0000000000000000 [ 151.769160] FS: 00007f2624276700(0000) GS:ffff88013ae80000(0000) knlGS:0000000000000000 [ 151.769971] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 151.770554] CR2: 0000000000000060 CR3: 0000000111aac000 CR4: 00000000000006e0 [ 151.771272] Call Trace: [ 151.771542] md_ioctl+0x1df2/0x1e10 [ 151.771906] ? __switch_to+0x129/0x440 [ 151.772295] ? __schedule+0x244/0x850 [ 151.772672] blkdev_ioctl+0x4bd/0x970 [ 151.773048] block_ioctl+0x39/0x40 [ 151.773402] do_vfs_ioctl+0xa4/0x610 [ 151.773770] ? dput.part.23+0x87/0x100 [ 151.774151] ksys_ioctl+0x70/0x80 [ 151.774493] __x64_sys_ioctl+0x16/0x20 [ 151.774877] do_syscall_64+0x5b/0x180 [ 151.775258] entry_SYSCALL_64_after_hwframe+0x44/0xa9
For raid6, when two disk of the array are offline, two spare disks can be added into the array. Before spare disks recovery completing, system reboot and mdadm thinks it is ok to restart the degraded array by md_ioctl(). Since disks in raid6 is not only_parity(), raid5_run() will abort, when there is no PPL feature or not setting 'start_dirty_degraded' parameter. Therefore, mddev->pers is NULL.
But, mddev->raid_disks has been set and it will not be cleared when raid5_run abort. md_ioctl() can execute cmd 'HOT_REMOVE_DISK' to remove a disk by mdadm, which will cause NULL pointer dereference in remove_and_add_spares() finally.
--- drivers/md/md.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/md/md.c +3 -0
@@ -6145,6 +6145,9 @@ static int hot_remove_disk(struct mddevstruct md_rdev *rdev;int ret =-1 ; +if (!mddev->pers) +return -ENODEV ; + rdev =find_rdev (mddev, dev);if (!rdev)return -ENXIO ;
Greg Kroah-Hartman
maintainerPATCH 58/124 media: smiapp: fix timeout checking in smiapp_read_nvm
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Colin Ian King <[email protected]>
[ Upstream commit 7a2148dfda8001c983f0effd9afd8a7fa58e99c4 ]
The current code decrements the timeout counter i and the end of each loop i is incremented, so the check for timeout will always be false and hence the timeout mechanism is just a dead code path. Potentially, if the RD_READY bit is not set, we could end up in an infinite loop.
Fix this so the timeout starts from 1000 and decrements to zero, if at the end of the loop i is zero we have a timeout condition.
Detected by CoverityScan, CID#1324008 ("Logically dead code")
--- drivers/media/i2c/smiapp/smiapp-core.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
drivers/media/i2c/smiapp/smiapp-core.c +5 -6
@@ -981,7 +981,7 @@ static int smiapp_read_nvm(struct smiappif (rval) goto out; -for (i =0 ; i <1000 ; i++) { +for (i =1000 ; i >0 ; i--) { rval =smiapp_read ( sensor,SMIAPP_REG_U8_DATA_TRANSFER_IF_1_STATUS , &s);
@@ -992,11 +992,10 @@ static int smiapp_read_nvm(struct smiappif (s &SMIAPP_DATA_TRANSFER_IF_1_STATUS_RD_READY )break ; -if (--i ==0 ) { - rval = -ETIMEDOUT ; - goto out; - } - + } +if (!i) { + rval = -ETIMEDOUT ; + goto out; }for (i =0 ; i <SMIAPP_NVM_PAGE_SIZE ; i++) {
Greg Kroah-Hartman
maintainerPATCH 59/124 ALSA: usb-audio: Apply rate limit to warning messages in URB complete callback
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Takashi Iwai <[email protected]>
[ Upstream commit 377a879d9832f4ba69bd6a1fc996bb4181b1e504 ]
retire_capture_urb() may print warning messages when the given URB doesn't align, and this may flood the system log easily. Put the rate limit to the message for avoiding it.
Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1093485
--- sound/usb/pcm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
sound/usb/pcm.c +1 -1
@@ -1300,7 +1300,7 @@ static void retire_capture_urb(struct snif (bytes % (runtime->sample_bits >>3 ) !=0 ) {int oldbytes = bytes; bytes = frames * stride; -dev_warn (&subs->dev->dev, +dev_warn_ratelimited (&subs->dev->dev,"Corrected urb data len. %d->%d\n" , oldbytes, bytes); }
Greg Kroah-Hartman
maintainerPATCH 60/124 HID: hid-plantronics: Re-resend Update to map button for PTT products
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Terry Junge <[email protected]>
[ Upstream commit 37e376df5f4993677c33968a0c19b0c5acbf1108 ]
Add a mapping for Push-To-Talk joystick trigger button.
Tested on ChromeBox/ChromeBook with various Plantronics devices.
--- drivers/hid/hid-plantronics.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/hid/hid-plantronics.c +5 -1
@@ -2,7 +2,7 @@* Plantronics USB HID Driver * * Copyright (c) 2014 JD Cole <[email protected]> -* Copyright (c) 2015 Terry Junge <[email protected]> +* Copyright (c) 2015-2018 Terry Junge <[email protected]> */ /*
@@ -48,6 +48,10 @@ static int plantronics_input_mapping(strunsigned short mapped_key;unsigned long plt_type = (unsigned long )hid_get_drvdata (hdev); +/* special case for PTT products */ +if (field->application ==HID_GD_JOYSTICK ) + goto defaulted; +/* handle volume up/down mapping */ /* non-standard types or multi-HID interfaces - plt_type is PID */ if (!(plt_type &HID_USAGE_PAGE )) {
Greg Kroah-Hartman
maintainerPATCH 61/124 drm/radeon: fix mode_valids return type
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Luc Van Oostenryck <[email protected]>
[ Upstream commit 7a47f20eb1fb8fa8d7a8fe3a4fd8c721f04c2174 ]
The method struct drm_connector_helper_funcs::mode_valid is defined as returning an 'enum drm_mode_status' but the driver implementation for this method uses an 'int' for it.
Fix this by using 'enum drm_mode_status' in the driver too.
--- drivers/gpu/drm/radeon/radeon_connectors.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
drivers/gpu/drm/radeon/radeon_connectors.c +5 -5
@@ -844,7 +844,7 @@ static int radeon_lvds_get_modes(structreturn ret; } -static int radeon_lvds_mode_valid (struct drm_connector *connector, +static enum drm_mode_status radeon_lvds_mode_valid (struct drm_connector *connector,struct drm_display_mode *mode) {struct drm_encoder *encoder =radeon_best_single_encoder (connector);
@@ -993,7 +993,7 @@ static int radeon_vga_get_modes(struct dreturn ret; } -static int radeon_vga_mode_valid (struct drm_connector *connector, +static enum drm_mode_status radeon_vga_mode_valid (struct drm_connector *connector,struct drm_display_mode *mode) {struct drm_device *dev = connector->dev;
@@ -1136,7 +1136,7 @@ static int radeon_tv_get_modes(struct drreturn 1 ; } -static int radeon_tv_mode_valid (struct drm_connector *connector, +static enum drm_mode_status radeon_tv_mode_valid (struct drm_connector *connector,struct drm_display_mode *mode) {if ((mode->hdisplay >1024 ) || (mode->vdisplay >768 ))
@@ -1477,7 +1477,7 @@ static void radeon_dvi_force(struct drm_ radeon_connector->use_digital = true; } -static int radeon_dvi_mode_valid (struct drm_connector *connector, +static enum drm_mode_status radeon_dvi_mode_valid (struct drm_connector *connector,struct drm_display_mode *mode) {struct drm_device *dev = connector->dev;
@@ -1778,7 +1778,7 @@ out:return ret; } -static int radeon_dp_mode_valid (struct drm_connector *connector, +static enum drm_mode_status radeon_dp_mode_valid (struct drm_connector *connector,struct drm_display_mode *mode) {struct drm_device *dev = connector->dev;
Greg Kroah-Hartman
maintainerPATCH 63/124 HID: i2c-hid: check if device is there before really probing
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dmitry Torokhov <[email protected]>
[ Upstream commit b3a81b6c4fc6730ac49e20d789a93c0faabafc98 ]
On many Chromebooks touch devices are multi-sourced; the components are electrically compatible and one can be freely swapped for another without changing the OS image or firmware.
To avoid bunch of scary messages when device is not actually present in the system let's try testing basic communication with it and if there is no response terminate probe early with -ENXIO.
--- drivers/hid/i2c-hid/i2c-hid.c | 8 ++++++++ 1 file changed, 8 insertions(+)
drivers/hid/i2c-hid/i2c-hid.c +8 -0
@@ -1017,6 +1017,14 @@ static int i2c_hid_probe(struct i2c_cliepm_runtime_set_active (&client->dev);pm_runtime_enable (&client->dev); +/* Make sure there is something at this address */ + ret =i2c_smbus_read_byte (client); +if (ret <0 ) { +dev_dbg (&client->dev,"nothing at this address: %d\n" , ret); + ret = -ENXIO ; + goto err_pm; + } + ret =i2c_hid_fetch_hid_descriptor (ihid);if (ret <0 ) goto err_pm;
Greg Kroah-Hartman
maintainerPATCH 64/124 tty: Fix data race in tty_insert_flip_string_fixed_flag
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: DaeRyong Jeong <[email protected]>
[ Upstream commit b6da31b2c07c46f2dcad1d86caa835227a16d9ff ]
Unlike normal serials, in pty layer, there is no guarantee that multiple threads don't insert input characters at the same time. If it is happened, tty_insert_flip_string_fixed_flag can be executed concurrently. This can lead slab out-of-bounds write in tty_insert_flip_string_fixed_flag.
Call sequences are as follows.
CPU0 CPU1 n_tty_ioctl_helper n_tty_ioctl_helper __start_tty tty_send_xchar tty_wakeup pty_write n_hdlc_tty_wakeup tty_insert_flip_string n_hdlc_send_frames tty_insert_flip_string_fixed_flag
pty_writetty_insert_flip_stringtty_insert_flip_string_fixed_flag
To fix the race, acquire port->lock in pty_write() before it inserts input characters to tty buffer. It prevents multiple threads from inserting input characters concurrently.
The crash log is as follows:
BUG: KASAN: slab-out-of-bounds in tty_insert_flip_string_fixed_flag+0xb5/ 0x130 drivers/tty/tty_buffer.c:316 at addr ffff880114fcc121 Write of size 1792 by task syz-executor0/30017 CPU: 1 PID: 30017 Comm: syz-executor0 Not tainted 4.8.0 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
0000000000000000 ffff88011638f888 ffffffff81694cc3 ffff88007d802140 ffff880114fcb300 ffff880114fcc300 ffff880114fcb300 ffff88011638f8b0 ffffffff8130075c ffff88011638f940 ffff88007d802140 ffff880194fcc121
Call Trace: __dump_stack lib/dump_stack.c:15 [inline] dump_stack+0xb3/0x110 lib/dump_stack.c:51 kasan_object_err+0x1c/0x70 mm/kasan/report.c:156 print_address_description mm/kasan/report.c:194 [inline] kasan_report_error+0x1f7/0x4e0 mm/kasan/report.c:283 kasan_report+0x36/0x40 mm/kasan/report.c:303 check_memory_region_inline mm/kasan/kasan.c:292 [inline] check_memory_region+0x13e/0x1a0 mm/kasan/kasan.c:299 memcpy+0x37/0x50 mm/kasan/kasan.c:335 tty_insert_flip_string_fixed_flag+0xb5/0x130 drivers/tty/tty_buffer.c:316 tty_insert_flip_string include/linux/tty_flip.h:35 [inline] pty_write+0x7f/0xc0 drivers/tty/pty.c:115 n_hdlc_send_frames+0x1d4/0x3b0 drivers/tty/n_hdlc.c:419 n_hdlc_tty_wakeup+0x73/0xa0 drivers/tty/n_hdlc.c:496 tty_wakeup+0x92/0xb0 drivers/tty/tty_io.c:601 __start_tty.part.26+0x66/0x70 drivers/tty/tty_io.c:1018 __start_tty+0x34/0x40 drivers/tty/tty_io.c:1013 n_tty_ioctl_helper+0x146/0x1e0 drivers/tty/tty_ioctl.c:1138 n_hdlc_tty_ioctl+0xb3/0x2b0 drivers/tty/n_hdlc.c:794 tty_ioctl+0xa85/0x16d0 drivers/tty/tty_io.c:2992 vfs_ioctl fs/ioctl.c:43 [inline] do_vfs_ioctl+0x13e/0xba0 fs/ioctl.c:679 SYSC_ioctl fs/ioctl.c:694 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:685 entry_SYSCALL_64_fastpath+0x1f/0xbd
--- drivers/tty/pty.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/tty/pty.c +3 -0
@@ -106,16 +106,19 @@ static void pty_unthrottle(struct tty_ststatic int pty_write (struct tty_struct *tty,const unsigned char *buf,int c) {struct tty_struct *to = tty->link; +unsigned long flags;if (tty->stopped)return 0 ;if (c >0 ) { +spin_lock_irqsave (&to->port->lock, flags);/* Stuff the data into the input queue of the other end */ c =tty_insert_flip_string (to->port, buf, c);/* And shovel */ if (c)tty_flip_buffer_push (to->port); +spin_unlock_irqrestore (&to->port->lock, flags); }return c; }
Greg Kroah-Hartman
maintainerPATCH 66/124 media: rcar_jpu: Add missing clk_disable_unprepare() on error in jpu_open()
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Wei Yongjun <[email protected]>
[ Upstream commit 43d0d3c52787df0221d1c52494daabd824fe84f1 ]
Add the missing clk_disable_unprepare() before return from jpu_open() in the software reset error handling case.
--- drivers/media/platform/rcar_jpu.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/media/platform/rcar_jpu.c +3 -1
@@ -1278,7 +1278,7 @@ static int jpu_open(struct file *file)/* ...issue software reset */ ret =jpu_reset (jpu);if (ret) - goto device_prepare_rollback; + goto jpu_reset_rollback; } jpu->ref_count++;
@@ -1286,6 +1286,8 @@ static int jpu_open(struct file *file)mutex_unlock (&jpu->mutex);return 0 ; +jpu_reset_rollback: +clk_disable_unprepare (jpu->clk); device_prepare_rollback:mutex_unlock (&jpu->mutex); v4l_prepare_rollback:
Greg Kroah-Hartman
maintainerPATCH 67/124 libata: Fix command retry decision
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Damien Le Moal <[email protected]>
[ Upstream commit 804689ad2d9b66d0d3920b48cf05881049d44589 ]
For failed commands with valid sense data (e.g. NCQ commands), scsi_check_sense() is used in ata_analyze_tf() to determine if the command can be retried. In such case, rely on this decision and ignore the command error mask based decision done in ata_worth_retry().
This fixes useless retries of commands such as unaligned writes on zoned disks (TYPE_ZAC).
--- drivers/ata/libata-eh.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
drivers/ata/libata-eh.c +8 -4
@@ -2198,12 +2198,16 @@ static void ata_eh_link_autopsy(struct aif (qc->err_mask & ~AC_ERR_OTHER ) qc->err_mask &= ~AC_ERR_OTHER ; -/* SENSE_VALID trumps dev/unknown error and revalidation */ +/* +* SENSE_VALID trumps dev/unknown error and revalidation. Upper +* layers will determine whether the command is worth retrying +* based on the sense data and device class/type. Otherwise, +* determine directly if the command is worth retrying using its +* error mask and flags. +*/ if (qc->flags &ATA_QCFLAG_SENSE_VALID ) qc->err_mask &= ~(AC_ERR_DEV |AC_ERR_OTHER ); - -/* determine whether the command is worth retrying */ -if (ata_eh_worth_retry (qc)) +else if (ata_eh_worth_retry (qc)) qc->flags |=ATA_QCFLAG_RETRY ;/* accumulate error info */
Greg Kroah-Hartman
maintainerPATCH 68/124 media: saa7164: Fix driver name in debug output
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Brad Love <[email protected]>
[ Upstream commit 0cc4655cb57af0b7e105d075c4f83f8046efafe7 ]
This issue was reported by a user who downloaded a corrupt saa7164 firmware, then went looking for a valid xc5000 firmware to fix the error displayed...but the device in question has no xc5000, thus after much effort, the wild goose chase eventually led to a support call.
The xc5000 has nothing to do with saa7164 (as far as I can tell), so replace the string with saa7164 as well as give a meaningful hint on the firmware mismatch.
--- drivers/media/pci/saa7164/saa7164-fw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/media/pci/saa7164/saa7164-fw.c +2 -1
@@ -430,7 +430,8 @@ int saa7164_downloadfirmware(struct saa7 __func__, fw->size);if (fw->size != fwlength) { -printk (KERN_ERR "xc5000: firmware incorrect size\n" ); +printk (KERN_ERR "saa7164: firmware incorrect size %zu != %u\n" , + fw->size, fwlength); ret = -ENOMEM ; goto out; }
Greg Kroah-Hartman
maintainerPATCH 69/124 mtd: rawnand: fsl_ifc: fix FSL NAND driver to read all ONFI parameter pages
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jane Wan <[email protected]>
[ Upstream commit a75bbe71a27875fdc61cde1af6d799037cef6bed ]
Per ONFI specification (Rev. 4.0), if the CRC of the first parameter page read is not valid, the host should read redundant parameter page copies. Fix FSL NAND driver to read the two redundant copies which are mandatory in the specification.
--- drivers/mtd/nand/fsl_ifc_nand.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)
drivers/mtd/nand/fsl_ifc_nand.c +10 -7
@@ -449,9 +449,16 @@ static void fsl_ifc_cmdfunc(struct mtd_icase NAND_CMD_READID :case NAND_CMD_PARAM : { +/* +* For READID, read 8 bytes that are currently used. +* For PARAM, read all 3 copies of 256-bytes pages. +*/ +int len =8 ;int timing =IFC_FIR_OP_RB ; -if (command ==NAND_CMD_PARAM ) +if (command ==NAND_CMD_PARAM ) { timing =IFC_FIR_OP_RBCD ; + len =256 *3 ; + } ifc_out32((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) | (IFC_FIR_OP_UA << IFC_NAND_FIR0_OP1_SHIFT) |
@@ -461,12 +468,8 @@ static void fsl_ifc_cmdfunc(struct mtd_i &ifc->ifc_nand.nand_fcr0);ifc_out32 (column, &ifc->ifc_nand.row3); -/* -* although currently it's 8 bytes for READID, we always read -* the maximum 256 bytes(for PARAM) -*/ -ifc_out32 (256 , &ifc->ifc_nand.nand_fbcr); - ifc_nand_ctrl->read_bytes =256 ; +ifc_out32 (len, &ifc->ifc_nand.nand_fbcr); + ifc_nand_ctrl->read_bytes = len;set_addr (mtd,0 ,0 ,0 );fsl_ifc_run_command (mtd);
Greg Kroah-Hartman
maintainerPATCH 70/124 brcmfmac: Add support for bcm43364 wireless chipset
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sean Lanigan <[email protected]>
[ Upstream commit 9c4a121e82634aa000a702c98cd6f05b27d6e186 ]
Add support for the BCM43364 chipset via an SDIO interface, as used in e.g. the Murata 1FX module.
The BCM43364 uses the same firmware as the BCM43430 (which is already included), the only difference is the omission of Bluetooth.
However, the SDIO_ID for the BCM43364 is 02D0:A9A4, giving it a MODALIAS of sdio:c00v02D0dA9A4, which doesn't get recognised and hence doesn't load the brcmfmac module. Adding the 'A9A4' ID in the appropriate place triggers the brcmfmac driver to load, and then correctly use the firmware file 'brcmfmac43430-sdio.bin'.
--- drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 1 + include/linux/mmc/sdio_ids.h | 1 + 2 files changed, 2 insertions(+)
drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c +1 -0
@@ -1109,6 +1109,7 @@ static const struct sdio_device_id brcmfBRCMF_SDIO_DEVICE (SDIO_DEVICE_ID_BROADCOM_43340 ),BRCMF_SDIO_DEVICE (SDIO_DEVICE_ID_BROADCOM_43341 ),BRCMF_SDIO_DEVICE (SDIO_DEVICE_ID_BROADCOM_43362 ), +BRCMF_SDIO_DEVICE (SDIO_DEVICE_ID_BROADCOM_43364 ),BRCMF_SDIO_DEVICE (SDIO_DEVICE_ID_BROADCOM_4335_4339 ),BRCMF_SDIO_DEVICE (SDIO_DEVICE_ID_BROADCOM_43430 ), BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4345),
include/linux/mmc/sdio_ids.h +1 -0
@@ -33,6 +33,7 @@#define SDIO_DEVICE_ID_BROADCOM_43341 0xa94d#define SDIO_DEVICE_ID_BROADCOM_4335_4339 0x4335#define SDIO_DEVICE_ID_BROADCOM_43362 0xa962 +#define SDIO_DEVICE_ID_BROADCOM_43364 0xa9a4#define SDIO_DEVICE_ID_BROADCOM_43430 0xa9a6#define SDIO_DEVICE_ID_BROADCOM_4345 0x4345#define SDIO_DEVICE_ID_BROADCOM_4354 0x4354
Greg Kroah-Hartman
maintainerPATCH 71/124 s390/cpum_sf: Add data entry sizes to sampling trailer entry
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Thomas Richter <[email protected]>
[ Upstream commit 77715b7ddb446bd39a06f3376e85f4bb95b29bb8 ]
The CPU Measurement sampling facility creates a trailer entry for each Sample-Data-Block of stored samples. The trailer entry contains the sizes (in bytes) of the stored sampling types:
- basic-sampling data entry size
- diagnostic-sampling data entry size
Both sizes are 2 bytes long.
This patch changes the trailer entry definition to reflect this.
--- arch/s390/include/asm/cpu_mf.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
arch/s390/include/asm/cpu_mf.h +3 -1
@@ -129,7 +129,9 @@ struct hws_trailer_entry { unsigned int f:1; /* 0 - Block Full Indicator */ unsigned int a:1; /* 1 - Alert request control */ unsigned int t:1; /* 2 - Timestamp format */ - unsigned long long:61; /* 3 - 63: Reserved */ + unsigned int :29; /* 3 - 31: Reserved */ + unsigned int bsdes:16; /* 32-47: size of basic SDE */ + unsigned int dsdes:16; /* 48-63: size of diagnostic SDE */ };unsigned long long flags;/* 0 - 63: All indicators */ };
Greg Kroah-Hartman
maintainerPATCH 72/124 perf: fix invalid bit in diagnostic entry
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Thomas Richter <[email protected]>
[ Upstream commit 3c0a83b14ea71fef5ccc93a3bd2de5f892be3194 ]
The s390 CPU measurement facility sampling mode supports basic entries and diagnostic entries. Each entry has a valid bit to indicate the status of the entry as valid or invalid.
This bit is bit 31 in the diagnostic entry, but the bit mask definition refers to bit 30.
Fix this by making the reserved field one bit larger.
--- arch/s390/include/asm/cpu_mf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/s390/include/asm/cpu_mf.h +1 -1
@@ -113,7 +113,7 @@ struct hws_basic_entry {struct hws_diag_entry {unsigned int def:16 ;/* 0-15 Data Entry Format */ -unsigned int R:14 ;/* 16-19 and 20-30 reserved */ +unsigned int R:15 ;/* 16-19 and 20-30 reserved */ unsigned int I:1 ;/* 31 entry valid or invalid */ u8 data[];/* Machine-dependent sample data */ } __packed;
Greg Kroah-Hartman
maintainerPATCH 73/124 scsi: 3w-9xxx: fix a missing-check bug
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Wenwen Wang <[email protected]>
[ Upstream commit c9318a3e0218bc9dacc25be46b9eec363259536f ]
In twa_chrdev_ioctl(), the ioctl driver command is firstly copied from the userspace pointer 'argp' and saved to the kernel object 'driver_command'. Then a security check is performed on the data buffer size indicated by 'driver_command', which is 'driver_command.buffer_length'. If the security check is passed, the entire ioctl command is copied again from the 'argp' pointer and saved to the kernel object 'tw_ioctl'. Then, various operations are performed on 'tw_ioctl' according to the 'cmd'. Given that the 'argp' pointer resides in userspace, a malicious userspace process can race to change the buffer size between the two copies. This way, the user can bypass the security check and inject invalid data buffer size. This can cause potential security issues in the following execution.
This patch checks for capable(CAP_SYS_ADMIN) in twa_chrdev_open()t o avoid the above issues.
--- drivers/scsi/3w-9xxx.c | 5 +++++ 1 file changed, 5 insertions(+)
drivers/scsi/3w-9xxx.c +5 -0
@@ -889,6 +889,11 @@ static int twa_chrdev_open(struct inodeunsigned int minor_number;int retval =TW_IOCTL_ERROR_OS_ENODEV ; +if (!capable (CAP_SYS_ADMIN )) { + retval = -EACCES ; + goto out; + } + minor_number =iminor (inode);if (minor_number >= twa_device_extension_count) goto out;
Greg Kroah-Hartman
maintainerPATCH 74/124 scsi: 3w-xxxx: fix a missing-check bug
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Wenwen Wang <[email protected]>
[ Upstream commit 9899e4d3523faaef17c67141aa80ff2088f17871 ]
In tw_chrdev_ioctl(), the length of the data buffer is firstly copied from the userspace pointer 'argp' and saved to the kernel object 'data_buffer_length'. Then a security check is performed on it to make sure that the length is not more than 'TW_MAX_IOCTL_SECTORS * 512'. Otherwise, an error code -EINVAL is returned. If the security check is passed, the entire ioctl command is copied again from the 'argp' pointer and saved to the kernel object 'tw_ioctl'. Then, various operations are performed on 'tw_ioctl' according to the 'cmd'. Given that the 'argp' pointer resides in userspace, a malicious userspace process can race to change the buffer length between the two copies. This way, the user can bypass the security check and inject invalid data buffer length. This can cause potential security issues in the following execution.
This patch checks for capable(CAP_SYS_ADMIN) in tw_chrdev_open() to avoid the above issues.
--- drivers/scsi/3w-xxxx.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/scsi/3w-xxxx.c +3 -0
@@ -1034,6 +1034,9 @@ static int tw_chrdev_open(struct inode *dprintk (KERN_WARNING "3w-xxxx: tw_ioctl_open()\n" ); +if (!capable (CAP_SYS_ADMIN )) +return -EACCES ; + minor_number =iminor (inode);if (minor_number >= tw_device_extension_count)return -ENODEV ;
Greg Kroah-Hartman
maintainerPATCH 75/124 scsi: megaraid: silence a static checker bug
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dan Carpenter <[email protected]>
[ Upstream commit 27e833dabab74ee665e487e291c9afc6d71effba ]
If we had more than 32 megaraid cards then it would cause memory corruption. That's not likely, of course, but it's handy to enforce it and make the static checker happy.
--- drivers/scsi/megaraid.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/scsi/megaraid.c +3 -0
@@ -4197,6 +4197,9 @@ megaraid_probe_one(struct pci_dev *pdev,int irq, i, j;int error = -ENODEV ; +if (hba_count >=MAX_CONTROLLERS ) + goto out; +if (pci_enable_device (pdev)) goto out;pci_set_master (pdev);
Greg Kroah-Hartman
maintainerPATCH 76/124 thermal: exynos: fix setting rising_threshold for Exynos5433
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Bartlomiej Zolnierkiewicz <[email protected]>
[ Upstream commit 8bfc218d0ebbabcba8ed2b8ec1831e0cf1f71629 ]
Add missing clearing of the previous value when setting rising temperature threshold.
--- drivers/thermal/samsung/exynos_tmu.c | 1 + 1 file changed, 1 insertion(+)
drivers/thermal/samsung/exynos_tmu.c +1 -0
@@ -585,6 +585,7 @@ static int exynos5433_tmu_initialize(str threshold_code =temp_to_code (data, temp); rising_threshold =readl (data->base + rising_reg_offset); + rising_threshold &= ~(0xff << j *8 ); rising_threshold |= (threshold_code << j *8 );writel (rising_threshold, data->base + rising_reg_offset);
Greg Kroah-Hartman
maintainerPATCH 77/124 bpf: fix references to free_bpf_prog_info() in comments
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jakub Kicinski <[email protected]>
[ Upstream commit ab7f5bf0928be2f148d000a6eaa6c0a36e74750e ]
Comments in the verifier refer to free_bpf_prog_info() which seems to have never existed in tree. Replace it with free_used_maps().
--- kernel/bpf/verifier.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
kernel/bpf/verifier.c +2 -2
@@ -2101,7 +2101,7 @@ static int replace_map_fd_with_map_ptr(s/* hold the map. If the program is rejected by verifier, * the map will be released by release_maps() or it * will be used by the valid program until it's unloaded -* and all maps are released in free_bpf_prog_info() +* and all maps are released in free_used_maps() */ map =bpf_map_inc (map, false);if (IS_ERR (map)) {
@@ -2487,7 +2487,7 @@ free_log_buf:vfree (log_buf);if (!env->prog->aux->used_maps)/* if we didn't copy map pointers into bpf_prog_info, release -* them now. Otherwise free_bpf_prog_info() will release them. +* them now. Otherwise free_used_maps() will release them. */ release_maps (env); *prog = env->prog;
Greg Kroah-Hartman
maintainerPATCH 78/124 media: siano: get rid of __le32/__le16 cast warnings
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Mauro Carvalho Chehab <[email protected]>
[ Upstream commit e1b7f11b37def5f3021c06e8c2b4953e099357aa ]
Those are all false-positives that appear with smatch when building for arm:
drivers/media/common/siano/smsendian.c:38:36: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:38:36: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:38:36: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:38:36: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:38:36: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:38:36: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:47:44: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:47:44: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:47:44: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:47:44: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:47:44: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:47:44: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:67:35: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:67:35: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:67:35: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:67:35: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:84:44: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:84:44: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:84:44: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:84:44: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:84:44: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:84:44: warning: cast to restricted __le32 drivers/media/common/siano/smsendian.c:98:26: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:98:26: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:98:26: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:98:26: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:99:28: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:99:28: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:99:28: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:99:28: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:100:27: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:100:27: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:100:27: warning: cast to restricted __le16 drivers/media/common/siano/smsendian.c:100:27: warning: cast to restricted __le16
Get rid of them by adding explicit forced casts.
--- drivers/media/common/siano/smsendian.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
drivers/media/common/siano/smsendian.c +7 -7
@@ -35,7 +35,7 @@ void smsendian_handle_tx_message(void *bswitch (msg->x_msg_header.msg_type) {case MSG_SMS_DATA_DOWNLOAD_REQ : { - msg->msg_data[0 ] =le32_to_cpu (msg->msg_data[0 ]); + msg->msg_data[0 ] =le32_to_cpu ((__force __le32)(msg->msg_data[0 ]));break ; }
@@ -44,7 +44,7 @@ void smsendian_handle_tx_message(void *b sizeof(struct sms_msg_hdr))/4;for (i =0 ; i < msg_words; i++) - msg->msg_data[i] =le32_to_cpu (msg->msg_data[i]); + msg->msg_data[i] =le32_to_cpu ((__force __le32 )msg->msg_data[i]);break ; }
@@ -64,7 +64,7 @@ void smsendian_handle_rx_message(void *b {struct sms_version_res *ver = (struct sms_version_res *) msg; - ver->chip_model =le16_to_cpu (ver->chip_model); + ver->chip_model =le16_to_cpu ((__force __le16 )ver->chip_model);break ; }
@@ -81,7 +81,7 @@ void smsendian_handle_rx_message(void *b sizeof(struct sms_msg_hdr))/4;for (i =0 ; i < msg_words; i++) - msg->msg_data[i] =le32_to_cpu (msg->msg_data[i]); + msg->msg_data[i] =le32_to_cpu ((__force __le32 )msg->msg_data[i]);break ; }
@@ -95,9 +95,9 @@ void smsendian_handle_message_header(voi#ifdef __BIG_ENDIANstruct sms_msg_hdr *phdr = (struct sms_msg_hdr *)msg; - phdr->msg_type =le16_to_cpu (phdr->msg_type); - phdr->msg_length =le16_to_cpu (phdr->msg_length); - phdr->msg_flags =le16_to_cpu (phdr->msg_flags); + phdr->msg_type =le16_to_cpu ((__force __le16 )phdr->msg_type); + phdr->msg_length =le16_to_cpu ((__force __le16 )phdr->msg_length); + phdr->msg_flags =le16_to_cpu ((__force __le16 )phdr->msg_flags);#endif /* __BIG_ENDIAN */ }EXPORT_SYMBOL_GPL (smsendian_handle_message_header);
Greg Kroah-Hartman
maintainerPATCH 79/124 drm/atomic: Handling the case when setting old crtc for plane
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Satendra Singh Thakur <[email protected]>
[ Upstream commit fc2a69f3903dfd97cd47f593e642b47918c949df ]
In the func drm_atomic_set_crtc_for_plane, with the current code, if crtc of the plane_state and crtc passed as argument to the func are same, entire func will executed in vein.
It will get state of crtc and clear and set the bits in plane_mask. All these steps are not required for same old crtc.
Ideally, we should do nothing in this case, this patch handles the same, and causes the program to return without doing anything in such scenario.
--- drivers/gpu/drm/drm_atomic.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/gpu/drm/drm_atomic.c +3 -1
@@ -960,7 +960,9 @@ drm_atomic_set_crtc_for_plane(struct drm {struct drm_plane *plane = plane_state->plane;struct drm_crtc_state *crtc_state; - +/* Nothing to do for same crtc*/ +if (plane_state->crtc == crtc) +return 0 ;if (plane_state->crtc) { crtc_state =drm_atomic_get_crtc_state (plane_state->state, plane_state->crtc);
Greg Kroah-Hartman
maintainerPATCH 80/124 ALSA: hda/ca0132: fix build failure when a local macro is defined
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Takashi Sakamoto <[email protected]>
[ Upstream commit 8e142e9e628975b0dddd05cf1b095331dff6e2de ]
DECLARE_TLV_DB_SCALE (alias of SNDRV_CTL_TLVD_DECLARE_DB_SCALE) is used but tlv.h is not included. This causes build failure when local macro is defined by comment-out.
This commit fixes the bug. At the same time, the alias macro is replaced with a destination macro added at a commit 46e860f76804 ("ALSA: rename TLV-related macros so that they're friendly to user applications")
--- sound/pci/hda/patch_ca0132.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
sound/pci/hda/patch_ca0132.c +6 -2
@@ -38,6 +38,10 @@/* Enable this to see controls for tuning purpose. */ /*#define ENABLE_TUNING_CONTROLS*/ +#ifdef ENABLE_TUNING_CONTROLS +#include <sound/tlv.h> +#endif +#define FLOAT_ZERO 0x00000000#define FLOAT_ONE 0x3f800000#define FLOAT_TWO 0x40000000
@@ -3067,8 +3071,8 @@ static int equalizer_ctl_put(struct snd_return 1 ; } -static const DECLARE_TLV_DB_SCALE(voice_focus_db_scale, 2000, 100, 0); -static const DECLARE_TLV_DB_SCALE(eq_db_scale, -2400, 100, 0); +static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(voice_focus_db_scale, 2000, 100, 0); +static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(eq_db_scale, -2400, 100, 0); static int add_tuning_control(struct hda_codec *codec, hda_nid_t pnid, hda_nid_t nid,
Greg Kroah-Hartman
maintainerPATCH 81/124 memory: tegra: Do not handle spurious interrupts
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dmitry Osipenko <[email protected]>
[ Upstream commit bf3fbdfbec947cdd04b2f2c4bce11534c8786eee ]
The ISR reads interrupts-enable mask, but doesn't utilize it. Apply the mask to the interrupt status and don't handle interrupts that MC driver haven't asked for. Kernel would disable spurious MC IRQ and report the error. This would happen only in a case of a very severe bug.
--- drivers/memory/tegra/mc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/memory/tegra/mc.c +4 -1
@@ -252,8 +252,11 @@ static irqreturn_t tegra_mc_irq(int irq,unsigned int bit;/* mask all interrupts to avoid flooding */ - status =mc_readl (mc,MC_INTSTATUS ); mask =mc_readl (mc,MC_INTMASK ); + status =mc_readl (mc,MC_INTSTATUS ) & mask; + +if (!status) +return IRQ_NONE ;for_each_set_bit (bit, &status,32 ) {const char *error = status_names[bit] ?:"unknown" ;
Greg Kroah-Hartman
maintainerPATCH 82/124 memory: tegra: Apply interrupts mask per SoC
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dmitry Osipenko <[email protected]>
[ Upstream commit 1c74d5c0de0c2cc29fef97a19251da2ad6f579bd ]
Currently we are enabling handling of interrupts specific to Tegra124+ which happen to overlap with previous generations. Let's specify interrupts mask per SoC generation for consistency and in a preparation of squashing of Tegra20 driver into the common one that will enable handling of GART faults which may be undesirable by newer generations.
--- drivers/memory/tegra/mc.c | 21 +++------------------ drivers/memory/tegra/mc.h | 9 +++++++++ drivers/memory/tegra/tegra114.c | 2 ++ drivers/memory/tegra/tegra124.c | 6 ++++++ drivers/memory/tegra/tegra210.c | 3 +++ drivers/memory/tegra/tegra30.c | 2 ++ include/soc/tegra/mc.h | 2 ++ 7 files changed, 27 insertions(+), 18 deletions(-)
drivers/memory/tegra/mc.c +3 -18
@@ -20,14 +20,6 @@#include "mc.h" #define MC_INTSTATUS 0x000 -#define MC_INT_DECERR_MTS (1 << 16) -#define MC_INT_SECERR_SEC (1 << 13) -#define MC_INT_DECERR_VPR (1 << 12) -#define MC_INT_INVALID_APB_ASID_UPDATE (1 << 11) -#define MC_INT_INVALID_SMMU_PAGE (1 << 10) -#define MC_INT_ARBITRATION_EMEM (1 << 9) -#define MC_INT_SECURITY_VIOLATION (1 << 8) -#define MC_INT_DECERR_EMEM (1 << 6)#define MC_INTMASK 0x004
@@ -248,13 +240,11 @@ static const char *const error_names[8]static irqreturn_t tegra_mc_irq (int irq,void *data) {struct tegra_mc *mc = data; -unsigned long status, mask; +unsigned long status;unsigned int bit;/* mask all interrupts to avoid flooding */ - mask =mc_readl (mc,MC_INTMASK ); - status =mc_readl (mc,MC_INTSTATUS ) & mask; - + status =mc_readl (mc,MC_INTSTATUS ) & mc->soc->intmask;if (!status)return IRQ_NONE ;
@@ -349,7 +339,6 @@ static int tegra_mc_probe(struct platforconst struct of_device_id *match;struct resource *res;struct tegra_mc *mc; -u32 value;int err; match =of_match_node (tegra_mc_of_match, pdev->dev.of_node);
@@ -417,11 +406,7 @@ static int tegra_mc_probe(struct platforWARN (!mc->soc->client_id_mask,"Missing client ID mask for this SoC\n" ); - value =MC_INT_DECERR_MTS |MC_INT_SECERR_SEC |MC_INT_DECERR_VPR | -MC_INT_INVALID_APB_ASID_UPDATE |MC_INT_INVALID_SMMU_PAGE | -MC_INT_SECURITY_VIOLATION |MC_INT_DECERR_EMEM ; - -mc_writel (mc, value,MC_INTMASK ); +mc_writel (mc, mc->soc->intmask,MC_INTMASK );return 0 ; }
drivers/memory/tegra/mc.h +9 -0
@@ -14,6 +14,15 @@#include <soc/tegra/mc.h> +#define MC_INT_DECERR_MTS (1 << 16) +#define MC_INT_SECERR_SEC (1 << 13) +#define MC_INT_DECERR_VPR (1 << 12) +#define MC_INT_INVALID_APB_ASID_UPDATE (1 << 11) +#define MC_INT_INVALID_SMMU_PAGE (1 << 10) +#define MC_INT_ARBITRATION_EMEM (1 << 9) +#define MC_INT_SECURITY_VIOLATION (1 << 8) +#define MC_INT_DECERR_EMEM (1 << 6) +static inline u32 mc_readl (struct tegra_mc *mc,unsigned long offset) {return readl (mc->regs + offset);
drivers/memory/tegra/tegra114.c +2 -0
@@ -930,4 +930,6 @@ const struct tegra_mc_soc tegra114_mc_so .atom_size = 32, .client_id_mask = 0x7f, .smmu = &tegra114_smmu_soc, + .intmask = MC_INT_INVALID_SMMU_PAGE | MC_INT_SECURITY_VIOLATION | + MC_INT_DECERR_EMEM, };
drivers/memory/tegra/tegra124.c +6 -0
@@ -1019,6 +1019,9 @@ const struct tegra_mc_soc tegra124_mc_so .smmu = &tegra124_smmu_soc, .emem_regs = tegra124_mc_emem_regs, .num_emem_regs = ARRAY_SIZE(tegra124_mc_emem_regs), + .intmask =MC_INT_DECERR_MTS |MC_INT_SECERR_SEC |MC_INT_DECERR_VPR | +MC_INT_INVALID_APB_ASID_UPDATE |MC_INT_INVALID_SMMU_PAGE | + MC_INT_SECURITY_VIOLATION | MC_INT_DECERR_EMEM, };#endif /* CONFIG_ARCH_TEGRA_124_SOC */
@@ -1041,5 +1044,8 @@ const struct tegra_mc_soc tegra132_mc_so .atom_size = 32, .client_id_mask = 0x7f, .smmu = &tegra132_smmu_soc, + .intmask =MC_INT_DECERR_MTS |MC_INT_SECERR_SEC |MC_INT_DECERR_VPR | +MC_INT_INVALID_APB_ASID_UPDATE |MC_INT_INVALID_SMMU_PAGE | + MC_INT_SECURITY_VIOLATION | MC_INT_DECERR_EMEM, };#endif /* CONFIG_ARCH_TEGRA_132_SOC */
drivers/memory/tegra/tegra210.c +3 -0
@@ -1077,4 +1077,7 @@ const struct tegra_mc_soc tegra210_mc_so .atom_size = 64, .client_id_mask = 0xff, .smmu = &tegra210_smmu_soc, + .intmask =MC_INT_DECERR_MTS |MC_INT_SECERR_SEC |MC_INT_DECERR_VPR | +MC_INT_INVALID_APB_ASID_UPDATE |MC_INT_INVALID_SMMU_PAGE | + MC_INT_SECURITY_VIOLATION | MC_INT_DECERR_EMEM, };
drivers/memory/tegra/tegra30.c +2 -0
@@ -952,4 +952,6 @@ const struct tegra_mc_soc tegra30_mc_soc .atom_size = 16, .client_id_mask = 0x7f, .smmu = &tegra30_smmu_soc, + .intmask = MC_INT_INVALID_SMMU_PAGE | MC_INT_SECURITY_VIOLATION | + MC_INT_DECERR_EMEM, };
include/soc/tegra/mc.h +2 -0
@@ -99,6 +99,8 @@ struct tegra_mc_soc {u8 client_id_mask;const struct tegra_smmu_soc *smmu; + +u32 intmask; };struct tegra_mc {
Greg Kroah-Hartman
maintainerPATCH 83/124 drm/gma500: fix psb_intel_lvds_mode_valid()s return type
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Luc Van Oostenryck <[email protected]>
[ Upstream commit 2ea009095c6e7396915a1d0dd480c41f02985f79 ]
The method struct drm_connector_helper_funcs::mode_valid is defined as returning an 'enum drm_mode_status' but the driver implementation for this method, psb_intel_lvds_mode_valid(), uses an 'int' for it.
Fix this by using 'enum drm_mode_status' for psb_intel_lvds_mode_valid().
--- drivers/gpu/drm/gma500/psb_intel_drv.h | 2 +- drivers/gpu/drm/gma500/psb_intel_lvds.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
drivers/gpu/drm/gma500/psb_intel_drv.h +1 -1
@@ -252,7 +252,7 @@ extern int intelfb_remove(struct drm_devextern bool psb_intel_lvds_mode_fixup (struct drm_encoder *encoder,const struct drm_display_mode *mode,struct drm_display_mode *adjusted_mode); -extern int psb_intel_lvds_mode_valid (struct drm_connector *connector, +extern enum drm_mode_status psb_intel_lvds_mode_valid (struct drm_connector *connector,struct drm_display_mode *mode); extern int psb_intel_lvds_set_property(struct drm_connector *connector, struct drm_property *property,
drivers/gpu/drm/gma500/psb_intel_lvds.c +1 -1
@@ -343,7 +343,7 @@ static void psb_intel_lvds_restore(struc } } -int psb_intel_lvds_mode_valid (struct drm_connector *connector, +enum drm_mode_status psb_intel_lvds_mode_valid (struct drm_connector *connector,struct drm_display_mode *mode) {struct drm_psb_private *dev_priv = connector->dev->dev_private;
Greg Kroah-Hartman
maintainerPATCH 84/124 ipconfig: Correctly initialise ic_nameservers
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Chris Novakovic <[email protected]>
[ Upstream commit 300eec7c0a2495f771709c7642aa15f7cc148b83 ]
ic_nameservers, which stores the list of name servers discovered by ipconfig, is initialised (i.e. has all of its elements set to NONE, or 0xffffffff) by ic_nameservers_predef() in the following scenarios:
- before the "ip=" and "nfsaddrs=" kernel command line parameters are parsed (in ip_auto_config_setup());
- before autoconfiguring via DHCP or BOOTP (in ic_bootp_init()), in order to clear any values that may have been set after parsing "ip=" or "nfsaddrs=" and are no longer needed.
This means that ic_nameservers_predef() is not called when neither "ip=" nor "nfsaddrs=" is specified on the kernel command line. In this scenario, every element in ic_nameservers remains set to 0x00000000, which is indistinguishable from ANY and causes pnp_seq_show() to write the following (bogus) information to /proc/net/pnp:
#MANUAL
nameserver 0.0.0.0
nameserver 0.0.0.0
nameserver 0.0.0.0
This is potentially problematic for systems that blindly link /etc/resolv.conf to /proc/net/pnp.
Ensure that ic_nameservers is also initialised when neither "ip=" nor "nfsaddrs=" are specified by calling ic_nameservers_predef() in ip_auto_config(), but only when ip_auto_config_setup() was not called earlier. This causes the following to be written to /proc/net/pnp, and is consistent with what gets written when ipconfig is configured manually but no name servers are specified on the kernel command line:
#MANUAL
--- net/ipv4/ipconfig.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
net/ipv4/ipconfig.c +13 -0
@@ -790,6 +790,11 @@ static void __init ic_bootp_init_ext(u8*/ static inline void __init ic_bootp_init (void ) { +/* Re-initialise all name servers to NONE, in case any were set via the +* "ip=" or "nfsaddrs=" kernel command line parameters: any IP addresses +* specified there will already have been decoded but are no longer +* needed +*/ ic_nameservers_predef ();dev_add_pack (&bootp_packet_type);
@@ -1423,6 +1428,13 @@ static int __init ip_auto_config(void)int err;unsigned int i; +/* Initialise all name servers to NONE (but only if the "ip=" or +* "nfsaddrs=" kernel command line parameters weren't decoded, otherwise +* we'll overwrite the IP addresses specified there) +*/ +if (ic_set_manually ==0 ) +ic_nameservers_predef (); +#ifdef CONFIG_PROC_FS proc_create ("pnp" ,S_IRUGO , init_net.proc_net, &pnp_seq_fops);#endif /* CONFIG_PROC_FS */
@@ -1640,6 +1652,7 @@ static int __init ip_auto_config_setup(creturn 1 ; } +/* Initialise all name servers to NONE */ ic_nameservers_predef ();/* Parse string for static IP assignment. */
Greg Kroah-Hartman
maintainerPATCH 85/124 rsi: Fix invalid vdd warning in mmc
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Siva Rebbagondla <[email protected]>
[ Upstream commit 78e450719c702784e42af6da912d3692fd3da0cb ]
While performing cleanup, driver is messing with card->ocr value by not masking rocr against ocr_avail. Below panic is observed with some of the SDIO host controllers due to this. Issue is resolved by reverting incorrect modifications to vdd.
[ 927.423821] mmc1: Invalid vdd 0x1f [ 927.423925] Modules linked in: rsi_sdio(+) cmac bnep arc4 rsi_91x mac80211 cfg80211 btrsi rfcomm bluetooth ecdh_generic [ 927.424073] CPU: 0 PID: 1624 Comm: insmod Tainted: G W 4.15.0-1000-caracalla #1 [ 927.424075] Hardware name: Dell Inc. Edge Gateway 3003/ , BIOS 01.00.06 01/22/2018 [ 927.424082] RIP: 0010:sdhci_set_power_noreg+0xdd/0x190[sdhci] [ 927.424085] RSP: 0018:ffffac3fc064b930 EFLAGS: 00010282 [ 927.424107] Call Trace: [ 927.424118] sdhci_set_power+0x5a/0x60 [sdhci] [ 927.424125] sdhci_set_ios+0x360/0x3b0 [sdhci] [ 927.424133] mmc_set_initial_state+0x92/0x120 [ 927.424137] mmc_power_up.part.34+0x33/0x1d0 [ 927.424141] mmc_power_up+0x17/0x20 [ 927.424147] mmc_sdio_runtime_resume+0x2d/0x50 [ 927.424151] mmc_runtime_resume+0x17/0x20 [ 927.424156] __rpm_callback+0xc4/0x200 [ 927.424161] ? idr_alloc_cyclic+0x57/0xd0 [ 927.424165] ? mmc_runtime_suspend+0x20/0x20 [ 927.424169] rpm_callback+0x24/0x80 [ 927.424172] ? mmc_runtime_suspend+0x20/0x20 [ 927.424176] rpm_resume+0x4b3/0x6c0 [ 927.424181] __pm_runtime_resume+0x4e/0x80 [ 927.424188] driver_probe_device+0x41/0x490 [ 927.424192] __driver_attach+0xdf/0xf0 [ 927.424196] ? driver_probe_device+0x490/0x490 [ 927.424201] bus_for_each_dev+0x6c/0xc0 [ 927.424205] driver_attach+0x1e/0x20 [ 927.424209] bus_add_driver+0x1f4/0x270 [ 927.424217] ? rsi_sdio_ack_intr+0x50/0x50 [rsi_sdio] [ 927.424221] driver_register+0x60/0xe0 [ 927.424227] ? rsi_sdio_ack_intr+0x50/0x50 [rsi_sdio] [ 927.424231] sdio_register_driver+0x20/0x30 [ 927.424237] rsi_module_init+0x16/0x40 [rsi_sdio]
--- drivers/net/wireless/rsi/rsi_91x_sdio.c | 2 -- 1 file changed, 2 deletions(-)
drivers/net/wireless/rsi/rsi_91x_sdio.c +0 -2
@@ -155,7 +155,6 @@ static void rsi_reset_card(struct sdio_fint err;struct mmc_card *card = pfunction->card;struct mmc_host *host = card->host; -s32 bit = (fls (host->ocr_avail) -1 );u8 cmd52_resp;u32 clock, resp, i;u16 rca;
@@ -175,7 +174,6 @@ static void rsi_reset_card(struct sdio_fmsleep (20 );/* Initialize the SDIO card */ - host->ios.vdd = bit; host->ios.chip_select =MMC_CS_DONTCARE ; host->ios.bus_mode =MMC_BUSMODE_OPENDRAIN ; host->ios.power_mode =MMC_POWER_UP ;
Greg Kroah-Hartman
maintainerPATCH 87/124 microblaze: Fix simpleImage format generation
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Michal Simek <[email protected]>
[ Upstream commit ece97f3a5fb50cf5f98886fbc63c9665f2bb199d ]
simpleImage generation was broken for some time. This patch is fixing steps how simpleImage.*.ub file is generated. Steps are objdump of vmlinux and create .ub.
Also make sure that there is striped elf version with .strip suffix.
--- arch/microblaze/boot/Makefile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
arch/microblaze/boot/Makefile +6 -4
@@ -21,17 +21,19 @@ $(obj)/linux.bin.gz: $(obj)/linux.bin FO quiet_cmd_cp = CP $< $@$2 cmd_cp = cat $< >$@$2 || (rm -f $@ && echo false) -quiet_cmd_strip = STRIP $@ +quiet_cmd_strip = STRIP $< $@$2 cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \ - -K _fdt_start vmlinux -o $@ + -K _fdt_start $< -o $@$2 UIMAGE_LOADADDR = $(CONFIG_KERNEL_BASE_ADDR) +UIMAGE_IN = $@ +UIMAGE_OUT = [email protected] $(obj)/simpleImage.%: vmlinux FORCE $(call if_changed,cp,.unstrip) $(call if_changed,objcopy) $(call if_changed,uimage) - $(call if_changed,strip) - @echo 'Kernel: $@ is ready' ' (#'`cat .version`')' + $(call if_changed,strip,.strip) + @echo 'Kernel: $(UIMAGE_OUT) is ready' ' (#'`cat .version`')' clean-files += simpleImage.*.unstrip linux.bin.ub dts/*.dtb
Greg Kroah-Hartman
maintainerPATCH 88/124 usb: hub: Dont wait for connect state at resume for powered-off ports
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dominik Bozek <[email protected]>
[ Upstream commit 5d111f5190848d6fb1c414dc57797efea3526a2f ]
wait_for_connected() wait till a port change status to USB_PORT_STAT_CONNECTION, but this is not possible if the port is unpowered. The loop will only exit at timeout.
Such case take place if an over-current incident happen while system is in S3. Then during resume wait_for_connected() will wait 2s, which may be noticeable by the user.
--- drivers/usb/core/hub.c | 4 ++++ 1 file changed, 4 insertions(+)
drivers/usb/core/hub.c +4 -0
@@ -3308,6 +3308,10 @@ static int wait_for_ss_port_enable(strucwhile (delay_ms <2000 ) {if (status || *portstatus &USB_PORT_STAT_CONNECTION )break ; +if (!port_is_power_on (hub, *portstatus)) { + status = -ENODEV ; +break ; + }msleep (20 ); delay_ms +=20 ; status =hub_port_status (hub, *port1, portstatus, portchange);
Greg Kroah-Hartman
maintainerPATCH 89/124 crypto: authencesn - dont leak pointers to authenc keys
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Tudor-Dan Ambarus <[email protected]>
[ Upstream commit 31545df391d58a3bb60e29b1192644a6f2b5a8dd ]
In crypto_authenc_esn_setkey we save pointers to the authenc keys in a local variable of type struct crypto_authenc_keys and we don't zeroize it after use. Fix this and don't leak pointers to the authenc keys.
--- crypto/authencesn.c | 1 + 1 file changed, 1 insertion(+)
crypto/authencesn.c +1 -0
@@ -90,6 +90,7 @@ static int crypto_authenc_esn_setkey(str CRYPTO_TFM_RES_MASK); out: +memzero_explicit (&keys,sizeof (keys));return err; badkey:
Greg Kroah-Hartman
maintainerPATCH 90/124 crypto: authenc - dont leak pointers to authenc keys
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Tudor-Dan Ambarus <[email protected]>
[ Upstream commit ad2fdcdf75d169e7a5aec6c7cb421c0bec8ec711 ]
In crypto_authenc_setkey we save pointers to the authenc keys in a local variable of type struct crypto_authenc_keys and we don't zeroize it after use. Fix this and don't leak pointers to the authenc keys.
--- crypto/authenc.c | 1 + 1 file changed, 1 insertion(+)
crypto/authenc.c +1 -0
@@ -108,6 +108,7 @@ static int crypto_authenc_setkey(struct CRYPTO_TFM_RES_MASK); out: +memzero_explicit (&keys,sizeof (keys));return err; badkey:
Greg Kroah-Hartman
maintainerPATCH 91/124 media: omap3isp: fix unbalanced dma_iommu_mapping
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Suman Anna <[email protected]>
[ Upstream commit b7e1e6859fbf60519fd82d7120cee106a6019512 ]
The OMAP3 ISP driver manages its MMU mappings through the IOMMU-aware ARM DMA backend. The current code creates a dma_iommu_mapping and attaches this to the ISP device, but never detaches the mapping in either the probe failure paths or the driver remove path resulting in an unbalanced mapping refcount and a memory leak. Fix this properly.
--- drivers/media/platform/omap3isp/isp.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
drivers/media/platform/omap3isp/isp.c +4 -3
@@ -2077,6 +2077,7 @@ error_csiphy:static void isp_detach_iommu (struct isp_device *isp) { +arm_iommu_detach_device (isp->dev);arm_iommu_release_mapping (isp->mapping); isp->mapping =NULL ;iommu_group_remove_device (isp->dev);
@@ -2110,8 +2111,7 @@ static int isp_attach_iommu(struct isp_d mapping =arm_iommu_create_mapping (&platform_bus_type,SZ_1G ,SZ_2G );if (IS_ERR (mapping)) {dev_err (isp->dev,"failed to create ARM IOMMU mapping\n" ); - ret =PTR_ERR (mapping); - goto error; +return PTR_ERR (mapping); } isp->mapping = mapping;
@@ -2126,7 +2126,8 @@ static int isp_attach_iommu(struct isp_dreturn 0 ; error: -isp_detach_iommu (isp); +arm_iommu_release_mapping (isp->mapping); + isp->mapping =NULL ;return ret; }
Greg Kroah-Hartman
maintainerPATCH 92/124 scsi: scsi_dh: replace too broad "TP9" string with the exact models
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Xose Vazquez Perez <[email protected]>
[ Upstream commit 37b37d2609cb0ac267280ef27350b962d16d272e ]
SGI/TP9100 is not an RDAC array:
^^^
This partially reverts commit 35204772ea03 ("[SCSI] scsi_dh_rdac :
Consolidate rdac strings together")
[mkp: fixed up the new entries to align with rest of struct]
--- drivers/scsi/scsi_dh.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/scsi/scsi_dh.c +4 -1
@@ -58,7 +58,10 @@ static const struct scsi_dh_blist scsi_d {"IBM", "3526", "rdac", }, {"IBM", "3542", "rdac", }, {"IBM", "3552", "rdac", }, - {"SGI", "TP9", "rdac", }, + {"SGI", "TP9300", "rdac", }, + {"SGI", "TP9400", "rdac", }, + {"SGI", "TP9500", "rdac", }, + {"SGI", "TP9700", "rdac", }, {"SGI", "IS", "rdac", }, {"STK", "OPENstorage", "rdac", }, {"STK", "FLEXLINE 380", "rdac", },
Greg Kroah-Hartman
maintainerPATCH 93/124 scsi: megaraid_sas: Increase timeout by 1 sec for non-RAID fastpath IOs
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Shivasharan S <[email protected]>
[ Upstream commit 3239b8cd28fd849a2023483257d35d68c5876c74 ]
Hardware could time out Fastpath IOs one second earlier than the timeout provided by the host.
For non-RAID devices, driver provides timeout value based on OS provided timeout value. Under certain scenarios, if the OS provides a timeout value of 1 second, due to above behavior hardware will timeout immediately.
Increase timeout value for non-RAID fastpath IOs by 1 second.
--- drivers/scsi/megaraid/megaraid_sas_fusion.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/scsi/megaraid/megaraid_sas_fusion.c +3 -0
@@ -1886,6 +1886,9 @@ megasas_build_syspd_fusion(struct megasa pRAID_Context->timeoutValue =cpu_to_le16 (os_timeout_value); pRAID_Context->VirtualDiskTgtId =cpu_to_le16 (device_id); }else { +if (os_timeout_value) + os_timeout_value++; +/* system pd Fast Path */ io_request->Function =MPI2_FUNCTION_SCSI_IO_REQUEST ; timeout_limit = (scmd->device->type == TYPE_DISK) ?
Greg Kroah-Hartman
maintainerPATCH 94/124 media: si470x: fix __be16 annotations
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Mauro Carvalho Chehab <[email protected]>
[ Upstream commit 90db5c829692a0a7845e977e45719b4699216bd4 ]
The annotations there are wrong as warned:
drivers/media/radio/si470x/radio-si470x-i2c.c:107:35: warning: cast to restricted __be16 drivers/media/radio/si470x/radio-si470x-i2c.c:107:35: warning: cast to restricted __be16 drivers/media/radio/si470x/radio-si470x-i2c.c:107:35: warning: cast to restricted __be16 drivers/media/radio/si470x/radio-si470x-i2c.c:107:35: warning: cast to restricted __be16 drivers/media/radio/si470x/radio-si470x-i2c.c:129:24: warning: incorrect type in assignment (different base types)
drivers/media/radio/si470x/radio-si470x-i2c.c:129:24: expected unsigned short [unsigned] [short] <noident>
drivers/media/radio/si470x/radio-si470x-i2c.c:129:24: got restricted __be16 [usertype] <noident>
drivers/media/radio/si470x/radio-si470x-i2c.c:163:39: warning: cast to restricted __be16 drivers/media/radio/si470x/radio-si470x-i2c.c:163:39: warning: cast to restricted __be16 drivers/media/radio/si470x/radio-si470x-i2c.c:163:39: warning: cast to restricted __be16 drivers/media/radio/si470x/radio-si470x-i2c.c:163:39: warning: cast to restricted __be16
--- drivers/media/radio/si470x/radio-si470x-i2c.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/media/radio/si470x/radio-si470x-i2c.c +3 -3
@@ -96,7 +96,7 @@ MODULE_PARM_DESC(max_rds_errors, "RDS ma*/ int si470x_get_register (struct si470x_device *radio,int regnr) { -u16 buf[READ_REG_NUM ]; +__be16 buf[READ_REG_NUM ];struct i2c_msg msgs[1 ] = { { .addr = radio->client->addr,
@@ -121,7 +121,7 @@ int si470x_get_register(struct si470x_deint si470x_set_register (struct si470x_device *radio,int regnr) {int i; -u16 buf[WRITE_REG_NUM ]; +__be16 buf[WRITE_REG_NUM ];struct i2c_msg msgs[1 ] = { { .addr = radio->client->addr,
@@ -151,7 +151,7 @@ int si470x_set_register(struct si470x_destatic int si470x_get_all_registers (struct si470x_device *radio) {int i; -u16 buf[READ_REG_NUM ]; +__be16 buf[READ_REG_NUM ];struct i2c_msg msgs[1 ] = { { .addr = radio->client->addr,
Greg Kroah-Hartman
maintainerPATCH 96/124 random: mix rdrand with entropy sent in from userspace
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Theodore Ts'o <[email protected]>
commit 81e69df38e2911b642ec121dec319fad2a4782f3 upstream.
Fedora has integrated the jitter entropy daemon to work around slow boot problems, especially on VM's that don't support virtio-rng:
https://bugzilla.redhat.com/show_bug.cgi?id=1572944
It's understandable why they did this, but the Jitter entropy daemon works fundamentally on the principle: "the CPU microarchitecture is **so** complicated and we can't figure it out, so it *must* be random". Yes, it uses statistical tests to "prove" it is secure, but AES_ENCRYPT(NSA_KEY, COUNTER++) will also pass statistical tests with flying colors.
So if RDRAND is available, mix it into entropy submitted from userspace. It can't hurt, and if you believe the NSA has backdoored RDRAND, then they probably have enough details about the Intel microarchitecture that they can reverse engineer how the Jitter entropy daemon affects the microarchitecture, and attack its output stream. And if RDRAND is in fact an honest DRNG, it will immeasurably improve on what the Jitter entropy daemon might produce.
This also provides some protection against someone who is able to read or set the entropy seed file.
--- drivers/char/random.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
drivers/char/random.c +9 -1
@@ -1503,14 +1503,22 @@ static int write_pool(struct entropy_store *r, const char __user *buffer, size_t count) { size_t bytes; -__u32 buf[16 ]; +__u32 t, buf[16 ];const char __user *p = buffer;while (count >0 ) { +int b, i =0 ; + bytes =min (count,sizeof (buf));if (copy_from_user (&buf, p, bytes))return -EFAULT ; +for (b = bytes ; b >0 ; b -=sizeof (__u32), i++) { +if (!arch_get_random_int (&t)) +break ; + buf[i] ^= t; + } + count -= bytes; p += bytes;
Greg Kroah-Hartman
maintainerPATCH 97/124 squashfs: be more careful about metadata corruption
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Linus Torvalds <[email protected]>
commit 01cfb7937a9af2abb1136c7e89fbf3fd92952956 upstream.
Anatoly Trosinenko reports that a corrupted squashfs image can cause a kernel oops. It turns out that squashfs can end up being confused about negative fragment lengths.
The regular squashfs_read_data() does check for negative lengths, but squashfs_read_metadata() did not, and the fragment size code just blindly trusted the on-disk value. Fix both the fragment parsing and the metadata reading code.
--- fs/squashfs/cache.c | 3 +++ fs/squashfs/file.c | 8 ++++++-- fs/squashfs/fragment.c | 4 +--- fs/squashfs/squashfs_fs.h | 6 ++++++ 4 files changed, 16 insertions(+), 5 deletions(-)
fs/squashfs/cache.c +3 -0
@@ -350,6 +350,9 @@ int squashfs_read_metadata(struct super_TRACE ("Entered squashfs_read_metadata [%llx:%x]\n" , *block, *offset); +if (unlikely (length <0 )) +return -EIO ; +while (length) { entry =squashfs_cache_get (sb, msblk->block_cache, *block,0 );if (entry->error) {
fs/squashfs/file.c +6 -2
@@ -194,7 +194,11 @@ static long long read_indexes(struct sup }for (i =0 ; i < blocks; i++) { -int size =le32_to_cpu (blist[i]); +int size =squashfs_block_size (blist[i]); +if (size <0 ) { + err = size; + goto failure; + } block +=SQUASHFS_COMPRESSED_SIZE_BLOCK (size); } n -= blocks;
@@ -367,7 +371,7 @@ static int read_blocklist(struct inode * sizeof(size));if (res <0 )return res; -return le32_to_cpu (size); +return squashfs_block_size (size); }/* Copy data into page cache */
fs/squashfs/fragment.c +1 -3
@@ -61,9 +61,7 @@ int squashfs_frag_lookup(struct super_blreturn size; *fragment_block =le64_to_cpu (fragment_entry.start_block); - size =le32_to_cpu (fragment_entry.size); - -return size; +return squashfs_block_size (fragment_entry.size); }
fs/squashfs/squashfs_fs.h +6 -0
@@ -129,6 +129,12 @@#define SQUASHFS_COMPRESSED_BLOCK (B ) (!((B) & SQUASHFS_COMPRESSED_BIT_BLOCK)) +static inline int squashfs_block_size (__le32 raw) +{ +u32 size =le32_to_cpu (raw); +return (size >>25 ) ? -EIO : size; +} +/* * Inode number ops. Inodes consist of a compressed block number, and an * uncompressed offset within that block
Greg Kroah-Hartman
maintainerPATCH 98/124 ext4: fix inline data updates with checksums enabled
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Theodore Ts'o <[email protected]>
commit 362eca70b53389bddf3143fe20f53dcce2cfdf61 upstream.
The inline data code was updating the raw inode directly; this is problematic since if metadata checksums are enabled, ext4_mark_inode_dirty() must be called to update the inode's checksum. In addition, the jbd2 layer requires that get_write_access() be called before the metadata buffer is modified. Fix both of these problems.
https://bugzilla.kernel.org/show_bug.cgi?id=200443
--- fs/ext4/inline.c | 19 +++++++++++-------- fs/ext4/inode.c | 16 +++++++--------- 2 files changed, 18 insertions(+), 17 deletions(-)
fs/ext4/inline.c +11 -8
@@ -678,6 +678,10 @@ int ext4_try_to_write_inline_data(struct goto convert; } + ret =ext4_journal_get_write_access (handle, iloc.bh); +if (ret) + goto out; + flags |=AOP_FLAG_NOFS ; page =grab_cache_page_write_begin (mapping,0 , flags);
@@ -706,7 +710,7 @@ int ext4_try_to_write_inline_data(struct out_up_read:up_read (&EXT4_I (inode)->xattr_sem); out: -if (handle) +if (handle && (ret !=1 ))ext4_journal_stop (handle);brelse (iloc.bh);return ret;
@@ -748,6 +752,7 @@ int ext4_write_inline_data_end(struct inext4_write_unlock_xattr (inode, &no_expand);brelse (iloc.bh); +mark_inode_dirty (inode); out:return copied; }
@@ -894,7 +899,6 @@ retry_journal: goto out; } - page =grab_cache_page_write_begin (mapping,0 , flags);if (!page) { ret = -ENOMEM ;
@@ -912,6 +916,9 @@ retry_journal:if (ret <0 ) goto out_release_page; } + ret =ext4_journal_get_write_access (handle, iloc.bh); +if (ret) + goto out_release_page;up_read (&EXT4_I (inode)->xattr_sem); *pagep = page;
@@ -932,7 +939,6 @@ int ext4_da_write_inline_data_end(struct unsigned len, unsigned copied, struct page *page) { - int i_size_changed = 0; int ret; ret =ext4_write_inline_data_end (inode, pos, len, copied, page);
@@ -950,10 +956,8 @@ int ext4_da_write_inline_data_end(struct* But it's important to update i_size while still holding page lock: * page writeout could otherwise come in and zero beyond i_size. */ -if (pos+copied > inode->i_size) { +if (pos+copied > inode->i_size)i_size_write (inode, pos+copied); - i_size_changed =1 ; - }unlock_page (page);page_cache_release (page);
@@ -963,8 +967,7 @@ int ext4_da_write_inline_data_end(struct* ordering of page lock and transaction start for journaling * filesystems. */ -if (i_size_changed) -mark_inode_dirty (inode); +mark_inode_dirty (inode);return copied; }
fs/ext4/inode.c +7 -9
@@ -1164,9 +1164,10 @@ static int ext4_write_end(struct file *floff_t old_size = inode->i_size;int ret =0 , ret2;int i_size_changed =0 ; +int inline_data =ext4_has_inline_data (inode);trace_ext4_write_end (inode, pos, len, copied); -if (ext4_has_inline_data (inode)) { +if (inline_data) { ret =ext4_write_inline_data_end (inode, pos, len, copied, page);if (ret <0 ) {
@@ -1194,7 +1195,7 @@ static int ext4_write_end(struct file *f* ordering of page lock and transaction start for journaling * filesystems. */ -if (i_size_changed) +if (i_size_changed || inline_data)ext4_mark_inode_dirty (handle, inode);if (pos + len > inode->i_size &&ext4_can_truncate (inode))
@@ -1268,6 +1269,7 @@ static int ext4_journalled_write_end(strint partial =0 ;unsigned from, to;int size_changed =0 ; +int inline_data =ext4_has_inline_data (inode);trace_ext4_journalled_write_end (inode, pos, len, copied); from = pos & (PAGE_CACHE_SIZE -1 );
@@ -1275,7 +1277,7 @@ static int ext4_journalled_write_end(strBUG_ON (!ext4_handle_valid (handle)); -if (ext4_has_inline_data (inode)) { +if (inline_data) { ret =ext4_write_inline_data_end (inode, pos, len, copied, page);if (ret <0 ) {
@@ -1306,7 +1308,7 @@ static int ext4_journalled_write_end(strif (old_size < pos)pagecache_isize_extended (inode, old_size, pos); -if (size_changed) { +if (size_changed || inline_data) { ret2 =ext4_mark_inode_dirty (handle, inode);if (!ret) ret = ret2;
@@ -1804,11 +1806,7 @@ static int __ext4_journalled_writepage(s }if (inline_data) { -BUFFER_TRACE (inode_bh,"get write access" ); - ret =ext4_journal_get_write_access (handle, inode_bh); - - err =ext4_handle_dirty_metadata (handle, inode, inode_bh); - + ret =ext4_mark_inode_dirty (handle, inode); }else { ret =ext4_walk_page_buffers (handle, page_bufs,0 , len,NULL , do_journal_get_write_access);
Greg Kroah-Hartman
maintainerPATCH 99/124 ext4: check for allocation block validity with block group locked
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Theodore Ts'o <[email protected]>
commit 8d5a803c6a6ce4ec258e31f76059ea5153ba46ef upstream.
With commit 044e6e3d74a3: "ext4: don't update checksum of new initialized bitmaps" the buffer valid bit will get set without actually setting up the checksum for the allocation bitmap, since the checksum will get calculated once we actually allocate an inode or block.
If we are doing this, then we need to (re-)check the verified bit after we take the block group lock. Otherwise, we could race with another process reading and verifying the bitmap, which would then complain about the checksum being invalid.
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1780137
--- fs/ext4/balloc.c | 3 +++ fs/ext4/ialloc.c | 3 +++ 2 files changed, 6 insertions(+)
fs/ext4/balloc.c +3 -0
@@ -378,6 +378,8 @@ static int ext4_validate_block_bitmap(streturn -EFSCORRUPTED ;ext4_lock_group (sb, block_group); +if (buffer_verified (bh)) + goto verified;if (unlikely (!ext4_block_bitmap_csum_verify (sb, block_group, desc, bh))) {ext4_unlock_group (sb, block_group);
@@ -400,6 +402,7 @@ static int ext4_validate_block_bitmap(streturn -EFSCORRUPTED ; }set_buffer_verified (bh); +verified:ext4_unlock_group (sb, block_group);return 0 ; }
fs/ext4/ialloc.c +3 -0
@@ -88,6 +88,8 @@ static int ext4_validate_inode_bitmap(streturn -EFSCORRUPTED ;ext4_lock_group (sb, block_group); +if (buffer_verified (bh)) + goto verified; blk =ext4_inode_bitmap (sb, desc);if (!ext4_inode_bitmap_csum_verify (sb, block_group, desc, bh,EXT4_INODES_PER_GROUP (sb) /8 )) {
@@ -105,6 +107,7 @@ static int ext4_validate_inode_bitmap(streturn -EFSBADCRC ; }set_buffer_verified (bh); +verified:ext4_unlock_group (sb, block_group);return 0 ; }
Greg Kroah-Hartman
maintainerPATCH 100/124 dmaengine: pxa_dma: remove duplicate const qualifier
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eric Engestrom <[email protected]>
commit 4e0def887d717598ae8062b46e55f9e00d3a5783 upstream.
--- drivers/dma/pxa_dma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/dma/pxa_dma.c +1 -1
@@ -1321,7 +1321,7 @@ static int pxad_init_phys(struct platforreturn 0 ; } -static const struct of_device_id const pxad_dt_ids[] = { +static const struct of_device_id pxad_dt_ids[] = { { .compatible ="marvell,pdma-1.0" , }, {} };
Greg Kroah-Hartman
maintainerPATCH 101/124 ASoC: pxa: Fix module autoload for platform drivers
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Andrea Adami <[email protected]>
commit e5b7d71aa5b32180adec49a17c752e577c68f740 upstream.
These platform drivers are lacking MODULE_ALIAS so module autoloading doesn't work. Tested on corgi and poodle with kernel 4.4.
--- sound/soc/pxa/brownstone.c | 1 + sound/soc/pxa/mioa701_wm9713.c | 1 + sound/soc/pxa/mmp-pcm.c | 1 + sound/soc/pxa/mmp-sspa.c | 1 + sound/soc/pxa/palm27x.c | 1 + sound/soc/pxa/pxa-ssp.c | 1 + sound/soc/pxa/pxa2xx-ac97.c | 1 + sound/soc/pxa/pxa2xx-pcm.c | 1 + 8 files changed, 8 insertions(+)
sound/soc/pxa/brownstone.c +1 -0
@@ -136,3 +136,4 @@ module_platform_driver(mmp_driver);MODULE_AUTHOR ("Leo Yan <[email protected]>" );MODULE_DESCRIPTION ("ALSA SoC Brownstone" );MODULE_LICENSE ("GPL" ); +MODULE_ALIAS ("platform:brownstone-audio" );
sound/soc/pxa/mioa701_wm9713.c +1 -0
@@ -203,3 +203,4 @@ module_platform_driver(mioa701_wm9713_drMODULE_AUTHOR ("Robert Jarzmik ([email protected])" );MODULE_DESCRIPTION ("ALSA SoC WM9713 MIO A701" );MODULE_LICENSE ("GPL" ); +MODULE_ALIAS ("platform:mioa701-wm9713" );
sound/soc/pxa/mmp-pcm.c +1 -0
@@ -248,3 +248,4 @@ module_platform_driver(mmp_pcm_driver);MODULE_AUTHOR ("Leo Yan <[email protected]>" );MODULE_DESCRIPTION ("MMP Soc Audio DMA module" );MODULE_LICENSE ("GPL" ); +MODULE_ALIAS ("platform:mmp-pcm-audio" );
sound/soc/pxa/mmp-sspa.c +1 -0
@@ -482,3 +482,4 @@ module_platform_driver(asoc_mmp_sspa_driMODULE_AUTHOR ("Leo Yan <[email protected]>" );MODULE_DESCRIPTION ("MMP SSPA SoC Interface" );MODULE_LICENSE ("GPL" ); +MODULE_ALIAS ("platform:mmp-sspa-dai" );
sound/soc/pxa/palm27x.c +1 -0
@@ -161,3 +161,4 @@ module_platform_driver(palm27x_wm9712_drMODULE_AUTHOR ("Marek Vasut <[email protected]>" );MODULE_DESCRIPTION ("ALSA SoC Palm T|X, T5 and LifeDrive" );MODULE_LICENSE ("GPL" ); +MODULE_ALIAS ("platform:palm27x-asoc" );
sound/soc/pxa/pxa-ssp.c +1 -0
@@ -833,3 +833,4 @@ module_platform_driver(asoc_ssp_driver);MODULE_AUTHOR ("Mark Brown <[email protected]>" );MODULE_DESCRIPTION ("PXA SSP/PCM SoC Interface" );MODULE_LICENSE ("GPL" ); +MODULE_ALIAS ("platform:pxa-ssp-dai" );
sound/soc/pxa/pxa2xx-ac97.c +1 -0
@@ -287,3 +287,4 @@ module_platform_driver(pxa2xx_ac97_driveMODULE_AUTHOR ("Nicolas Pitre" );MODULE_DESCRIPTION ("AC97 driver for the Intel PXA2xx chip" );MODULE_LICENSE ("GPL" ); +MODULE_ALIAS ("platform:pxa2xx-ac97" );
sound/soc/pxa/pxa2xx-pcm.c +1 -0
@@ -117,3 +117,4 @@ module_platform_driver(pxa_pcm_driver);MODULE_AUTHOR ("Nicolas Pitre" );MODULE_DESCRIPTION ("Intel PXA2xx PCM DMA module" );MODULE_LICENSE ("GPL" ); +MODULE_ALIAS ("platform:pxa-pcm-audio" );
Greg Kroah-Hartman
maintainerPATCH 102/124 ipv4: remove BUG_ON() from fib_compute_spec_dst
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Lorenzo Bianconi <[email protected]>
[ Upstream commit 9fc12023d6f51551d6ca9ed7e02ecc19d79caf17 ]
Remove BUG_ON() from fib_compute_spec_dst routine and check in_dev pointer during flowi4 data structure initialization. fib_compute_spec_dst routine can be run concurrently with device removal where ip_ptr net_device pointer is set to NULL. This can happen if userspace enables pkt info on UDP rx socket and the device is removed while traffic is flowing
--- net/ipv4/fib_frontend.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
net/ipv4/fib_frontend.c +2 -2
@@ -289,19 +289,19 @@ __be32 fib_compute_spec_dst(struct sk_bureturn ip_hdr (skb)->daddr; in_dev =__in_dev_get_rcu (dev); -BUG_ON (!in_dev); net =dev_net (dev); scope =RT_SCOPE_UNIVERSE ;if (!ipv4_is_zeronet (ip_hdr (skb)->saddr)) { +bool vmark = in_dev &&IN_DEV_SRC_VMARK (in_dev);struct flowi4 fl4 = { .flowi4_iif =LOOPBACK_IFINDEX , .flowi4_oif =l3mdev_master_ifindex_rcu (dev), .daddr =ip_hdr (skb)->saddr, .flowi4_tos =RT_TOS (ip_hdr (skb)->tos), .flowi4_scope = scope, - .flowi4_mark =IN_DEV_SRC_VMARK (in_dev) ? skb->mark :0 , + .flowi4_mark = vmark ? skb->mark :0 , };if (!fib_lookup (net, &fl4, &res,0 ))return FIB_RES_PREFSRC (net, res);
Greg Kroah-Hartman
maintainerPATCH 103/124 net: fix amd-xgbe flow-control issue
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: tangpengpeng <[email protected]>
[ Upstream commit 7f3fc7ddf719cd6faaf787722c511f6918ac6aab ]
If we enable or disable xgbe flow-control by ethtool , it does't work.Because the parameter is not properly assigned,so we need to adjust the assignment order of the parameters.
--- drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c +2 -2
@@ -872,14 +872,14 @@ static void xgbe_phy_adjust_link(structif (pdata->tx_pause != pdata->phy.tx_pause) { new_state =1 ; - pdata->hw_if.config_tx_flow_control (pdata); pdata->tx_pause = pdata->phy.tx_pause; + pdata->hw_if.config_tx_flow_control (pdata); }if (pdata->rx_pause != pdata->phy.rx_pause) { new_state =1 ; - pdata->hw_if.config_rx_flow_control (pdata); pdata->rx_pause = pdata->phy.rx_pause; + pdata->hw_if.config_rx_flow_control (pdata); }/* Speed support */
Greg Kroah-Hartman
maintainerPATCH 104/124 net: lan78xx: fix rx handling before first packet is send
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stefan Wahren <[email protected]>
[ Upstream commit 136f55f660192ce04af091642efc75d85e017364 ]
As long the bh tasklet isn't scheduled once, no packet from the rx path will be handled. Since the tx path also schedule the same tasklet this situation only persits until the first packet transmission. So fix this issue by scheduling the tasklet after link reset.
--- drivers/net/usb/lan78xx.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/net/usb/lan78xx.c +2 -0
@@ -1361,6 +1361,8 @@ static void lan78xx_init_mac_address(strnetif_dbg (dev, ifup, dev->net,"MAC address set to random addr" ); } + +tasklet_schedule (&dev->bh); } ret =lan78xx_write_reg (dev,MAF_LO (0 ), addr_lo);
Greg Kroah-Hartman
maintainerPATCH 105/124 xen-netfront: wait xenbus state change when load module manually
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Xiao Liang <[email protected]>
[ Upstream commit 822fb18a82abaf4ee7058793d95d340f5dab7bfc ]
When loading module manually, after call xenbus_switch_state to initializes the state of the netfront device, the driver state did not change so fast that may lead no dev created in latest kernel. This patch adds wait to make sure xenbus knows the driver is not in closed/unknown state.
Current state:
[vm]# ethtool eth0
Settings for eth0:
Link detected: yes
[vm]# modprobe -r xen_netfront
[vm]# modprobe xen_netfront
[vm]# ethtool eth0
Settings for eth0:
Cannot get device settings: No such device
Cannot get wake-on-lan settings: No such device
Cannot get message level: No such device
Cannot get link status: No such device
No data available
With the patch installed.
[vm]# ethtool eth0
Settings for eth0:
Link detected: yes
[vm]# modprobe -r xen_netfront
[vm]# modprobe xen_netfront
[vm]# ethtool eth0
Settings for eth0:
Link detected: yes
--- drivers/net/xen-netfront.c | 6 ++++++ 1 file changed, 6 insertions(+)
drivers/net/xen-netfront.c +6 -0
@@ -86,6 +86,7 @@ struct netfront_cb {/* IRQ name is queue name with "-tx" or "-rx" appended */ #define IRQ_NAME_SIZE (QUEUE_NAME_SIZE + 3) +static DECLARE_WAIT_QUEUE_HEAD (module_load_q);static DECLARE_WAIT_QUEUE_HEAD (module_unload_q);struct netfront_stats {
@@ -1335,6 +1336,11 @@ static struct net_device *xennet_create_netif_carrier_off (netdev);xenbus_switch_state (dev, XenbusStateInitialising); +wait_event (module_load_q, +xenbus_read_driver_state (dev->otherend) != + XenbusStateClosed && +xenbus_read_driver_state (dev->otherend) != + XenbusStateUnknown);return netdev; exit:
Re: [PATCH 4.4 105/124] xen-netfront: wait xenbus state change when load module manually
Quoted 12 lines · Greg Kroah-Hartman
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Xiao Liang <[email protected]>
[ Upstream commit
822fb18a82abaf4ee7058793d95d340f5dab7bfc]When loading module manually, after call
xenbus_switch_stateto initializes the state of the netfront device, the driver state did not change so fast that may lead no dev created in latest kernel. This patch adds wait to make sure xenbus knows the driver is not in closed/unknown state.
[...]
Quoted 19 lines
drivers/net/xen-netfront.c +0
-0@@ -86,6 +86,7 @@ struct netfront_cb { /* IRQ name is queue name with "-tx" or "-rx" appended */ #define IRQ_NAME_SIZE (QUEUE_NAME_SIZE + 3)
+staticDECLARE_WAIT_QUEUE_HEAD(module_load_q);
staticDECLARE_WAIT_QUEUE_HEAD(module_unload_q);
structnetfront_stats{drivers/net/xen-netfront.c +0
-0@@ -1335,6 +1336,11 @@ static struct net_device *xennet_create_ netif_carrier_off(netdev);
xenbus_switch_state(dev, XenbusStateInitialising);drivers/net/xen-netfront.c +5
-0+wait_event (module_load_q, + xenbus_read_driver_state(dev->otherend) != + XenbusStateClosed && + xenbus_read_driver_state(dev->otherend) != + XenbusStateUnknown);
Quoted 3 lines
return netdev;
exit:
This won't work; it will hang. Something (maybe netback_changed()?) needs to wake up tasks on the module_load_q.
Ben.
Signature · 3 lines
Ben Hutchings, Software Developer Codethink Ltd
https://www.codethink.co.uk/ Dale House, 35 Dale Street
Manchester, M1 2HF, United KingdomRe: [PATCH 4.4 105/124] xen-netfront: wait xenbus state change when load module manually
Quoted 30 lines · Ben Hutchings
Quoted 12 lines · Greg Kroah-Hartman
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Xiao Liang <[email protected]>
[ Upstream commit
822fb18a82abaf4ee7058793d95d340f5dab7bfc]When loading module manually, after call
xenbus_switch_stateto initializes the state of the netfront device, the driver state did not change so fast that may lead no dev created in latest kernel. This patch adds wait to make sure xenbus knows the driver is not in closed/unknown state.[...]
Quoted 16 lines
drivers/net/xen-netfront.c +0
-0@@ -86,6 +86,7 @@ struct netfront_cb { /* IRQ name is queue name with "-tx" or "-rx" appended */ #define IRQ_NAME_SIZE (QUEUE_NAME_SIZE + 3)
+staticDECLARE_WAIT_QUEUE_HEAD(module_load_q);
staticDECLARE_WAIT_QUEUE_HEAD(module_unload_q);
structnetfront_stats{drivers/net/xen-netfront.c +0
-0@@ -1335,6 +1336,11 @@ static struct net_device *xennet_create_ netif_carrier_off(netdev);
xenbus_switch_state(dev, XenbusStateInitialising);drivers/net/xen-netfront.c +2
-0+ wait_event(module_load_q, + xenbus_read_driver_state(dev->otherend) !=
Quoted 8 lines
Quoted 6 lines
drivers/net/xen-netfront.c +3
-0+ XenbusStateClosed && + xenbus_read_driver_state(dev->otherend) != + XenbusStateUnknown);return netdev;
exit:This won't work; it will hang. Something (maybe
netback_changed()?) needs to wake up tasks on themodule_load_q.
https://lkml.org/lkml/2018/9/7/691
-boris
Re: [PATCH 4.4 105/124] xen-netfront: wait xenbus state change when load module manually
Quoted 43 lines · Boris Ostrovsky
Quoted 32 lines · Ben Hutchings
Quoted 12 lines · Greg Kroah-Hartman
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Xiao Liang <[email protected]>
[ Upstream commit
822fb18a82abaf4ee7058793d95d340f5dab7bfc]When loading module manually, after call
xenbus_switch_stateto initializes the state of the netfront device, the driver state did not change so fast that may lead no dev created in latest kernel. This patch adds wait to make sure xenbus knows the driver is not in closed/unknown state.[...]
Quoted 17 lines
drivers/net/xen-netfront.c +0
-0@@ -86,6 +86,7 @@ struct netfront_cb { /* IRQ name is queue name with "-tx" or "-rx" appended */ #define IRQ_NAME_SIZE (QUEUE_NAME_SIZE + 3)
+staticDECLARE_WAIT_QUEUE_HEAD(module_load_q);
staticDECLARE_WAIT_QUEUE_HEAD(module_unload_q);
structnetfront_stats{drivers/net/xen-netfront.c +0
-0@@ -1335,6 +1336,11 @@ static struct net_device *xennet_create_ netif_carrier_off(netdev);
xenbus_switch_state(dev, XenbusStateInitialising);drivers/net/xen-netfront.c +3
-0+ wait_event(module_load_q, + xenbus_read_driver_state(dev->otherend) != + XenbusStateClosed &&Quoted 8 lines
Quoted 5 lines
drivers/net/xen-netfront.c +2
-0+ xenbus_read_driver_state(dev->otherend) != + XenbusStateUnknown);return netdev;
exit:This won't work; it will hang. Something (maybe
netback_changed()?) needs to wake up tasks on themodule_load_q.
Quoted 1 line
Thanks.
Ben.
Signature · 3 lines
Ben Hutchings, Software Developer Codethink Ltd
https://www.codethink.co.uk/ Dale House, 35 Dale Street
Manchester, M1 2HF, United KingdomGreg Kroah-Hartman
maintainerPATCH 106/124 netlink: Do not subscribe to non-existent groups
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dmitry Safonov <[email protected]>
[ Upstream commit 7acf9d4237c46894e0fa0492dd96314a41742e84 ]
Make ABI more strict about subscribing to group > ngroups. Code doesn't check for that and it looks bogus.
(one can subscribe to non-existing group)
Still, it's possible to bind() to all possible groups with (-1)
--- net/netlink/af_netlink.c | 1 + 1 file changed, 1 insertion(+)
net/netlink/af_netlink.c +1 -0
@@ -983,6 +983,7 @@ static int netlink_bind(struct socket *sif (err)return err; } + groups &= (1UL << nlk->ngroups) -1 ; bound = nlk->bound;if (bound) {
Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
Quoted 29 lines · Greg Kroah-Hartman
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dmitry Safonov <[email protected]>
[ Upstream commit
7acf9d4237c46894e0fa0492dd96314a41742e84]Make ABI more strict about subscribing to group > ngroups. Code doesn't check for that and it looks bogus.
(one can subscribe to non-existing group)
Still, it's possible tobind()to all possible groups with (-1)Cc "David S. Miller" <[email protected]>Cc Herbert Xu <[email protected]>Cc Steffen Klassert <[email protected]>Signed-off-by Dmitry Safonov <[email protected]>Signed-off-by David S. Miller <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>--- net/netlink/af_netlink.c | 1 + 1 file changed, 1 insertion(+)
net/netlink/af_netlink.c static int netlink_bind(struct socket *s · line 989
Quoted 7 lines
net/netlink/af_netlink.c +1
-0@@ -983,6 +983,7 @@ static int netlink_bind(struct socket *sif (err)return err; } + groups &= (1UL << nlk->ngroups) -1 ; bound = nlk->bound;if (bound) {
Hi Greg,
I am so sorry I didn't catch this in my initial report but this commit along with ba7aaf93ef2f ("netlink: Don't shift with UB on nlk->ngroups") breaks mobile data on both the Pixel 2 XL and OnePlus 6. There is signal but it just never connects to 3G/LTE. Reverting those two commits fixes the issue.
Nothing stands out to me in dmesg unfortunately and iven neither device is running a vanilla kernel, I cannot say if this is a problem in mainline or not but I just wanted to make you aware of it.
Thanks!
Nathan
Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
Quoted 1 line · Nathan Chancellor
Hi Greg,
Hi Nathan,
Quoted 9 lines
I am so sorry I didn't catch this in my initial report but this commit
along withba7aaf93ef2f("netlink: Don't shift with UB on nlk-Quoted 1 line
ngroups")
breaks mobile data on both the Pixel 2 XL and OnePlus 6. There is signal
but it just never connects to 3G/LTE. Reverting those two commits fixes
the issue.
Sorry for breaking your use-case,
Quoted 5 lines
Nothing stands out to me in dmesg unfortunately and iven neither device
is running a vanilla kernel, I cannot say if this is a problem in mainline
or not but I just wanted to make you aware of it.
Could you provide the dmesg output for the attached debug diff?
Signature · 2 lines
Thanks,
Dmitrynet/netlink/af_netlink.c +6 -2
@@ -1009,10 +1009,14 @@ static int netlink_bind(struct socket *sock, struct sockaddr *addr,return err; } -if (nlk->ngroups ==0 ) +if (nlk->ngroups ==0 ) { groups =0 ; -else + }else { +if (groups != (groups & ((1ULL << nlk->ngroups) -1 ))) +pr_alert ("%s: groups: %#lx ngroups: %u\n" , + current->comm, groups, nlk->ngroups); groups &= (1ULL << nlk->ngroups) -1 ; + } bound = nlk->bound;if (bound) {
Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
Quoted 8 lines · Dmitry Safonov
Quoted 1 line · Nathan Chancellor
Hi Greg,
Hi Nathan,
Quoted 3 lines
I am so sorry I didn't catch this in my initial report but this commit
along withba7aaf93ef2f("netlink: Don't shift with UB on nlk-
Quoted 9 lines
Quoted 6 lines
Quoted 1 line
ngroups")
breaks mobile data on both the Pixel 2 XL and OnePlus 6. There is signal
but it just never connects to 3G/LTE. Reverting those two commits fixes
the issue.Sorry for breaking your use-case,
No apologies necessary, thank you for the quick response!
Quoted 7 lines
Quoted 5 lines
Nothing stands out to me in dmesg unfortunately and iven neither device
is running a vanilla kernel, I cannot say if this is a problem in mainline
or not but I just wanted to make you aware of it.Could you provide the dmesg output for the attached debug diff?
dmesg output attached, please let me know if you need anything else.
Quoted 16 lines
Signature · 3 lines
-- Thanks, Dmitrynet/netlink/af_netlink.c +1
-1@@ -1009,10 +1009,14 @@ static int netlink_bind(struct socket *sock, struct sockaddr *addr,return err; } -if (nlk->ngroups ==0 ) +if (nlk->ngroups ==0 ) { groups =0 ;
net/netlink/af_netlink.c static int netlink_bind(struct socket *sock, struct sockaddr *addr, · line 1022
Quoted 10 lines
net/netlink/af_netlink.c +5
-1-else + }else { +if (groups != (groups & ((1ULL << nlk->ngroups) -1 ))) +pr_alert ("%s: groups: %#lx ngroups: %u\n" , + current->comm, groups, nlk->ngroups); groups &= (1ULL << nlk->ngroups) -1 ; + } bound = nlk->bound;if (bound) {
Cheers!
Nathan
[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Initializing cgroup subsys cpuacct [ 0.000000] Initializing cgroup subsys schedtune [ 0.000000] Linux version 4.4.146-rc1-g93c31344 (nathan@flashbox) (gcc version 8.2.1 20180804 (GCC)) #1 SMP PREEMPT Sat Aug 4 15:43:44 MST 2018 [ 0.000000] Boot CPU: AArch64 Processor [51af8014] [ 0.000000] Machine: Qualcomm Technologies, Inc. MSM8998 v2.1 [ 0.000000] Reserved memory: reserved region for node 'removed_regions@85800000': base 0x0000000000000000, size 55 MiB [ 0.000000] Reserved memory: reserved region for node 'pil_ipa_gpu_region@95200000': base 0x0000000000000000, size 1 MiB [ 0.000000] Reserved memory: reserved region for node 'pil_slpi_region@94300000': base 0x0000000000000000, size 15 MiB [ 0.000000] Reserved memory: reserved region for node 'pil_mba_region@94100000': base 0x0000000000000000, size 2 MiB [ 0.000000] Reserved memory: reserved region for node 'pil_video_region@93c00000': base 0x0000000000000000, size 5 MiB [ 0.000000] Reserved memory: reserved region for node 'modem_region@8cc00000': base 0x0000000000000000, size 120 MiB [ 0.000000] Reserved memory: reserved region for node 'pil_adsp_region@0x8b200000': base 0x0000000000000000, size 26 MiB [ 0.000000] Reserved memory: reserved region for node 'spss_region@8ab00000': base 0x0000000000000000, size 7 MiB [ 0.000000] Reserved memory: reserved region for node 'alt_ramoops_region@b0e00000': base 0x0000000000000000, size 2 MiB [ 0.000000] Reserved memory: reserved region for node 'ramoops_region@b0000000': base 0x0000000000000000, size 2 MiB [ 0.000000] Reserved memory: reserved region for node 'ramoops_meta_region@affff000': base 0x0000000000000000, size 0 MiB [ 0.000000] Reserved memory: reserved region for node 'easel_mem@96000000': base 0x0000000000000000, size 64 MiB [ 0.000000] Reserved memory: allocated memory for 'linux,cma' node: base 0x0000000000000000, size 32 MiB [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000000000000, size 32 MiB [ 0.000000] Reserved memory: initialized node linux,cma, compatible id shared-dma-pool [ 0.000000] Reserved memory: allocated memory for 'qseecom_region' node: base 0x0000000000000000, size 20 MiB [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000000000000, size 20 MiB [ 0.000000] Reserved memory: initialized node qseecom_region, compatible id shared-dma-pool [ 0.000000] Reserved memory: allocated memory for 'adsp_region' node: base 0x0000000000000000, size 8 MiB [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000000000000, size 8 MiB [ 0.000000] Reserved memory: initialized node adsp_region, compatible id shared-dma-pool [ 0.000000] Reserved memory: allocated memory for 'sp_region' node: base 0x0000000000000000, size 8 MiB [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000000000000, size 8 MiB [ 0.000000] Reserved memory: initialized node sp_region, compatible id shared-dma-pool [ 0.000000] Reserved memory: allocated memory for 'secure_region' node: base 0x0000000000000000, size 92 MiB [ 0.000000] Reserved memory: created CMA memory pool at 0x0000000000000000, size 92 MiB [ 0.000000] Reserved memory: initialized node secure_region, compatible id shared-dma-pool [ 0.000000] Removed memory: created DMA memory pool at 0x0000000000000000, size 55 MiB [ 0.000000] Reserved memory: initialized node removed_regions@85800000, compatible id removed-dma-pool [ 0.000000] Removed memory: created DMA memory pool at 0x0000000000000000, size 7 MiB [ 0.000000] Reserved memory: initialized node spss_region@8ab00000, compatible id removed-dma-pool [ 0.000000] Removed memory: created DMA memory pool at 0x0000000000000000, size 26 MiB [ 0.000000] Reserved memory: initialized node pil_adsp_region@0x8b200000, compatible id removed-dma-pool [ 0.000000] Removed memory: created DMA memory pool at 0x0000000000000000, size 120 MiB [ 0.000000] Reserved memory: initialized node modem_region@8cc00000, compatible id removed-dma-pool [ 0.000000] Removed memory: created DMA memory pool at 0x0000000000000000, size 5 MiB [ 0.000000] Reserved memory: initialized node pil_video_region@93c00000, compatible id removed-dma-pool [ 0.000000] Removed memory: created DMA memory pool at 0x0000000000000000, size 2 MiB [ 0.000000] Reserved memory: initialized node pil_mba_region@94100000, compatible id removed-dma-pool [ 0.000000] Removed memory: created DMA memory pool at 0x0000000000000000, size 15 MiB [ 0.000000] Reserved memory: initialized node pil_slpi_region@94300000, compatible id removed-dma-pool [ 0.000000] Removed memory: created DMA memory pool at 0x0000000000000000, size 1 MiB [ 0.000000] Reserved memory: initialized node pil_ipa_gpu_region@95200000, compatible id removed-dma-pool [ 0.000000] Removed memory: created DMA memory pool at 0x0000000000000000, size 0 MiB [ 0.000000] Reserved memory: initialized node ramoops_meta_region@affff000, compatible id removed-dma-pool [ 0.000000] Removed memory: created DMA memory pool at 0x0000000000000000, size 2 MiB [ 0.000000] Reserved memory: initialized node ramoops_region@b0000000, compatible id removed-dma-pool [ 0.000000] Removed memory: created DMA memory pool at 0x0000000000000000, size 2 MiB [ 0.000000] Reserved memory: initialized node alt_ramoops_region@b0e00000, compatible id removed-dma-pool [ 0.000000] On node 0 totalpages: 981439 [ 0.000000] DMA zone: 7252 pages used for memmap [ 0.000000] DMA zone: 0 pages reserved [ 0.000000] DMA zone: 464127 pages, LIFO batch:31 [ 0.000000] Normal zone: 8083 pages used for memmap [ 0.000000] Normal zone: 517312 pages, LIFO batch:31 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.0 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: Initializing psci_cpu_init [ 0.000000] psci: Initializing psci_cpu_init [ 0.000000] psci: Initializing psci_cpu_init [ 0.000000] psci: Initializing psci_cpu_init [ 0.000000] psci: Initializing psci_cpu_init [ 0.000000] psci: Initializing psci_cpu_init [ 0.000000] psci: Initializing psci_cpu_init [ 0.000000] PERCPU: Embedded 18 pages/cpu @0000000000000000 s42584 r0 d31144 u73728 [ 0.000000] pcpu-alloc: s42584 r0 d31144 u73728 alloc=18*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4 [0] 5 [0] 6 [0] 7 [ 0.000000] CPU features: enabling workaround for Kryo2xx Silver erratum 845719 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 966104 [ 0.000000] Kernel command line: rcupdate.rcu_expedited=1 androidboot.hardware=taimen lpm_levels.sleep_disabled=1 user_debug=31 msm_rtb.filter=0 ehci-hcd.park=3 service_locator.enable=1 swiotlb=2048 firmware_class.path=/vendor/firmware loop.max_part=7 raid=noautodetect usbcore.autosuspend=7 androidboot.dtbo_idx=12 buildvariant=user androidboot.revision=rev_10 androidboot.bootreason=reboot androidboot.hardware.sku=G011C bootcable.type=400MA androidboot.ddr_size=4096MB androidboot.ddr_info=SAMSUNG msm_poweroff.download_mode=0 androidboot.ramdump_enable=0 androidboot.hardware.display=MP androidboot.hardware.ufs=64GB,SAMSUNG androidboot.cid=00000000 androidboot.hardware.color=VB androidboot.hardware.variant=GA00125-US androidboot.hardware.mid=2 androidboot.boottime=1BLL:132,1BLE:618,2BLL:28,2BLE:190,AVB:395,KL:0,KD:368,ODT:143,SW:9997 androidboot.verifiedbootstate=orange androidboot.keymaster=1 dm="1 vroot none ro 1,0 5159992 verity 1 PARTUUID=afdc0422-f919-8350-27ef-db5e6713a765 PARTUUID=a [ 0.000000] device-mapper: init: will configure 1 devices [ 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: 131072 bytes [ 0.000000] log_buf_len: 1048576 bytes [ 0.000000] early log buf free: 122152(93%) [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes) [ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes) [ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes) [ 0.000000] software IO TLB [mem 0xf5800000-0xf5c00000] (4MB) mapped at [0000000000000000-0000000000000000] [ 0.000000] Memory: 3570632K/3925756K available (15934K kernel code, 1705K rwdata, 9092K rodata, 4032K init, 4498K bss, 191284K reserved, 163840K cma-reserved) [ 0.000000] Virtual kernel memory layout:\x0a modules : 0xffffff8000000000 - 0xffffff8008000000 ( 128 MB)\x0a vmalloc : 0xffffff8008000000 - 0xffffffbdbfff0000 ( 246 GB)\x0a .init : 0x0000000000000000 - 0x0000000000000000 ( 4032 KB)\x0a .text : 0x0000000000000000 - 0x0000000000000000 ( 15936 KB)\x0a .rodata : 0x0000000000000000 - 0x0000000000000000 ( 9152 KB)\x0a .data : 0x0000000000000000 - 0x0000000000000000 ( 1706 KB)\x0a vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000 ( 8 GB maximum)\x0a 0xffffffbdf2000000 - 0xffffffbdf5f93000 ( 63 MB actual)\x0a fixed : 0xffffffbffe7fb000 - 0xffffffbffec00000 ( 4116 KB)\x0a PCI I/O : 0xffffffbffee00000 - 0xffffffbfffe00000 ( 16 MB)\x0a memory : 0xffffffcc80000000 - 0xffffffcd7e4c0000 ( 4068 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] NR_IRQS:64 nr_irqs:64 0 [ 0.000000] mpm_init_irq_domain(): Cannot find irq controller for qcom,gpio-parent [ 0.000000] MPM 1 irq mapping errored -517 [ 0.000000] \x09Offload RCU callbacks from all CPUs [ 0.000000] \x09Offload RCU callbacks from CPUs: 0-7. [ 0.000000] 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.000003] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns [ 0.000013] clocksource: Switched to clocksource arch_sys_counter [ 0.001696] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=19200) [ 0.001705] pid_max: default: 32768 minimum: 301 [ 0.001825] Security Framework initialized [ 0.001832] Yama: becoming mindful. [ 0.001849] SELinux: Initializing. [ 0.001922] SELinux: Starting in permissive mode [ 0.001997] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes) [ 0.002050] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes) [ 0.002632] Initializing cgroup subsys freezer [ 0.003147] sched-energy: Sched-energy-costs installed from DT [ 0.003177] ASID allocator initialised with 32768 entries [ 0.003256] NOHZ: local_softirq_pending 02 [ 0.004022] NOHZ: local_softirq_pending 02 [ 0.046268] Brought up 8 CPUs [ 0.046279] SMP: Total of 8 processors activated. [ 0.046285] CPU features: detected feature: GIC system register CPU interface [ 0.046639] CPU: All CPU(s) started at EL1 [ 0.046691] alternatives: patching kernel code [ 0.121111] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns [ 0.121337] futex hash table entries: 2048 (order: 5, 131072 bytes) [ 0.192378] pinctrl core: initialized pinctrl subsystem [ 0.194505] NET: Registered protocol family 16 [ 0.198317] schedtune: init normalization constants... [ 0.198346] schedtune: CLUSTER[0-3] min_pwr: 0 max_pwr: 66 [ 0.198368] schedtune: CPU[0] min_pwr: 0 max_pwr: 201 [ 0.198388] schedtune: CPU[1] min_pwr: 0 max_pwr: 201 [ 0.198405] schedtune: CPU[2] min_pwr: 0 max_pwr: 201 [ 0.198422] schedtune: CPU[3] min_pwr: 0 max_pwr: 201 [ 0.198441] schedtune: CLUSTER[4-7] min_pwr: 0 max_pwr: 203 [ 0.198458] schedtune: CPU[4] min_pwr: 0 max_pwr: 1683 [ 0.198475] schedtune: CPU[5] min_pwr: 0 max_pwr: 1683 [ 0.198490] schedtune: CPU[6] min_pwr: 0 max_pwr: 1683 [ 0.198507] schedtune: CPU[7] min_pwr: 0 max_pwr: 1683 [ 0.198522] schedtune: SYSTEM min_pwr: 0 max_pwr: 7805 [ 0.198539] schedtune: using normalization constants mul: 212959942 sh1: 1 sh2: 12 [ 0.198554] schedtune: configured to support 5 boost groups [ 0.200047] cpuidle: using governor menu [ 0.200102] cpuidle: using governor qcom [ 0.202444] vdso: 2 pages (1 code @ 0000000000000000, 1 data @ 0000000000000000) [ 0.202475] vdso32: 2 pages (1 code @ 0000000000000000, 1 data @ 0000000000000000) [ 0.202530] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.205156] DMA: preallocated 256 KiB pool for atomic allocations [ 0.205405] msm_smem_init: unable to create logging context [ 0.205486] msm_smd_init: unable to create SMD logging context [ 0.205503] msm_smd_init: unable to create SMSM logging context [ 0.205899] <CORE> glink_init: unable to create log context [ 0.206336] <CORE> glink_core_register_transport: unable to create log context for [dsps:smd_trans] [ 0.206541] <CORE> glink_core_register_transport: unable to create log context for [lpass:smd_trans] [ 0.206710] <CORE> glink_core_register_transport: unable to create log context for [mpss:smd_trans] [ 0.206873] <CORE> glink_core_register_transport: unable to create log context for [wcnss:smd_trans] [ 0.207076] <CORE> glink_core_register_transport: unable to create log context for [rpm:smd_trans] [ 0.208947] Failed to create IPC log0 [ 0.208964] Failed to create IPC log1 [ 0.208977] Failed to create IPC log2 [ 0.208988] Failed to create IPC log3 [ 0.208999] Failed to create IPC log4 [ 0.209354] exit: IPA_USB init success! [ 0.227061] unable to find DT imem restart info node [ 0.227088] restart_handler_init failure [ 0.229422] unable to find DT imem DLOAD mode node [ 0.231441] unable to find DT imem EDLOAD mode node [ 0.233888] spmi spmi-0: PMIC arbiter version v3 (0x30000000) [ 0.251392] sps:sps is ready. [ 0.259950] (NULL device *): msm_gsi_probe:2843 failed to create IPC log, continue... [ 0.264016] platform soc:qcom,msm-adsprpc-mem: assigned reserved memory node adsp_region [ 0.264898] msm_rpm_dev_probe: APSS-RPM communication over GLINK [ 0.279963] <CORE> glink_core_register_transport: unable to create log context for [mpss:smem] [ 0.281123] <CORE> glink_core_register_transport: unable to create log context for [lpass:smem] [ 0.282329] <CORE> glink_core_register_transport: unable to create log context for [dsps:smem] [ 0.283274] <CORE> glink_core_register_transport: unable to create log context for [rpm:smem] [ 0.283745] msm_rpm_trans_notify_state: glink config params: transport=(null), edge=rpm, name=rpm_requests [ 0.284289] <CORE> glink_core_register_transport: unable to create log context for [spss:mailbox] [ 0.290541] platform 17300000.qcom,lpass: assigned reserved memory node pil_adsp_region@0x8b200000 [ 0.291647] platform 4080000.qcom,mss: assigned reserved memory node modem_region@8cc00000 [ 0.295957] msm-thermal soc:qcom,msm-thermal: probe_psm:Failed reading node=/soc/qcom,msm-thermal, key=qcom,pmic-sw-mode-temp. err=-22. KTM continues [ 0.296098] msm_thermal:vdd_restriction_reg_init Defer regulator vdd-dig probe [ 0.296118] msm_thermal:probe_vdd_rstr Err regulator init. err:-517. KTM continues. [ 0.296144] msm-thermal soc:qcom,msm-thermal: probe_vdd_rstr:Failed reading node=/soc/qcom,msm-thermal, key=qcom,max-freq-level. err=-517. KTM continues [ 0.311390] platform 5c00000.qcom,ssc: assigned reserved memory node pil_slpi_region@94300000 [ 0.312056] platform cce0000.qcom,venus: assigned reserved memory node pil_video_region@93c00000 [ 0.312695] msm_watchdog 17817000.qcom,wdt: wdog absent resource not present [ 0.313004] msm_watchdog 17817000.qcom,wdt: MSM Watchdog Initialized [ 0.313589] platform 1d0101c.qcom,spss: assigned reserved memory node spss_region@8ab00000 [ 0.324414] msm_mpm_dev_probe(): Cannot get clk resource for XO: -517 [ 0.360086] __of_mpm_init(): MPM driver mapping exists [ 0.371961] irq: no irq domain found for /soc/qcom,mdss_mdp@c900000 ! [ 0.377816] i2c-msm-v2 c179000.i2c: probing driver i2c-msm-v2 [ 0.378001] i2c-msm-v2 c179000.i2c: error on clk_get(core_clk):-517 [ 0.378063] i2c-msm-v2 c179000.i2c: error probe() failed with err:-517 [ 0.379148] i2c-msm-v2 c17a000.i2c: probing driver i2c-msm-v2 [ 0.379302] i2c-msm-v2 c17a000.i2c: error on clk_get(core_clk):-517 [ 0.379327] i2c-msm-v2 c17a000.i2c: error probe() failed with err:-517 [ 0.380385] i2c-msm-v2 c1b5000.i2c: probing driver i2c-msm-v2 [ 0.380537] i2c-msm-v2 c1b5000.i2c: error on clk_get(core_clk):-517 [ 0.380561] i2c-msm-v2 c1b5000.i2c: error probe() failed with err:-517 [ 0.381527] i2c-msm-v2 c1b6000.i2c: probing driver i2c-msm-v2 [ 0.381678] i2c-msm-v2 c1b6000.i2c: error on clk_get(core_clk):-517 [ 0.381702] i2c-msm-v2 c1b6000.i2c: error probe() failed with err:-517 [ 0.383056] i2c-msm-v2 c1b7000.i2c: probing driver i2c-msm-v2 [ 0.383211] i2c-msm-v2 c1b7000.i2c: error on clk_get(core_clk):-517 [ 0.383235] i2c-msm-v2 c1b7000.i2c: error probe() failed with err:-517 [ 0.392002] irq: no irq domain found for /soc/qcom,sde_kms@c900000 ! [ 0.395705] platform soc:access_ramoops@0: assigned reserved memory node ramoops_meta_region@affff000 [ 0.396324] platform soc:access_ramoops@1: assigned reserved memory node alt_ramoops_region@b0e00000 [ 0.396927] platform soc:ramoops: assigned reserved memory node ramoops_region@b0000000 [ 0.413844] console [pstore0] enabled [ 0.414117] pstore: Registered ramoops as persistent store backend [ 0.414314] ramoops: attached 0x200000@0xb0000000, ecc: 0/0 [ 0.416668] bldr_log_init: can't find compatible 'htc,bldr_log' [ 0.434562] pm8998_l24: supplied by pm8998_l12 [ 0.438038] msm-thermal soc:qcom,msm-thermal: probe_psm:Failed reading node=/soc/qcom,msm-thermal, key=qcom,pmic-sw-mode-temp. err=-22. KTM continues [ 0.438179] msm_thermal:vdd_restriction_reg_init Defer regulator vdd-gfx probe [ 0.438186] msm_thermal:probe_vdd_rstr Err regulator init. err:-517. KTM continues. [ 0.438194] msm-thermal soc:qcom,msm-thermal: probe_vdd_rstr:Failed reading node=/soc/qcom,msm-thermal, key=qcom,max-freq-level. err=-517. KTM continues [ 0.438609] msm_mpm_dev_probe(): Cannot get clk resource for XO: -517 [ 0.439052] i2c-msm-v2 c179000.i2c: probing driver i2c-msm-v2 [ 0.439105] i2c-msm-v2 c179000.i2c: error on clk_get(core_clk):-517 [ 0.439115] i2c-msm-v2 c179000.i2c: error probe() failed with err:-517 [ 0.439295] i2c-msm-v2 c17a000.i2c: probing driver i2c-msm-v2 [ 0.439337] i2c-msm-v2 c17a000.i2c: error on clk_get(core_clk):-517 [ 0.439345] i2c-msm-v2 c17a000.i2c: error probe() failed with err:-517 [ 0.439532] i2c-msm-v2 c1b5000.i2c: probing driver i2c-msm-v2 [ 0.439573] i2c-msm-v2 c1b5000.i2c: error on clk_get(core_clk):-517 [ 0.439581] i2c-msm-v2 c1b5000.i2c: error probe() failed with err:-517 [ 0.439736] i2c-msm-v2 c1b6000.i2c: probing driver i2c-msm-v2 [ 0.439777] i2c-msm-v2 c1b6000.i2c: error on clk_get(core_clk):-517 [ 0.439786] i2c-msm-v2 c1b6000.i2c: error probe() failed with err:-517 [ 0.440052] i2c-msm-v2 c1b7000.i2c: probing driver i2c-msm-v2 [ 0.440094] i2c-msm-v2 c1b7000.i2c: error on clk_get(core_clk):-517 [ 0.440102] i2c-msm-v2 c1b7000.i2c: error probe() failed with err:-517 [ 0.452632] branch_clk_handoff: gcc_mss_mnoc_bimc_axi_clk clock is enabled in HW even though ENABLE_BIT is not set [ 0.453126] qcom,gcc-8998 100000.qcom,gcc: Registered GCC clocks [ 0.462806] qcom,mmsscc-8998 c8c0000.qcom,mmsscc: Registered MMSS clocks. [ 0.464937] qcom,gpucc-8998 5065000.qcom,gpucc: Registered GPU clocks (barring gfx3d clocks) [ 0.468075] msm-thermal soc:qcom,msm-thermal: probe_psm:Failed reading node=/soc/qcom,msm-thermal, key=qcom,pmic-sw-mode-temp. err=-22. KTM continues [ 0.468177] msm_thermal:vdd_restriction_reg_init Defer regulator vdd-gfx probe [ 0.468183] msm_thermal:probe_vdd_rstr Err regulator init. err:-517. KTM continues. [ 0.468191] msm-thermal soc:qcom,msm-thermal: probe_vdd_rstr:Failed reading node=/soc/qcom,msm-thermal, key=qcom,max-freq-level. err=-517. KTM continues [ 0.468426] cprh_kbss_read_fuse_data: apc0_pwrcl_corner: speed bin = 2 [ 0.468435] cprh_msm8998_kbss_read_fuse_data: apc0_pwrcl_corner: CPR fusing revision = 3 [ 0.468551] cprh_kbss_calculate_open_loop_voltages: apc0_pwrcl_corner: fused LowSVS: open-loop= 608000 uV [ 0.468558] cprh_kbss_calculate_open_loop_voltages: apc0_pwrcl_corner: fused SVS: open-loop= 656000 uV [ 0.468564] cprh_kbss_calculate_open_loop_voltages: apc0_pwrcl_corner: fused NOM: open-loop= 768000 uV [ 0.468572] cprh_kbss_calculate_open_loop_voltages: apc0_pwrcl_corner: fused TURBO_L1: open-loop= 876000 uV [ 0.468639] cprh_kbss_calculate_target_quotients: apc0_pwrcl_corner: fused LowSVS: quot[11]= 604 [ 0.468647] cprh_kbss_calculate_target_quotients: apc0_pwrcl_corner: fused SVS: quot[11]= 722, quot_offset[11]= 115 [ 0.468654] cprh_kbss_calculate_target_quotients: apc0_pwrcl_corner: fused NOM: quot[11]=1036, quot_offset[11]= 310 [ 0.468661] cprh_kbss_calculate_target_quotients: apc0_pwrcl_corner: fused TURBO_L1: quot[11]=1316, quot_offset[11]= 280 [ 0.469926] cpr3_regulator_init_ctrl: apc0: Default CPR mode = full HW closed-loop [ 0.470459] cprh_kbss_read_fuse_data: apc1_perfcl_corner: speed bin = 2 [ 0.470468] cprh_msm8998_kbss_read_fuse_data: apc1_perfcl_corner: CPR fusing revision = 3 [ 0.470573] cprh_kbss_calculate_open_loop_voltages: apc1_perfcl_corner: fused LowSVS: open-loop= 636000 uV [ 0.470580] cprh_kbss_calculate_open_loop_voltages: apc1_perfcl_corner: fused SVS: open-loop= 636000 uV [ 0.470586] cprh_kbss_calculate_open_loop_voltages: apc1_perfcl_corner: fused NOM: open-loop= 758000 uV [ 0.470593] cprh_kbss_calculate_open_loop_voltages: apc1_perfcl_corner: fused TURBO_L1: open-loop= 956000 uV [ 0.470609] cprh_kbss_calculate_open_loop_voltages: apc1_perfcl_corner: fuse corner 1 voltage=636000 uV < fuse corner 0 voltage=644000 uV; overriding: fuse corner 1 voltage=644000 [ 0.470683] cprh_kbss_calculate_target_quotients: apc1_perfcl_corner: fused LowSVS: quot[11]=1068 [ 0.470691] cprh_kbss_calculate_target_quotients: apc1_perfcl_corner: fused SVS: quot[11]=1068, quot_offset[11]= 0 [ 0.470699] cprh_kbss_calculate_target_quotients: apc1_perfcl_corner: fused NOM: quot[11]=1426, quot_offset[11]= 355 [ 0.470706] cprh_kbss_calculate_target_quotients: apc1_perfcl_corner: fused TURBO_L1: quot[11]=1905, quot_offset[11]= 475 [ 0.472309] cpr3_regulator_init_ctrl: apc1: Default CPR mode = full HW closed-loop [ 0.472856] cpr3_msm8996_mmss_read_fuse_data: gfx_corner: CPR fusing revision = 2 [ 0.472865] cpr3_msm8996_mmss_read_fuse_data: gfx_corner: CPR limitation = none [ 0.473130] cpr3_msm8996_mmss_calculate_open_loop_voltages: gfx_corner: fuse_corner[0] open-loop= 596000 uV [ 0.473137] cpr3_msm8996_mmss_calculate_open_loop_voltages: gfx_corner: fuse_corner[1] open-loop= 658000 uV [ 0.473144] cpr3_msm8996_mmss_calculate_open_loop_voltages: gfx_corner: fuse_corner[2] open-loop= 782000 uV [ 0.473150] cpr3_msm8996_mmss_calculate_open_loop_voltages: gfx_corner: fuse_corner[3] open-loop= 934000 uV [ 0.473262] cpr3_regulator_init_ctrl: gfx: Default CPR mode = closed-loop [ 0.474400] i2c-msm-v2 c179000.i2c: probing driver i2c-msm-v2 [ 0.474462] AXI: msm_bus_scale_register_client(): msm_bus_scale_register_client: Bus driver not ready. [ 0.474468] i2c-msm-v2 c179000.i2c: msm_bus_scale_register_client(mstr-id:86):0 (not a problem) [ 0.474827] AXI: msm_bus_scale_register_client(): msm_bus_scale_register_client: Bus driver not ready. [ 0.475146] i2c-msm-v2 c17a000.i2c: probing driver i2c-msm-v2 [ 0.475201] AXI: msm_bus_scale_register_client(): msm_bus_scale_register_client: Bus driver not ready. [ 0.475207] i2c-msm-v2 c17a000.i2c: msm_bus_scale_register_client(mstr-id:86):0 (not a problem) [ 0.475455] AXI: msm_bus_scale_register_client(): msm_bus_scale_register_client: Bus driver not ready. [ 0.475700] i2c-msm-v2 c1b5000.i2c: probing driver i2c-msm-v2 [ 0.475756] AXI: msm_bus_scale_register_client(): msm_bus_scale_register_client: Bus driver not ready. [ 0.475763] i2c-msm-v2 c1b5000.i2c: msm_bus_scale_register_client(mstr-id:84):0 (not a problem) [ 0.476003] AXI: msm_bus_scale_register_client(): msm_bus_scale_register_client: Bus driver not ready. [ 0.476344] i2c-msm-v2 c1b6000.i2c: probing driver i2c-msm-v2 [ 0.476400] AXI: msm_bus_scale_register_client(): msm_bus_scale_register_client: Bus driver not ready. [ 0.476406] i2c-msm-v2 c1b6000.i2c: msm_bus_scale_register_client(mstr-id:84):0 (not a problem) [ 0.476629] AXI: msm_bus_scale_register_client(): msm_bus_scale_register_client: Bus driver not ready. [ 0.476942] i2c-msm-v2 c1b7000.i2c: probing driver i2c-msm-v2 [ 0.476997] AXI: msm_bus_scale_register_client(): msm_bus_scale_register_client: Bus driver not ready. [ 0.477003] i2c-msm-v2 c1b7000.i2c: msm_bus_scale_register_client(mstr-id:84):0 (not a problem) [ 0.477327] AXI: msm_bus_scale_register_client(): msm_bus_scale_register_client: Bus driver not ready. [ 0.478044] gfx3d_clk_src: set OPP pair(257000000 Hz: 656000 uV) on 5000000.qcom,kgsl-3d0 [ 0.478300] gfx3d_clk_src: set OPP pair(710000000 Hz: 904000 uV) on 5000000.qcom,kgsl-3d0 [ 0.481398] qcom,gfxcc-8998 5065000.qcom,gfxcc: Completed registering all GPU clocks [ 0.483777] cpu-clock-osm 179c0000.qcom,cpu-clock-8998: using pwrcl speed bin 0 and pvs_ver 0 [ 0.483803] cpu-clock-osm 179c0000.qcom,cpu-clock-8998: using perfcl speed bin 2 and pvs_ver 0 [ 0.487129] add_opp: Set OPP pair (300000000 Hz, 644000 uv) on cpu0 [ 0.488059] add_opp: Set OPP pair (1900800000 Hz, 880000 uv) on cpu0 [ 0.488118] add_opp: Set OPP pair (300000000 Hz, 644000 uv) on cpu1 [ 0.488993] add_opp: Set OPP pair (1900800000 Hz, 880000 uv) on cpu1 [ 0.489069] add_opp: Set OPP pair (300000000 Hz, 644000 uv) on cpu2 [ 0.489953] add_opp: Set OPP pair (1900800000 Hz, 880000 uv) on cpu2 [ 0.490008] add_opp: Set OPP pair (300000000 Hz, 644000 uv) on cpu3 [ 0.490889] add_opp: Set OPP pair (1900800000 Hz, 880000 uv) on cpu3 [ 0.490955] add_opp: Set OPP pair (300000000 Hz, 640000 uv) on cpu4 [ 0.492205] add_opp: Set OPP pair (2457600000 Hz, 980000 uv) on cpu4 [ 0.492263] add_opp: Set OPP pair (300000000 Hz, 640000 uv) on cpu5 [ 0.493502] add_opp: Set OPP pair (2457600000 Hz, 980000 uv) on cpu5 [ 0.493557] add_opp: Set OPP pair (300000000 Hz, 640000 uv) on cpu6 [ 0.494802] add_opp: Set OPP pair (2457600000 Hz, 980000 uv) on cpu6 [ 0.494857] add_opp: Set OPP pair (300000000 Hz, 640000 uv) on cpu7 [ 0.496110] add_opp: Set OPP pair (2457600000 Hz, 980000 uv) on cpu7 [ 0.496553] cpu_clock_osm_driver_probe: OSM driver inited [ 0.496630] msm-thermal soc:qcom,msm-thermal: probe_psm:Failed reading node=/soc/qcom,msm-thermal, key=qcom,pmic-sw-mode-temp. err=-22. KTM continues [ 0.496785] msm-thermal soc:qcom,msm-thermal: probe_ocr:Failed reading node=/soc/qcom,msm-thermal, key=qcom,pmic-opt-curr-temp err:-22. KTM continues [ 0.496795] msm-thermal soc:qcom,msm-thermal: probe_vdd_mx:Failed reading node=/soc/qcom,msm-thermal, key=qcom,mx-restriction-temp. KTM continues [ 0.497067] msm-thermal soc:qcom,msm-thermal: probe_freq_mitigation:Failed reading node=/soc/qcom,msm-thermal, key=qcom,limit-temp. err=-22. KTM continues [ 0.497078] msm-thermal soc:qcom,msm-thermal: msm_thermal:Failed reading node=/soc/qcom,msm-thermal, key=qcom,rpm-phase-resource-type err=-22. KTM continues [ 0.497087] msm-thermal soc:qcom,msm-thermal: msm_thermal:Failed reading node=/soc/qcom,msm-thermal, key=qcom,gfx-sensor-id. err=-22. KTM continues [ 0.504427] qcom,qpnp-pin 800f000.qcom,spmi:qcom,pm8005@4:gpios: qpnp_pin_probe: no device nodes specified in topology [ 0.504437] qcom,qpnp-pin: probe of 800f000.qcom,spmi:qcom,pm8005@4:gpios failed with error -22 [ 0.505248] socinfo_print: v0.11, id=292, ver=2.1, raw_id=94, raw_ver=2, hw_plat=8, hw_plat_ver=10\x0a accessory_chip=0, hw_plat_subtype=0, pmic_model=65556, pmic_die_revision=131072 foundry_id=3 serial_number=4293049564 num_pmics=3 [ 0.505258] msm_bus_fabric_init_driver [ 0.516594] msm_bus_dev_init_qos: Skipping QOS init for 1 [ 0.516622] msm-bus-type fab-mnoc: Error: Failed to get regulator clk-camss-ahb-no-rate:-517 [ 0.516639] msm-bus-type fab-mnoc: Error: Failed to get regulator clk-camss-ahb-no-rate:-517 [ 0.516662] fab-mnoc supply clk-mdss-ahb-no-rate not found, using dummy regulator [ 0.516694] fab-mnoc supply clk-mdss-axi-no-rate not found, using dummy regulator [ 0.516726] msm-bus-type fab-mnoc: Error: Failed to get regulator clk-camss-ahb-no-rate:-517 [ 0.516740] msm-bus-type fab-mnoc: Error: Failed to get regulator clk-camss-ahb-no-rate:-517 [ 0.516753] msm-bus-type fab-mnoc: Error: Failed to get regulator clk-camss-ahb-no-rate:-517 [ 0.516765] msm-bus-type fab-mnoc: Error: Failed to get regulator clk-camss-ahb-no-rate:-517 [ 0.516777] msm-bus-type fab-mnoc: Error: Failed to get regulator clk-camss-ahb-no-rate:-517 [ 0.516788] msm_bus_dev_init_qos: Skipping QOS init for 727 [ 0.517977] SCSI subsystem initialized [ 0.518186] usbcore: registered new interface driver usbfs [ 0.518209] usbcore: registered new interface driver hub [ 0.518276] usbcore: registered new device driver usb [ 0.518377] soc:usb_nop_phy supply vcc not found, using dummy regulator [ 0.518605] qcom,qpnp-power-on 800f000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: PMIC@SID0 Power-on reason: Triggered from Hard Reset and 'cold' boot [ 0.518628] qcom,qpnp-power-on 800f000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: PMIC@SID0: Power-off reason: Triggered from PS_HOLD (PS_HOLD/MSM controlled shutdown) [ 0.518777] input: qpnp_pon as /devices/virtual/input/input0 [ 0.519264] qcom,qpnp-power-on 800f000.qcom,spmi:qcom,pm8998@0:qcom,power-on@800: qcom,report-key:true [ 0.519292] qcom,qpnp-power-on 800f000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: No PON config. specified [ 0.519334] qcom,qpnp-power-on 800f000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: PMIC@SID2 Power-on reason: Triggered from PON1 (secondary PMIC) and 'cold' boot [ 0.519357] qcom,qpnp-power-on 800f000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: PMIC@SID2: Power-off reason: Triggered from GP1 (Keypad_Reset1) [ 0.519389] qcom,qpnp-power-on 800f000.qcom,spmi:qcom,pmi8998@2:qcom,power-on@800: qcom,report-key:false [ 0.519540] media: Linux media interface: v0.10 [ 0.519561] Linux video capture interface: v2.00 [ 0.519587] EDAC MC: Ver: 3.0.0 [ 0.520177] cpufreq: driver msm up and running [ 0.520528] platform soc:qcom,ion:qcom,ion-heap@22: assigned reserved memory node adsp_region [ 0.520661] platform soc:qcom,ion:qcom,ion-heap@27: assigned reserved memory node qseecom_region [ 0.520781] platform soc:qcom,ion:qcom,ion-heap@13: assigned reserved memory node sp_region [ 0.520903] platform soc:qcom,ion:qcom,ion-heap@10: assigned reserved memory node secure_region [ 0.521179] ION heap system created [ 0.521250] ION heap adsp created at 0x0000000000000000 with size 800000 [ 0.521255] ION heap qsecom created at 0x0000000000000000 with size 1400000 [ 0.521261] ION heap spss created at 0x0000000000000000 with size 800000 [ 0.521266] ION heap secure_display created at 0x0000000000000000 with size 5c00000 [ 0.521274] ION heap secure_heap created [ 0.545027] ION heap easel_mem created at 0x0000000000000000 with size 4000000 [ 0.545462] PMIC@SID0: PM8998 v2.0 options: 0, 0, 0, 0 [ 0.545547] PMIC@SID2: PMI8998 v2.1 options: 0, 0, 0, 0 [ 0.545627] PMIC@SID4: PM8005 v2.0 options: 0, 0, 0, 0 [ 0.546243] ipa ipa_smmu_wlan_cb_probe:5136 could not alloc iommu domain [ 0.546320] IPA smmu_info.s1_bypass=1 smmu_info.fast_map=0 [ 0.546608] ipa ipa_smmu_wlan_cb_probe:5136 could not alloc iommu domain [ 0.547778] gdsc_vfe0: supplied by gdsc_camss_top [ 0.547868] gdsc_vfe1: supplied by gdsc_camss_top [ 0.547960] gdsc_cpp: supplied by gdsc_camss_top [ 0.548259] gdsc_gpu_gx: supplied by gfx_corner [ 0.548773] mdss_pll_probe: MDSS pll label = MDSS DSI 0 PLL [ 0.548778] mdss_pll_probe: mdss_pll_probe: label=MDSS DSI 0 PLL PLL SSC enabled [ 0.561291] dp_pll_lock_status: dp_pll_lock_status: C_READY status is not high. Status=0 [ 0.562273] mdss_pll_probe: MDSS pll label = MDSS DSI 1 PLL [ 0.562283] mdss_pll_probe: mdss_pll_probe: label=MDSS DSI 1 PLL PLL SSC enabled [ 0.564755] mdss_pll_probe: MDSS pll label = MDSS DP PLL [ 0.565811] mdss_pll_probe: MDSS pll label = MDSS HDMI PLL [ 0.583452] arm-smmu cd00000.arm,smmu-mmss: found 20 context interrupt(s) but have 17 context banks. assuming 17 context interrupts. [ 0.588653] iommu: Adding device soc:usb_audio_qmi_dev to group 0 [ 0.588748] iommu: Adding device 1c00000.qcom,pcie to group 1 [ 0.588827] iommu: Adding device 18800000.qcom,icnss to group 2 [ 0.588950] iommu: Adding device soc:iommu_test_device to group 3 [ 0.589448] iommu: Adding device soc:qcom,msm-audio-ion to group 4 [ 0.589674] iommu: Adding device c900000.qcom,sde_kms to group 5 [ 0.590063] iommu: Adding device 1e00000.qcom,ipa:ipa_smmu_ap to group 6 [ 0.590078] iommu: Adding device 1e00000.qcom,ipa:ipa_smmu_wlan to group 7 [ 0.590090] iommu: Adding device 1e00000.qcom,ipa:ipa_smmu_uc to group 8 [ 0.590523] dev-cpufreq: No tables parsed from DT. [ 0.590582] Advanced Linux Sound Architecture Driver Initialized. [ 0.590817] Bluetooth: 0000000000000000 [ 0.590829] NET: Registered protocol family 31 [ 0.590833] Bluetooth: 0000000000000000 [ 0.590838] Bluetooth: 0000000000000000 [ 0.590844] Bluetooth: 0000000000000000 [ 0.590855] Bluetooth: 0000000000000000 [ 0.590969] cfg80211: World regulatory domain updated: [ 0.590973] cfg80211: DFS Master region: unset [ 0.590976] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) [ 0.590981] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 0.590985] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 0.590988] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A) [ 0.590992] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 0.590995] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 0.590998] cfg80211: (5490000 KHz - 5710000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 0.591001] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 0.591004] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A) [ 0.591110] pcie:pcie_init. [ 0.591115] pcie_init: unable to create IPC log context for pcie0-short [ 0.591119] pcie_init: unable to create IPC log context for pcie0-long [ 0.591122] pcie_init: unable to create IPC log context for pcie0-dump [ 0.591125] pcie_init: unable to create IPC log context for pcie1-short [ 0.591128] pcie_init: unable to create IPC log context for pcie1-long [ 0.591131] pcie_init: unable to create IPC log context for pcie1-dump [ 0.591134] pcie_init: unable to create IPC log context for pcie2-short [ 0.591138] pcie_init: unable to create IPC log context for pcie2-long [ 0.591140] pcie_init: unable to create IPC log context for pcie2-dump [ 0.591492] 1c00000.qcom,pcie supply vreg-3.3 not found, using dummy regulator [ 0.591585] 1c00000.qcom,pcie supply gdsc-smmu not found, using dummy regulator [ 0.591958] msm_pcie_get_resources: PCIe: RC0 can't get tcsr resource. [ 0.591980] msm_pcie_probe: PCIe: RC0 could not get pinctrl sleep state [ 0.593579] qpnp_labibb_regulator_probe: LAB/IBB registered successfully, lab_vreg enable=0 ibb_vreg enable=0 swire_control=0 [ 0.595843] ipa ipa3_pre_init:4315 failed to create IPC log, continue... [ 0.596220] ipa ipa3_uc_state_check:302 uC interface not initialized [ 0.598036] ipa ipa3_set_resorce_groups_min_max_limits:3412 skip configuring ipa_rx_hps_clients from HLOS [ 0.598738] ipa ipa3_uc_state_check:302 uC interface not initialized [ 0.600715] clocksource: Switched to clocksource arch_sys_counter [ 0.602862] NET: Registered protocol family 2 [ 0.603264] TCP established hash table entries: 32768 (order: 6, 262144 bytes) [ 0.603451] TCP bind hash table entries: 32768 (order: 7, 524288 bytes) [ 0.603537] TCP: Hash tables configured (established 32768 bind 32768) [ 0.603609] UDP hash table entries: 2048 (order: 4, 65536 bytes) [ 0.603646] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes) [ 0.603760] NET: Registered protocol family 1 [ 0.603784] PCI: CLS 0 bytes, default 64 [ 0.604150] Trying to unpack rootfs image as initramfs... [ 0.724914] Freeing initrd memory: 9916K [ 0.725764] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available [ 0.729339] audit: initializing netlink subsys (disabled) [ 0.729402] audit: type=2000 audit(0.728:1): initialized [ 0.729532] Initialise system trusted keyring [ 0.729629] vmscan: error setting kswapd cpu affinity mask [ 0.732757] VFS: Disk quotas dquot_6.6.0 [ 0.732820] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.733326] Registering sdcardfs 0.1 [ 0.733467] fuse init (API version 7.23) [ 0.733570] SELinux: Registering netfilter hooks [ 0.733832] pfk_ecryptfs [pfk_ecryptfs_init]: PFK ecryptfs inited successfully [ 0.733838] pfk_ext4 [pfk_ext4_init]: PFK EXT4 inited successfully [ 0.733843] pfk [pfk_init]: Driver initialized successfully [ 0.737114] Key type asymmetric registered [ 0.737122] Asymmetric key parser 'x509' registered [ 0.737134] io scheduler noop registered [ 0.737197] io scheduler cfq registered (default) [ 0.737203] io scheduler test-iosched registered [ 0.737207] io scheduler maple registered [ 0.739803] msm_dss_get_res_byname: 'vbif_nrt_phys' resource not found [ 0.739816] mdss_mdp_probe+0x1e8/0x14e0->msm_dss_ioremap_byname: 'vbif_nrt_phys' msm_dss_get_res_byname failed [ 0.740716] No change in context(0==0), skip [ 0.742097] mdss_mdp_pipe_addr_setup: type:0 ftchid:-1 xinid:0 num:0 rect:0 ndx:0x1 prio:0 [ 0.742104] mdss_mdp_pipe_addr_setup: type:0 ftchid:-1 xinid:4 num:1 rect:0 ndx:0x2 prio:1 [ 0.742109] mdss_mdp_pipe_addr_setup: type:0 ftchid:-1 xinid:8 num:2 rect:0 ndx:0x4 prio:2 [ 0.742115] mdss_mdp_pipe_addr_setup: type:0 ftchid:-1 xinid:12 num:8 rect:0 ndx:0x100 prio:3 [ 0.742155] mdss_mdp_pipe_addr_setup: type:2 ftchid:-1 xinid:1 num:6 rect:0 ndx:0x40 prio:4 [ 0.742162] mdss_mdp_pipe_addr_setup: type:2 ftchid:-1 xinid:1 num:6 rect:1 ndx:0x40 prio:4 [ 0.742169] mdss_mdp_pipe_addr_setup: type:2 ftchid:-1 xinid:5 num:7 rect:0 ndx:0x80 prio:5 [ 0.742175] mdss_mdp_pipe_addr_setup: type:2 ftchid:-1 xinid:5 num:7 rect:1 ndx:0x80 prio:5 [ 0.742181] mdss_mdp_pipe_addr_setup: type:2 ftchid:-1 xinid:9 num:12 rect:0 ndx:0x1000 prio:6 [ 0.742187] mdss_mdp_pipe_addr_setup: type:2 ftchid:-1 xinid:9 num:12 rect:1 ndx:0x1000 prio:6 [ 0.742192] mdss_mdp_pipe_addr_setup: type:2 ftchid:-1 xinid:13 num:13 rect:0 ndx:0x2000 prio:7 [ 0.742198] mdss_mdp_pipe_addr_setup: type:2 ftchid:-1 xinid:13 num:13 rect:1 ndx:0x2000 prio:7 [ 0.742217] mdss_mdp_pipe_addr_setup: type:3 ftchid:-1 xinid:2 num:10 rect:0 ndx:0x400 prio:0 [ 0.742223] mdss_mdp_pipe_addr_setup: type:3 ftchid:-1 xinid:10 num:11 rect:0 ndx:0x800 prio:1 [ 0.742232] mdss_mdp_parse_dt_handler: Error from prop qcom,mdss-pipe-sw-reset-off : u32 array read [ 0.742284] mdss_mdp_parse_dt_handler: Error from prop qcom,mdss-ib-factor-overlap : u32 array read [ 0.742701] xlog_status: enable:0, panic:1, dump:2 [ 0.743111] iommu: Adding device c900000.qcom,mdss_mdp:qcom,smmu_mdp_unsec_cb to group 9 [ 0.743342] iommu: Adding device c900000.qcom,mdss_mdp:qcom,smmu_mdp_sec_cb to group 10 [ 0.743476] mdss_mdp_probe: mdss version = 0x30000001, bootloader display is on, num 1, intf_sel=0x00000100 [ 0.744466] mdss_smmu_probe: iommu v2 domain[0] mapping and clk register successful! [ 0.744617] mdss_smmu_probe: iommu v2 domain[2] mapping and clk register successful! [ 0.746172] mdss_dsi_ctrl_probe: DSI Ctrl name = MDSS DSI CTRL->0 [ 0.746423] mdss_dsi_find_panel_of_node: cmdline:0:qcom,mdss_dsi_sw43402_dsc_qhd_cmd:1:none:cfg:single_dsi panel_name:qcom,mdss_dsi_sw43402_dsc_qhd_cmd [ 0.746647] mdss_dsi_panel_init: Panel Name = SW43402 cmd mode dsc dsi panel [ 0.746727] mdss_dsi_panel_timing_from_dt: found new timing "qcom,mdss_dsi_sw43402_dsc_qhd_cmd" (0000000000000000) [ 0.746746] mdss_dsi_panel_get_dsc_cfg_np: cannot find dsc config node: [ 0.746799] mdss_dsi_parse_topology_config: cfg_node name config0 lm_split:720x720 pp_split:no [ 0.746870] mdss_dsi_parse_partial_update_caps: partial_update_enabled=0 [ 0.746877] mdss_dsi_parse_panel_features: ulps feature enabled [ 0.746885] mdss_dsi_parse_panel_features: ulps during suspend feature disabled [ 0.746892] mdss_dsi_parse_dms_config: dynamic switch feature enabled: 0 [ 0.746941] mdss_dsi_set_refresh_rate_range:2624, Unable to read min refresh rate [ 0.746949] mdss_dsi_set_refresh_rate_range:2639, Unable to read max refresh rate [ 0.746953] dyn_fps: min = 60, max = 60 [ 0.747139] c994000.qcom,mdss_dsi_ctrl0 supply wqhd-vddio not found, using dummy regulator [ 0.747199] mdss_dsi_parse_ctrl_params:4435 Unable to read qcom,display-id, data=0000000000000000,len=20 [ 0.747233] mdss_dsi_parse_gpio_params:4473: ERR_FG gpio not specified [ 0.747257] mdss_dsi_parse_gpio_params: bklt_en gpio not specified [ 0.747317] mdss_dsi_parse_gpio_params: lcd vcl gpio not specified [ 0.747405] msm_dss_get_res_byname: 'dsi_phy_regulator' resource not found [ 0.747424] mdss_dsi_retrieve_ctrl_resources+0xc4/0x230->msm_dss_ioremap_byname: 'dsi_phy_regulator' msm_dss_get_res_byname failed [ 0.747432] mdss_dsi_retrieve_ctrl_resources: ctrl_base=0000000000000000 ctrl_size=400 phy_base=0000000000000000 phy_size=7c0 [ 0.747599] dsi_panel_device_register: Continuous splash enabled [ 0.747662] Unable to find fb node for device: c994000.qcom,mdss_dsi_ctrl0 [ 0.747795] mdss_register_panel: adding framebuffer device c994000.qcom,mdss_dsi_ctrl0 [ 0.754536] request disp ERR_DETECT irq [ 0.754706] mdss_dsi_ctrl_probe: Dsi Ctrl->0 initialized, DSI rev:0x20000000, PHY rev:0x3 [ 0.754838] mdss_dsi_status_init: DSI status check interval:3000 [ 0.755579] mdss_register_panel: adding framebuffer device soc:qcom,mdss_wb_panel [ 0.755919] mdss_fb_probe: fb0: split_mode:1 left:720 right:720 [ 0.756248] mdss_fb_register: FrameBuffer[0] 1440x2880 registered successfully! [ 0.756873] mdss_mdp_splash_parse_dt: mem reservation for splash screen fb not present [ 0.756880] mdss_mdp_splash_parse_dt: no rsvd mem found in DT for splash screen [ 0.756885] mdss_mdp_splash_init: splash memory reserve failed [ 0.756923] mdss_fb_probe: fb1: split_mode:0 left:0 right:0 [ 0.756971] mdss_fb_register: FrameBuffer[1] 640x480 registered successfully! [ 0.757140] mdss_mdp_splash_parse_dt: splash mem child node is not present [ 0.757891] glink_loopback_server_init: unable to create log context [ 0.758483] msm_smp2p_init: unable to create log context [ 0.759028] qmi_log_init: Unable to create QMI IPC logging for Req/Resp [ 0.759034] logging for Indications: Unable to create QMI IPC qmi_log_init [ 0.759808] spcom [spcom_init]: spcom driver Ver 1.0 23-Nov-2015. [ 0.759959] spcom [spcom_probe]: Driver Initialization ok. [ 0.760185] apr_init: Unable to create ipc log context [ 0.760198] audio_notifer_reg_service: service SSR_MODEM is in use [ 0.765261] memshare_child soc:qcom,memshare:qcom,client_1: for memshare_GPS segments only will be dumped. [ 0.765504] memshare_child soc:qcom,memshare:qcom,client_2: for memshare_FTM segments only will be dumped. [ 0.765603] memshare_child soc:qcom,memshare:qcom,client_3: for memshare_DIAG segments only will be dumped. [ 0.765635] In memshare_probe, Memshare probe success [ 0.766215] subsys-pil-tz soc:qcom,ipa_fws@1e08000: for ipa_fws segments only will be dumped. [ 0.767027] subsys-pil-tz cce0000.qcom,venus: for venus segments only will be dumped. [ 0.767213] subsys-pil-tz 1d0101c.qcom,spss: for spss segments only will be dumped. [ 0.767459] subsys-pil-tz soc:qcom,kgsl-hyp: for a540_zap segments only will be dumped. [ 0.768156] pil-q6v5-mss 4080000.qcom,mss: No pas_id found. [ 0.768710] icnss: Unable to create log context [ 0.768715] icnss: Unable to create log long context [ 0.771250] icnss 18800000.qcom,icnss: for wcss_msa0 segments only will be dumped. [ 0.771382] icnss: Platform driver probed successfully [ 0.771955] qiib_driver_data_init: unable to create logging context [ 0.773728] uart_tx_gpio is not available [ 0.773735] uart_rx_gpio is not available [ 0.773740] uart_cts_gpio is not available [ 0.773744] uart_rfr_gpio is not available [ 0.774187] msm_serial_hs c171000.uart: msm_hs_probe: error creating logging context [ 0.774496] sps: BAM device 0x0000000000000000 is not registered yet. [ 0.774510] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x0000000000000000 [ 0.774516] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x0000000000000000 [ 0.774523] sps_register_bam_device : unable to create IPC Logging 2 for bam 0x0000000000000000 [ 0.774528] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x0000000000000000 [ 0.774535] sps_register_bam_device : unable to create IPC Logging 4 for bam 0x0000000000000000 [ 0.774540] sps:BAM 0x0000000000000000 is registered. [ 0.774672] msm_serial_hs c171000.uart: msm_hs_probe: error creating tx logging context [ 0.774679] msm_serial_hs c171000.uart: msm_hs_probe: error creating rx logging context [ 0.774685] msm_serial_hs c171000.uart: msm_hs_probe: error creating usr logging context [ 0.775777] c171000.uart: ttyHS0 at MMIO 0xc171000 (irq = 361, base_baud = 460800) is a MSM HS UART [ 0.776573] msm_serial_hs module loaded [ 0.776588] smd_tty_log_init: Unable to create IPC log [ 0.777659] random: nonblocking pool is initialized [ 0.777759] diag: Failed to create IPC logging context [ 0.789961] iommu: Adding device 5040000.qcom,kgsl-iommu:gfx3d_user to group 11 [ 0.790278] iommu: Adding device 5040000.qcom,kgsl-iommu:gfx3d_secure to group 12 [ 0.816749] Boeffla WL blocker: driver version 1.1.0 started [ 0.821981] brd: module loaded [ 0.824768] loop: module loaded [ 0.825086] zram: Added device: zram0 [ 0.826099] QSEECOM: qseecom_probe: qseecom.qsee_version = 0x1001000 [ 0.826131] QSEECOM: qseecom_retrieve_ce_data: Device does not support PFE [ 0.826142] QSEECOM: qseecom_probe: no-clock-support=0x1 [ 0.826152] QSEECOM: qseecom_probe: qseecom.qsee_reentrancy_support = 2 [ 0.826482] QSEECOM: qseecom_probe: qseecom.whitelist_support = 1 [ 0.829445] thermal thermal_zone0: failed to read out thermal zone (-5) [ 0.829633] thermal thermal_zone1: failed to read out thermal zone (-5) [ 0.829809] thermal thermal_zone2: failed to read out thermal zone (-5) [ 0.830031] thermal thermal_zone3: failed to read out thermal zone (-5) [ 0.830041] mnh_thermal soc:mnh_thermal: mnh_thermal_probe: initialized [ 0.830226] misc easelcomm-client: registered at misc device minor 59 [ 0.831153] fpc1020 soc:fp_fpc1020: found pin control fpc1020_reset_reset [ 0.831163] fpc1020 soc:fp_fpc1020: found pin control fpc1020_reset_active [ 0.831170] fpc1020 soc:fp_fpc1020: found pin control fpc1020_irq_active [ 0.831207] fpc1020 soc:fp_fpc1020: Selected 'fpc1020_reset_reset' [ 0.831229] fpc1020 soc:fp_fpc1020: Selected 'fpc1020_irq_active' [ 0.831497] fpc1020 soc:fp_fpc1020: Selected 'fpc1020_reset_active' [ 0.831744] fpc1020 soc:fp_fpc1020: Selected 'fpc1020_reset_reset' [ 0.836912] fpc1020 soc:fp_fpc1020: Selected 'fpc1020_reset_active' [ 0.842041] fpc1020 soc:fp_fpc1020: IRQ after reset 1 [ 0.842048] fpc1020 soc:fp_fpc1020: fpc1020_probe: ok [ 0.842127] fpc1020_init OK [ 0.842882] misc access-metadata: registered 'metadata' 10:58, (1000@0x0000000000000000) [ 0.842977] misc access-ramoops: registered 'ramoops' 10:57, (200000@0x0000000000000000) [ 0.843451] i2c-msm-v2 c1b5000.i2c: msm_bus_scale_register_client(mstr-id:84):0xe (ok) [ 0.846498] prom_parse: Bad cell count for /soc/i2c@c1b5000/qcom,smb138x@8 [ 0.846511] prom_parse: Bad cell count for /soc/i2c@c1b5000/qcom,smb138x@8 [ 0.848637] PMIC@SID0: (null) v2.1 options: 0, 0, 0, 0 [ 0.848658] prom_parse: Bad cell count for /soc/i2c@c1b5000/qcom,smb138x@8 [ 0.848832] prom_parse: Bad cell count for /soc/i2c@c1b5000/qcom,smb138x@8 [ 0.849040] prom_parse: Bad cell count for /soc/i2c@c1b5000/qcom,smb138x@8 [ 0.849049] prom_parse: Bad cell count for /soc/i2c@c1b5000/qcom,smb138x@8 [ 0.849129] I2C PMIC: i2c_pmic_probe: I2C PMIC probe successful [ 0.850291] nq-nci 8-0028: nqx_probe: probing NFCC NQxxx exited successfully [ 0.851534] qce 1de0000.qcedev: Qualcomm Crypto 5.3.4 device found @0x1de0000 [ 0.851543] qce 1de0000.qcedev: CE device = 0x0\x0aIO base, CE = 0x0000000000000000\x0aConsumer (IN) PIPE 2, Producer (OUT) PIPE 3\x0aIO base BAM = 0x0000000000000000\x0aBAM IRQ 62\x0aEngines Availability = 0x2011053 [ 0.851587] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x0000000000000000 [ 0.851595] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x0000000000000000 [ 0.851604] sps_register_bam_device : unable to create IPC Logging 2 for bam 0x0000000000000000 [ 0.851610] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x0000000000000000 [ 0.851618] sps_register_bam_device : unable to create IPC Logging 4 for bam 0x0000000000000000 [ 0.851623] sps:BAM 0x0000000000000000 is registered. [ 0.851832] sps:BAM 0x0000000000000000 (va:0x0000000000000000) enabled: ver:0x27, number of pipes:16 [ 0.852209] QCE50: qce_sps_init: Qualcomm MSM CE-BAM at 0x0000000001dc4000 irq 62 [ 0.865850] qcrypto 1de0000.qcrypto: Qualcomm Crypto 5.3.4 device found @0x1de0000 [ 0.865861] qcrypto 1de0000.qcrypto: CE device = 0x0\x0aIO base, CE = 0x0000000000000000\x0aConsumer (IN) PIPE 4, Producer (OUT) PIPE 5\x0aIO base BAM = 0x0000000000000000\x0aBAM IRQ 62\x0aEngines Availability = 0x2011053 [ 0.866367] QCE50: qce_sps_init: Qualcomm MSM CE-BAM at 0x0000000001dc4000 irq 62 [ 0.876988] qcrypto 1de0000.qcrypto: qcrypto-ecb-aes [ 0.877215] qcrypto 1de0000.qcrypto: qcrypto-cbc-aes [ 0.877346] qcrypto 1de0000.qcrypto: qcrypto-ctr-aes [ 0.877474] qcrypto 1de0000.qcrypto: qcrypto-ecb-des [ 0.877600] qcrypto 1de0000.qcrypto: qcrypto-cbc-des [ 0.877728] qcrypto 1de0000.qcrypto: qcrypto-ecb-3des [ 0.877899] qcrypto 1de0000.qcrypto: qcrypto-cbc-3des [ 0.878034] qcrypto 1de0000.qcrypto: qcrypto-xts-aes [ 0.878184] qcrypto 1de0000.qcrypto: qcrypto-sha1 [ 0.878308] qcrypto 1de0000.qcrypto: qcrypto-sha256 [ 0.878432] qcrypto 1de0000.qcrypto: qcrypto-aead-hmac-sha1-cbc-aes [ 0.878554] qcrypto 1de0000.qcrypto: qcrypto-aead-hmac-sha1-cbc-des [ 0.878684] qcrypto 1de0000.qcrypto: qcrypto-aead-hmac-sha1-cbc-3des [ 0.878811] qcrypto 1de0000.qcrypto: qcrypto-aead-hmac-sha256-cbc-aes [ 0.878937] qcrypto 1de0000.qcrypto: qcrypto-aead-hmac-sha256-cbc-des [ 0.879059] qcrypto 1de0000.qcrypto: qcrypto-aead-hmac-sha256-cbc-3des [ 0.879226] qcrypto 1de0000.qcrypto: qcrypto-hmac-sha1 [ 0.879349] qcrypto 1de0000.qcrypto: qcrypto-hmac-sha256 [ 0.879471] qcrypto 1de0000.qcrypto: qcrypto-aes-ccm [ 0.879592] qcrypto 1de0000.qcrypto: qcrypto-rfc4309-aes-ccm [ 0.882765] qcom_ice_get_pdevice: found ice device 0000000000000000 [ 0.882777] qcom_ice_get_pdevice: matching platform device 0000000000000000 [ 0.883447] scm_call failed: func id 0x42000c02, ret: -2, syscall returns: 0xfffffffffffffffc, 0x0, 0x0 [ 0.883682] ufshcd-qcom 1da4000.ufshc: ufs_qcom_parse_reg_info: Unable to find qcom,vddp-ref-clk-supply regulator, assuming enabled [ 0.884719] scsi host0: ufshcd [ 0.889426] qcom_ice 1db0000.ufsice: QC ICE 3.0.65 device found @0x0000000000000000 [ 0.893756] pn81a spi1.0: pn81a_probe: device tree set '8-0028' as eSE power controller [ 0.893801] pn81a spi1.0: pn81a_probe: eSE is configured [ 0.894841] sps: BAM device 0x0000000000000000 is not registered yet. [ 0.894853] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x0000000000000000 [ 0.894860] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x0000000000000000 [ 0.894869] sps_register_bam_device : unable to create IPC Logging 2 for bam 0x0000000000000000 [ 0.894875] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x0000000000000000 [ 0.894884] sps_register_bam_device : unable to create IPC Logging 4 for bam 0x0000000000000000 [ 0.894890] sps:BAM 0x0000000000000000 is registered. [ 0.895507] sps:BAM 0x0000000000000000 (va:0x0000000000000000) enabled: ver:0x19, number of pipes:18 [ 0.896158] Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) [ 0.897158] tun: Universal TUN/TAP device driver, 1.6 [ 0.897166] tun: (C) 1999-2004 Max Krasnyansky <[email protected]> [ 0.897217] PPP generic driver version 2.4.2 [ 0.897271] PPP BSD Compression module registered [ 0.897280] PPP Deflate Compression module registered [ 0.897305] PPP MPPE Compression module registered [ 0.897314] NET: Registered protocol family 24 [ 0.898122] CLD80211: Initializing [ 0.898819] msm_sharedmem: sharedmem_register_qmi: qmi init successful [ 0.906714] msm_sharedmem: msm_sharedmem_probe: Device created for client 'rmtfs' [ 0.908242] ufshcd-qcom 1da4000.ufshc: ufshcd_print_pwr_info:[RX, TX]: gear=[1, 1], lane[1, 1], pwr[SLOWAUTO_MODE, SLOWAUTO_MODE], rate = 0 [ 0.909159] branch_clk_set_rate: Cannot scale gcc_rx1_usb2_clkref_clk clock while HW gating is enabled. Use corresponding hw_ctl_clk to scale it [ 0.910707] msm-dwc3 a800000.ssusb: unable to get dbm device [ 0.911542] usbcore: registered new interface driver usb-storage [ 0.913534] qpnp-pdphy 800f000.qcom,spmi:qcom,pmi8998@2:qcom,usb-pdphy@1700: usbpd_create failed: -517 [ 0.914487] [Touch] touch_get_device_type = [1] [ 0.914494] [Touch] touch_device_init, sw49408 start [ 0.914918] fts_touch 5-0049: Failed to get tspid gpio [ 0.914927] fts_touch 5-0049: Failed to get tspid2 gpio [ 0.914982] fts_touch 5-0049: irq_gpio = 125 [ 0.914994] fts_touch 5-0049: client->irq = 499 [ 0.915000] fts_touch 5-0049: Failed to get grip_area property [ 0.915008] fts_touch 5-0049: Failed to get vdd_gpio gpio [ 0.915026] fts_touch 5-0049: Failed to get vio_gpio gpio [ 0.915205] input: s2w_pwrkey as /devices/virtual/input/input1 [ 0.915224] fts_touch 5-0049: FTS Support Hover Event [ 0.915256] fts_touch 5-0049: switch_gpio = 75 [ 0.915322] fts_touch 5-0049: fts_power_ctrl: on [ 0.915685] input: wake_gesture as /devices/virtual/input/input2 [ 0.915753] drv2624 6-005a: drv2624_i2c_probe enter [ 0.915871] drv2624 6-005a: Looking up ti,irq-gpio property in node /soc/i2c@c17a000/drv2624@5a failed -2 [ 0.919951] drv2624 6-005a: drv2624_i2c_probe, ID status (0x3) [ 0.920257] i2c-msm-v2 c17a000.i2c: msm_bus_scale_register_client(mstr-id:86):0x12 (ok) [ 0.921885] drv2624 6-005a: dev_init_platform_data, LRA = 155, drive_time=0x1b [ 0.923532] drv2624 6-005a: drv2624 probe succeeded [ 0.924176] [LASER] stmvl53l0_init: Enter [ 0.924185] [LASER] stmvl53l0_init_i2c: Enter [ 0.924211] [LASER] stmvl53l0_init_i2c: End with rc:0 [ 0.924217] [LASER] stmvl53l0_init: End [ 0.925042] [LASER] stmvl53l0_probe: Enter++ [ 0.925065] [LASER] Laser_parse_dt: calib_file = /persist/ldaf_cal [ 0.925071] [LASER] Laser_parse_dt: pwdn_gpio = 0 [ 0.925104] [LASER] Laser_parse_dt: pwdn_gpio = 39 [ 0.925209] qcom,qpnp-rtc 800f000.qcom,spmi:qcom,pm8998@0:qcom,pm8998_rtc: rtc core: registered qpnp_rtc as rtc0 [ 0.925260] [LASER] Laser_parse_dt: laser_irq_gpio = 62 [ 0.925351] [LASER] Laser_parse_dt: Laser_parse_dt: sensor cali_size = 0 [ 0.925474] [LASER] stmvl53l0_read_calibration: Could not read calibration from /persist/ldaf_cal [ 0.925480] [LASER] stmvl53l0_parse_vdd: Enter++ [ 0.925561] 9-0029 supply vdd not found, using dummy regulator [ 0.925580] i2c /dev entries driver [ 0.925610] [LASER] stmvl53l0_parse_vdd: End-- [ 0.925617] [LASER] Laser_pinctrl_init: Enter++ [ 0.926040] iommu: Adding device soc:qcom,cam_smmu:msm_cam_smmu_cb1 to group 13 [ 0.926285] [LASER] Laser_pinctrl_init: End-- [ 0.926295] [LASER] stmvl53l0_setup: Enter++ [ 0.926314] [LASER] stmvl53l0_setup: register_irq: 259 [ 0.926325] CAM-SMMU cam_smmu_populate_sids:2326 __debug cnt = 8, cb->name: :vfe sid [0] = 3072\x0a, [ 0.926336] CAM-SMMU cam_smmu_populate_sids:2326 __debug cnt = 8, cb->name: :vfe sid [1] = 3073\x0a, [ 0.926343] CAM-SMMU cam_smmu_populate_sids:2326 __debug cnt = 8, cb->name: :vfe sid [2] = 3074\x0a, [ 0.926459] CAM-SMMU cam_smmu_populate_sids:2326 __debug cnt = 8, cb->name: :vfe sid [3] = 3075\x0a, [ 0.926460] iommu: Adding device soc:qcom,cam_smmu:msm_cam_smmu_cb2 to group 14 [ 0.926539] CAM-SMMU cam_smmu_populate_sids:2326 __debug cnt = 2, cb->name: :cpp sid [0] = 2560\x0a, [ 0.926547] [LASER] stmvl53l0_setup: interrupt is hooked [ 0.926686] iommu: Adding device soc:qcom,cam_smmu:msm_cam_smmu_cb3 to group 15 [ 0.926751] CAM-SMMU cam_smmu_populate_sids:2326 __debug cnt = 2, cb->name: :camera_fd sid [0] = 2561\x0a, [ 0.926793] input: STM VL53L0 proximity sensor as /devices/virtual/input/input3 [ 0.926873] iommu: Adding device soc:qcom,cam_smmu:msm_cam_smmu_cb4 to group 16 [ 0.926934] [LASER] stmvl53l0_setup: Misc device registration name:9-0029 [ 0.927049] CAM-SMMU cam_smmu_populate_sids:2326 __debug cnt = 2, cb->name: :jpeg_enc0 sid [0] = 2048\x0a, [ 0.927049] iommu: Adding device soc:qcom,cam_smmu:msm_cam_smmu_cb5 to group 17 [ 0.927125] CAM-SMMU cam_smmu_populate_sids:2326 __debug cnt = 2, cb->name: :jpeg_dma sid [0] = 2049\x0a, [ 0.927512] i2c-msm-v2 c1b7000.i2c: msm_bus_scale_register_client(mstr-id:84):0x13 (ok) [ 0.927963] [LASER] stmvl53l0_setupAPIFunctions: read REVISION_ID: 0x10\x0a API_VERSION: 1.1.20.2 [ 0.927969] [LASER] stmvl53l0_setupAPIFunctions: to setup API cut 1.1 [ 0.927983] [LASER] stmvl53l0_init_client: Enter [ 0.927989] [LASER] stmvl53l0_init_client: Call of VL53L0_DataInit [ 0.930460] CAM-SOC msm_camera_get_reg_base:864 err: mem resource csiphy_clk_mux not found [ 0.930471] csiphy_probe: no mem resource? [ 0.930827] CAM-SOC msm_camera_get_reg_base:864 err: mem resource csiphy_clk_mux not found [ 0.930834] csiphy_probe: no mem resource? [ 0.931196] CAM-SOC msm_camera_get_reg_base:864 err: mem resource csiphy_clk_mux not found [ 0.931202] csiphy_probe: no mem resource? [ 0.933168] msm_actuator_platform_probe:1968 msm_actuator_platform_probe: No/Error Actuator GPIOs [ 0.933608] msm_eeprom_platform_probe failed 1712 [ 0.934262] msm_eeprom_platform_probe failed 1782 [ 0.934825] msm_camera_pinctrl_init:1265 Getting pinctrl handle failed [ 0.934832] msm_ois_platform_probe:1251 ERR:msm_ois_platform_probe: Error in reading OIS pinctrl [ 0.934870] qcom,ois: probe of ca0c000.qcom,cci:qcom,ois@20 failed with error -22 [ 0.936503] i2c-msm-v2 c179000.i2c: msm_bus_scale_register_client(mstr-id:86):0x15 (ok) [ 0.936795] fts_touch 5-0049: FTS Enable WBCRC [ 0.939446] [LASER] stmvl53l0_init_client: Call of VL53L0_StaticInit [ 0.940687] MSM-CPP cpp_init_hardware:1138 CPP HW Version: 0x60010000 [ 0.940702] MSM-CPP cpp_init_hardware:1156 stream_cnt:0 [ 0.941045] MSM-CPP cpp_release_hardware:1219 cpp hw release done [ 0.941761] CAM-SOC msm_camera_get_reg_base:864 err: mem resource vfe_fuse not found [ 0.941771] CAM-SOC msm_camera_get_res_size:907 err: mem resource vfe_fuse not found [ 0.942365] CAM-SOC msm_camera_get_reg_base:864 err: mem resource vfe_fuse not found [ 0.942372] CAM-SOC msm_camera_get_res_size:907 err: mem resource vfe_fuse not found [ 0.944857] __msm_jpeg_init:1537] Jpeg Device id 0 [ 0.946522] msm_fd_hw_set_dt_parms_by_name: Error property does not exist [ 0.950736] iommu: Adding device cc00000.qcom,vidc:non_secure_cb to group 18 [ 0.953646] iommu: Adding device cc00000.qcom,vidc:firmware_cb to group 19 [ 0.953762] iommu: Adding device cc00000.qcom,vidc:secure_bitstream_cb to group 20 [ 0.956254] iommu: Adding device cc00000.qcom,vidc:secure_pixel_cb to group 21 [ 0.957384] iommu: Adding device cc00000.qcom,vidc:secure_non_pixel_cb to group 22 [ 0.960666] c880000.qcom,vmem supply vdd not found, using dummy regulator [ 0.961721] msm_vidc_vmem: Up and running with 4 banks of memory from [??? 0x00000000-0x3287834948 flags 0xffffffccf3044018] [ 0.962831] sde_mdp_parse_dt_prop_len: <SDEROT_INFO> prop qcom,mdss-rot-xin-id : doesn't exist in device tree [ 0.963109] iommu: Adding device c900000.qcom,mdss_rotator:qcom,smmu_rot_unsec_cb to group 23 [ 0.963357] iommu: Adding device c900000.qcom,mdss_rotator:qcom,smmu_rot_sec_cb to group 24 [ 0.963757] No change in context(0==0), skip [ 0.965077] sde_rotator_evtlog_create_debugfs: evtlog_status: enable:0, panic:1, dump:2 [ 0.965117] sde_rotator c900000.qcom,mdss_rotator: <SDEROT_INFO> SDE v4l2 rotator probe success [ 0.966194] sde_smmu_probe: <SDEROT_INFO> iommu v2 domain[0] mapping and clk register successful! [ 0.966372] sde_smmu_probe: <SDEROT_INFO> iommu v2 domain[1] mapping and clk register successful! [ 0.969829] thermal thermal_zone4: failed to read out thermal zone (-19) [ 0.970166] thermal thermal_zone5: failed to read out thermal zone (-19) [ 0.970648] PMI: smblib_get_prop_usb_port_temp: Couldn't get USB thermal zone rc=-19 [ 0.970797] PMI: smblib_get_prop_usb_port_temp: Couldn't get USB thermal zone rc=-19 [ 0.970805] PMI: port_overheat_work: Couldn't get USB port temp rc=-19 [ 0.978801] QPNP SMB2 probed successfully usb:present=1 type=0 batt:present = 1 health = 1 charge = 1 [ 0.978996] [LASER] stmvl53l0_read_calibration: Could not read calibration from /persist/ldaf_cal [ 0.979027] [LASER] stmvl53l0_init_client: failed: no calibration data [ 0.979036] [LASER] stmvl53l0_setup: support ver. 1.1.20.2(1.0.5.1) enabled [ 0.979043] [LASER] stmvl53l0_setup: End-- [ 0.979129] [LASER] stmvl53l0_probe: Success-- [ 0.980434] PMI: smblib_get_prop_usb_port_temp: Couldn't get USB thermal zone rc=-19 [ 0.981382] fts_touch 5-0049: get_pure_autotune_status: PureAutotune : 1 (E) [ 0.981393] fts_touch 5-0049: IC Firmware Version: 0x2064 [v0.44] IC Config Version: 0x0228 IC Main Version: 0x002C AFE Version: 0x07 [ 0.981400] fts_touch 5-0049: product id: [51 59 02] [ 0.981407] fts_touch 5-0049: Chip revision: 0, fpc: 5, t_sensor: 1, site: 1, inspector_no: 104 [ 0.981413] fts_touch 5-0049: date : 17.12.10 03:10:46 [ 0.981578] [BATT] err:htc_battery_probe: This is not the Pixel 2, bailing out... [ 0.981587] [BATT] at 981575885 (1970-01-01 00:00:00.981564687 UTC) [ 0.981602] [BATT] htc_battery_init done. [ 0.981778] lge_battery: bm_init: Couldn't get pl_psy [ 0.981786] lge_battery: lge_battery_probe: bm_init fail [ 0.981852] fts_touch 5-0049: FTS Chip ID : 36 70 [ 0.982201] qpnp_adc_get_devicetree_data: Loaded custom map for usb_port_temp [ 0.982524] qpnp_vadc_read: Error reading vadc_hc channel 21 [ 0.982531] thermal thermal_zone6: failed to read out thermal zone (-517) [ 1.004628] ufshcd-qcom 1da4000.ufshc: ufshcd_print_pwr_info:[RX, TX]: gear=[3, 3], lane[2, 2], pwr[FAST MODE, FAST MODE], rate = 2 [ 1.005660] msm_lmh_dcvs:lmh_activate_trip lmh_activate_trip: disable not supported [ 1.006147] msm_lmh_dcvs:lmh_activate_trip lmh_activate_trip: disable not supported [ 1.006509] scsi 0:0:0:49488: Well-known LUN SAMSUNG KLUCG4J1ED-B0C1 0200 PQ: 0 ANSI: 6 [ 1.006561] device-mapper: uevent: version 1.0.3 [ 1.006659] device-mapper: ioctl: 4.34.0-ioctl (2015-10-28) initialised: [email protected] [ 1.007180] device-mapper: verity-avb: AVB error handler initialized with vbmeta device: PARTUUID=ded99946-e56c-7846-cd11-3fd1bb248842 [ 1.007189] device-mapper: req-crypt: dm-req-crypt successfully initalized.\x0a [ 1.007398] bt_power_populate_dt_pinfo: bt-reset-gpio not provided in device tree [ 1.008357] scsi 0:0:0:49456: Well-known LUN SAMSUNG KLUCG4J1ED-B0C1 0200 PQ: 0 ANSI: 6 [ 1.008963] hidraw: raw HID events driver (C) Jiri Kosina [ 1.009035] usbcore: registered new interface driver usbhid [ 1.009039] usbhid: USB HID core driver [ 1.009123] ashmem: initialized [ 1.009525] qpnp_coincell_charger_show_state: enabled=Y, voltage=3200 mV, resistance=800 ohm [ 1.012638] bimc-bwmon 1008000.qcom,cpu-bwmon: BW HWmon governor registered. [ 1.012662] scsi 0:0:0:49476: Well-known LUN SAMSUNG KLUCG4J1ED-B0C1 0200 PQ: 0 ANSI: 6 [ 1.014742] scsi 0:0:0:0: Direct-Access SAMSUNG KLUCG4J1ED-B0C1 0200 PQ: 0 ANSI: 6 [ 1.015816] probe: Failed to create IPC log context [ 1.016342] scsi 0:0:0:1: Direct-Access SAMSUNG KLUCG4J1ED-B0C1 0200 PQ: 0 ANSI: 6 [ 1.017916] scsi 0:0:0:2: Direct-Access SAMSUNG KLUCG4J1ED-B0C1 0200 PQ: 0 ANSI: 6 [ 1.019351] [smem]htc_radio_smem_init. [ 1.019439] scsi 0:0:0:3: Direct-Access SAMSUNG KLUCG4J1ED-B0C1 0200 PQ: 0 ANSI: 6 [ 1.019541] usbcore: registered new interface driver snd-usb-audio [ 1.019924] scsi 0:0:0:4: Direct-Access SAMSUNG KLUCG4J1ED-B0C1 0200 PQ: 0 ANSI: 6 [ 1.020492] scsi 0:0:0:5: Direct-Access SAMSUNG KLUCG4J1ED-B0C1 0200 PQ: 0 ANSI: 6 [ 1.020665] fts_touch 5-0049: FTS Initialized [ 1.020732] input: touchscreen as /devices/soc/c179000.i2c/i2c-5/5-0049/input/input4 [ 1.020740] fts_touch 5-0049: fts_input_open [ 1.020744] fts_touch 5-0049: fts_start_device already power on [ 1.020747] fts_touch 5-0049: FTS cmd after wakeup : h0 [ 1.020786] fts_touch 5-0049: installing direct irq on GPIO 125 [ 1.020898] power_supply touch: touch: Found supply : dc [ 1.020905] power_supply touch: touch: Found supply : usb [ 1.020911] power_supply touch: touch: Found supply : main [ 1.020916] power_supply touch: touch: Found supply : pc_port [ 1.020921] power_supply touch: touch: Found supply : battery [ 1.021438] fts_touch 5-0049: [FTS] Received Force Cal Event [ 0 ] [ 1.022031] scsi 0:0:0:6: Direct-Access SAMSUNG KLUCG4J1ED-B0C1 0200 PQ: 0 ANSI: 6 [ 1.022644] tas2557s 7-004d: tas2557_i2c_probe enter [ 1.027858] sdc: sdc1 [ 1.028299] sdd: sdd1 sdd2 [ 1.029687] sdb: sdb1 [ 1.029952] sda: sda1 sda2 sda3 sda4 sda5 sda6 sda7 sda8 sda9 sda10 sda11 sda12 sda13 [ 1.031788] sdg: sdg1 [ 1.032252] sdf: sdf1 sdf2 sdf3 [ 1.032588] 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 [ 1.033326] tas2557s 7-004d: PG2.1 found [ 1.033488] tas2557s 7-004d: tas2557_register_codec, enter [ 1.033538] tas2557s 7-004d: tas2557_register_misc, leave [ 1.033543] tas2557s 7-004d: tiload_driver_init [ 1.033555] tas2557s 7-004d: allocated Major Number: 229 [ 1.033596] tas2557s 7-004d: Registered TiLoad driver, Major number: 229 [ 1.039220] msm-dai-tdm soc:qcom,msm-dai-tdm-pri-rx: msm_dai_tdm_q6_probe: dev_name: soc:qcom,msm-dai-tdm-pri-rx group_id: 0x9100 [ 1.039332] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-pri-rx:qcom,msm-dai-q6-tdm-pri-rx-0: msm_dai_q6_tdm_dev_probe: dev_name: soc:qcom,msm-dai-tdm-pri-rx:qcom,msm-dai-q6-tdm-pri-rx-0 dev_id: 0x9000 [ 1.039340] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-pri-rx:qcom,msm-dai-q6-tdm-pri-rx-0: msm_dai_q6_tdm_dev_probe: Custom tdm header not supported [ 1.039354] msm-dai-tdm soc:qcom,msm-dai-tdm-pri-tx: msm_dai_tdm_q6_probe: dev_name: soc:qcom,msm-dai-tdm-pri-tx group_id: 0x9101 [ 1.039453] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-pri-tx:qcom,msm-dai-q6-tdm-pri-tx-0: msm_dai_q6_tdm_dev_probe: dev_name: soc:qcom,msm-dai-tdm-pri-tx:qcom,msm-dai-q6-tdm-pri-tx-0 dev_id: 0x9001 [ 1.039460] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-pri-tx:qcom,msm-dai-q6-tdm-pri-tx-0: msm_dai_q6_tdm_dev_probe: Custom tdm header not supported [ 1.039472] msm-dai-tdm soc:qcom,msm-dai-tdm-sec-rx: msm_dai_tdm_q6_probe: dev_name: soc:qcom,msm-dai-tdm-sec-rx group_id: 0x9110 [ 1.039571] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-sec-rx:qcom,msm-dai-q6-tdm-sec-rx-0: msm_dai_q6_tdm_dev_probe: dev_name: soc:qcom,msm-dai-tdm-sec-rx:qcom,msm-dai-q6-tdm-sec-rx-0 dev_id: 0x9010 [ 1.039579] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-sec-rx:qcom,msm-dai-q6-tdm-sec-rx-0: msm_dai_q6_tdm_dev_probe: Custom tdm header not supported [ 1.039591] msm-dai-tdm soc:qcom,msm-dai-tdm-sec-tx: msm_dai_tdm_q6_probe: dev_name: soc:qcom,msm-dai-tdm-sec-tx group_id: 0x9111 [ 1.039693] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-sec-tx:qcom,msm-dai-q6-tdm-sec-tx-0: msm_dai_q6_tdm_dev_probe: dev_name: soc:qcom,msm-dai-tdm-sec-tx:qcom,msm-dai-q6-tdm-sec-tx-0 dev_id: 0x9011 [ 1.039701] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-sec-tx:qcom,msm-dai-q6-tdm-sec-tx-0: msm_dai_q6_tdm_dev_probe: Custom tdm header not supported [ 1.039715] msm-dai-tdm soc:qcom,msm-dai-tdm-tert-rx: msm_dai_tdm_q6_probe: dev_name: soc:qcom,msm-dai-tdm-tert-rx group_id: 0x9120 [ 1.039813] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-tert-rx:qcom,msm-dai-q6-tdm-tert-rx-0: msm_dai_q6_tdm_dev_probe: dev_name: soc:qcom,msm-dai-tdm-tert-rx:qcom,msm-dai-q6-tdm-tert-rx-0 dev_id: 0x9020 [ 1.039820] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-tert-rx:qcom,msm-dai-q6-tdm-tert-rx-0: msm_dai_q6_tdm_dev_probe: Custom tdm header not supported [ 1.039833] msm-dai-tdm soc:qcom,msm-dai-tdm-tert-tx: msm_dai_tdm_q6_probe: dev_name: soc:qcom,msm-dai-tdm-tert-tx group_id: 0x9121 [ 1.039928] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-tert-tx:qcom,msm-dai-q6-tdm-tert-tx-0: msm_dai_q6_tdm_dev_probe: dev_name: soc:qcom,msm-dai-tdm-tert-tx:qcom,msm-dai-q6-tdm-tert-tx-0 dev_id: 0x9021 [ 1.039936] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-tert-tx:qcom,msm-dai-q6-tdm-tert-tx-0: msm_dai_q6_tdm_dev_probe: Custom tdm header not supported [ 1.039949] msm-dai-tdm soc:qcom,msm-dai-tdm-quat-rx: msm_dai_tdm_q6_probe: dev_name: soc:qcom,msm-dai-tdm-quat-rx group_id: 0x9130 [ 1.040059] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-quat-rx:qcom,msm-dai-q6-tdm-quat-rx-0: msm_dai_q6_tdm_dev_probe: dev_name: soc:qcom,msm-dai-tdm-quat-rx:qcom,msm-dai-q6-tdm-quat-rx-0 dev_id: 0x9030 [ 1.040067] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-quat-rx:qcom,msm-dai-q6-tdm-quat-rx-0: msm_dai_q6_tdm_dev_probe: Custom tdm header not supported [ 1.040080] msm-dai-tdm soc:qcom,msm-dai-tdm-quat-tx: msm_dai_tdm_q6_probe: dev_name: soc:qcom,msm-dai-tdm-quat-tx group_id: 0x9131 [ 1.040187] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-quat-tx:qcom,msm-dai-q6-tdm-quat-tx-0: msm_dai_q6_tdm_dev_probe: dev_name: soc:qcom,msm-dai-tdm-quat-tx:qcom,msm-dai-q6-tdm-quat-tx-0 dev_id: 0x9031 [ 1.040195] msm-dai-q6-tdm soc:qcom,msm-dai-tdm-quat-tx:qcom,msm-dai-q6-tdm-quat-tx-0: msm_dai_q6_tdm_dev_probe: Custom tdm header not supported [ 1.046186] fts_touch 5-0049: [FTS] Received Basic Autotune Protection Event [ 0 ] [ 1.046193] fts_touch 5-0049: [FTS] Received Force Cal Done Event [ 1.048149] bcm15602 9-0008: bcm15602_resetb_irq_handler: completing reset [ 1.048321] bcm15602 9-0008: Part: 0x5602, Rev: 2, Vendor Rev: 0x21 [ 1.048477] bcm15602 9-0008: Last reboot reason: normal [ 1.050357] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: platform (null) not registered [ 1.050563] GACT probability NOT on [ 1.050573] Mirror/redirect action on [ 1.050588] u32 classifier [ 1.050591] Actions configured [ 1.050610] Netfilter messages via NETLINK v0.30. [ 1.050634] nf_conntrack version 0.5.0 (16384 buckets, 65536 max) [ 1.050818] ctnetlink v0.93: registering with nfnetlink. [ 1.051224] xt_time: kernel timezone is -0000 [ 1.051308] wireguard: allowedips self-tests: pass [ 1.051732] wireguard: nonce counter self-tests: pass [ 1.067788] wireguard: curve25519 self-tests: pass [ 1.067915] wireguard: poly1305 self-tests: pass [ 1.068263] wireguard: chacha20poly1305 self-tests: pass [ 1.068758] wireguard: blake2s self-tests: pass [ 1.293064] wireguard: ratelimiter self-tests: pass [ 1.293101] wireguard: WireGuard 0.0.20180802 loaded. See www.wireguard.com for information. [ 1.293106] wireguard: Copyright (C) 2015-2018 Jason A. Donenfeld <[email protected]>. All Rights Reserved. [ 1.293163] IPv4 over IPsec tunneling driver [ 1.293469] ip_tables: (C) 2000-2006 Netfilter Core Team [ 1.293580] arp_tables: (C) 2002 David S. Miller [ 1.293636] Initializing XFRM netlink socket [ 1.293856] NET: Registered protocol family 10 [ 1.294417] mip6: Mobile IPv6 [ 1.294429] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 1.294758] sit: IPv6 over IPv4 tunneling driver [ 1.295082] NET: Registered protocol family 17 [ 1.295095] NET: Registered protocol family 15 [ 1.295138] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this. [ 1.295145] Ebtables v2.0 registered [ 1.295216] l2tp_core: L2TP core driver, V2.0 [ 1.295224] l2tp_ppp: PPPoL2TP kernel driver, V2.0 [ 1.295229] l2tp_ip: L2TP IP encapsulation support (L2TPv3) [ 1.295265] l2tp_netlink: L2TP netlink interface [ 1.295281] l2tp_eth: L2TP ethernet pseudowire support (L2TPv3) [ 1.295286] l2tp_ip6: L2TP IP encapsulation support for IPv6 (L2TPv3) [ 1.295901] NET: Registered protocol family 27 [ 1.295925] IPC_RTR: ipc_router_create_log_ctx: Unable to create IPC logging for [local_IPCRTR] [ 1.301065] subsys-pil-tz 17300000.qcom,lpass: for adsp segments only will be dumped. [ 1.302781] subsys-pil-tz 5c00000.qcom,ssc: for slpi segments only will be dumped. [ 1.303356] pil-q6v5-mss 4080000.qcom,mss: No pas_id found. [ 1.303839] platform 4080000.qcom,mss:qcom,mba-mem@0: assigned reserved memory node pil_mba_region@94100000 [ 1.304238] pil-q6v5-mss 4080000.qcom,mss: for modem segments only will be dumped. [ 1.306568] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x0000000000000000 [ 1.306573] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x0000000000000000 [ 1.306580] sps_register_bam_device : unable to create IPC Logging 2 for bam 0x0000000000000000 [ 1.306583] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x0000000000000000 [ 1.306589] sps_register_bam_device : unable to create IPC Logging 4 for bam 0x0000000000000000 [ 1.306591] sps:BAM 0x0000000000000000 is registered. [ 1.307057] Invalid index Defaulting curr to 0 [ 1.308306] qpnp-pdphy 800f000.qcom,spmi:qcom,pmi8998@2:qcom,usb-pdphy@1700: usbpd_create failed: -517 [ 1.315265] thermal thermal_zone37: failed to read out thermal zone (-19) [ 1.316532] spmi spmi-0: cleanup_irq apid=36 sid=0x2 per=0x41 irq=6 [ 1.317602] qcom,fg-gen3 800f000.qcom,spmi:qcom,pmi8998@2:qpnp,fg: Start WAR to set SP_SAT_CC_CLR_AUTO_BIT [ 1.317931] qcom,fg-gen3 800f000.qcom,spmi:qcom,pmi8998@2:qpnp,fg: WAR: 0x13 reg value: 0xbf [ 1.317965] qcom,fg-gen3 800f000.qcom,spmi:qcom,pmi8998@2:qpnp,fg: WAR: Bit 3 has been set, no WAR needed [ 1.318063] FG: comp_temp_by_chg_current: failed to get POWER_SUPPLY_PROP_CURRENT_NOW rc = -61 [ 1.318069] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.318074] FG: fg_gen3_probe: battery SOC:96 voltage: 4294666uV temp: 270 id: 0KOhms [ 1.325048] FG: fg_psy_get_property: unsupported property 4 [ 1.325155] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.325248] SMB138X: smb138x_parallel_get_prop: parallel power supply get prop 4 not supported [ 1.325365] SMB138X: smb138x_probe: SMB138X probed successfully mode=1 [ 1.325780] lge_battery: bm_init: Battery id is zero, deferring probe! [ 1.325786] lge_battery: lge_battery_probe: bm_init fail [ 1.327036] FG: fg_get_time_to_full: battery profile is not loaded [ 1.327783] SMB138X: smb138x_get_prop_charger_temp: Couldnt read chg temp at 1th iteration rc = -61 [ 1.328939] SMB138X: smb138x_get_prop_connector_health: Couldn't read connector temperature rc=-61 [ 1.334043] SMB138X: smb138x_parallel_get_prop: parallel power supply get prop 4 not supported [ 1.335972] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: platform (null) not registered [ 1.336045] SMB138X: smb138x_get_prop_charger_temp: Couldnt read chg temp at 1th iteration rc = -61 [ 1.336251] ipa ipa3_smp2p_probe:5520 failed to enable irq wake [ 1.337053] SMB138X: smb138x_get_prop_connector_health: Couldn't read connector temperature rc=-61 [ 1.337677] Invalid index Defaulting curr to 0 [ 1.339540] lge_battery: bm_init: Battery id is zero, deferring probe! [ 1.339548] lge_battery: lge_battery_probe: bm_init fail [ 1.347878] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: platform (null) not registered [ 1.349347] msm-dwc3 a800000.ssusb: dwc3_msm_resume: exiting lpm [ 1.349630] lge_battery: bm_init: Battery id is zero, deferring probe! [ 1.349668] lge_battery: lge_battery_probe: bm_init fail [ 1.354471] msm-dwc3 a800000.ssusb: DWC3 exited from low power mode [ 1.354495] msm-dwc3 a800000.ssusb: dwc3_msm_suspend: Calling suspend 1996 [ 1.355660] msm-dwc3 a800000.ssusb: DWC3 in low power mode [ 1.361275] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: platform (null) not registered [ 1.361998] Registered cp15_barrier emulation handler [ 1.362020] Registered setend emulation handler [ 1.362210] registered taskstats version 1 [ 1.362217] Loading compiled-in X.509 certificates [ 1.363480] Loaded X.509 cert 'Easel: 2d9cb8fb66a52266cb3b00b3e3db335fadf908e4' [ 1.363885] kcal_ctrl_init: registered [ 1.363895] msm_smem 86000000.qcom,smem: for smem segments only will be dumped. [ 1.363978] spss_utils [spss_init]: spss-utils driver Ver 1.2 13-Jan-2017. [ 1.364123] spss_utils [spss_probe]: Initialization completed ok, firmware_name [spss2p]. [ 1.364700] fastrpc soc:qcom,msm-adsprpc-mem: for adsp_rh segments only will be dumped. [ 1.364829] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_cpz_cb1 to group 25 [ 1.365725] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb1 to group 26 [ 1.366175] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb2 to group 27 [ 1.366575] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb3 to group 28 [ 1.366972] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb4 to group 29 [ 1.367379] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb6 to group 30 [ 1.367776] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb7 to group 31 [ 1.368171] iommu: Adding device soc:qcom,msm_fastrpc:qcom,msm_fastrpc_compute_cb8 to group 32 [ 1.369162] lge_battery: bm_init: Battery id is zero, deferring probe! [ 1.369169] lge_battery: lge_battery_probe: bm_init fail [ 1.377365] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: platform (null) not registered [ 1.377806] ngd_msm_ctrl 171c0000.slim: error creating ipc_logging context [ 1.378197] lge_battery: bm_init: Battery id is zero, deferring probe! [ 1.378205] lge_battery: lge_battery_probe: bm_init fail [ 1.382622] msm_pcie_enable: PCIe: Assert the reset of endpoint of RC0. [ 1.386078] msm_pcie_enable: PCIe RC0 PHY is ready! [ 1.386758] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: platform (null) not registered [ 1.387096] msm_pcie_enable: PCIe: Release the reset of endpoint of RC0. [ 1.387423] misc mnh_sm: mnh_sm_ready_irq_handler: mnh device is ready to boot [ 1.403475] msm_pcie_enable: PCIe RC0 link initialized [ 1.403549] PCI host bridge /soc/qcom,pcie@01c00000 ranges: [ 1.403559] No bus range found for /soc/qcom,pcie@01c00000, using [bus 00-ff] [ 1.403572] IO 0x1b030000..0x1b04ffff -> 0x1b030000 [ 1.403581] MEM 0x1b100000..0x1bffffff -> 0x1b100000 [ 1.403687] pci-msm 1c00000.qcom,pcie: PCI host bridge to bus 0000:00 [ 1.403695] pci_bus 0000:00: root bus resource [bus 00-ff] [ 1.403704] pci_bus 0000:00: root bus resource [io 0x0000-0x1ffff] (bus address [0x1b030000-0x1b04ffff]) [ 1.403711] pci_bus 0000:00: root bus resource [mem 0x00000000-0x00efffff] [ 1.403748] pci 0000:00:00.0: [17cb:0105] type 01 class 0x060400 [ 1.403824] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit] [ 1.403921] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold [ 1.404080] iommu: Adding device 0000:00:00.0 to group 33 [ 1.404109] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 1.404280] pci 0000:01:00.0: [8086:3140] type 00 class 0x000000 [ 1.404415] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit pref] [ 1.404476] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x007fffff 64bit] [ 1.404537] pci 0000:01:00.0: reg 0x20: [mem 0x00000000-0x003fffff 64bit pref] [ 1.404590] pci 0000:01:00.0: setting pcie class [ 1.404734] pci 0000:01:00.0: supports D1 D2 [ 1.404740] pci 0000:01:00.0: PME# supported from D0 D1 D3hot D3cold [ 1.404906] iommu: Adding device 0000:01:00.0 to group 34 [ 1.404926] pci_bus 0000:01: busn_res: [bus 00-fe] end is updated to 01 [ 1.404983] pci 0000:00:00.0: BAR 8: assigned [mem 0x00000000-0x007fffff] [ 1.404992] pci 0000:00:00.0: BAR 9: assigned [mem 0x00000000-0x005fffff 64bit pref] [ 1.405001] pci 0000:00:00.0: BAR 0: assigned [mem 0x00000000-0x00000fff 64bit] [ 1.405058] pci 0000:01:00.0: BAR 2: assigned [mem 0x00000000-0x007fffff 64bit] [ 1.405110] pci 0000:01:00.0: BAR 4: assigned [mem 0x00000000-0x003fffff 64bit pref] [ 1.405161] pci 0000:01:00.0: BAR 0: assigned [mem 0x00000000-0x00000fff 64bit pref] [ 1.405213] pci 0000:00:00.0: PCI bridge to [bus 00] [ 1.405233] pci 0000:00:00.0: bridge window [mem 0x00000000-0x007fffff] [ 1.405249] pci 0000:00:00.0: bridge window [mem 0x00000000-0x005fffff 64bit pref] [ 1.405394] pci 0000:00:00.0: enabling device (0000 -> 0002) [ 1.405419] mnh_pci 0000:01:00.0: enabling device (0000 -> 0002) [ 1.406043] mnh_pci 0000:01:00.0: vector :10 , msi_num:10, irq:755 [ 1.406183] mnh_pci 0000:01:00.0: request irq:756 [ 1.406277] mnh_pci 0000:01:00.0: request irq:757 [ 1.406367] mnh_pci 0000:01:00.0: request irq:758 [ 1.406466] mnh_pci 0000:01:00.0: request irq:759 [ 1.406557] mnh_pci 0000:01:00.0: request irq:760 [ 1.406647] mnh_pci 0000:01:00.0: request irq:763 [ 1.406744] mnh_pci 0000:01:00.0: request irq:764 [ 1.408595] mnh_pci 0000:01:00.0: attached to IOMMU [ 1.408734] lge_battery: bm_init: Battery id is zero, deferring probe! [ 1.408740] lge_battery: lge_battery_probe: bm_init fail [ 1.417091] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: platform (null) not registered [ 1.429181] msm_pcie_disable: PCIe: Assert the reset of endpoint of RC0. [ 1.429215] misc mnh_sm: mnh_sm_ready_irq_handler: mnh device is ready to suspend [ 1.431076] misc mnh_sm: MNH SM initialized successfully [ 1.431114] ngd_msm_ctrl 17240000.slim: error creating ipc_logging context [ 1.431182] lge_battery: bm_init: Battery id is zero, deferring probe! [ 1.431188] lge_battery: lge_battery_probe: bm_init fail [ 1.439500] RNDIS_IPA module is loaded. [ 1.439750] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: platform (null) not registered [ 1.439957] [KEY] gpio_keys_setup_key, error=-524, debounce(15, 15) [ 1.439982] [KEY] keycode = 115, gpio = 126, irq = 323 [ 1.439987] [KEY] gpio_keys_setup_key, error=-524, debounce(15, 15) [ 1.440004] [KEY] keycode = 222, gpio = 124, irq = 321 [ 1.440076] input: gpio-keys as /devices/soc/soc:gpio_keys/input/input5 [ 1.440193] lge_battery: bm_init: Battery id is zero, deferring probe! [ 1.440200] lge_battery: lge_battery_probe: bm_init fail [ 1.440251] qcom,qpnp-rtc 800f000.qcom,spmi:qcom,pm8998@0:qcom,pm8998_rtc: setting system clock to 1970-01-04 18:32:34 UTC (325954) [ 1.444930] lmh_lite:lmh_parse_sensor Registering sensor:[GLM_soc] [ 1.445102] lmh_lite:lmh_parse_sensor Registering sensor:[LLM_cp1-] [ 1.445239] lmh_lite:lmh_parse_sensor Registering sensor:[LLM_cp0-] [ 1.445417] soc:qcom,lmh supply vdd-apss not found, using dummy regulator [ 1.445465] lmh_lite:lmh_get_sensor_devicetree Error getting ODCM thresh. err:-22 [ 1.448995] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: platform (null) not registered [ 1.449032] parse_cpu_levels: idx 1 503 [ 1.449037] parse_cpu_levels: idx 2 1744 [ 1.449040] parse_cpu_levels: idx 2 2222 [ 1.449100] parse_cpu_levels: idx 1 1301 [ 1.449103] parse_cpu_levels: idx 2 1820 [ 1.449106] parse_cpu_levels: idx 2 1999 [ 1.449115] calculate_residency: residency < 0 for LPM [ 1.449397] lge_battery: bm_init: Battery id is zero, deferring probe! [ 1.449404] lge_battery: lge_battery_probe: bm_init fail [ 1.457958] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: platform (null) not registered [ 1.458382] lge_battery: bm_init: Battery id is zero, deferring probe! [ 1.458388] lge_battery: lge_battery_probe: bm_init fail [ 1.458850] rmnet_ipa3 started initialization [ 1.460790] qcom,cc-debug-8998 162000.qcom,debugcc: Registered debug mux [ 1.463212] gfx_mem_acc_corner: disabling [ 1.463245] apc0_pwrcl_corner: disabling [ 1.463249] apc1_perfcl_corner: disabling [ 1.463691] regulator_proxy_consumer_remove_all: removing regulator proxy consumer requests [ 1.463830] clock_late_init: Removing enables held for handed-off clocks [ 1.466842] ALSA device list: [ 1.466847] No soundcards found. [ 1.466908] Warning: unable to open an initial console. [ 1.467318] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: platform (null) not registered [ 1.468147] Freeing unused kernel memory: 4032K [ 1.468161] lge_battery: bm_init: Battery id is zero, deferring probe! [ 1.468169] lge_battery: lge_battery_probe: bm_init fail [ 1.472503] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.477825] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: platform (null) not registered [ 1.479417] EXT4-fs (sda7): mounted filesystem without journal. Opts: (null) [ 1.499741] EXT4-fs (sde14): mounted filesystem without journal. Opts: (null) [ 1.588229] init: init first stage started! [ 1.588366] init: Using Android DT directory /proc/device-tree/firmware/android/ [ 1.589158] init: [libfs_mgr]fs_mgr_read_fstab_default(): failed to find device default fstab [ 1.598724] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.601078] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.606552] EXT4-fs (sda4): mounted filesystem with ordered data mode. Opts: barrier=1 [ 1.606596] init: [libfs_mgr]__mount(source=/dev/block/platform/soc/1da4000.ufshc/by-name/persist,target=/persist,type=ext4)=0: Success [ 1.608006] init: [libfs_mgr]Returning avb_handle with status: 0 [ 1.609295] init: [libfs_mgr]Loading verity table: '1 /dev/block/platform/soc/1da4000.ufshc/by-name/vendor_a /dev/block/platform/soc/1da4000.ufshc/by-name/vendor_a 4096 4096 125961 125961 sha1 4b6ef3874cd11e523f903fc4a4add60ebe9860ec 5133f927d2940fe71a004c2ee25489353ac451a7382c9ed8f65f7bce8f401350 10 use_fec_from_device /dev/block/platform/soc/1da4000.ufshc/by-name/vendor_a fec_roots 2 fec_blocks 126955 fec_start 126955 restart_on_corruption ignore_zero_blocks' [ 1.613078] EXT4-fs (dm-0): mounted filesystem without journal. Opts: barrier=1 [ 1.613120] init: [libfs_mgr]__mount(source=/dev/block/dm-0,target=/vendor,type=ext4)=0: Success [ 1.613179] init: Skipped setting INIT_AVB_VERSION (not in recovery mode) [ 1.613250] init: Loading SELinux policy [ 1.616510] SELinux: 16384 avtab hash slots, 39645 rules. [ 1.623560] SELinux: 16384 avtab hash slots, 39645 rules. [ 1.623571] SELinux: 1 users, 4 roles, 1564 types, 0 bools, 1 sens, 1024 cats [ 1.623575] SELinux: 93 classes, 39645 rules [ 1.625745] SELinux: Completing initialization. [ 1.625750] SELinux: Setting up existing superblocks. [ 1.662020] audit: type=1403 audit(325954.719:2): policy loaded auid=4294967295 ses=4294967295 [ 1.662244] selinux: SELinux: Loaded policy from /sepolicy\x0a [ 1.662363] audit: type=1404 audit(325954.720:3): enforcing=1 old_enforcing=0 auid=4294967295 ses=4294967295 [ 1.666882] selinux: SELinux: Loaded file_contexts\x0a [ 1.668784] init: init second stage started! [ 1.673722] of_batterydata_get_best_profile: lge_blt35_tocad_3620mah found [ 1.678203] init: Using Android DT directory /proc/device-tree/firmware/android/ [ 1.680199] selinux: SELinux: Loaded file_contexts\x0a [ 1.680212] init: Running restorecon... [ 1.684306] init: waitid failed: No child processes [ 1.686041] init: Couldn't load property file '/odm/default.prop': open() failed: No such file or directory: No such file or directory [ 1.686846] init: Created socket '/dev/socket/property_service', mode 666, user 0, group 0 [ 1.687250] init: Forked subcontext for 'u:r:vendor_init:s0' with pid 577 [ 1.687461] init: Forked subcontext for 'u:r:vendor_init:s0' with pid 578 [ 1.687528] init: Parsing file /init.rc... [ 1.687760] init: Added '/init.magisk.rc' to import list [ 1.687769] init: Added '/init.environ.rc' to import list [ 1.687776] init: Added '/init.usb.rc' to import list [ 1.687786] init: Added '/init.taimen.rc' to import list [ 1.687794] init: Added '/vendor/etc/init/hw/init.taimen.rc' to import list [ 1.687801] init: Added '/init.usb.configfs.rc' to import list [ 1.687809] init: Added '/init.zygote64_32.rc' to import list [ 1.688419] init: Parsing file /init.magisk.rc... [ 1.688471] init: Parsing file /init.environ.rc... [ 1.688511] init: Parsing file /init.usb.rc... [ 1.688690] init: Parsing file /init.taimen.rc... [ 1.688706] init: Unable to read config file '/init.taimen.rc': open() failed: No such file or directory [ 1.688717] init: /init.rc: 10: Could not import file '/init.taimen.rc': No such file or directory [ 1.690070] init: Parsing file /vendor/etc/init/hw/init.taimen.rc... [ 1.690709] init: Added '/vendor/etc/init/hw/init.taimen.usb.rc' to import list [ 1.691631] init: /vendor/etc/init/hw/init.taimen.rc: 745: Unable to decode GID for 'qcom_diag': getpwnam failed: No such file or directory [ 1.691990] init: Parsing file /vendor/etc/init/hw/init.taimen.usb.rc... [ 1.692188] init: Added '/vendor/etc/init/hw/init.wahoo.usb.rc' to import list [ 1.692377] init: Parsing file /vendor/etc/init/hw/init.wahoo.usb.rc... [ 1.692614] init: Parsing file /init.usb.configfs.rc... [ 1.692843] init: Parsing file /init.zygote64_32.rc... [ 1.692940] init: Parsing directory /system/etc/init... [ 1.693275] init: Parsing file /system/etc/init/[email protected]... [ 1.693456] init: Parsing file /system/etc/init/atrace.rc... [ 1.693767] init: Parsing file /system/etc/init/audioserver.rc... [ 1.693959] init: Parsing file /system/etc/init/blank_screen.rc... [ 1.694132] init: Parsing file /system/etc/init/bootanim.rc... [ 1.694307] init: Parsing file /system/etc/init/bootstat.rc... [ 1.694543] init: Parsing file /system/etc/init/bufferhubd.rc... [ 1.694724] init: Parsing file /system/etc/init/cameraserver.rc... [ 1.694903] init: Parsing file /system/etc/init/cppreopts.rc... [ 1.695105] init: Parsing file /system/etc/init/drmserver.rc... [ 1.695279] init: Parsing file /system/etc/init/dumpstate.rc... [ 1.695462] init: Parsing file /system/etc/init/gatekeeperd.rc... [ 1.695631] init: Parsing file /system/etc/init/healthd.rc... [ 1.695803] init: Parsing file /system/etc/init/hwservicemanager.rc... [ 1.695986] init: Parsing file /system/etc/init/incidentd.rc... [ 1.696175] init: Parsing file /system/etc/init/installd.rc... [ 1.696464] init: Parsing file /system/etc/init/keystore.rc... [ 1.696638] init: Parsing file /system/etc/init/lmkd.rc... [ 1.696810] init: Parsing file /system/etc/init/logd.rc... [ 1.696994] init: Parsing file /system/etc/init/mdnsd.rc... [ 1.697173] init: Parsing file /system/etc/init/mediadrmserver.rc... [ 1.697347] init: Parsing file /system/etc/init/mediaextractor.rc... [ 1.697534] init: Parsing file /system/etc/init/mediametrics.rc... [ 1.697704] init: Parsing file /system/etc/init/mediaserver.rc... [ 1.697879] init: Parsing file /system/etc/init/mtpd.rc... [ 1.698055] init: Parsing file /system/etc/init/netd.rc... [ 1.698233] init: Parsing file /system/etc/init/otapreopt.rc... [ 1.698405] init: Parsing file /system/etc/init/perfetto.rc... [ 1.698620] init: Parsing file /system/etc/init/performanced.rc... [ 1.698794] init: Parsing file /system/etc/init/racoon.rc... [ 1.698968] init: Parsing file /system/etc/init/recovery-persist.rc... [ 1.699136] init: Parsing file /system/etc/init/recovery-refresh.rc... [ 1.699300] init: Parsing file /system/etc/init/servicemanager.rc... [ 1.699483] init: Parsing file /system/etc/init/statsd.rc... [ 1.699673] init: Parsing file /system/etc/init/storaged.rc... [ 1.699841] init: Parsing file /system/etc/init/surfaceflinger.rc... [ 1.700036] init: Parsing file /system/etc/init/thermalservice.rc... [ 1.700204] init: Parsing file /system/etc/init/tombstoned.rc... [ 1.700374] init: Parsing file /system/etc/init/uncrypt.rc... [ 1.700559] init: Parsing file /system/etc/init/update_engine.rc... [ 1.700737] init: Parsing file /system/etc/init/update_verifier.rc... [ 1.700918] init: Parsing file /system/etc/init/usbd.rc... [ 1.701087] init: Parsing file /system/etc/init/vdc.rc... [ 1.701244] init: Parsing file /system/etc/init/virtual_touchpad.rc... [ 1.701418] init: Parsing file /system/etc/init/vold.rc... [ 1.701591] init: Parsing file /system/etc/init/vr_hwc.rc... [ 1.701763] init: Parsing file /system/etc/init/wait_for_keymaster.rc... [ 1.701931] init: Parsing file /system/etc/init/wifi-events.rc... [ 1.702156] init: Parsing file /system/etc/init/wificond.rc... [ 1.702365] init: Parsing file /product/etc/init... [ 1.702382] init: Unable to read config file '/product/etc/init': open() failed: No such file or directory [ 1.702399] init: Parsing file /odm/etc/init... [ 1.702412] init: Unable to read config file '/odm/etc/init': open() failed: No such file or directory [ 1.702423] init: Parsing directory /vendor/etc/init... [ 1.702514] init: Parsing file /vendor/etc/init/[email protected]... [ 1.703178] init: Parsing file /vendor/etc/init/[email protected]... [ 1.703523] init: Parsing file /vendor/etc/init/[email protected]... [ 1.703907] init: Parsing file /vendor/etc/init/[email protected]... [ 1.704266] init: Parsing file /vendor/etc/init/[email protected]... [ 1.704611] init: Parsing file /vendor/etc/init/[email protected]... [ 1.704968] init: Parsing file /vendor/etc/init/[email protected]... [ 1.705314] init: Parsing file /vendor/etc/init/[email protected]... [ 1.705657] init: Parsing file /vendor/etc/init/[email protected]... [ 1.706031] init: Parsing file /vendor/etc/init/[email protected]... [ 1.706389] init: Parsing file /vendor/etc/init/[email protected]... [ 1.706759] init: Parsing file /vendor/etc/init/[email protected]... [ 1.707245] init: Parsing file /vendor/etc/init/[email protected]... [ 1.707595] init: Parsing file /vendor/etc/init/[email protected]... [ 1.707937] init: Parsing file /vendor/etc/init/[email protected]... [ 1.708333] init: Parsing file /vendor/etc/init/[email protected]... [ 1.708705] init: Parsing file /vendor/etc/init/[email protected]... [ 1.709066] init: Parsing file /vendor/etc/init/[email protected]... [ 1.709407] init: Parsing file /vendor/etc/init/[email protected]... [ 1.709853] init: Parsing file /vendor/etc/init/[email protected]... [ 1.710205] init: Parsing file /vendor/etc/init/[email protected]... [ 1.710566] init: Parsing file /vendor/etc/init/[email protected]... [ 1.710908] init: Parsing file /vendor/etc/init/[email protected]... [ 1.711292] init: Parsing file /vendor/etc/init/[email protected]... [ 1.711666] init: Parsing file /vendor/etc/init/[email protected]... [ 1.712038] init: Parsing file /vendor/etc/init/[email protected]... [ 1.712389] init: Parsing file /vendor/etc/init/[email protected]... [ 1.712729] init: Parsing file /vendor/etc/init/[email protected]... [ 1.713093] init: Parsing file /vendor/etc/init/[email protected]... [ 1.713464] init: Parsing file /vendor/etc/init/esed.rc... [ 1.713828] init: Parsing file /vendor/etc/init/hostapd.android.rc... [ 1.714325] init: Parsing file /vendor/etc/init/init-taimen.rc... [ 1.714699] init: Parsing file /vendor/etc/init/init.taimen.diag.rc... [ 1.715119] init: Parsing file /vendor/etc/init/init.taimen.logging.rc... [ 1.715459] init: Parsing file /vendor/etc/init/rild.rc... [ 1.715808] init: Parsing file /vendor/etc/init/vndservicemanager.rc... [ 1.716200] init: processing action (early-init) from (/init.rc:15) [ 1.718266] init: starting service 'ueventd'... [ 1.718757] init: processing action (early-init) from (/vendor/etc/init/hw/init.taimen.rc:37) [ 1.719441] audit: type=1400 audit(325954.777:4): avc: denied { sys_admin } for pid=579 comm="ueventd" capability=21 scontext=u:r:ueventd:s0 tcontext=u:r:ueventd:s0 tclass=capability permissive=0 [ 1.722129] ueventd: ueventd started! [ 1.722296] init: starting service 'vendor.insmod_sh'... [ 1.722823] init: processing action (wait_for_coldboot_done) from (<Builtin Action>:0) [ 1.724711] selinux: SELinux: Loaded file_contexts\x0a [ 1.724770] ueventd: Parsing file /ueventd.rc... [ 1.726161] ueventd: Parsing file /vendor/ueventd.rc... [ 1.727644] ueventd: Parsing file /odm/ueventd.rc... [ 1.727677] ueventd: Unable to read config file '/odm/ueventd.rc': open() failed: No such file or directory [ 1.727760] ueventd: Parsing file /ueventd.taimen.rc... [ 1.727784] ueventd: Unable to read config file '/ueventd.taimen.rc': open() failed: No such file or directory [ 1.734229] audit: type=1400 audit(325954.792:5): avc: denied { sys_admin } for pid=581 comm="init.insmod.sh" capability=21 scontext=u:r:init-insmod-sh:s0 tcontext=u:r:init-insmod-sh:s0 tclass=capability permissive=0 [ 1.758348] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.759861] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.765876] audit: type=1400 audit(325954.823:6): avc: denied { sys_admin } for pid=582 comm="getprop" capability=21 scontext=u:r:init-insmod-sh:s0 tcontext=u:r:init-insmod-sh:s0 tclass=capability permissive=0 [ 1.772625] ueventd: firmware: loading 'drv2624.bin' for '/devices/soc/c17a000.i2c/i2c-6/6-005a/firmware/drv2624.bin' [ 1.774093] ueventd: loading /devices/soc/c17a000.i2c/i2c-6/6-005a/firmware/drv2624.bin took 1ms [ 1.774123] drv2624 6-005a: drv2624_firmware_load, firmware good [ 1.778431] audit: type=1400 audit(325954.836:7): avc: denied { sys_admin } for pid=585 comm="insmod" capability=21 scontext=u:r:init-insmod-sh:s0 tcontext=u:r:init-insmod-sh:s0 tclass=capability permissive=0 [ 1.793721] SMB138X: smb138x_get_prop_charger_temp: Couldnt read chg temp at 1th iteration rc = -61 [ 1.793948] audit: type=1400 audit(325954.851:8): avc: denied { sys_admin } for pid=586 comm="insmod" capability=21 scontext=u:r:init-insmod-sh:s0 tcontext=u:r:init-insmod-sh:s0 tclass=capability permissive=0 [ 1.794727] SMB138X: smb138x_get_prop_connector_health: Couldn't read connector temperature rc=-61 [ 1.795748] ueventd: firmware: loading 'tas2557s_PG21_uCDSP.bin' for '/devices/soc/c1b5000.i2c/i2c-7/7-004d/firmware/tas2557s_PG21_uCDSP.bin' [ 1.797077] tas2557s 7-004d: tas2557_fw_ready: [ 1.797089] ueventd: loading /devices/soc/c1b5000.i2c/i2c-7/7-004d/firmware/tas2557s_PG21_uCDSP.bin took 1ms [ 1.797998] tas2557s 7-004d: TAS2557 calibration file size = 550 [ 1.798003] tas2557s 7-004d: FW Size = 550 [ 1.798008] tas2557s 7-004d: Checksum = 0x0000 [ 1.798011] tas2557s 7-004d: PPC Version = 0x0000 [ 1.798024] tas2557s 7-004d: FW Version = 0x0000 [ 1.798028] tas2557s 7-004d: Driver Version= 0x0100 [ 1.798031] tas2557s 7-004d: Timestamp = 623 [ 1.798034] tas2557s 7-004d: DDC Name = Calibration Data File [ 1.798038] tas2557s 7-004d: Description = Calibration Data File for TAS2557 Dual Mono [ 1.798043] tas2557s 7-004d: TAS2557 calibration: 1 calibrations [ 1.798050] tas2557s 7-004d: FW Size = 51609 [ 1.798054] tas2557s 7-004d: Checksum = 0x35E64F0F [ 1.798057] tas2557s 7-004d: PPC Version = 0x5C000 [ 1.798060] tas2557s 7-004d: FW Version = 0x1010000 [ 1.798064] tas2557s 7-004d: Driver Version= 0x0300 [ 1.798067] tas2557s 7-004d: Timestamp = 1501470973 [ 1.798070] tas2557s 7-004d: DDC Name = tas2557s_PG21_uCDSP [ 1.798073] tas2557s 7-004d: Description = TI SmartAmp [ 1.798141] tas2557s 7-004d: find default configuration 0 [ 1.802771] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.805191] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.812237] audit: type=1400 audit(325954.870:9): avc: denied { sys_admin } for pid=588 comm="insmod" capability=21 scontext=u:r:init-insmod-sh:s0 tcontext=u:r:init-insmod-sh:s0 tclass=capability permissive=0 [ 1.814379] tas2557s 7-004d: load program 0 (Tuning Mode) [ 1.814386] tas2557s 7-004d: TAS2557 load data: Tuning Mode Program, Blocks = 3, Block Type = 13 [ 1.820081] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.823636] audit: type=1400 audit(325954.881:10): avc: denied { sys_admin } for pid=591 comm="insmod" capability=21 scontext=u:r:init-insmod-sh:s0 tcontext=u:r:init-insmod-sh:s0 tclass=capability permissive=0 [ 1.824586] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.827423] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.830970] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.835445] fts_touch 5-0049: [FTS] Received Charger Connected Event [ 1.901220] SMB138X: smb138x_parallel_get_prop: parallel power supply get prop 4 not supported [ 1.907873] ueventd: Coldboot took 0.178 seconds [ 1.915862] init: wait for '/dev/.coldboot_done' took 193ms [ 1.916011] init: Command 'wait_for_coldboot_done' action=wait_for_coldboot_done (<Builtin Action>:0) took 193ms and succeeded [ 1.916393] init: processing action (MixHwrngIntoLinuxRng) from (<Builtin Action>:0) [ 1.916761] init: Mixed 512 bytes from /dev/hw_random into /dev/urandom [ 1.916799] init: processing action (SetMmapRndBits) from (<Builtin Action>:0) [ 1.917396] init: processing action (SetKptrRestrict) from (<Builtin Action>:0) [ 1.917489] init: processing action (keychord_init) from (<Builtin Action>:0) [ 1.917558] keychord: using input dev qpnp_pon for fevent [ 1.917566] keychord: using input dev s2w_pwrkey for fevent [ 1.917578] keychord: using input dev gpio-keys for fevent [ 1.917656] init: processing action (console_init) from (<Builtin Action>:0) [ 1.917717] init: processing action (init) from (/init.rc:42) [ 1.918211] init: Command 'copy /default.prop /dev/urandom' action=init (/init.rc:47) took 0ms and failed: Could not read input file '/default.prop': open() failed: Too many symbolic links encountered [ 1.918523] init: Service 'vendor.insmod_sh' (pid 581) exited with status 0 [ 1.937481] init: Command 'mount cgroup2 cg2_bpf /dev/cg2_bpf nodev noexec nosuid' action=init (/init.rc:226) took 0ms and failed: mount() failed: No such device [ 1.940706] Registered swp emulation handler [ 1.941301] init: processing action (init) from (/init.environ.rc:2) [ 1.941338] init: processing action (init) from (/vendor/etc/init/hw/init.taimen.rc:43) [ 1.942319] init: Command 'write /sys/devices/soc/${ro.boot.bootdevice}/clkscale_enable 0' action=init (/vendor/etc/init/hw/init.taimen.rc:45) took 0ms and failed: Unable to write to file '/sys/devices/soc/1da4000.ufshc/clkscale_enable': open() failed: Permission denied [ 1.942619] init: Command 'write /sys/module/lpm_levels/parameters/sleep_disabled Y' action=init (/vendor/etc/init/hw/init.taimen.rc:47) took 0ms and failed: Unable to write to file '/sys/module/lpm_levels/parameters/sleep_disabled': open() failed: Permission denied [ 1.942702] init: wait for '/dev/block/platform/soc/1da4000.ufshc' took 0ms [ 1.945922] init: starting service 'vendor.qseecomd'... [ 1.946823] init: Command 'symlink /sdcard /storage/sdcard0' action=init (/vendor/etc/init/hw/init.taimen.rc:59) took 0ms and failed: symlink() failed: Permission denied [ 1.946964] msm_thermal:store_cc_enabled Core control disabled [ 1.966445] init: processing action (ro.boot.revision=* && init) from (/vendor/etc/init/init-taimen.rc:31) [ 1.966579] init: processing action (MixHwrngIntoLinuxRng) from (<Builtin Action>:0) [ 1.966841] init: Mixed 512 bytes from /dev/hw_random into /dev/urandom [ 1.966875] init: processing action (late-init) from (/init.rc:279) [ 1.966905] init: processing action (late-init) from (/system/etc/init/atrace.rc:3) [ 1.968118] init: processing action (queue_property_triggers) from (<Builtin Action>:0) [ 1.968146] init: processing action (fs) from (/vendor/etc/init/hw/init.taimen.rc:162) [ 1.968388] init: starting service 'hwservicemanager'... [ 1.971711] init: [libfs_mgr]__mount(source=/dev/block/platform/soc/1da4000.ufshc/by-name/modem_a,target=/firmware,type=vfat)=0: Success [ 1.972292] init: Parsing file /product/etc/init... [ 1.972316] init: Unable to read config file '/product/etc/init': open() failed: No such file or directory [ 1.972337] init: Parsing file /odm/etc/init... [ 1.972353] init: Unable to read config file '/odm/etc/init': open() failed: No such file or directory [ 1.974470] capability: warning: `qseecomd' uses 32-bit capabilities (legacy support in use) [ 1.975781] scm_call failed: func id 0x72000206, ret: -1, syscall returns: 0x0, 0x0, 0x0 [ 1.976696] scm_call failed: func id 0x72000206, ret: -1, syscall returns: 0x0, 0x0, 0x0 [ 1.980302] init: processing action (fs) from (/system/etc/init/logd.rc:18) [ 1.980530] init: processing action (fs) from (/system/etc/init/wifi-events.rc:17) [ 1.980586] init: processing action (post-fs) from (/init.rc:312) [ 1.981465] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.982064] scm_call failed: func id 0x72000206, ret: -1, syscall returns: 0x0, 0x0, 0x0 [ 1.982074] init: Couldn't load property file '/odm/build.prop': open() failed: No such file or directory: No such file or directory [ 1.983961] init: Couldn't load property file '/factory/factory.prop': open() failed: No such file or directory: No such file or directory [ 1.984590] init: /recovery not specified in fstab [ 1.984611] scm_call failed: func id 0x72000206, ret: -1, syscall returns: 0x0, 0x0, 0x0 [ 1.984737] init: starting service 'logd'... [ 1.985950] init: starting service 'servicemanager'... [ 1.986549] init: Created socket '/dev/socket/logd', mode 666, user 1036, group 1036 [ 1.986788] init: starting service 'vndservicemanager'... [ 1.986913] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 1.987058] init: Created socket '/dev/socket/logdr', mode 666, user 1036, group 1036 [ 1.987546] init: Created socket '/dev/socket/logdw', mode 222, user 1036, group 1036 [ 1.987601] init: Command 'chown system cache /cache' action=post-fs (/init.rc:339) took 0ms and failed: lchown() failed: Read-only file system [ 1.987640] init: Command 'chmod 0770 /cache' action=post-fs (/init.rc:340) took 0ms and failed: fchmodat() failed: Read-only file system [ 1.987726] selinux: SELinux: Could not set context for /cache: Read-only file system\x0a [ 1.988795] init: Opened file '/proc/kmsg', flags 0 [ 1.988840] init: Opened file '/dev/kmsg', flags 1 [ 1.989221] selinux: SELinux: Could not stat /metadata: No such file or directory.\x0a [ 1.989764] init: processing action (post-fs) from (/vendor/etc/init/hw/init.taimen.rc:221) [ 1.990885] scm_call failed: func id 0x72000206, ret: -1, syscall returns: 0x0, 0x0, 0x0 [ 1.991772] init: Wait for property took 1ms [ 1.991799] init: processing action (post-fs) from (/system/etc/init/recovery-refresh.rc:1) [ 1.991939] init: starting service 'exec 1 (/system/bin/recovery-refresh)'... [ 1.992407] init: processing action (late-fs) from (/init.rc:377) [ 1.993700] init: starting service 'vendor.boot-hal-1-0'... [ 1.994574] init: starting service 'vendor.gatekeeper-1-0'... [ 1.995800] init: starting service 'vendor.keymaster-3-0'... [ 1.996320] init: processing action (late-fs) from (/vendor/etc/init/hw/init.taimen.rc:198) [ 1.996811] init: starting service 'vendor.devstart_sh'... [ 1.997433] init: starting service 'surfaceflinger'... [ 1.998007] init: starting service 'bootanim'... [ 1.998980] init: starting service 'vendor.hwcomposer-2-1'... [ 1.999970] init: Created socket '/dev/socket/pdx/system/vr/display/client', mode 666, user 1000, group 1003 [ 2.000935] init: Created socket '/dev/socket/pdx/system/vr/display/manager', mode 666, user 1000, group 1003 [ 2.001059] init: starting service 'vendor.configstore-hal'... [ 2.001193] init: Created socket '/dev/socket/pdx/system/vr/display/vsync', mode 666, user 1000, group 1003 [ 2.005690] adsp-loader soc:qcom,msm-adsp-loader: adsp_loader_do: scheduling work to load ADSP fw [ 2.005878] sensors-ssc soc:qcom,msm-ssc-sensors: slpi_loader_do: scheduling work to load SLPI fw [ 2.006971] init: starting service 'vendor.gralloc-2-0'... [ 2.007059] subsys-restart: __subsystem_get(): Changing subsys fw_name to slpi_v2 [ 2.007564] subsys-pil-tz 17300000.qcom,lpass: adsp: loading from 0x0000000000000000 to 0x0000000000000000 [ 2.007682] subsys-pil-tz 5c00000.qcom,ssc: slpi: loading from 0x0000000000000000 to 0x0000000000000000 [ 2.014357] init: Service 'exec 1 (/system/bin/recovery-refresh)' (pid 617) exited with status 254 [ 2.017328] logd.auditd: start [ 2.029041] type=1400 audit(325955.082:16): avc: denied { sys_admin } for pid=637 comm="grep" capability=21 scontext=u:r:init-qcom-devstart-sh:s0 tcontext=u:r:init-qcom-devstart-sh:s0 tclass=capability permissive=0 [ 2.030937] type=1400 audit(325955.082:16): avc: denied { sys_admin } for pid=637 comm="grep" capability=21 scontext=u:r:init-qcom-devstart-sh:s0 tcontext=u:r:init-qcom-devstart-sh:s0 tclass=capability permissive=0 [ 2.030964] type=1400 audit(325955.088:17): avc: denied { sys_admin } for pid=638 comm="sed" capability=21 scontext=u:r:init-qcom-devstart-sh:s0 tcontext=u:r:init-qcom-devstart-sh:s0 tclass=capability permissive=0 [ 2.035468] init: Wait for property took 27ms [ 2.037083] init: [libfs_mgr]superblock s_max_mnt_count:65535,/dev/block/platform/soc/1da4000.ufshc/by-name/userdata [ 2.037187] init: [libfs_mgr]Filesystem on /dev/block/platform/soc/1da4000.ufshc/by-name/userdata was not cleanly shutdown; state flags: 0x1, incompat feature flags: 0x102c6 [ 2.037744] SMB138X: smb138x_parallel_get_prop: parallel power supply get prop 4 not supported [ 2.039120] EXT4-fs (sda13): Ignoring removed nomblk_io_submit option [ 2.050283] type=1400 audit(325955.088:17): avc: denied { sys_admin } for pid=638 comm="sed" capability=21 scontext=u:r:init-qcom-devstart-sh:s0 tcontext=u:r:init-qcom-devstart-sh:s0 tclass=capability permissive=0 [ 2.050302] type=1400 audit(325955.108:18): avc: denied { sys_admin } for pid=643 comm="setprop" capability=21 scontext=u:r:init-qcom-devstart-sh:s0 tcontext=u:r:init-qcom-devstart-sh:s0 tclass=capability permissive=0 [ 2.094311] usbpd0: Log buffer index 37 is NULL [ 2.162342] mdss_fb_blank_sub: mdss_fb_open+0xac/0x1b0 mode:0 [ 2.302873] subsys-pil-tz 5c00000.qcom,ssc: slpi: Brought out of reset [ 2.341220] subsys-pil-tz 5c00000.qcom,ssc: Subsystem error monitoring/handling services are up [ 2.341334] sensors-ssc soc:qcom,msm-ssc-sensors: slpi_load_fw: SLPI image is loaded [ 2.341740] subsys-pil-tz 5c00000.qcom,ssc: slpi: Power/Clock ready interrupt received [ 2.341864] IPC_RTR: ipc_router_create_log_ctx: Unable to create IPC logging for [dsps_IPCRTR] [ 2.349320] tas2557s 7-004d: TAS2557 load data: Tuning Mode Program, Blocks = 3, Block Type = 1 [ 2.355635] tas2557s 7-004d: TAS2557 load data: Tuning Mode Program, Blocks = 3, Block Type = 8 [ 2.365658] tas2557s 7-004d: TAS2557 load data: MusicPlayback, Blocks = 4, Block Type = 4 [ 2.367112] tas2557s 7-004d: TAS2557 load data: MusicPlayback, Blocks = 4, Block Type = 11 [ 2.368562] tas2557s 7-004d: TAS2557 load data: MusicPlayback, Blocks = 4, Block Type = 3 [ 2.382193] EXT4-fs (sda13): recovery complete [ 2.382612] EXT4-fs (sda13): mounted filesystem with ordered data mode. Opts: errors=remount-ro,nomblk_io_submit [ 2.382724] init: [libfs_mgr]check_fs(): mount(/dev/block/platform/soc/1da4000.ufshc/by-name/userdata,/data,ext4)=0: Success [ 2.450170] subsys-pil-tz 17300000.qcom,lpass: adsp: Brought out of reset [ 2.460898] apr_tal_link_state_cb: edge[lpass] link state[0] [ 2.462231] subsys-pil-tz 17300000.qcom,lpass: Subsystem error monitoring/handling services are up [ 2.462395] subsys-pil-tz 17300000.qcom,lpass: adsp: Power/Clock ready interrupt received [ 2.464140] subsys-pil-tz soc:qcom,kgsl-hyp: a540_zap: loading from 0x0000000000000000 to 0x0000000000000000 [ 2.465884] FG: fg_get_battery_temp: batt temperature original:300, tuned:269 [ 2.466780] FG: fg_get_battery_temp: batt temperature original:300, tuned:269 [ 2.474791] FG: fg_get_battery_temp: batt temperature original:300, tuned:269 [ 2.479479] init: [libfs_mgr]check_fs(): unmount(/data) succeeded [ 2.479768] init: [libfs_mgr]Running /system/bin/e2fsck on /dev/block/platform/soc/1da4000.ufshc/by-name/userdata [ 2.500627] IPC_RTR: ipc_router_create_log_ctx: Unable to create IPC logging for [lpass_IPCRTR] [ 2.502486] sysmon-qmi: sysmon_clnt_svc_arrive: Connection established between QMI handle and adsp's SSCTL service [ 2.506217] diag: In socket_open_client, socket not initialized for LPASS_CMD [ 2.506506] type=1400 audit(325955.108:18): avc: denied { sys_admin } for pid=643 comm="setprop" capability=21 scontext=u:r:init-qcom-devstart-sh:s0 tcontext=u:r:init-qcom-devstart-sh:s0 tclass=capability permissive=0 [ 2.506573] type=1400 audit(325955.564:19): avc: denied { create } for pid=89 comm="kworker/u16:2" scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=socket permissive=0 [ 2.507924] diag: In diag_send_feature_mask_update, control channel is not open, p: 1, 0000000000000000 [ 2.509432] subsys-pil-tz soc:qcom,kgsl-hyp: a540_zap: Brought out of reset [ 2.510446] sysmon-qmi: sysmon_clnt_svc_arrive: Connection established between QMI handle and slpi's SSCTL service [ 2.510805] type=1400 audit(325955.564:19): avc: denied { create } for pid=89 comm="kworker/u16:2" scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=socket permissive=0 [ 2.510867] type=1400 audit(325955.568:20): avc: denied { sys_admin } for pid=662 comm="e2fsck" capability=21 scontext=u:r:fsck:s0 tcontext=u:r:fsck:s0 tclass=capability permissive=0 [ 2.515000] diag: In socket_open_client, socket not initialized for SENSORS_CMD [ 2.515122] type=1400 audit(325955.568:20): avc: denied { sys_admin } for pid=662 comm="e2fsck" capability=21 scontext=u:r:fsck:s0 tcontext=u:r:fsck:s0 tclass=capability permissive=0 [ 2.515141] type=1400 audit(325955.572:21): avc: denied { create } for pid=106 comm="kworker/u16:3" scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=socket permissive=0 [ 2.517756] diag: In diag_send_feature_mask_update, control channel is not open, p: 3, 0000000000000000 [ 2.533663] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x0000000000000000 [ 2.533675] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x0000000000000000 [ 2.533684] sps_register_bam_device : unable to create IPC Logging 2 for bam 0x0000000000000000 [ 2.533687] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x0000000000000000 [ 2.533693] sps_register_bam_device : unable to create IPC Logging 4 for bam 0x0000000000000000 [ 2.533759] sps:BAM 0x0000000000000000 (va:0x0000000000000000) enabled: ver:0x19, number of pipes:19 [ 2.533764] sps:BAM 0x0000000000000000 is registered. [ 2.537902] sps_register_bam_device : unable to create IPC Logging 0 for bam 0x0000000000000000 [ 2.537916] sps_register_bam_device : unable to create IPC Logging 1 for bam 0x0000000000000000 [ 2.537920] sps_register_bam_device : unable to create IPC Logging 2 for bam 0x0000000000000000 [ 2.537926] sps_register_bam_device : unable to create IPC Logging 3 for bam 0x0000000000000000 [ 2.537929] sps_register_bam_device : unable to create IPC Logging 4 for bam 0x0000000000000000 [ 2.538006] sps:BAM 0x0000000000000000 (va:0x0000000000000000) enabled: ver:0x19, number of pipes:31 [ 2.538030] sps:BAM 0x0000000000000000 is registered. [ 2.538413] FG: fg_get_battery_temp: batt temperature original:300, tuned:269 [ 2.539147] slimbus sb-1: of_slim: invalid E-addr [ 2.539266] wcd-slim tasha-slim-pgd: Platform data from device tree [ 2.539335] wcd-slim tasha-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-vdd-buck: vol=[1800000 1800000]uV, curr=[650000]uA, ond 0 [ 2.539353] wcd-slim tasha-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-buck-sido: vol=[1800000 1800000]uV, curr=[250000]uA, ond 0 [ 2.539370] wcd-slim tasha-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-vdd-tx-h: vol=[1800000 1800000]uV, curr=[25000]uA, ond 0 [ 2.539387] wcd-slim tasha-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-vdd-rx-h: vol=[1800000 1800000]uV, curr=[25000]uA, ond 0 [ 2.539407] lge_battery: bm_check_status: wake_locked: present[1] chg_state[1] vbus[0] [ 2.539407] wcd-slim tasha-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-vddpx-1: vol=[1800000 1800000]uV, curr=[10000]uA, ond 0 [ 2.539421] lge_battery: lge_battery_probe: Battery manager driver probe success! [ 2.539756] wcd-slim tasha-slim-pgd: wcd9xxx_slim_probe: probing for wcd type: 2, name: tasha-slim-pgd [ 2.545330] tas2557s 7-004d: TAS2557 load data: MusicPlayback, Blocks = 4, Block Type = 10 [ 2.549777] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: CODEC DAI tavil_vifeedback not registered [ 2.566618] FG: fg_get_battery_temp: batt temperature original:300, tuned:269 [ 2.566755] msm-dwc3 a800000.ssusb: dwc3_msm_resume: exiting lpm [ 2.569836] msm-dwc3 a800000.ssusb: DWC3 exited from low power mode [ 2.572443] FG: fg_get_battery_temp: batt temperature original:300, tuned:269 [ 2.683862] wcd-slim tasha-slim-pgd: wcd9xxx_slim_probe: failed to get slimbus tasha-slim-pgd logical address: -6 [ 2.686162] wcd-slim tavil-slim-pgd: Platform data from device tree [ 2.686357] wcd-slim tavil-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-vdd-buck: vol=[1800000 1800000]uV, curr=[650000]uA, ond 0 [ 2.686462] wcd-slim tavil-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-buck-sido: vol=[1800000 1800000]uV, curr=[250000]uA, ond 0 [ 2.686566] wcd-slim tavil-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-vdd-tx-h: vol=[1800000 1800000]uV, curr=[25000]uA, ond 0 [ 2.686670] wcd-slim tavil-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-vdd-rx-h: vol=[1800000 1800000]uV, curr=[25000]uA, ond 0 [ 2.686780] wcd-slim tavil-slim-pgd: msm_cdc_dt_parse_vreg_info: cdc-vddpx-1: vol=[1800000 1800000]uV, curr=[10000]uA, ond 0 [ 2.687692] wcd-slim tavil-slim-pgd: wcd9xxx_slim_probe: probing for wcd type: 4, name: tavil-slim-pgd [ 2.696609] tas2557s 7-004d: TAS2557 load data: Calibration Data, Blocks = 2, Block Type = 3 [ 2.699179] tas2557s 7-004d: TAS2557 load data: Calibration Data, Blocks = 2, Block Type = 10 [ 2.734621] slimbus:1 laddr:0xcf, EAPC:0x1:0x50 [ 2.735001] wcd-slim tavil-slim-pgd: wcd9xxx_slim_device_up: slim device up, dev_up = 1 [ 2.735243] slimbus:1 laddr:0xce, EAPC:0x0:0x50 [ 2.737512] wcd-slim tavil-slim-pgd: wcd934x_get_codec_info: wcd9xxx chip id major 0x108, minor 0x1 [ 2.737567] wcd9xxx_core_res_init: num_irqs = 32, num_irq_regs = 4 [ 2.772309] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: CODEC DAI tavil_vifeedback not registered [ 2.773484] mdss_fb_blank_sub: mdss_fb_blank+0x98/0x1b0 mode:0 [ 2.773497] fts_touch 5-0049: fts_resume power state : 0 [ 2.773499] fts_touch 5-0049: fts_resume: calling resume from active state, skipping [ 2.773693] lge_battery: bm_vote_fcc_update: vote id[1], set cur[1000000] [ 2.789190] sps:BAM 0x0000000000000000 (va:0x0000000000000000) enabled: ver:0x19, number of pipes:18 [ 2.792013] tavil_codec tavil_codec: tavil_soc_codec_probe() [ 2.794864] tavil_codec tavil_codec: tavil_dsd_init: DSD unsupported for this codec version [ 2.795073] wcd-dsp-mgr soc:qcom,wcd-dsp-mgr: for wdsp segments only will be dumped. [ 2.798247] wcd-dsp-mgr soc:qcom,wcd-dsp-mgr: bound tavil_codec (ops 0xffffff91fb5a6b80) [ 2.798530] wcd-dsp-mgr soc:qcom,wcd-dsp-mgr: bound spi2.0 (ops 0xffffff91fb5aa420) [ 2.798549] wcd-dsp-mgr soc:qcom,wcd-dsp-mgr: bound soc:qcom,glink-spi-xprt-wdsp (ops 0xffffff91fb4674c0) [ 2.810133] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for MI2S_TX --> MI2S_TX --> MultiMedia10 Mixer [ 2.810149] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route MI2S_TX -> MI2S_TX -> MultiMedia10 Mixer [ 2.810395] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for AUX_PCM_TX --> AUX_PCM_TX --> MultiMedia10 Mixer [ 2.810402] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route AUX_PCM_TX -> AUX_PCM_TX -> MultiMedia10 Mixer [ 2.810494] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for SEC_AUX_PCM_TX --> SEC_AUX_PCM_TX --> MultiMedia10 Mixer [ 2.810500] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route SEC_AUX_PCM_TX -> SEC_AUX_PCM_TX -> MultiMedia10 Mixer [ 2.810594] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for TERT_AUX_PCM_TX --> TERT_AUX_PCM_TX --> MultiMedia10 Mixer [ 2.810600] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route TERT_AUX_PCM_TX -> TERT_AUX_PCM_TX -> MultiMedia10 Mixer [ 2.810697] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for QUAT_AUX_PCM_TX --> QUAT_AUX_PCM_TX --> MultiMedia10 Mixer [ 2.810704] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route QUAT_AUX_PCM_TX -> QUAT_AUX_PCM_TX -> MultiMedia10 Mixer [ 2.810950] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for TERT_MI2S_TX --> TERT_MI2S_TX --> MultiMedia10 Mixer [ 2.810957] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route TERT_MI2S_TX -> TERT_MI2S_TX -> MultiMedia10 Mixer [ 2.811050] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for INT2_MI2S_TX --> INT2_MI2S_TX --> MultiMedia10 Mixer [ 2.811058] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route INT2_MI2S_TX -> INT2_MI2S_TX -> MultiMedia10 Mixer [ 2.811138] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for INT3_MI2S_TX --> INT3_MI2S_TX --> MultiMedia10 Mixer [ 2.811145] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route INT3_MI2S_TX -> INT3_MI2S_TX -> MultiMedia10 Mixer [ 3.143107] msm_audrx_init: dev_namesoc:qcom,msm-dai-q6:qcom,msm-dai-q6-sb-0-rx [ 3.165207] apr_tal_notify_state: Channel state[0] [ 3.175350] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: no source widget found for Handset 2nd Mic [ 3.175360] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: Failed to add route Handset 2nd Mic -> direct -> MIC BIAS3 [ 3.175406] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: no source widget found for Handset 3rd Mic [ 3.175413] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: Failed to add route Handset 3rd Mic -> direct -> MIC BIAS4 [ 3.175935] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: no sink widget found for SpkrLeft IN [ 3.175942] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: Failed to add route SPK1 OUT -> direct -> SpkrLeft IN [ 3.175989] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: no sink widget found for SpkrRight IN [ 3.175996] msm8998-asoc-snd 1711a000.sound-tavil: ASoC: Failed to add route SPK2 OUT -> direct -> SpkrRight IN [ 3.184602] msm8998-asoc-snd 1711a000.sound-tavil: Sound card msm8998-tavil-taimen-snd-card registered [ 3.760532] IPC_RTR: msm_ipc_router_smd_driver_register Already driver registered IPCRTR [ 3.760543] IPC_RTR: msm_ipc_router_smd_driver_register Already driver registered IPCRTR [ 4.431913] e2fsck: e2fsck 1.43.3 (04-Sep-2016)\x0a [ 4.432196] e2fsck: Pass 1: Checking inodes, blocks, and sizes\x0a [ 4.432268] e2fsck: Inode 2229649 extent tree (at level 1) could be shorter. Fix? yes\x0a [ 4.432327] e2fsck: \x0a [ 4.432386] e2fsck: Pass 1E: Optimizing extent trees\x0a [ 4.432444] e2fsck: Pass 2: Checking directory structure\x0a [ 4.432503] e2fsck: Pass 3: Checking directory connectivity\x0a [ 4.432562] e2fsck: Pass 4: Checking reference counts\x0a [ 4.432619] e2fsck: Pass 5: Checking group summary information\x0a [ 4.432681] e2fsck: [QUOTA WARNING] Usage inconsistent for ID 10162:actual (347222016, 2977) != expected (347226112, 2977)\x0a [ 4.432739] e2fsck: Update quota info for quota type 0? yes\x0a [ 4.432795] e2fsck: \x0a [ 4.432855] e2fsck: [QUOTA WARNING] Usage inconsistent for ID 10162:actual (51445760, 350) != expected (51449856, 350)\x0a [ 4.432914] e2fsck: Update quota info for quota type 1? yes\x0a [ 4.432969] e2fsck: \x0a [ 4.433089] e2fsck: \x0a [ 4.433154] e2fsck: /dev/block/platform/soc/1da4000.ufshc/by-name/userdata: ***** FILE SYSTEM WAS MODIFIED *****\x0a [ 4.433221] e2fsck: /dev/block/platform/soc/1da4000.ufshc/by-name/userdata: 124509/3481600 files (8.1% non-contiguous), 4175554/13902843 blocks\x0a [ 4.433288] e2fsck: e2fsck terminated by exit(1)\x0a [ 4.433833] init: [libfs_mgr]e2fsck returned status 0x100 [ 4.434949] init: [libfs_mgr]superblock s_max_mnt_count:65535,/dev/block/platform/soc/1da4000.ufshc/by-name/userdata [ 4.459479] EXT4-fs (sda13): mounted filesystem with ordered data mode. Opts: errors=panic,barrier=1,noauto_da_alloc [ 4.459828] init: [libfs_mgr]__mount(source=/dev/block/platform/soc/1da4000.ufshc/by-name/userdata,target=/data,type=ext4)=0: Success [ 4.460449] init: [libfs_mgr]/data is file encrypted [ 4.462712] init: Keyring created with id 84938200 in process 1 [ 4.463543] init: Command 'mount_all /vendor/etc/fstab.${ro.hardware} --late' action=late-fs (/vendor/etc/init/hw/init.taimen.rc:213) took 2427ms and succeeded [ 4.470081] init: starting service 'vendor.time_daemon'... [ 4.475987] init: processing action (late-fs) from (/vendor/etc/init/init-taimen.rc:1) [ 4.478085] init: Service 'vendor.devstart_sh' (pid 621) exited with status 0 [ 4.479529] type=1400 audit(325955.572:21): avc: denied { create } for pid=106 comm="kworker/u16:3" scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=socket permissive=0 [ 4.479552] type=1400 audit(325957.536:22): avc: denied { sys_admin } for pid=695 comm="time_daemon" capability=21 scontext=u:r:time_daemon:s0 tcontext=u:r:time_daemon:s0 tclass=capability permissive=0 [ 4.482279] init: Received control message 'start' for 'bootanim' from pid: 622 (/system/bin/surfaceflinger) [ 4.487751] init: processing action (post-fs-data) from (/init.rc:385) [ 4.489150] init: starting service 'vold'... [ 4.494831] init: starting service 'exec 2 (/system/bin/vdc --wait cryptfs enablefilecrypto)'... [ 4.496431] init: SVC_EXEC pid 697 (uid 0 gid 0+0 context default) started; waiting... [ 4.501233] type=1400 audit(325957.536:22): avc: denied { sys_admin } for pid=695 comm="time_daemon" capability=21 scontext=u:r:time_daemon:s0 tcontext=u:r:time_daemon:s0 tclass=capability permissive=0 [ 4.501259] type=1400 audit(325957.559:23): avc: denied { sys_admin } for pid=697 comm="vdc" capability=21 scontext=u:r:vdc:s0 tcontext=u:r:vdc:s0 tclass=capability permissive=0 [ 4.566976] vdc: Waited 40ms for vold [ 4.586956] init: Service 'exec 2 (/system/bin/vdc --wait cryptfs enablefilecrypto)' (pid 697) exited with status 0 waiting took 0.091000 seconds [ 4.588230] init: Setting policy on /data/bootchart [ 4.590516] init: Policy for /data/bootchart set to 557bb22475fd11a5 modes 127/126 [ 4.594919] init: Setting policy on /data/misc [ 4.595349] init: Found policy 557bb22475fd11a5 at /data/misc which matches expected value [ 4.620288] init: Setting policy on /data/local [ 4.620743] init: Found policy 557bb22475fd11a5 at /data/local which matches expected value [ 4.627672] init: Setting policy on /data/vendor [ 4.628143] init: Found policy 557bb22475fd11a5 at /data/vendor which matches expected value [ 4.628511] init: Not setting policy on /data/vendor_ce [ 4.629337] init: Not setting policy on /data/vendor_de [ 4.631109] init: Not setting policy on /data/data [ 4.632216] init: Setting policy on /data/app-private [ 4.632599] init: Policy for /data/app-private set to 557bb22475fd11a5 modes 127/126 [ 4.632800] init: Setting policy on /data/app-ephemeral [ 4.633160] init: Policy for /data/app-ephemeral set to 557bb22475fd11a5 modes 127/126 [ 4.634133] init: Setting policy on /data/app-asec [ 4.634422] init: Policy for /data/app-asec set to 557bb22475fd11a5 modes 127/126 [ 4.634743] init: Setting policy on /data/app-lib [ 4.635084] init: Policy for /data/app-lib set to 557bb22475fd11a5 modes 127/126 [ 4.635937] init: Setting policy on /data/app [ 4.637103] init: Found policy 557bb22475fd11a5 at /data/app which matches expected value [ 4.638305] init: Setting policy on /data/property [ 4.638615] init: Found policy 557bb22475fd11a5 at /data/property which matches expected value [ 4.638972] init: Setting policy on /data/tombstones [ 4.639289] init: Found policy 557bb22475fd11a5 at /data/tombstones which matches expected value [ 4.640817] init: Setting policy on /data/dalvik-cache [ 4.641277] init: Found policy 557bb22475fd11a5 at /data/dalvik-cache which matches expected value [ 4.642281] init: Setting policy on /data/ota [ 4.642646] init: Policy for /data/ota set to 557bb22475fd11a5 modes 127/126 [ 4.643765] init: Setting policy on /data/ota_package [ 4.644177] init: Policy for /data/ota_package set to 557bb22475fd11a5 modes 127/126 [ 4.645322] init: Setting policy on /data/resource-cache [ 4.645710] init: Found policy 557bb22475fd11a5 at /data/resource-cache which matches expected value [ 4.645888] init: Not setting policy on /data/lost+found [ 4.646240] init: Setting policy on /data/drm [ 4.646628] init: Found policy 557bb22475fd11a5 at /data/drm which matches expected value [ 4.646956] init: Setting policy on /data/mediadrm [ 4.647353] init: Policy for /data/mediadrm set to 557bb22475fd11a5 modes 127/126 [ 4.647711] init: Setting policy on /data/anr [ 4.648076] init: Found policy 557bb22475fd11a5 at /data/anr which matches expected value [ 4.648483] init: Setting policy on /data/nfc [ 4.648813] init: Found policy 557bb22475fd11a5 at /data/nfc which matches expected value [ 4.649728] init: Setting policy on /data/backup [ 4.650098] init: Found policy 557bb22475fd11a5 at /data/backup which matches expected value [ 4.650448] init: Setting policy on /data/ss [ 4.650822] init: Policy for /data/ss set to 557bb22475fd11a5 modes 127/126 [ 4.650959] init: Setting policy on /data/system [ 4.651178] init: Found policy 557bb22475fd11a5 at /data/system which matches expected value [ 4.652361] init: Not setting policy on /data/system_de [ 4.652491] init: Not setting policy on /data/system_ce [ 4.652600] init: Not setting policy on /data/misc_de [ 4.652711] init: Not setting policy on /data/misc_ce [ 4.652816] init: Not setting policy on /data/user [ 4.652926] init: Not setting policy on /data/user_de [ 4.653283] init: Not setting policy on /data/media [ 4.653983] init: Setting policy on /data/media/obb [ 4.654305] init: Found policy 557bb22475fd11a5 at /data/media/obb which matches expected value [ 4.654452] init: Setting policy on /data/cache [ 4.654792] init: Found policy 557bb22475fd11a5 at /data/cache which matches expected value [ 4.655745] init: starting service 'exec 3 (/system/bin/vdc --wait cryptfs init_user0)'... [ 4.656359] init: SVC_EXEC pid 718 (uid 0 gid 0+0 context default) started; waiting... [ 4.657439] type=1400 audit(325957.559:23): avc: denied { sys_admin } for pid=697 comm="vdc" capability=21 scontext=u:r:vdc:s0 tcontext=u:r:vdc:s0 tclass=capability permissive=0 [ 4.657451] type=1400 audit(1533422720.571:24): avc: denied { sys_admin } for pid=718 comm="vdc" capability=21 scontext=u:r:vdc:s0 tcontext=u:r:vdc:s0 tclass=capability permissive=0 [ 4.667131] vdc: Waited 0ms for vold [ 4.688334] type=1400 audit(1533422720.571:24): avc: denied { sys_admin } for pid=718 comm="vdc" capability=21 scontext=u:r:vdc:s0 tcontext=u:r:vdc:s0 tclass=capability permissive=0 [ 4.688357] type=1400 audit(1533422720.602:25): avc: denied { sys_admin } for pid=721 comm="vold_prepare_su" capability=21 scontext=u:r:vold_prepare_subdirs:s0 tcontext=u:r:vold_prepare_subdirs:s0 tclass=capability permissive=0 [ 4.710354] init: Service 'exec 3 (/system/bin/vdc --wait cryptfs init_user0)' (pid 718) exited with status 0 waiting took 0.054000 seconds [ 4.710689] selinux: SELinux: Skipping restorecon_recursive(/data)\x0a [ 4.710931] init: starting service 'exec 4 (/system/bin/tzdatacheck /system/usr/share/zoneinfo /data/misc/zoneinfo)'... [ 4.711447] init: SVC_EXEC pid 723 (uid 1000 gid 1000+0 context default) started; waiting... [ 4.724315] init: Service 'exec 4 (/system/bin/tzdatacheck /system/usr/share/zoneinfo /data/misc/zoneinfo)' (pid 723) exited with status 0 waiting took 0.013000 seconds [ 4.724424] init: processing action (post-fs-data) from (/init.magisk.rc:1) [ 4.727005] init: starting service 'magisk_startup'... [ 4.860576] logd: logdr: UID=0 GID=0 PID=728 n tail=0 logMask=19 pid=0 start=0ns timeout=0ns [ 4.884089] logd: logdr: UID=0 GID=0 PID=732 n tail=0 logMask=1 pid=0 start=0ns timeout=0ns [ 4.910360] logd: logdr: UID=0 GID=0 PID=737 n tail=0 logMask=4 pid=0 start=0ns timeout=0ns [ 4.926601] logd: logdr: UID=0 GID=0 PID=739 n tail=0 logMask=10 pid=0 start=0ns timeout=0ns [ 4.939539] logd: logdr: UID=0 GID=0 PID=745 b tail=0 logMask=15 pid=0 start=0ns timeout=0ns [ 4.944706] EXT4-fs (loop8): mounted filesystem with ordered data mode. Opts: (null) [ 4.945535] type=1400 audit(1533422720.602:25): avc: denied { sys_admin } for pid=721 comm="vold_prepare_su" capability=21 scontext=u:r:vold_prepare_subdirs:s0 tcontext=u:r:vold_prepare_subdirs:s0 tclass=capability permissive=0 [ 4.945547] type=1400 audit(1533422720.859:26): avc: denied { check_context } for pid=727 comm="magisk.bin" scontext=u:r:magisk:s0 tcontext=u:object_r:kernel:s0 tclass=security permissive=1 [ 4.981589] init: wait for '/dev/.magisk.unblock' took 253ms [ 4.981644] init: Command 'wait /dev/.magisk.unblock 10' action=post-fs-data (/init.magisk.rc:6) took 253ms and succeeded [ 4.981715] init: Service 'magisk_startup' (pid 724) exited with status 0 [ 4.981855] init: processing action (post-fs-data) from (/init.usb.rc:6) [ 4.982786] init: Setting policy on /data/adb [ 4.982858] init: Found policy 557bb22475fd11a5 at /data/adb which matches expected value [ 4.982874] init: processing action (post-fs-data) from (/vendor/etc/init/hw/init.taimen.rc:250) [ 4.983163] init: starting service 'netd'... [ 4.984992] init: Created socket '/dev/socket/netd', mode 660, user 0, group 1000 [ 4.985450] init: start_waiting_for_property("sys.time.set", "true"): already set [ 4.985470] init: processing action (post-fs-data) from (/system/etc/init/bootstat.rc:7) [ 4.985694] init: Created socket '/dev/socket/dnsproxyd', mode 660, user 0, group 3003 [ 4.986319] init: Created socket '/dev/socket/mdns', mode 660, user 0, group 1000 [ 4.986859] init: processing action (post-fs-data) from (/system/etc/init/incidentd.rc:21) [ 4.986918] init: Created socket '/dev/socket/fwmarkd', mode 660, user 0, group 3003 [ 4.987324] init: processing action (post-fs-data) from (/system/etc/init/otapreopt.rc:3) [ 4.987470] init: starting service 'exec 5 (/system/bin/otapreopt_slot)'... [ 4.988111] init: SVC_EXEC pid 752 (uid 0 gid 0+0 context default) started; waiting... [ 4.990156] type=1400 audit(1533422720.859:26): avc: denied { check_context } for pid=727 comm="magisk.bin" scontext=u:r:magisk:s0 tcontext=u:object_r:kernel:s0 tclass=security permissive=1 [ 4.990184] type=1400 audit(1533422720.903:27): avc: denied { sys_admin } for pid=751 comm="netd" capability=21 scontext=u:r:netd:s0 tcontext=u:r:netd:s0 tclass=capability permissive=0 [ 4.991257] type=1400 audit(1533422720.903:27): avc: denied { sys_admin } for pid=751 comm="netd" capability=21 scontext=u:r:netd:s0 tcontext=u:r:netd:s0 tclass=capability permissive=0 [ 4.991271] type=1400 audit(1533422720.905:28): avc: denied { sys_admin } for pid=752 comm="otapreopt_slot" capability=21 scontext=u:r:otapreopt_slot:s0 tcontext=u:r:otapreopt_slot:s0 tclass=capability permissive=0 [ 5.000146] type=1400 audit(1533422720.905:28): avc: denied { sys_admin } for pid=752 comm="otapreopt_slot" capability=21 scontext=u:r:otapreopt_slot:s0 tcontext=u:r:otapreopt_slot:s0 tclass=capability permissive=0 [ 5.000170] type=1400 audit(1533422720.911:29): avc: denied { sys_admin } for pid=753 comm="getprop" capability=21 scontext=u:r:otapreopt_slot:s0 tcontext=u:r:otapreopt_slot:s0 tclass=capability permissive=0 [ 5.027540] init: Service 'exec 5 (/system/bin/otapreopt_slot)' (pid 752) exited with status 0 waiting took 0.039000 seconds [ 5.028079] selinux: SELinux: Skipping restorecon_recursive(/data/dalvik-cache/arm)\x0a [ 5.028335] selinux: SELinux: Skipping restorecon_recursive(/data/dalvik-cache/arm64)\x0a [ 5.028380] selinux: SELinux: Could not stat /data/dalvik-cache/mips: No such file or directory.\x0a [ 5.028418] selinux: SELinux: Could not stat /data/dalvik-cache/mips64: No such file or directory.\x0a [ 5.028449] selinux: SELinux: Could not stat /data/dalvik-cache/x86: No such file or directory.\x0a [ 5.028479] selinux: SELinux: Could not stat /data/dalvik-cache/x86_64: No such file or directory.\x0a [ 5.028518] init: processing action (post-fs-data) from (/system/etc/init/recovery-persist.rc:1) [ 5.028977] init: starting service 'exec 6 (/system/bin/recovery-persist)'... [ 5.029498] init: processing action (post-fs-data) from (/system/etc/init/statsd.rc:25) [ 5.030346] init: processing action (post-fs-data) from (/vendor/etc/init/esed.rc:6) [ 5.031882] init: starting service 'vendor.ese_load'... [ 5.032909] init: processing action (post-fs-data) from (/vendor/etc/init/hostapd.android.rc:9) [ 5.035509] init: processing action (post-fs-data) from (/vendor/etc/init/init.taimen.logging.rc:1) [ 5.036617] init: processing action (ro.crypto.state=encrypted && ro.crypto.type=file && zygote-start) from (/init.rc:575) [ 5.036961] init: starting service 'update_verifier_nonencrypted'... [ 5.038346] init: SVC_EXEC pid 761 (uid 0 gid 2001+1 context default) started; waiting... [ 5.038480] init: Service 'exec 6 (/system/bin/recovery-persist)' (pid 758) exited with status 0 [ 5.049646] update_verifier: Started with arg 1: nonencrypted [ 5.052283] update_verifier: Booting slot 0: isSlotMarkedSuccessful=1 [ 5.052300] update_verifier: Leaving update_verifier. [ 5.053260] init: Service 'update_verifier_nonencrypted' (pid 761) exited with status 0 waiting took 0.015000 seconds [ 5.053902] init: starting service 'zygote'... [ 5.054986] init: starting service 'zygote_secondary'... [ 5.055279] init: Created socket '/dev/socket/zygote', mode 660, user 0, group 1000 [ 5.056228] init: processing action (zygote-start) from (/vendor/etc/init/hw/init.taimen.rc:268) [ 5.056480] init: Created socket '/dev/socket/zygote_secondary', mode 660, user 0, group 1000 [ 5.057255] init: Setting policy on /data/tombstones [ 5.057437] init: Found policy 557bb22475fd11a5 at /data/tombstones which matches expected value [ 5.062162] init: Not setting policy on /data/media [ 5.069652] init: Setting policy on /data/hostapd [ 5.070683] init: Policy for /data/hostapd set to 557bb22475fd11a5 modes 127/126 [ 5.071198] wlan: Loading driver v5.2.1.1J.1 () [ 5.072791] wlan_hdd_state wlan major(227) initialized [ 5.072798] wlan: driver loaded [ 5.074198] init: Setting policy on /data/connectivity [ 5.074726] init: Policy for /data/connectivity set to 557bb22475fd11a5 modes 127/126 [ 5.075301] init: Setting policy on /data/dpm [ 5.075757] init: Found policy 557bb22475fd11a5 at /data/dpm which matches expected value [ 5.085381] init: processing action (load_persist_props_action) from (/init.rc:269) [ 5.129492] pn81a spi1.0: ese_open: NFC controller found [ 5.130677] nq-nci 8-0028: setting ese_gpio high [ 5.182393] init: Init cannot set 'ro.persistent_properties.ready' to 'true': Read-only property was already set [ 5.182460] init: Command 'load_persist_props' action=load_persist_props_action (/init.rc:270) took 97ms and succeeded [ 5.182534] init: Service 'vendor.ese_load' (pid 759) exited with status 1 [ 5.182796] init: starting service 'logd-reinit'... [ 5.183376] init: processing action (firmware_mounts_complete) from (/init.rc:275) [ 5.183423] init: processing action (early-boot) from (/vendor/etc/init/hw/init.taimen.rc:403) [ 5.183565] init: start_waiting_for_property("sys.qcom.devup", "1"): already set [ 5.183634] init: start_waiting_for_property("sys.all.modules.ready", "1"): already set [ 5.184712] init: [libfs_mgr]Failed to query DM_TABLE_STATUS for vroot: No such device or address [ 5.187053] init: processing action (early-boot) from (/vendor/etc/init/hw/init.wahoo.usb.rc:17) [ 5.187238] init: Command 'mount configfs none /config' action=early-boot (/vendor/etc/init/hw/init.wahoo.usb.rc:18) took 0ms and failed: mount() failed: Device or resource busy [ 5.188873] Mass Storage Function, version: 2009/09/11 [ 5.188885] LUN: removable file: (no medium) [ 5.191409] logd.daemon: reinit [ 5.194464] init: Service 'logd-reinit' (pid 788) exited with status 0 [ 5.195274] file system registered [ 5.196970] f_cdev_alloc: port_name:at_usb0 (0000000000000000) portno:(0) [ 5.197973] f_cdev_alloc: port_name:at_usb1 (0000000000000000) portno:(1) [ 5.202897] init: processing action (early-boot) from (/system/etc/init/installd.rc:5) [ 5.207679] init: processing action (boot) from (/init.rc:582) [ 5.210528] init: starting service 'vendor.thermal-engine'... [ 5.211529] init: starting service 'hidl_memory'... [ 5.211631] init: Created socket '/dev/socket/thermal-send-client', mode 666, user 1000, group 1000 [ 5.211930] init: Created socket '/dev/socket/thermal-recv-client', mode 660, user 1000, group 1000 [ 5.212222] init: starting service 'healthd'... [ 5.212282] init: Created socket '/dev/socket/thermal-recv-passive-client', mode 666, user 1000, group 1000 [ 5.212790] init: starting service 'vr_hwc'... [ 5.213865] init: starting service 'vendor.audio-hal-2-0'... [ 5.218011] init: starting service 'vendor.bluetooth-1-0'... [ 5.220789] init: starting service 'vendor.camera-provider-2-4'... [ 5.222315] init: starting service 'vendor.cas-hal-1-0'... [ 5.223397] init: starting service 'vendor.contexthub-hal-1-0'... [ 5.223629] init: couldn't write 798 to /dev/cpuset/camera-daemon/tasks: No such file or directory [ 5.224442] init: starting service 'vendor.drm-hal-1-0'... [ 5.227562] init: starting service 'vendor.drm-clearkey-hal-1-1'... [ 5.229117] init: starting service 'vendor.drm-widevine-hal-1-1'... [ 5.231590] init: starting service 'vendor.dumpstate-1-0'... [ 5.232877] init: starting service 'vendor.gnss_service'... [ 5.234229] init: starting service 'vendor.health-hal-2-0'... [ 5.236376] init: starting service 'vendor.light-hal-2-0'... [ 5.238010] init: Opened file '/dev/kmsg', flags 1 [ 5.240476] init: starting service 'vendor.memtrack-hal-1-0'... [ 5.244570] init: starting service 'nfc_hal_service'... [ 5.247293] init: starting service 'vendor.oemlock_hal'... [ 5.251418] init: starting service 'vendor.oemlock_bridge'... [ 5.255153] init: starting service 'vendor.power-hal-1-2'... [ 5.257078] init: starting service 'vendor.sensors-hal-1-0'... [ 5.260052] init: starting service 'vendor.usb-hal-1-1'... [ 5.262411] init: starting service 'vendor.vibrator-1-2'... [ 5.263863] init: Created socket '/dev/socket/oemlock', mode 666, user 1000, group 1000 [ 5.264439] init: starting service 'vendor.vr-wahoo-1-0'... [ 5.266058] init: starting service 'vendor.wifi_hal_legacy'... [ 5.268177] init: starting service 'vendor.esed'... [ 5.269737] init: Command 'class_start hal' action=boot (/init.rc:677) took 59ms and succeeded [ 5.273794] init: starting service 'vendor.msm_irqbalance'... [ 5.278504] init: starting service 'vendor.per_mgr'... [ 5.281169] init: starting service 'vendor.sensors'... [ 5.282511] init: starting service 'vendor.irsc_util'... [ 5.286208] init: starting service 'vendor.rmt_storage'... [ 5.290257] init: starting service 'vendor.tftp_server'... [ 5.293580] init: starting service 'vendor.pd_mapper'... [ 5.294564] init: starting service 'audioserver'... [ 5.295479] init: starting service 'bufferhubd'... [ 5.296289] init: starting service 'lmkd'... [ 5.300292] init: starting service 'performanced'... [ 5.301183] init: starting service 'thermalservice'... [ 5.301857] init: starting service 'virtual_touchpad'... [ 5.302281] healthd: Unknown power supply type 'Wipower' [ 5.302331] healthd: Unknown power supply type 'BMS' [ 5.302433] healthd: Unknown power supply type 'Main' [ 5.302508] healthd: Unknown power supply type 'Parallel' [ 5.302520] init: processing action (boot) from (/init.usb.rc:21) [ 5.302649] init: processing action (persist.sys.usb.config=* && boot) from (/init.usb.rc:102) [ 5.302682] init: processing action (boot) from (/vendor/etc/init/hw/init.taimen.rc:445) [ 5.304691] init: Created socket '/dev/socket/lmkd', mode 660, user 1000, group 1000 [ 5.305161] init: Created socket '/dev/socket/msm_irqbalance', mode 660, user 0, group 1000 [ 5.324794] init: Created socket '/dev/socket/pdx/system/buffer_hub/client', mode 660, user 1000, group 1000 [ 5.332313] init: Service 'vendor.irsc_util' (pid 823) exited with status 0 [ 5.333178] init: processing action (boot) from (/vendor/etc/init/hw/init.wahoo.usb.rc:57) [ 5.333429] init: processing action (boot) from (/system/etc/init/bootstat.rc:61) [ 5.333453] init: processing action (boot) from (/system/etc/init/dumpstate.rc:1) [ 5.333528] init: processing action (boot) from (/vendor/etc/init/[email protected]:7) [ 5.333638] init: processing action (boot) from (/vendor/etc/init/[email protected]:6) [ 5.334000] nq-nci 8-0028: setting ese_gpio high [ 5.334156] init: processing action (boot) from (/vendor/etc/init/init-taimen.rc:27) [ 5.334342] init: processing action (enable_property_trigger) from (<Builtin Action>:0) [ 5.334499] init: processing action (security.perf_harden=1) from (/init.rc:736) [ 5.334736] init: processing action (sys.listeners.registered=true) from (/vendor/etc/init/hw/init.taimen.rc:246) [ 5.338669] init: Created socket '/dev/socket/pdx/system/performance/client', mode 666, user 1000, group 1000 [ 5.368126] init: starting service 'vendor.ipastart_sh'... [ 5.368728] init: processing action (init.svc.zygote=running) from (/vendor/etc/init/hw/init.taimen.rc:520) [ 5.369099] init: starting service 'vendor.folio_daemon'... [ 5.369421] healthd: Unknown power supply type 'Wipower' [ 5.369465] healthd: Unknown power supply type 'BMS' [ 5.369571] healthd: Unknown power supply type 'Main' [ 5.369658] healthd: Unknown power supply type 'Parallel' [ 5.369694] init: processing action (persist.sys.ssr.restart_level=*) from (/vendor/etc/init/hw/init.taimen.rc:541) [ 5.373575] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 5.374071] healthd: battery l=96 v=4369 t=27.0 h=2 st=2 c=-402 fc=3680000 cc=25 chg=u [ 5.374399] init: starting service 'vendor.ssr_setup'... [ 5.375143] init: processing action (init.svc.vendor.per_mgr=running) from (/vendor/etc/init/hw/init.taimen.rc:628) [ 5.377442] servloc: service_locator_svc_arrive: Connection established with the Service locator [ 5.377457] servloc: init_service_locator: Service locator initialized [ 5.377678] servloc: service_locator_send_msg: No matching domains found [ 5.377683] servloc: service_locator_send_msg: No matching domains found [ 5.377687] error locating audio-PD [ 5.377690] audio-PDs matched:0 [ 5.377691] servloc: service_locator_send_msg: No matching domains found [ 5.377701] audio_pdr_locator_callback: Service avs/audio returned invalid total domains 0 [ 5.377701] audio_notifer_reg_service: service SSR_ADSP is in use [ 5.377702] error locating audio-PD [ 5.377706] audio-PDs matched:0 [ 5.381486] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 5.381914] healthd: battery l=96 v=4369 t=27.0 h=2 st=2 c=-402 fc=3680000 cc=25 chg=u [ 5.382818] init: starting service 'vendor.per_proxy'... [ 5.383533] init: processing action (ro.boot.bootreason=*) from (/system/etc/init/bootstat.rc:4) [ 5.383692] init: processing action (persist.traced.enable=1) from (/system/etc/init/perfetto.rc:48) [ 5.385575] init: starting service 'traced'... [ 5.386520] init: starting service 'traced_probes'... [ 5.387458] init: processing action (ro.boot.slot_suffix=*) from (/system/etc/init/update_engine.rc:8) [ 5.387489] init: processing action (sys.all.modules.ready=1) from (/vendor/etc/init/init-taimen.rc:37) [ 5.388135] fts_touch 5-0049: [fw_update] try:1 [ 5.388149] fts_touch 5-0049: fts_fw_update : firmware name : ftm4_fw.ftb [ 5.391360] fts_touch 5-0049: fts_fw_compare: bin_fw_ver_addr_1 = 0x0001CA7C , bin_fw_ver_addr_2 = 0x0001CA7D [ 5.391379] fts_touch 5-0049: fts_fw_compare : binary[0.44.0] device[0.44.0] -> update: 0 [ 5.391386] fts_touch 5-0049: fts_fw_update : skip fw_upgrade(ic_fw_ver == bin_fw_ver) [ 5.392837] init: Opened file '/dev/kmsg', flags 1 [ 5.393662] init: processing action (persist.vendor.charge.stop.level=* && sys.all.modules.ready=1) from (/vendor/etc/init/init-taimen.rc:44) [ 5.395194] init: processing action (persist.vendor.charge.start.level=* && sys.all.modules.ready=1) from (/vendor/etc/init/init-taimen.rc:47) [ 5.396219] init: processing action (nonencrypted) from (/init.rc:681) [ 5.396291] init: Could not start service 'flash_recovery' as part of class 'main': Cannot find '/system/bin/install-recovery.sh': No such file or directory [ 5.398340] init: Created socket '/dev/socket/traced_consumer', mode 666, user 0, group 0 [ 5.399006] ipa ipa3_uc_state_check:302 uC interface not initialized [ 5.399154] init: starting service 'vendor.adsprpcd'... [ 5.399158] init: Created socket '/dev/socket/traced_producer', mode 666, user 0, group 0 [ 5.404916] init: starting service 'vendor.imsqmidaemon'... [ 5.405966] init: Could not start service 'vendor.qmuxd' as part of class 'main': Cannot find '/vendor/bin/qmuxd': No such file or directory [ 5.408937] init: starting service 'vendor.cnd'... [ 5.412302] init: Created socket '/dev/socket/ims_qmid', mode 660, user 1000, group 1001 [ 5.415187] init: starting service 'vendor.netmgrd'... [ 5.421572] init: starting service 'vendor.port-bridge'... [ 5.423711] subsys-pil-tz soc:qcom,ipa_fws@1e08000: ipa_fws: loading from 0x0000000000000000 to 0x0000000000000000 [ 5.425308] init: starting service 'vendor.ipacm'... [ 5.429477] init: starting service 'vendor.qti'... [ 5.456760] init: starting service 'cameraserver'... [ 5.462895] 'opened /dev/adsprpc-smd c 228 0' [ 5.463560] init: starting service 'drm'... [ 5.469085] init: couldn't write 936 to /dev/cpuset/camera-daemon/tasks: No such file or directory [ 5.473665] init: starting service 'incidentd'... [ 5.476183] subsys-restart: __subsystem_get(): Changing subsys fw_name to modem [ 5.477710] init: starting service 'installd'... [ 5.480202] init: starting service 'keystore'... [ 5.483965] init: starting service 'mediadrm'... [ 5.484148] ueventd: firmware: loading 'modem.mdt' for '/devices/soc/4080000.qcom,mss/firmware/modem.mdt' [ 5.486276] msm_thermal:set_enabled enabled = 0 [ 5.486511] init: starting service 'mediaextractor'... [ 5.486916] msm_thermal:store_cpus_offlined "thermal-engine"(PID:923) request cpus offlined mask 0 [ 5.488681] init: starting service 'mediametrics'... [ 5.489111] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.mdt took 5ms [ 5.489310] pil-q6v5-mss 4080000.qcom,mss: modem: loading from 0x0000000000000000 to 0x0000000000000000 [ 5.491657] init: starting service 'media'... [ 5.514886] init: starting service 'statsd'... [ 5.518121] init: starting service 'storaged'... [ 5.519289] ueventd: firmware: loading 'mba.mbn' for '/devices/soc/4080000.qcom,mss/firmware/mba.mbn' [ 5.520103] init: starting service 'wificond'... [ 5.522600] init: Failed to open file '/d/mmc0/mmc0:0001/ext_csd': No such file or directory [ 5.525702] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/mba.mbn took 28ms [ 5.525936] init: starting service 'vendor.media.omx'... [ 5.529610] init: starting service 'vendor.ril-daemon'... [ 5.530544] init: Command 'class_start main' action=nonencrypted (/init.rc:682) took 134ms and succeeded [ 5.531270] init: Service 'vendor.ssr_setup' (pid 871) exited with status 0 [ 5.531703] init: starting service 'magisk_service'... [ 5.532693] init: starting service 'vendor.init-elabel-sh'... [ 5.537808] init: Created socket '/dev/socket/statsdw', mode 222, user 1066, group 1066 [ 5.545484] ueventd: firmware: loading 'msadp' for '/devices/soc/4080000.qcom,mss/firmware/msadp' [ 5.545715] ueventd: firmware: could not find firmware for msadp [ 5.546440] pil-q6v5-mss 4080000.qcom,mss: Debug policy not present - msadp. Continue. [ 5.546476] pil-q6v5-mss 4080000.qcom,mss: Loading MBA and DP (if present) from 0x0000000000000000 to 0x0000000000000000 size 100000 [ 5.547661] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/msadp took 2ms [ 5.550410] init: starting service 'vendor.init-radio-sh'... [ 5.552957] init: starting service 'vendor.cnss-daemon'... [ 5.559225] init: starting service 'vendor.loc_launcher'... [ 5.569409] subsys-pil-tz soc:qcom,ipa_fws@1e08000: ipa_fws: Brought out of reset [ 5.570719] init: starting service 'vendor.chre'... [ 5.571320] ipa ipa3_uc_state_check:302 uC interface not initialized [ 5.573799] init: starting service 'gatekeeperd'... [ 5.576921] init: starting service 'tombstoned'... [ 5.579049] init: starting service 'update_engine'... [ 5.590649] ipa ipa3_uc_state_check:302 uC interface not initialized [ 5.592730] gsi soc:qcom,msm_gsi: gsi_register_device:766 GSI irq is wake enabled 43 [ 5.595309] init: Created socket '/dev/socket/chre', mode 660, user 0, group 1000 [ 5.597162] init: starting service 'usbd'... [ 5.606568] init: Created socket '/dev/socket/tombstoned_crash', mode 666, user 1000, group 1000 [ 5.607247] init: Created socket '/dev/socket/tombstoned_intercept', mode 666, user 1000, group 1000 [ 5.607769] init: Created socket '/dev/socket/tombstoned_java_trace', mode 666, user 1000, group 1000 [ 5.611234] init: starting service 'fps_hal'... [ 5.620274] init: Command 'class_start late_start' action=nonencrypted (/init.rc:683) took 88ms and succeeded [ 5.621743] pil-q6v5-mss 4080000.qcom,mss: MBA boot done [ 5.625936] init: processing action (init.svc.mediadrm=running) from (/vendor/etc/init/[email protected]:1) [ 5.638962] init: Service 'vendor.ipastart_sh' (pid 864) exited with status 0 [ 5.639375] init: Service 'vendor.init-elabel-sh' (pid 974) exited with status 0 [ 5.640179] init: starting service 'vendor.move_data_sh'... [ 5.644638] init: processing action (vendor.ims.QMI_DAEMON_STATUS=1) from (/vendor/etc/init/hw/init.taimen.rc:723) [ 5.660238] ueventd: firmware: loading 'modem.b02' for '/devices/soc/4080000.qcom,mss/firmware/modem.b02' [ 5.661110] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b02 took 0ms [ 5.678061] 'opened /dev/sdsprpc-smd c 228 2' [ 5.679806] init: starting service 'vendor.imsdatadaemon'... [ 5.695755] init: Created socket '/dev/socket/ims_datad', mode 660, user 1000, group 1001 [ 5.698744] init: Service 'vendor.move_data_sh' (pid 999) exited with status 0 [ 5.712933] type=1400 audit(1533422720.911:29): avc: denied { sys_admin } for pid=753 comm="getprop" capability=21 scontext=u:r:otapreopt_slot:s0 tcontext=u:r:otapreopt_slot:s0 tclass=capability permissive=0 [ 5.712957] type=1400 audit(1533422721.626:49): avc: denied { sys_admin } for pid=1012 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 5.732554] ueventd: firmware: loading 'modem.b03' for '/devices/soc/4080000.qcom,mss/firmware/modem.b03' [ 5.734302] init: Service 'magisk_service' (pid 973) exited with status 0 [ 5.738390] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b03 took 5ms [ 5.742989] init: Received control message 'start' for 'adbd' from pid: 989 (/system/bin/usbd) [ 5.743046] init: starting service 'adbd'... [ 5.749641] init: Created socket '/dev/socket/adbd', mode 660, user 1000, group 1000 [ 5.751480] init: Service 'usbd' (pid 989) exited with status 0 [ 5.755314] ueventd: firmware: loading 'modem.b04' for '/devices/soc/4080000.qcom,mss/firmware/modem.b04' [ 5.758811] type=1400 audit(1533422721.626:49): avc: denied { sys_admin } for pid=1012 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 5.758833] type=1400 audit(1533422721.672:50): avc: denied { sys_admin } for pid=1033 comm="adbd" capability=21 scontext=u:r:adbd:s0 tcontext=u:r:adbd:s0 tclass=capability permissive=0 [ 5.771387] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b04 took 16ms [ 5.782919] ueventd: firmware: loading 'modem.b05' for '/devices/soc/4080000.qcom,mss/firmware/modem.b05' [ 5.783510] IPA driver initialization was successful. [ 5.783526] rmnet_ipa3 started initialization [ 5.783533] IPA SSR support = True [ 5.783538] IPA ipa-loaduC = True [ 5.783542] IPA SG support = True [ 5.783547] IPA Napi Enable = False [ 5.783552] using default for wan-rx-desc-size = 256 [ 5.794834] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b05 took 11ms [ 5.797814] netmgrd: groups: 0x40000000 ngroups: 64 [ 5.799993] ueventd: firmware: loading 'modem.b06' for '/devices/soc/4080000.qcom,mss/firmware/modem.b06' [ 5.803535] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b06 took 3ms [ 5.807153] ipa ipa3_uc_state_check:307 uC is not loaded [ 5.809487] rmnet_ipa completed initialization [ 5.809725] type=1400 audit(1533422721.672:50): avc: denied { sys_admin } for pid=1033 comm="adbd" capability=21 scontext=u:r:adbd:s0 tcontext=u:r:adbd:s0 tclass=capability permissive=0 [ 5.809743] type=1400 audit(1533422721.723:51): avc: denied { sys_admin } for pid=1059 comm="tc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 5.815284] read descriptors [ 5.815396] read strings [ 5.821005] ueventd: firmware: loading 'modem.b07' for '/devices/soc/4080000.qcom,mss/firmware/modem.b07' [ 5.829554] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b07 took 8ms [ 5.831165] type=1400 audit(1533422721.723:51): avc: denied { sys_admin } for pid=1059 comm="tc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 5.831190] type=1400 audit(1533422721.744:52): avc: denied { sys_admin } for pid=1059 comm="tc" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 5.835216] QSEECOM: qseecom_load_app: App (fpctzappfingerprint) does'nt exist, loading apps for first time [ 5.842564] ueventd: firmware: loading 'modem.b08' for '/devices/soc/4080000.qcom,mss/firmware/modem.b08' [ 5.848612] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b08 took 6ms [ 5.861483] type=1400 audit(1533422721.744:52): avc: denied { sys_admin } for pid=1059 comm="tc" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 5.861507] type=1400 audit(1533422721.775:53): avc: denied { sys_admin } for pid=1080 comm="tc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 5.861975] ueventd: firmware: loading 'modem.b09' for '/devices/soc/4080000.qcom,mss/firmware/modem.b09' [ 5.880803] init: Received control message 'interface_start' for '[email protected]::ICameraProvider/legacy/0' from pid: 606 (/system/bin/hwservicemanager) [ 5.880832] init: Could not find service hosting interface [email protected]::ICameraProvider/legacy/0 [ 5.887693] init: Received control message 'interface_start' for '[email protected]::ICameraProvider/legacy/0' from pid: 606 (/system/bin/hwservicemanager) [ 5.887719] init: Could not find service hosting interface [email protected]::ICameraProvider/legacy/0 [ 5.907552] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b09 took 45ms [ 5.921045] ueventd: firmware: loading 'modem.b10' for '/devices/soc/4080000.qcom,mss/firmware/modem.b10' [ 5.921550] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b10 took 0ms [ 5.928687] ueventd: firmware: loading 'modem.b11' for '/devices/soc/4080000.qcom,mss/firmware/modem.b11' [ 5.945802] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b11 took 17ms [ 5.946598] QSEECOM: qseecom_load_app: App with id 196611 (fpctzappfingerprint) now loaded [ 5.947773] ueventd: firmware: loading 'modem.b12' for '/devices/soc/4080000.qcom,mss/firmware/modem.b12' [ 5.950166] input: uinput-fpc as /devices/virtual/input/input6 [ 5.961387] msm_qti_pp_get_rms_value_control, back not active to query rms be_idx:3 [ 5.964930] msm_pm_qos_add_request: add request [ 5.965956] msm_voice_sound_focus_get: Error getting Sound Focus Params, err=-22 [ 5.966299] msm_voice_source_tracking_get: Error getting Source Tracking Params, err=-22 [ 5.966409] msm_audio_get_copp_idx_from_port_id: Invalid FE, exiting [ 5.966414] msm_audio_sound_focus_get: Could not get copp idx for port_id=16385 [ 5.966507] msm_audio_get_copp_idx_from_port_id: Invalid FE, exiting [ 5.966513] msm_audio_source_tracking_get: Could not get copp idx for port_id=16385 [ 5.966606] msm_voice_sound_focus_get: Error getting Sound Focus Params, err=-22 [ 5.966694] msm_voice_source_tracking_get: Error getting Source Tracking Params, err=-22 [ 5.966785] msm_audio_get_copp_idx_from_port_id: Invalid FE, exiting [ 5.966789] msm_audio_sound_focus_get: Could not get copp idx for port_id=4101 [ 5.966887] msm_audio_get_copp_idx_from_port_id: Invalid FE, exiting [ 5.966891] msm_audio_source_tracking_get: Could not get copp idx for port_id=4101 [ 5.966981] msm_voice_sound_focus_get: Error getting Sound Focus Params, err=-22 [ 5.967044] input: uinput-folio as /devices/virtual/input/input7 [ 5.967094] msm_voice_source_tracking_get: Error getting Source Tracking Params, err=-22 [ 5.967192] msm_audio_get_copp_idx_from_port_id: Invalid FE, exiting [ 5.967196] msm_audio_sound_focus_get: Could not get copp idx for port_id=4149 [ 5.967287] msm_audio_get_copp_idx_from_port_id: Invalid FE, exiting [ 5.967291] msm_audio_source_tracking_get: Could not get copp idx for port_id=4149 [ 5.967862] core_get_license_status: cmdrsp_license_result.result = 0x15 for module 0x131ff [ 5.968481] 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 [ 5.971361] tas2557s 7-004d: tas2557_calibration_get = 0 [ 5.974911] msm_sensor_fill_eeprom_subdevid_by_name:216 Eeprom userspace probe for onsemi_lc898123f40xc [ 5.978054] msm_dai_q6_ext_disp_drift_get: afe port not started. status_mask = 0 [ 5.978406] msm_dai_q6_ext_disp_drift_get: afe port not started. status_mask = 0 [ 5.979950] msm_pcm_volume_ctl_get substream runtime not found [ 5.980064] msm_pcm_compress_ctl_get substream runtime not found [ 5.980249] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.980664] msm_pcm_volume_ctl_get substream runtime not found [ 5.980856] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.981064] msm_pcm_volume_ctl_get substream runtime not found [ 5.981163] msm_pcm_volume_ctl_get substream runtime not found [ 5.981823] msm_compr_audio_effects_config_get: stream or effects inactive [ 5.982043] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.982874] msm_pcm_volume_ctl_get substream runtime not found [ 5.982975] msm_pcm_compress_ctl_get substream runtime not found [ 5.983186] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.983504] msm_compr_audio_effects_config_get: stream or effects inactive [ 5.983696] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.984536] msm_pcm_volume_ctl_get substream runtime not found [ 5.984739] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.984935] msm_pcm_volume_ctl_get substream runtime not found [ 5.985046] msm_pcm_volume_ctl_get substream runtime not found [ 5.986752] msm_pcm_volume_ctl_get substream runtime not found [ 5.986946] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.987158] msm_compr_audio_effects_config_get: stream or effects inactive [ 5.987348] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.987946] msm_compr_audio_effects_config_get: stream or effects inactive [ 5.988146] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.988747] msm_compr_audio_effects_config_get: stream or effects inactive [ 5.988940] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.989554] msm_compr_audio_effects_config_get: stream or effects inactive [ 5.989747] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.990359] msm_compr_audio_effects_config_get: stream or effects inactive [ 5.990548] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.991162] msm_compr_audio_effects_config_get: stream or effects inactive [ 5.991350] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 5.991850] msm_pcm_volume_ctl_get substream or runtime not found [ 6.002214] msm_cci_init:1428: hw_version = 0x10060000 [ 6.002508] msm_sensor_power_up: [08-04 22:45:21.916] imx362 [ 6.002518] imx362 probe succeeded [ 6.003409] msm_sensor_power_down: [08-04 22:45:21.917] imx362 [ 6.007405] audit_log_lost: 17 callbacks suppressed [ 6.007419] audit: audit_lost=33 audit_rate_limit=5 audit_backlog_limit=64 [ 6.007427] audit: rate limit exceeded [ 6.019119] msm-dwc3 a800000.ssusb: Avail curr from USB = 100 [ 6.024725] init: Service 'vendor.init-radio-sh' (pid 978) exited with status 0 [ 6.028176] msm_sensor_fill_eeprom_subdevid_by_name:216 Eeprom userspace probe for primax_g802l [ 6.040804] msm_cci_init:1428: hw_version = 0x10060000 [ 6.041014] msm_sensor_power_up: [08-04 22:45:21.954] imx179 [ 6.041034] imx179 probe succeeded [ 6.041597] msm_sensor_power_down: [08-04 22:45:21.955] imx179 [ 6.054882] msm_csid_init: CSID_VERSION = 0x30050000 [ 6.055653] msm_csid_irq CSID0_IRQ_STATUS_ADDR = 0x800 [ 6.056406] msm_csid_init: CSID_VERSION = 0x30050000 [ 6.057167] msm_csid_irq CSID2_IRQ_STATUS_ADDR = 0x800 [ 6.060593] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b12 took 112ms [ 6.061782] ueventd: firmware: loading 'modem.b13' for '/devices/soc/4080000.qcom,mss/firmware/modem.b13' [ 6.064920] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b13 took 3ms [ 6.067764] ueventd: firmware: loading 'modem.b14' for '/devices/soc/4080000.qcom,mss/firmware/modem.b14' [ 6.068881] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b14 took 1ms [ 6.069868] ueventd: firmware: loading 'modem.b16' for '/devices/soc/4080000.qcom,mss/firmware/modem.b16' [ 6.071404] SELinux: 65536 avtab hash slots, 174043 rules. [ 6.074650] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b16 took 4ms [ 6.075473] ueventd: firmware: loading 'modem.b17' for '/devices/soc/4080000.qcom,mss/firmware/modem.b17' [ 6.103369] SELinux: 65536 avtab hash slots, 174043 rules. [ 6.103381] SELinux: 1 users, 4 roles, 1564 types, 0 bools, 1 sens, 1024 cats [ 6.103386] SELinux: 93 classes, 174043 rules [ 6.117172] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 6.117642] healthd: battery l=96 v=4292 t=27.0 h=2 st=2 c=103 fc=3680000 cc=25 chg=u [ 6.117753] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 6.118246] healthd: battery l=96 v=4292 t=27.0 h=2 st=2 c=103 fc=3680000 cc=25 chg=u [ 6.172200] android_work: sent uevent USB_STATE=CONNECTED [ 6.175994] android_work: sent uevent USB_STATE=DISCONNECTED [ 6.188917] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b17 took 113ms [ 6.255867] ueventd: firmware: loading 'modem.b18' for '/devices/soc/4080000.qcom,mss/firmware/modem.b18' [ 6.272704] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b18 took 16ms [ 6.336260] android_work: sent uevent USB_STATE=CONNECTED [ 6.340649] configfs-gadget gadget: high-speed config #1: b [ 6.340777] msm-dwc3 a800000.ssusb: Avail curr from USB = 500 [ 6.340994] android_work: sent uevent USB_STATE=CONFIGURED [ 6.358638] msm_qti_pp_get_rms_value_control, back not active to query rms be_idx:3 [ 6.363288] msm_voice_sound_focus_get: Error getting Sound Focus Params, err=-22 [ 6.363390] msm_voice_source_tracking_get: Error getting Source Tracking Params, err=-22 [ 6.363483] msm_audio_get_copp_idx_from_port_id: Invalid FE, exiting [ 6.363486] msm_audio_sound_focus_get: Could not get copp idx for port_id=16385 [ 6.363582] msm_audio_get_copp_idx_from_port_id: Invalid FE, exiting [ 6.363585] msm_audio_source_tracking_get: Could not get copp idx for port_id=16385 [ 6.363676] msm_voice_sound_focus_get: Error getting Sound Focus Params, err=-22 [ 6.363766] msm_voice_source_tracking_get: Error getting Source Tracking Params, err=-22 [ 6.363857] msm_audio_get_copp_idx_from_port_id: Invalid FE, exiting [ 6.363860] msm_audio_sound_focus_get: Could not get copp idx for port_id=4101 [ 6.363949] msm_audio_get_copp_idx_from_port_id: Invalid FE, exiting [ 6.363952] msm_audio_source_tracking_get: Could not get copp idx for port_id=4101 [ 6.364058] msm_voice_sound_focus_get: Error getting Sound Focus Params, err=-22 [ 6.364159] msm_voice_source_tracking_get: Error getting Source Tracking Params, err=-22 [ 6.364249] msm_audio_get_copp_idx_from_port_id: Invalid FE, exiting [ 6.364252] msm_audio_sound_focus_get: Could not get copp idx for port_id=4149 [ 6.364344] msm_audio_get_copp_idx_from_port_id: Invalid FE, exiting [ 6.364347] msm_audio_source_tracking_get: Could not get copp idx for port_id=4149 [ 6.365173] core_get_license_status: cmdrsp_license_result.result = 0x15 for module 0x131ff [ 6.365596] 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.366958] tas2557s 7-004d: tas2557_calibration_get = 0 [ 6.369763] msm_cci_init:1428: hw_version = 0x10060000 [ 6.369964] ueventd: firmware: loading 'modem.b20' for '/devices/soc/4080000.qcom,mss/firmware/modem.b20' [ 6.371439] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b20 took 1ms [ 6.372133] ueventd: firmware: loading 'modem.b21' for '/devices/soc/4080000.qcom,mss/firmware/modem.b21' [ 6.373485] msm_dai_q6_ext_disp_drift_get: afe port not started. status_mask = 0 [ 6.373841] msm_dai_q6_ext_disp_drift_get: afe port not started. status_mask = 0 [ 6.375396] msm_pcm_volume_ctl_get substream runtime not found [ 6.375497] msm_pcm_compress_ctl_get substream runtime not found [ 6.375686] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.376145] msm_pcm_volume_ctl_get substream runtime not found [ 6.376446] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.376640] msm_pcm_volume_ctl_get substream runtime not found [ 6.376735] msm_pcm_volume_ctl_get substream runtime not found [ 6.377004] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b21 took 4ms [ 6.377414] msm_compr_audio_effects_config_get: stream or effects inactive [ 6.377617] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.378071] ueventd: firmware: loading 'modem.b22' for '/devices/soc/4080000.qcom,mss/firmware/modem.b22' [ 6.378474] msm_pcm_volume_ctl_get substream runtime not found [ 6.378571] msm_pcm_compress_ctl_get substream runtime not found [ 6.378758] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.379100] msm_compr_audio_effects_config_get: stream or effects inactive [ 6.379295] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.380136] msm_pcm_volume_ctl_get substream runtime not found [ 6.380333] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.380519] msm_pcm_volume_ctl_get substream runtime not found [ 6.380613] msm_pcm_volume_ctl_get substream runtime not found [ 6.382568] msm_pcm_volume_ctl_get substream runtime not found [ 6.382762] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.382959] msm_compr_audio_effects_config_get: stream or effects inactive [ 6.383158] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.383759] msm_compr_audio_effects_config_get: stream or effects inactive [ 6.383946] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.384559] msm_compr_audio_effects_config_get: stream or effects inactive [ 6.384756] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.385386] msm_compr_audio_effects_config_get: stream or effects inactive [ 6.385574] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.386276] msm_compr_audio_effects_config_get: stream or effects inactive [ 6.386487] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.387108] msm_compr_audio_effects_config_get: stream or effects inactive [ 6.387295] msm_adsp_stream_callback_get: ASM Stream PP Event Data Unavailable [ 6.387797] msm_pcm_volume_ctl_get substream or runtime not found [ 6.442214] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b22 took 64ms [ 6.443264] ueventd: firmware: loading 'modem.b23' for '/devices/soc/4080000.qcom,mss/firmware/modem.b23' [ 6.446916] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b23 took 3ms [ 6.448116] ueventd: firmware: loading 'modem.b24' for '/devices/soc/4080000.qcom,mss/firmware/modem.b24' [ 6.451741] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b24 took 3ms [ 6.452201] ueventd: firmware: loading 'modem.b25' for '/devices/soc/4080000.qcom,mss/firmware/modem.b25' [ 6.455502] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b25 took 3ms [ 6.456267] ueventd: firmware: loading 'modem.b26' for '/devices/soc/4080000.qcom,mss/firmware/modem.b26' [ 6.459646] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b26 took 3ms [ 6.460593] ueventd: firmware: loading 'modem.b27' for '/devices/soc/4080000.qcom,mss/firmware/modem.b27' [ 6.464906] ueventd: loading /devices/soc/4080000.qcom,mss/firmware/modem.b27 took 4ms [ 6.484253] wcdcal_hwdep_ioctl_shared: incorrect firmware size 154 for vbat [ 6.687923] selinux: avc: received policyload notice (seqno=2)\x0a [ 6.907714] pil-q6v5-mss 4080000.qcom,mss: modem: Brought out of reset [ 7.034704] apr_tal_link_state_cb: edge[mpss] link state[0] [ 7.036337] IPC_RTR: ipc_router_create_log_ctx: Unable to create IPC logging for [mpss_IPCRTR] [ 7.039346] pil-q6v5-mss 4080000.qcom,mss: Subsystem error monitoring/handling services are up [ 7.039449] pil-q6v5-mss 4080000.qcom,mss: modem: Power/Clock ready interrupt received [ 7.040817] ipa-wan ipa3_ssr_notifier_cb:2548 ipa3_ssr_notifier_cb:2548 IPA received MPSS AFTER_POWERUP [ 7.040824] ipa-wan ipa3_ssr_notifier_cb:2553 IPA AFTER_POWERUP handling is complete [ 7.139897] service-notifier: root_service_service_arrive: Connection established between QMI handle and 180 service [ 7.140925] sysmon-qmi: sysmon_clnt_svc_arrive: Connection established between QMI handle and modem's SSCTL service [ 7.202553] msm_cci_init:1428: hw_version = 0x10060000 [ 7.276471] diag: In socket_open_client, socket not initialized for MODEM_CMD [ 7.276635] type=1400 audit(1533422721.775:53): avc: denied { sys_admin } for pid=1080 comm="tc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 7.276652] type=1400 audit(1533422723.190:125): avc: denied { create } for pid=6 comm="kworker/u16:0" scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=socket permissive=0 [ 7.277114] diag: In socket_open_client, socket not initialized for MODEM_DCI_CMD [ 7.277343] diag: In diag_send_feature_mask_update, control channel is not open, p: 0, 0000000000000000 [ 7.277516] type=1400 audit(1533422723.190:125): avc: denied { create } for pid=6 comm="kworker/u16:0" scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=socket permissive=0 [ 7.277530] type=1400 audit(1533422723.191:126): avc: denied { create } for pid=477 comm="kworker/u16:8" scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=socket permissive=0 [ 7.289968] Sending QMI_IPA_INIT_MODEM_DRIVER_REQ_V01 [ 7.380510] ipa-wan ipa3_handle_indication_req:152 not send indication [ 7.385598] ipa ipa3_uc_state_check:307 uC is not loaded [ 7.387382] ipa ipa3_uc_wdi_event_log_info_handler:370 WDI stats ofst=0x47130 [ 7.387400] ipa ipa3_uc_ntn_event_log_info_handler:39 NTN feature missing 0x9 [ 7.387418] ipa ipa3_uc_state_check:307 uC is not loaded [ 7.388391] QMI_IPA_INIT_MODEM_DRIVER_REQ_V01 response received [ 7.389033] ipa ipa3_uc_state_check:307 uC is not loaded [ 7.406261] MSM-CPP cpp_init_hardware:1138 CPP HW Version: 0x60010000 [ 7.406278] MSM-CPP cpp_init_hardware:1156 stream_cnt:0 [ 7.415825] IPC_RTR: process_new_server_msg: Server 00001002 create rejected, version = 0 [ 7.416599] MSM-CPP cpp_release_hardware:1219 cpp hw release done [ 7.725104] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 7.725944] healthd: battery l=96 v=4339 t=27.0 h=2 st=2 c=-207 fc=3680000 cc=25 chg=u [ 7.790010] imsdatadaemon: groups: 0x40000000 ngroups: 64 [ 7.793256] IPC_RTR: msm_ipc_router_send_to: permission failure for cnss-daemon [ 7.793279] IPC_RTR: msm_ipc_router_sendmsg: Send_to failure -1 [ 7.808462] misc mnh_sm: mnh_sm_set_state: request state 0 [ 7.808476] misc mnh_sm: mnh_sm_set_state: finished state 0 [ 7.811856] misc mnh_sm: mnh_sm_set_state: request state 0 [ 7.811872] misc mnh_sm: mnh_sm_set_state: finished state 0 [ 7.815765] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 7.816149] healthd: battery l=96 v=4339 t=27.0 h=2 st=2 c=-207 fc=3680000 cc=25 chg=u [ 7.816334] msm_pm_qos_update_request: update request 100 [ 7.816351] msm_pm_qos_update_request: update request -1 [ 7.817152] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 7.817604] healthd: battery l=96 v=4339 t=27.0 h=2 st=2 c=-207 fc=3680000 cc=25 chg=u [ 7.822661] msm_csid_init: CSID_VERSION = 0x30050000 [ 7.823357] msm_csid_irq CSID0_IRQ_STATUS_ADDR = 0x800 [ 7.828799] MSM-CPP cpp_init_hardware:1138 CPP HW Version: 0x60010000 [ 7.828828] MSM-CPP cpp_init_hardware:1156 stream_cnt:0 [ 7.839618] init: Received control message 'interface_start' for '[email protected]::ISensorManager/default' from pid: 606 (/system/bin/hwservicemanager) [ 7.839669] init: Could not find service hosting interface [email protected]::ISensorManager/default [ 7.840355] init: Received control message 'interface_start' for '[email protected]::ISensorManager/default' from pid: 606 (/system/bin/hwservicemanager) [ 7.840403] init: Could not find service hosting interface [email protected]::ISensorManager/default [ 7.858836] msm_cci_init:1428: hw_version = 0x10060000 [ 7.859004] msm_sensor_power_up: [08-04 22:45:23.772] imx362 [ 7.881795] msm_stopGyroThread:251 [OISDBG] msm_stopGyroThread:E [ 7.881808] msm_stopGyroThread:261 [OISDBG] invalid timer state = 0 [ 7.881811] msm_stopGyroThread:262 [OISDBG] msm_stopGyroThread:X [ 7.885191] MSM-CPP cpp_release_hardware:1219 cpp hw release done [ 7.886906] [OISFW]:msm_sensor_checkfw [ 7.886928] [OISFW]:checkFWUpdate 1. sid = 26 [ 7.893050] init: processing action (sys.uidcpupower=*) from (/vendor/etc/init/hw/init.taimen.rc:805) [ 7.931358] init: processing action (sys.sysctl.extra_free_kbytes=*) from (/init.rc:726) [ 7.944860] service-notifier: root_service_service_ind_cb: Indication received from msm/modem/wlan_pd, state: 0x1fffffff, trans-id: 1 [ 7.945162] service-notifier: send_ind_ack: Indication ACKed for transid 1, service msm/modem/wlan_pd, instance 180! [ 7.948125] icnss: QMI Server Connected: state: 0x981 [ 7.987329] [OISFW]:checkHWFWversion [ 7.987555] [OISFW]:checkHWFWversion 0x8000 = 0x090e0819. [ 7.987561] [OISFW]:checkHWFWversion FW_version = 0x19. [ 7.987564] [OISFW]checkHWFWversion: No need to update. [ 7.987704] [OISFW]:checkFWUpdate 0x8000 = 0x090e0819 [ 7.987712] [OISFW]:checkFWUpdate 2. sid = 26 [ 7.987718] [OISFW]:checkFWUpdate rc = 0 [ 7.987818] [VCMFW]: msm_sensor_checkvcmfw:E sid = 26 [ 7.987823] [VCMFW]: msm_sensor_checkvcmfw:E addr_type = 2 [ 7.987827] [VCMFW]:checkVCMFWUpdate :E [ 7.987832] [VCMFW]:checkVCMFWUpdate addr_type = 1 [ 7.987836] [VCMFW]:checkVCMFWUpdate sid = 114 [ 7.999405] [VCMFW]:checkVCMFWUpdate UlReadVal = 0x60720600 [ 7.999740] [VCMFW]checkVCMFWUpdate: No need to update AF FW [ 7.999744] [VCMFW]:checkVCMFWUpdate :X [ 7.999748] [VCMFW]: msm_sensor_checkvcmfw:X sid = 26 [ 7.999751] [VCMFW]: msm_sensor_checkvcmfw:X addr_type = 2 [ 7.999830] msm_sensor_power_down: [08-04 15:45:23.913] imx362 [ 8.007102] IPC_RTR: process_new_server_msg: Server 00001003 create rejected, version = 0 [ 8.022194] msm_pm_qos_update_request: update request 100 [ 8.022211] msm_pm_qos_update_request: update request -1 [ 8.023356] msm_csid_init: CSID_VERSION = 0x30050000 [ 8.024047] msm_csid_irq CSID2_IRQ_STATUS_ADDR = 0x800 [ 8.027785] MSM-CPP cpp_init_hardware:1138 CPP HW Version: 0x60010000 [ 8.027804] MSM-CPP cpp_init_hardware:1156 stream_cnt:0 [ 8.029149] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 8.029415] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 8.029478] healthd: battery l=96 v=4339 t=27.0 h=2 st=2 c=-207 fc=3680000 cc=25 chg=u [ 8.030006] healthd: battery l=96 v=4339 t=27.0 h=2 st=2 c=-207 fc=3680000 cc=25 chg=u [ 8.047084] msm_cci_init:1428: hw_version = 0x10060000 [ 8.047293] msm_sensor_power_up: [08-04 15:45:23.961] imx179 [ 8.060071] msm_sensor_power_down: [08-04 15:45:23.974] imx179 [ 8.065889] MSM-CPP cpp_release_hardware:1219 cpp hw release done [ 8.179241] init: processing action (vendor.ims.DATA_DAEMON_STATUS=1) from (/vendor/etc/init/hw/init.taimen.rc:738) [ 8.181138] init: starting service 'vendor.ims_rtp_daemon'... [ 8.183560] init: starting service 'vendor.imsrcsservice'... [ 8.244724] rild: groups: 0x40000000 ngroups: 64 [ 8.311287] read descriptors [ 8.311302] read strings [ 8.311343] read descriptors [ 8.311349] read strings [ 8.316417] ip_local_port_range: prefer different parity for start/end values. [ 8.323099] acc_open [ 8.323116] acc_release [ 8.327444] type=1400 audit(1533422723.191:126): avc: denied { create } for pid=477 comm="kworker/u16:8" scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=socket permissive=0 [ 8.327471] type=1400 audit(1533422724.241:127): avc: denied { sys_admin } for pid=1500 comm="ndc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.338360] type=1400 audit(1533422724.241:127): avc: denied { sys_admin } for pid=1500 comm="ndc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.338388] type=1400 audit(1533422724.252:128): avc: denied { sys_admin } for pid=1500 comm="ndc" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.348976] type=1400 audit(1533422724.252:128): avc: denied { sys_admin } for pid=1500 comm="ndc" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.349000] type=1400 audit(1533422724.262:129): avc: denied { sys_admin } for pid=1503 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.365720] type=1400 audit(1533422724.262:129): avc: denied { sys_admin } for pid=1503 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.365753] type=1400 audit(1533422724.279:130): avc: denied { sys_admin } for pid=1506 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.386419] type=1400 audit(1533422724.279:130): avc: denied { sys_admin } for pid=1506 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.386448] type=1400 audit(1533422724.300:131): avc: denied { sys_admin } for pid=1511 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.395186] nq-nci 8-0028: setting ese_gpio high [ 8.402701] type=1400 audit(1533422724.300:131): avc: denied { sys_admin } for pid=1511 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.402724] type=1400 audit(1533422724.316:132): avc: denied { sys_admin } for pid=1511 comm="iptables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.409230] ipa ipa3_assign_policy:3329 get close-by 8192 [ 8.409240] ipa ipa3_assign_policy:3335 set rx_buff_sz 7808 [ 8.409244] ipa ipa3_assign_policy:3357 set aggr_limit 6 [ 8.411687] type=1400 audit(1533422724.316:132): avc: denied { sys_admin } for pid=1511 comm="iptables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.411713] type=1400 audit(1533422724.325:133): avc: denied { sys_admin } for pid=1519 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.414839] ipa-wan ipa3_wwan_ioctl:1699 dev(rmnet_data0) register to IPA [ 8.419884] type=1400 audit(1533422724.325:133): avc: denied { sys_admin } for pid=1519 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.419907] type=1400 audit(1533422724.333:134): avc: denied { sys_admin } for pid=1519 comm="iptables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 8.429255] audit: audit_lost=96 audit_rate_limit=5 audit_backlog_limit=64 [ 8.429267] audit: rate limit exceeded [ 8.500392] init: processing action (sys.retaildemo.enabled=0) from (/vendor/etc/init/hw/init.taimen.rc:894) [ 8.510562] init: processing action (persist.vendor.charge.stop.level=* && sys.all.modules.ready=1) from (/vendor/etc/init/init-taimen.rc:44) [ 8.511609] init: processing action (persist.vendor.charge.start.level=* && sys.all.modules.ready=1) from (/vendor/etc/init/init-taimen.rc:47) [ 8.552998] ipa-wan ipa3_wwan_ioctl:1699 dev(rmnet_data1) register to IPA [ 8.702703] sdcardfs version 2.0 [ 8.702718] sdcardfs: dev_name -> /data/media [ 8.702722] sdcardfs: options -> fsuid=1023,fsgid=1023,multiuser,derive_gid,default_normal,mask=6,userid=0,gid=1015 [ 8.702726] sdcardfs: mnt -> 0000000000000000 [ 8.702779] sdcardfs: mounted on top of /data/media type ext4 [ 8.703399] Remount options were mask=23,gid=9997 for vfsmnt 0000000000000000. [ 8.703409] sdcardfs : options - debug:1 [ 8.703413] sdcardfs : options - gid:9997 [ 8.703415] sdcardfs : options - mask:23 [ 8.703755] Remount options were mask=7,gid=9997 for vfsmnt 0000000000000000. [ 8.703766] sdcardfs : options - debug:1 [ 8.703769] sdcardfs : options - gid:9997 [ 8.703772] sdcardfs : options - mask:7 [ 8.775795] ipa-wan ipa3_wwan_ioctl:1699 dev(rmnet_data2) register to IPA [ 8.790914] qpnp_led.red: b:00 on:50 off:0 [ 8.790966] qpnp_led.green: b:00 on:50 off:0 [ 8.791002] qpnp_led.blue: b:00 on:50 off:0 [ 8.791073] qpnp_led.red: b:00 on:50 off:0 [ 8.792558] qpnp_led.green: b:00 on:50 off:0 [ 8.792601] qpnp_led.blue: b:00 on:50 off:0 [ 8.792686] qpnp_led.red: b:00 on:50 off:0 [ 8.792723] qpnp_led.green: b:00 on:50 off:0 [ 8.792757] qpnp_led.blue: b:00 on:50 off:0 [ 8.934296] msm_vidc: info: Opening video instance: 0000000000000000, 1 [ 8.941211] subsys-restart: __subsystem_get(): Changing subsys fw_name to venus [ 8.947669] subsys-pil-tz cce0000.qcom,venus: venus: loading from 0x0000000000000000 to 0x0000000000000000 [ 8.998099] ipa-wan ipa3_wwan_ioctl:1699 dev(rmnet_data3) register to IPA [ 9.024398] subsys-pil-tz cce0000.qcom,venus: venus: Brought out of reset [ 9.057613] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.063240] msm_vidc: info: Opening video instance: 0000000000000000, 1 [ 9.073800] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.091190] msm_vidc: info: Opening video instance: 0000000000000000, 1 [ 9.097237] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.111957] msm_vidc: info: Opening video instance: 0000000000000000, 1 [ 9.120969] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.126706] msm_vidc: info: Opening video instance: 0000000000000000, 1 [ 9.136322] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.159192] msm_vidc: info: Opening video instance: 0000000000000000, 1 [ 9.165730] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.172306] msm_vidc: info: Opening video instance: 0000000000000000, 1 [ 9.179838] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.193769] msm_vidc: info: Opening video instance: 0000000000000000, 1 [ 9.201031] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.205980] msm_vidc: info: Opening video instance: 0000000000000000, 1 [ 9.213348] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.217535] ipa-wan ipa3_wwan_ioctl:1699 dev(rmnet_data4) register to IPA [ 9.230565] bt_ioctl: BT_CMD_PWR_CTRL pwr_cntrl:0 [ 9.230583] bt_ioctl: BT chip state is already :0 no change d\x0a [ 9.230636] bt_ioctl: BT_CMD_PWR_CTRL pwr_cntrl:1 [ 9.232477] msm_vidc: info: Opening video instance: 0000000000000000, 0 [ 9.249100] msm_hs_resource_on(): startup_locked=1 [ 9.377799] ipa-wan ipa3_wwan_ioctl:1699 dev(rmnet_data5) register to IPA [ 9.379425] type=1400 audit(1533422724.333:134): avc: denied { sys_admin } for pid=1519 comm="iptables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 9.379454] type=1400 audit(1533422725.293:219): avc: denied { sys_admin } for pid=1958 comm="iptables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 9.382704] msm_hs_resource_on(): startup_locked=1 [ 9.388721] type=1400 audit(1533422725.293:219): avc: denied { sys_admin } for pid=1958 comm="iptables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 9.388747] type=1400 audit(1533422725.302:220): avc: denied { sys_admin } for pid=1966 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 9.400300] type=1400 audit(1533422725.302:220): avc: denied { sys_admin } for pid=1966 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 9.400318] type=1400 audit(1533422725.314:221): avc: denied { sys_admin } for pid=1966 comm="iptables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 9.415167] type=1400 audit(1533422725.314:221): avc: denied { sys_admin } for pid=1966 comm="iptables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 9.415195] type=1400 audit(1533422725.329:222): avc: denied { sys_admin } for pid=1983 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 9.425863] type=1400 audit(1533422725.329:222): avc: denied { sys_admin } for pid=1983 comm="iptables-wrappe" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 9.425889] type=1400 audit(1533422725.339:223): avc: denied { sys_admin } for pid=1983 comm="iptables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 9.448070] audit: audit_lost=180 audit_rate_limit=5 audit_backlog_limit=64 [ 9.448086] audit: rate limit exceeded [ 9.450552] Loc_hal: groups: 0x40000000 ngroups: 64 [ 9.592661] ipa-wan ipa3_wwan_ioctl:1699 dev(rmnet_data6) register to IPA [ 9.617162] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.630733] msm_vidc: info: Opening video instance: 0000000000000000, 0 [ 9.638231] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.646338] msm_vidc: info: Opening video instance: 0000000000000000, 0 [ 9.653796] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.657172] msm_vidc: info: Opening video instance: 0000000000000000, 0 [ 9.663228] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.668074] msm_vidc: info: Opening video instance: 0000000000000000, 0 [ 9.676122] msm_vidc: info: Closed video instance: 0000000000000000 [ 9.740757] ipa-wan ipa3_wwan_ioctl:1699 dev(rmnet_data7) register to IPA [ 10.166039] HTB: quantum of class 10001 is big. Consider r2q change. [ 10.184300] HTB: quantum of class 10010 is big. Consider r2q change. [ 10.287876] init: Service 'bootanim' (pid 623) exited with status 0 [ 10.388316] mdss_fb_set_backlight: backlight sent to panel :86 [ 10.403244] init: processing action (sys.boot_completed=1) from (/init.rc:720) [ 10.403684] init: processing action (sys.boot_completed=1) from (/vendor/etc/init/hw/init.taimen.rc:573) [ 10.406018] mdss_fb_set_backlight: backlight sent to panel :83 [ 10.406690] init: starting service 'vendor.power_sh'... [ 10.408815] init: Command 'write /sys/devices/soc/${ro.boot.bootdevice}/clkscale_enable 1' action=sys.boot_completed=1 (/vendor/etc/init/hw/init.taimen.rc:578) took 0ms and failed: Unable to write to file '/sys/devices/soc/1da4000.ufshc/clkscale_enable': open() failed: Permission denied [ 10.410216] init: Command 'write /sys/module/lpm_levels/parameters/sleep_disabled N' action=sys.boot_completed=1 (/vendor/etc/init/hw/init.taimen.rc:580) took 0ms and failed: Unable to write to file '/sys/module/lpm_levels/parameters/sleep_disabled': open() failed: Permission denied [ 10.413559] type=1400 audit(1533422725.339:223): avc: denied { sys_admin } for pid=1983 comm="iptables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 10.413582] type=1400 audit(1533422725.405:288): avc: denied { sys_admin } for pid=2234 comm="init.power.sh" capability=21 scontext=u:r:init_power:s0 tcontext=u:r:init_power:s0 tclass=capability permissive=0 [ 10.415936] init: processing action (sys.boot_completed=1 && sys.logbootcomplete=1) from (/system/etc/init/bootstat.rc:70) [ 10.416275] init: starting service 'exec 7 (/system/bin/bootstat --set_system_boot_reason --record_boot_complete --record_boot_reason --record_time_since_factory_reset -l)'... [ 10.416820] init: processing action (sys.boot_completed=1 && sys.wifitracing.started=0) from (/system/etc/init/wifi-events.rc:20) [ 10.417154] selinux: SELinux: Could not get canonical path for /sys/kernel/debug/tracing/instances/wifi restorecon: No such file or directory.\x0a [ 10.418770] init: processing action (sys.boot_completed=1) from (/vendor/etc/init/init-taimen.rc:16) [ 10.419982] type=1400 audit(1533422725.405:288): avc: denied { sys_admin } for pid=2234 comm="init.power.sh" capability=21 scontext=u:r:init_power:s0 tcontext=u:r:init_power:s0 tclass=capability permissive=0 [ 10.420042] type=1400 audit(1533422725.411:289): avc: denied { sys_admin } for pid=2236 comm="ip6tables-wrapp" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 10.420536] init: processing action (persist.sys.zram_enabled=1 && sys-boot-completed-set) from (/vendor/etc/init/hw/init.taimen.rc:625) [ 10.421728] mdss_fb_set_backlight: backlight sent to panel :80 [ 10.421934] zram0: detected capacity change from 0 to 536870912 [ 10.428407] type=1400 audit(1533422725.411:289): avc: denied { sys_admin } for pid=2236 comm="ip6tables-wrapp" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 10.428439] type=1400 audit(1533422725.420:290): avc: denied { sys_admin } for pid=2236 comm="ip6tables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 10.428606] logd: logdr: UID=1000 GID=1007 PID=2235 n tail=0 logMask=80 pid=0 start=0ns timeout=0ns [ 10.431664] type=1400 audit(1533422725.420:290): avc: denied { sys_admin } for pid=2236 comm="ip6tables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 10.431696] type=1400 audit(1533422725.423:291): avc: denied { sys_admin } for pid=2245 comm="mkswap" capability=21 scontext=u:r:toolbox:s0 tcontext=u:r:toolbox:s0 tclass=capability permissive=0 [ 10.438047] type=1400 audit(1533422725.423:291): avc: denied { sys_admin } for pid=2245 comm="mkswap" capability=21 scontext=u:r:toolbox:s0 tcontext=u:r:toolbox:s0 tclass=capability permissive=0 [ 10.438073] type=1400 audit(1533422725.429:292): avc: denied { sys_admin } for pid=2256 comm="setprop" capability=21 scontext=u:r:init_power:s0 tcontext=u:r:init_power:s0 tclass=capability permissive=0 [ 10.438980] mdss_fb_set_backlight: backlight sent to panel :78 [ 10.451040] mkswap: Swapspace size: 524284k, UUID=382e28a7-1fa1-4702-80cc-198cc852da5e [ 10.451481] Adding 524284k swap on /dev/block/zram0. Priority:-1 extents:1 across:524284k SS [ 10.454869] mdss_fb_set_backlight: backlight sent to panel :75 [ 10.455834] init: processing action (sys.post_boot.parsed=1) from (/vendor/etc/init/hw/init.taimen.rc:567) [ 10.456348] init: Service 'exec 7 (/system/bin/bootstat --set_system_boot_reason --record_boot_complete --record_boot_reason --record_time_since_factory_reset -l)' (pid 2235) exited with status 0 [ 10.457447] audit: audit_lost=245 audit_rate_limit=5 audit_backlog_limit=64 [ 10.457459] audit: rate limit exceeded [ 10.467153] init: Service 'vendor.power_sh' (pid 2234) exited with status 0 [ 10.470853] mdss_fb_set_backlight: backlight sent to panel :72 [ 10.487564] mdss_fb_set_backlight: backlight sent to panel :70 [ 10.503972] mdss_fb_set_backlight: backlight sent to panel :67 [ 10.507869] HTB: quantum of class 10001 is big. Consider r2q change. [ 10.515529] NOHZ: local_softirq_pending 08 [ 10.520366] mdss_fb_set_backlight: backlight sent to panel :64 [ 10.528663] HTB: quantum of class 10010 is big. Consider r2q change. [ 10.537002] mdss_fb_set_backlight: backlight sent to panel :62 [ 10.555312] mdss_fb_set_backlight: backlight sent to panel :59 [ 10.561893] EXT4-fs (loop8): errors=remount-ro for active namespaces on umount 2 [ 10.563383] init: Untracked pid 2311 exited with status 0 [ 10.570716] mdss_fb_set_backlight: backlight sent to panel :57 [ 10.587245] mdss_fb_set_backlight: backlight sent to panel :54 [ 10.602875] mdss_fb_set_backlight: backlight sent to panel :51 [ 10.619572] mdss_fb_set_backlight: backlight sent to panel :49 [ 10.635803] mdss_fb_set_backlight: backlight sent to panel :46 [ 10.652471] mdss_fb_set_backlight: backlight sent to panel :43 [ 10.668722] mdss_fb_set_backlight: backlight sent to panel :41 [ 10.685250] mdss_fb_set_backlight: backlight sent to panel :38 [ 10.701720] mdss_fb_set_backlight: backlight sent to panel :35 [ 10.718444] mdss_fb_set_backlight: backlight sent to panel :34 [ 10.734895] mdss_fb_set_backlight: backlight sent to panel :33 [ 11.141673] NOHZ: local_softirq_pending 08 [ 11.314157] NOHZ: local_softirq_pending 08 [ 11.634765] NOHZ: local_softirq_pending 08 [ 11.674058] icnss: WLAN FW is ready: 0xd87 [ 11.680645] wlan: probing driver v5.2.1.1J.1 [ 11.680670] ipa ipa3_uc_reg_rdyCB:1719 bad parm. inout=0000000000000000 [ 11.685668] ipa ipa3_uc_reg_rdyCB:1719 bad parm. inout=0000000000000000 [ 11.687347] R0: [kworker/u16:4][503305882] [15:45:26.681038] wlan: [350:I :HDD] hdd_wlan_start_modules: 2160: Wlan transition (UNINITIALIZED -> CLOSED) [ 11.687365] R0: [kworker/u16:4][503306263] [15:45:26.681058] wlan: [350:I :HDD] hdd_wlan_start_modules: 2164: Wlan transition (CLOSED -> OPENED) [ 11.687788] ipa ipa3_uc_reg_rdyCB:1719 bad parm. inout=0000000000000000 [ 11.687819] R0: [kworker/u16:4][503314944] [15:45:26.681510] wlan: [350:W :HIF] hif_snoc_enable_bus: device_init_wakeup already done [ 11.735616] type=1400 audit(1533422725.429:292): avc: denied { sys_admin } for pid=2256 comm="setprop" capability=21 scontext=u:r:init_power:s0 tcontext=u:r:init_power:s0 tclass=capability permissive=0 [ 11.735643] type=1400 audit(1533422726.727:304): avc: denied { sys_admin } for pid=2447 comm="ip6tables-wrapp" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 11.737739] IPC_RTR: process_new_server_msg: Server 00001003 create rejected, version = 0 [ 11.741352] R0: [kworker/u16:4][504342670] [15:45:26.735038] wlan: [350:I :HDD] hdd_napi_create: 131: napi instances were created. Map=0x602 [ 11.741384] R0: [kworker/u16:4][504343433] [15:45:26.735078] wlan: [350:E :QDF] cds_get_context: Module ID 21 context is Null [ 11.741644] type=1400 audit(1533422726.727:304): avc: denied { sys_admin } for pid=2447 comm="ip6tables-wrapp" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 11.741674] type=1400 audit(1533422726.733:305): avc: denied { sys_admin } for pid=2447 comm="ip6tables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 11.744010] R0: [cds_mc_thread][504393800] [15:45:26.737701] wlan: [2450:I :QDF] cds_mc_thread: MC Thread 2450 (cds_mc_thread) starting up [ 11.744253] R0: [kworker/u16:4][504398522] [15:45:26.737947] wlan: [350:E :QDF] cds_get_context: Module ID 21 context is Null [ 11.745176] R0: [kworker/u16:4][504416187] [15:45:26.738867] wlan: [350:E :QDF] ol_if_dfs_attach: called; ptr=0000000000000000, radar_info=0000000000000000\x0a [ 11.749710] type=1400 audit(1533422726.733:305): avc: denied { sys_admin } for pid=2447 comm="ip6tables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 11.749737] type=1400 audit(1533422726.741:306): avc: denied { sys_admin } for pid=2453 comm="ip6tables-wrapp" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 11.756703] type=1400 audit(1533422726.741:306): avc: denied { sys_admin } for pid=2453 comm="ip6tables-wrapp" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 11.756731] type=1400 audit(1533422726.748:307): avc: denied { sys_admin } for pid=2453 comm="ip6tables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 11.762495] R0: [kworker/u16:4][504748638] [15:45:26.756183] wlan: [350:E :QDF] Target Ready! TX resource : 2 size:2184, MaxMsgsPerHTCBundle = 1 [ 11.762515] R0: [kworker/u16:4][504749144] [15:45:26.756208] wlan: [350:E :QDF] SVS Index : 1 TX : 0x100 : alloc:2 [ 11.762527] R0: [kworker/u16:4][504749389] [15:45:26.756221] wlan: [350:E :QDF] SVC:0x0001, ULpipe:0 DLpipe:2 id:0 Ready [ 11.762965] R0: [kworker/u16:4][504757772] [15:45:26.756658] wlan: [350:I :HTT] full_reorder_offloaded 1 [ 11.762976] R0: [kworker/u16:4][504758000] [15:45:26.756669] wlan: [350:I :HTT] ce_classify 1 [ 11.763112] R0: [kworker/u16:4][504760487] [15:45:26.756799] wlan: [350:E :QDF] SVC:0x0300, ULpipe:4 DLpipe:1 id:1 Ready [ 11.763123] R0: [kworker/u16:4][504760814] [15:45:26.756816] wlan: [350:E :QDF] SVC:0x0300 ep:1 TX flow control disabled [ 11.763176] R0: [kworker/u16:4][504761829] [15:45:26.756869] wlan: [350:I :HIF] hif_map_service_to_pipe: ul pipe is NOT updated for service 769 [ 11.763186] R0: [kworker/u16:4][504762031] [15:45:26.756879] wlan: [350:E :QDF] SVC:0x0301, ULpipe:0 DLpipe:9 id:2 Ready [ 11.763194] R0: [kworker/u16:4][504762195] [15:45:26.756888] wlan: [350:E :QDF] SVC:0x0301 ep:2 TX flow control disabled [ 11.763203] R0: [kworker/u16:4][504762362] [15:45:26.756897] wlan: [350:I :HIF] hif_map_service_to_pipe: ul pipe is NOT updated for service 769 [ 11.763252] R0: [kworker/u16:4][504763297] [15:45:26.756945] wlan: [350:I :HIF] hif_map_service_to_pipe: ul pipe is NOT updated for service 770 [ 11.763262] R0: [kworker/u16:4][504763498] [15:45:26.756956] wlan: [350:E :QDF] SVC:0x0302, ULpipe:0 DLpipe:10 id:3 Ready [ 11.763271] R0: [kworker/u16:4][504763663] [15:45:26.756964] wlan: [350:E :QDF] SVC:0x0302 ep:3 TX flow control disabled [ 11.763280] R0: [kworker/u16:4][504763832] [15:45:26.756973] wlan: [350:I :HIF] hif_map_service_to_pipe: ul pipe is NOT updated for service 770 [ 11.763501] R0: [kworker/u16:4][504768061] [15:45:26.757194] wlan: [350:I :HIF] hif_map_service_to_pipe: ul pipe is NOT updated for service 1536 [ 11.763512] R0: [kworker/u16:4][504768284] [15:45:26.757205] wlan: [350:E :QDF] SVC:0x0600, ULpipe:0 DLpipe:11 id:4 Ready [ 11.763520] R0: [kworker/u16:4][504768454] [15:45:26.757214] wlan: [350:E :QDF] SVC:0x0600 ep:4 TX flow control disabled [ 11.763600] R0: [kworker/u16:4][504769967] [15:45:26.757293] wlan: [350:E :QDF] SVC:0x0100, ULpipe:3 DLpipe:2 id:5 Ready [ 11.763887] R0: [kworker/u16:4][504775483] [15:45:26.757580] wlan: [350:E :QDF] HTC using TX credit flow control [ 11.764242] R0: [cds_mc_thread][504782286] [15:45:26.757934] wlan: [2450:I :WMA] wma_rx_service_ready_event: Firmware build version : 22188219 [ 11.764256] R0: [cds_mc_thread][504782578] [15:45:26.757950] wlan: [2450:W :WMA] wma_rx_service_ready_event: Board version is unknown! [ 11.764269] R0: [cds_mc_thread][504782801] [15:45:26.757961] wlan: [2450:I :TRX] ol_tx_set_desc_global_pool_size: 762: Global pool size: 3600\x0a [ 11.765277] type=1400 audit(1533422726.748:307): avc: denied { sys_admin } for pid=2453 comm="ip6tables" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 11.765298] type=1400 audit(1533422726.757:308): avc: denied { sys_admin } for pid=2455 comm="tc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 11.770742] audit: audit_lost=255 audit_rate_limit=5 audit_backlog_limit=64 [ 11.770751] audit: rate limit exceeded [ 11.789558] HTB: quantum of class 10001 is big. Consider r2q change. [ 11.790797] R0: [cds_mc_thread][505292104] [15:45:26.784487] wlan: [2450:I :HDD] hdd_update_tgt_cfg: 1698: hw_mac is zero [ 11.790921] R0: [cds_mc_thread][505294541] [15:45:26.784614] wlan: [2450:I :HDD] hdd_update_wiphy_vhtcap: 1086: Updated wiphy vhtcap:0x3817bfa, CSNAntSupp:3, NumSoundDim:1 [ 11.790931] R0: [cds_mc_thread][505294738] [15:45:26.784625] wlan: [2450:I :HDD] hdd_nan_datapath_target_config: 109: enable_nan_datapath: 1 [ 11.805227] HTB: quantum of class 10010 is big. Consider r2q change. [ 11.819168] R0: [kworker/u16:4][505836749] [15:45:26.812855] wlan: [350:I :HTT] HTT: full reorder offload enabled [ 11.868151] R0: [kworker/u16:4][506777230] [15:45:26.861838] wlan: [350:I :HDD] hdd_wlan_start_modules: 2231: Wlan transition (now OPENED) [ 11.868168] Host SW:5.2.1.1J.1, FW:2.2.1.537.0, HW:WCN3990_V2.1 [ 11.869366] cfg80211: Regulatory domain changed to country: US [ 11.869377] cfg80211: DFS Master region: FCC [ 11.869381] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) [ 11.869388] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A) [ 11.869394] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 3000 mBm), (N/A) [ 11.869399] R0: [kworker/u16:4][506801325] [15:45:26.863093] wlan: [350:I :HDD] hdd_ipa_uc_register_uc_ready:802: UC Ready [ 11.869401] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2400 mBm), (0 s) [ 11.869406] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2400 mBm), (0 s) [ 11.869410] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A) [ 11.869414] cfg80211: (57240000 KHz - 70200000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A) [ 11.869431] R0: [kworker/u16:4][506801938] [15:45:26.863125] wlan: [350:I :HDD] hdd_free_mac_address_lists: 9363: Resetting MAC address lists [ 11.869442] R0: [kworker/u16:4][506802148] [15:45:26.863136] wlan: [350:I :HDD] hdd_platform_wlan_mac: 9475: provisioned MAC Addr [0]b4:f7:a1:c0:c4:e4 [ 11.869453] R0: [kworker/u16:4][506802368] [15:45:26.863147] wlan: [350:I :HDD] hdd_platform_wlan_mac: 9497: derived MAC Addr [0]b6:f7:a1:c0:c4:e4 [ 11.869642] R0: [kworker/u16:4][506805994] [15:45:26.863336] wlan: [350:I :HDD] wlan_hdd_get_provisioned_intf_addr: 2766: Assigning MAC from provisioned listb4:f7:a1:c0:c4:e4 [ 11.869691] R0: [kworker/u16:4][506806935] [15:45:26.863385] wlan: [350:I :HDD] hdd_set_tso_flags: 2600: TSO Enabled [ 11.871185] R0: [kworker/u16:4][506835580] [15:45:26.864877] wlan: [350:I :HDD] hdd_open_adapter: 4153: Disabling queues [ 11.871621] R0: [kworker/u16:4][506843959] [15:45:26.865313] wlan: [350:I :HDD] hdd_open_adapter: 4271: wlan0 interface created. iftype: 0 [ 11.871635] R0: [kworker/u16:4][506844225] [15:45:26.865327] wlan: [350:E :HDD] wlan_hdd_get_provisioned_intf_addr: 2762: No free provisioned Addresses [ 11.871646] R0: [kworker/u16:4][506844467] [15:45:26.865340] wlan: [350:I :HDD] wlan_hdd_get_derived_intf_addr: 2748: Assigning MAC from derived listb6:f7:a1:c0:c4:e4 [ 11.871687] R0: [kworker/u16:4][506845259] [15:45:26.865381] wlan: [350:I :HDD] hdd_set_tso_flags: 2600: TSO Enabled [ 11.872986] R0: [kworker/u16:4][506870151] [15:45:26.866677] wlan: [350:I :HDD] hdd_open_adapter: 4153: Disabling queues [ 11.873151] R0: [kworker/u16:4][506873211] [15:45:26.866837] wlan: [350:I :HDD] hdd_open_adapter: 4271: p2p0 interface created. iftype: 7 [ 12.315717] NOHZ: local_softirq_pending 08 [ 12.635974] NOHZ: local_softirq_pending 08 [ 12.875438] NOHZ: local_softirq_pending 08 [ 13.145672] NOHZ: local_softirq_pending 08 [ 19.734919] type=1400 audit(1533422726.757:308): avc: denied { sys_admin } for pid=2455 comm="tc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 19.735116] type=1400 audit(1533422734.726:316): avc: denied { sys_admin } for pid=2501 comm="tc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 19.779570] type=1400 audit(1533422734.726:316): avc: denied { sys_admin } for pid=2501 comm="tc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 19.779636] type=1400 audit(1533422734.771:317): avc: denied { sys_admin } for pid=2501 comm="tc" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 19.803513] HTB: quantum of class 10010 is big. Consider r2q change. [ 19.815168] type=1400 audit(1533422734.771:317): avc: denied { sys_admin } for pid=2501 comm="tc" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 19.815222] type=1400 audit(1533422734.806:318): avc: denied { sys_admin } for pid=2502 comm="tc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 19.835623] type=1400 audit(1533422734.806:318): avc: denied { sys_admin } for pid=2502 comm="tc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 19.835671] type=1400 audit(1533422734.827:319): avc: denied { sys_admin } for pid=2502 comm="tc" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 19.858607] type=1400 audit(1533422734.827:319): avc: denied { sys_admin } for pid=2502 comm="tc" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 19.858654] type=1400 audit(1533422734.850:320): avc: denied { sys_admin } for pid=2503 comm="tc-wrapper-1.0" capability=21 scontext=u:r:netutils_wrapper:s0 tcontext=u:r:netutils_wrapper:s0 tclass=capability permissive=0 [ 19.871557] audit: audit_lost=262 audit_rate_limit=5 audit_backlog_limit=64 [ 19.871580] audit: rate limit exceeded [ 19.884449] HTB: quantum of class 10010 is big. Consider r2q change. [ 20.025707] HTB: quantum of class 10010 is big. Consider r2q change. [ 20.363950] HTB: quantum of class 10010 is big. Consider r2q change. [ 20.441669] HTB: quantum of class 10010 is big. Consider r2q change. [ 20.504323] HTB: quantum of class 10010 is big. Consider r2q change. [ 21.889778] R0: [kworker/2:2][699192160] [15:45:36.883449] wlan: [1015:F :HDD] hdd_wlan_stop_modules: 10388: stop WLAN module: entering driver status=1 [ 21.889857] R0: [kworker/2:2][699193782] [15:45:36.883534] wlan: [1015:I :HDD] hdd_wlan_stop_modules: 10420: Present Driver Status: 1 [ 21.891712] R0: [kworker/2:2][699229315] [15:45:36.885385] wlan: [1015:I :WMI] WMI Stop\x0a [ 21.918846] R0: [kworker/2:2][699750284] [15:45:36.912518] wlan: [1015:I :TRX] Global Pool [ 21.962182] R0: [cds_mc_thread][700582562] [15:45:36.955866] wlan: [2450:I :QDF] cds_mc_thread: MC thread signaled to shutdown [ 21.962215] R0: [cds_mc_thread][700583290] [15:45:36.955904] wlan: [2450:I :QDF] cds_mc_thread: MC Thread exiting!!!! [ 21.962662] R0: [cds_ol_rx_threa][700591213] [15:45:36.956316] wlan: [2451:I :QDF] cds_ol_rx_thread: Shutting down OL RX Thread [ 21.968799] R0: [kworker/2:2][700709676] [15:45:36.962486] wlan: [1015:E :QDF] cds_remove_timer_from_sys_msg: 1251: gp_cds_sched_context is null [ 21.968839] R0: [kworker/2:2][700710475] [15:45:36.962528] wlan: [1015:E :QDF] cds_remove_timer_from_sys_msg: 1251: gp_cds_sched_context is null [ 21.968871] R0: [kworker/2:2][700711091] [15:45:36.962560] wlan: [1015:E :QDF] cds_remove_timer_from_sys_msg: 1251: gp_cds_sched_context is null [ 22.014945] R0: [kworker/2:2][701595666] [15:45:37.008632] wlan: [1015:E :QDF] cds_get_context: Module ID 21 context is Null [ 22.016086] R0: [kworker/2:2][701617648] [15:45:37.009776] wlan: [1015:I :HDD] hdd_wlan_stop_modules: 10508: Wlan transition (now CLOSED) [ 22.016104] R0: [kworker/2:2][701618004] [15:45:37.009795] wlan: [1015:F :HDD] hdd_wlan_stop_modules: 10515: stop WLAN module: exit driver status=3 [ 32.612295] lge_battery: bm_check_step_charging: STATE[0->2] CUR[2400000] VOL[4368885] [ 32.612679] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 32.612740] lge_battery: bm_watch_work: PRESENT:1, CHG_STAT:1, THM_STAT:2, BAT_TEMP:270, BAT_VOLT:4368885, VOTE_CUR:1000000, SET_CUR:1000000 [ 62.692703] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 62.692871] lge_battery: bm_watch_work: PRESENT:1, CHG_STAT:1, THM_STAT:2, BAT_TEMP:270, BAT_VOLT:4368885, VOTE_CUR:1000000, SET_CUR:1000000 [ 65.328456] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 65.332264] healthd: battery l=96 v=4369 t=27.0 h=2 st=2 c=-370 fc=3680000 cc=25 chg=u [ 65.392474] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 65.397921] healthd: battery l=96 v=4369 t=27.0 h=2 st=2 c=-370 fc=3680000 cc=25 chg=u [ 88.273912] mdss_fb_set_backlight: backlight sent to panel :32 [ 88.284376] mdss_fb_set_backlight: backlight sent to panel :31 [ 90.555785] mdss_fb_set_backlight: backlight sent to panel :29 [ 90.579514] mdss_fb_set_backlight: backlight sent to panel :26 [ 90.595214] mdss_fb_set_backlight: backlight sent to panel :23 [ 90.611600] mdss_fb_set_backlight: backlight sent to panel :20 [ 90.628404] mdss_fb_set_backlight: backlight sent to panel :18 [ 90.645190] mdss_fb_set_backlight: backlight sent to panel :15 [ 90.668826] mdss_fb_set_backlight: backlight sent to panel :13 [ 92.768670] FG: fg_get_battery_temp: batt temperature original:300, tuned:270 [ 92.768753] lge_battery: bm_watch_work: PRESENT:1, CHG_STAT:1, THM_STAT:2, BAT_TEMP:270, BAT_VOLT:4369129, VOTE_CUR:1000000, SET_CUR:1000000 [ 93.093363] mdss_fb_set_backlight: backlight sent to panel :0 [ 93.129625] fts_touch 5-0049: fts_suspend power state : 0 [ 93.129631] fts_touch 5-0049: fts_stop_device lowpower flag:0 [ 93.130931] fts_touch 5-0049: fts_suspend: switch i2c to SLPI (set to 1) [ 93.145871] mdss_fb_blank_sub: mdss_fb_blank+0x98/0x1b0 mode:4 [ 93.277923] lge_battery: bm_vote_fcc_update: vote id[2], set cur[2400000]
Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
Quoted 1 line · Nathan Chancellor
dmesg output attached, please let me know if you need anything else.
Could you try with this diff instead?
It looks like, I'm too bad with shifts and shifted for 64 bytes.
Signature · 2 lines
Thanks,
Dmitrynet/netlink/af_netlink.c +1 -1
@@ -1011,7 +1011,7 @@ static int netlink_bind(struct socket *sock, struct sockaddr *addr,if (nlk->ngroups ==0 ) groups =0 ; -else +else if (nlk->ngroups <64 ) groups &= (1ULL << nlk->ngroups) -1 ; bound = nlk->bound;
Nathan Chancellor
Tested-byRe: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
Quoted 15 lines · Dmitry Safonov
Quoted 1 line · Nathan Chancellor
dmesg output attached, please let me know if you need anything else.
Could you try with this diff instead?
It looks like, I'm too bad with shifts and shifted for 64 bytes.Signature · 2 lines
Thanks, Dmitrynet/netlink/af_netlink.c +0
-0
net/netlink/af_netlink.c static int netlink_bind(struct socket *sock, struct sockaddr *addr, · line 1017
Quoted 8 lines
net/netlink/af_netlink.c +1
-1@@ -1011,7 +1011,7 @@ static int netlink_bind(struct socket *sock, struct sockaddr *addr,if (nlk->ngroups ==0 ) groups =0 ; -else +else if (nlk->ngroups <64 ) groups &= (1ULL << nlk->ngroups) -1 ; bound = nlk->bound;
This fixed my issue. If needed:
Thanks for the quick response!
Nathan
David Miller
maintainerRe: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
From: Nathan Chancellor <[email protected]>
Date: Sat, 4 Aug 2018 16:21:02 -0700
Quoted 23 lines · Dmitry Safonov
Quoted 22 lines · Nathan Chancellor
Quoted 1 line
dmesg output attached, please let me know if you need anything else.
Could you try with this diff instead?
It looks like, I'm too bad with shifts and shifted for 64 bytes.Signature · 2 lines
Thanks, Dmitrynet/netlink/af_netlink.c +1
-1@@ -1011,7 +1011,7 @@ static int netlink_bind(struct socket *sock, struct sockaddr *addr,if (nlk->ngroups ==0 ) groups =0 ; -else +else if (nlk->ngroups <64 ) groups &= (1ULL << nlk->ngroups) -1 ;
Quoted 5 lines
net/netlink/af_netlink.c static int netlink_bind(struct socket *sock, struct sockaddr *addr, · line 1017
Quoted 1 line
net/netlink/af_netlink.c +0
-0bound = nlk->bound;This fixed my issue. If needed:
Tested-by Nathan Chancellor <[email protected]>
Dmitry please submit this formally for net+stable wit Nathan's tested-by.
Thanks.
Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
In reply to Nathan ChancellorQuoted 24 lines · Nathan Chancellor
Quoted 23 lines · Dmitry Safonov
Quoted 2 lines · Nathan Chancellor
dmesg output attached, please let me know if you need anything else.
Could you try with this diff instead?
It looks like, I'm too bad with shifts and shifted for 64 bytes.Signature · 2 lines
Thanks, Dmitrynet/netlink/af_netlink.c +1
-1@@ -1011,7 +1011,7 @@ static int netlink_bind(struct socket *sock,struct sockaddr *addr, if (nlk->ngroups == 0) groups =0 ; - else + else if (nlk->ngroups < 64) groups &= (1ULL << nlk->ngroups) - 1;
Quoted 6 lines
Quoted 1 line
bound =
nlk->bound;This fixed my issue. If needed:
Tested-by Nathan Chancellor <[email protected]>
Thanks for the testing, sorry again for the breakage.
Will send the patch shortly (with sizeof(unsigned long long) instead of hard-coded 64). Hopefully, not too late.
(and then will go to bed and feel myself awful - not knowing C after so many years).
Signature · 2 lines
Thanks,
DmitryDavid Miller
maintainerRe: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
From: Dmitry Safonov <[email protected]>
Date: Sun, 05 Aug 2018 00:26:38 +0100
Quoted 3 lines
Thanks for the testing, sorry again for the breakage.
Will send the patch shortly (with sizeof(unsigned long long) instead of hard-coded 64). Hopefully, not too late.
'groups' is "long unsigned int" not "unsigned long long"
long unsigned int groups = nladdr->nl_groups;
And nladdr->nl_groups is specified as "__u32"
So the size of the relevant bits is actually strictly 32-bit.
This makes also the "ULL" in your constant specification incorrect as well.
So much crazy stuff going on here :-/
Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
Quoted 12 lines · David Miller
From: Dmitry Safonov <[email protected]>
Date: Sun, 05 Aug 2018 00:26:38 +0100Quoted 2 lines
Thanks for the testing, sorry again for the breakage. Will send the patch shortly (with sizeof(unsigned long long)
instead of
Quoted 1 line
hard-coded 64). Hopefully, not too late.
'groups' is "long unsigned int" not "unsigned long long"
long unsigned int groups = nladdr->nl_groups;
Quoted 8 lines
And
nladdr->nl_groupsis specified as "__u32"So the size of the relevant bits is actually strictly 32-bit.
This makes also the "ULL" in your constant specification incorrect as well.
So much crazy stuff going on here :-/
Right, I misslooked that..
How does this work on Android then?
I doubt they changed uabi.
Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
Quoted 22 lines · Dmitry Safonov
Quoted 21 lines · David Miller
From: Dmitry Safonov <[email protected]>
Date: Sun, 05 Aug 2018 00:26:38 +0100Quoted 2 lines
Thanks for the testing, sorry again for the breakage. Will send the patch shortly (with sizeof(unsigned long long)
instead of
Quoted 1 line
hard-coded 64). Hopefully, not too late.
'groups' is "long unsigned int" not "unsigned long long"
long unsigned int groups = nladdr->nl_groups;And
nladdr->nl_groupsis specified as "__u32"So the size of the relevant bits is actually strictly 32-bit.
This makes also the "ULL" in your constant specification incorrect as
well.
Quoted 5 lines
Quoted 1 line
So much crazy stuff going on here :-/
Right, I misslooked that..
How does this work on Android then?
I doubt they changed uabi.
Ok, I'm too slow - that is 32, but shift does overflow. Will send the proper patch in a minute.
Sorry about the mess :C
David Miller
maintainerRe: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
In reply to Dmitry SafonovFrom: Dmitry Safonov <[email protected]>
Date: Sun, 05 Aug 2018 00:44:28 +0100
Quoted 17 lines · David Miller
Quoted 16 lines
From: Dmitry Safonov <[email protected]>
Date: Sun, 05 Aug 2018 00:26:38 +0100Quoted 2 lines
Thanks for the testing, sorry again for the breakage. Will send the patch shortly (with sizeof(unsigned long long)
instead of
Quoted 1 line
hard-coded 64). Hopefully, not too late.
'groups' is "long unsigned int" not "unsigned long long"
long unsigned int groups = nladdr->nl_groups;And
nladdr->nl_groupsis specified as "__u32"So the size of the relevant bits is actually strictly 32-bit.
Quoted 8 lines
Quoted 4 lines
This makes also the "ULL" in your constant specification incorrect as well.
So much crazy stuff going on here :-/
Right, I misslooked that..
How does this work on Android then?
I doubt they changed uabi.
We can have many more than 32 multicast group subscriptions.
That's why the memberships are also stored in the nlk->groups[] array.
I'm --><--- this close to simply reverting all of your changes, the missed masking seems to be quite harmless.
Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
In reply to David MillerQuoted 10 lines · David Miller
From: Dmitry Safonov <[email protected]>
Date: Sun, 05 Aug 2018 00:26:38 +0100Quoted 2 lines
Thanks for the testing, sorry again for the breakage. Will send the patch shortly (with sizeof(unsigned long long)
instead of
Quoted 1 line
hard-coded 64). Hopefully, not too late.
'groups' is "long unsigned int" not "unsigned long long"
Quoted 8 lines
long unsigned int groups = nladdr->nl_groups;And
nladdr->nl_groupsis specified as "__u32"So the size of the relevant bits is actually strictly 32-bit.
This makes also the "ULL" in your constant specification incorrect as well.
I think, ULL is right - I did it to make shift for 32 well-defined. (which in result has 32 bits set)
Quoted 2 lines
So much crazy stuff going on here :-/
David Miller
maintainerRe: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
From: Dmitry Safonov <[email protected]>
Date: Sun, 05 Aug 2018 00:47:05 +0100
Quoted 15 lines · David Miller
Quoted 14 lines
From: Dmitry Safonov <[email protected]>
Date: Sun, 05 Aug 2018 00:26:38 +0100Quoted 2 lines
Thanks for the testing, sorry again for the breakage. Will send the patch shortly (with sizeof(unsigned long long)
instead of
Quoted 1 line
hard-coded 64). Hopefully, not too late.
'groups' is "long unsigned int" not "unsigned long long"
long unsigned int groups = nladdr->nl_groups;And
nladdr->nl_groupsis specified as "__u32"
Quoted 7 lines
Quoted 4 lines
So the size of the relevant bits is actually strictly 32-bit.
This makes also the "ULL" in your constant specification incorrect as well.
I think, ULL is right - I did it to make shift for 32 well-defined. (which in result has 32 bits set)
Oh right, my bad.
Greg Kroah-Hartman
maintainerRe: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
In reply to Nathan ChancellorQuoted 46 lines · Nathan Chancellor
Quoted 29 lines · Greg Kroah-Hartman
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dmitry Safonov <[email protected]>
[ Upstream commit
7acf9d4237c46894e0fa0492dd96314a41742e84]Make ABI more strict about subscribing to group > ngroups. Code doesn't check for that and it looks bogus.
(one can subscribe to non-existing group)
Still, it's possible tobind()to all possible groups with (-1)Cc "David S. Miller" <[email protected]>Cc Herbert Xu <[email protected]>Cc Steffen Klassert <[email protected]>Signed-off-by Dmitry Safonov <[email protected]>Signed-off-by David S. Miller <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>--- net/netlink/af_netlink.c | 1 + 1 file changed, 1 insertion(+)net/netlink/af_netlink.c static int netlink_bind(struct socket *s · line 989
Quoted 7 lines
net/netlink/af_netlink.c +1
-0@@ -983,6 +983,7 @@ static int netlink_bind(struct socket *sif (err)return err; } + groups &= (1UL << nlk->ngroups) -1 ; bound = nlk->bound;if (bound) {Hi Greg,
I am so sorry I didn't catch this in my initial report but this commit along with
ba7aaf93ef2f("netlink: Don't shift with UB onnlk->ngroups") breaks mobile data on both the Pixel 2 XL and OnePlus 6. There is signal but it just never connects to 3G/LTE. Reverting those two commits fixes the issue.
Quoted 3 lines
Nothing stands out to me in dmesg unfortunately and iven neither device is running a vanilla kernel, I cannot say if this is a problem in mainline or not but I just wanted to make you aware of it.
Many thanks for catching this. I'll go drop this patch from the trees for now, and will queue it up later with the fixup patch when that lands in Linus's tree.
thanks,
greg k-h
Greg Kroah-Hartman
maintainerPATCH 107/124 netlink: Dont shift with UB on nlk->ngroups
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dmitry Safonov <[email protected]>
[ Upstream commit 61f4b23769f0cc72ae62c9a81cf08f0397d40da8 ]
On i386 nlk->ngroups might be 32 or 0. Which leads to UB, resulting in hang during boot.
Check for 0 ngroups and use (unsigned long long) as a type to shift.
--- net/netlink/af_netlink.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
net/netlink/af_netlink.c +5 -1
@@ -983,7 +983,11 @@ static int netlink_bind(struct socket *sif (err)return err; } - groups &= (1UL << nlk->ngroups) -1 ; + +if (nlk->ngroups ==0 ) + groups =0 ; +else + groups &= (1ULL << nlk->ngroups) -1 ; bound = nlk->bound;if (bound) {
Greg Kroah-Hartman
maintainerPATCH 108/124 NET: stmmac: align DMA stuff to largest cache line length
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eugeniy Paltsev <[email protected]>
[ Upstream commit 9939a46d90c6c76f4533d534dbadfa7b39dc6acc ]
As for today STMMAC_ALIGN macro (which is used to align DMA stuff) relies on L1 line length (L1_CACHE_BYTES).
This isn't correct in case of system with several cache levels which might have L1 cache line length smaller than L2 line. This can lead to sharing one cache line between DMA buffer and other data, so we can lose this data while invalidate DMA buffer before DMA transaction.
Fix that by using SMP_CACHE_BYTES instead of L1_CACHE_BYTES for aligning.
--- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +1 -1
@@ -54,7 +54,7 @@#include <linux/reset.h> #include <linux/of_mdio.h> -#define STMMAC_ALIGN (x) L1_CACHE_ALIGN(x) +#define STMMAC_ALIGN (x) __ALIGN_KERNEL(x, SMP_CACHE_BYTES)/* Module parameters */ #define TX_TIMEO 5000
Greg Kroah-Hartman
maintainerPATCH 109/124 tcp: do not force quickack when receiving out-of-order packets
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eric Dumazet <[email protected]>
[ Upstream commit a3893637e1eb0ef5eb1bbc52b3a8d2dfa317a35d ]
As explained in commit 9f9843a751d0 ("tcp: properly handle stretch acks in slow start"), TCP stacks have to consider how many packets are acknowledged in one single ACK, because of GRO, but also because of ACK compression or losses.
We plan to add SACK compression in the following patch, we must therefore not call tcp_enter_quickack_mode()
--- net/ipv4/tcp_input.c | 2 -- 1 file changed, 2 deletions(-)
net/ipv4/tcp_input.c +0 -2
@@ -4649,8 +4649,6 @@ drop:if (!before (TCP_SKB_CB (skb)->seq, tp->rcv_nxt +tcp_receive_window (tp))) goto out_of_window; -tcp_enter_quickack_mode (sk); -if (before (TCP_SKB_CB (skb)->seq, tp->rcv_nxt)) {/* Partial packet, seq < rcv_next < end_seq */ SOCK_DEBUG(sk, "partial packet: rcv_next %X seq %X - %X\n",
Greg Kroah-Hartman
maintainerPATCH 110/124 tcp: add max_quickacks param to tcp_incr_quickack and tcp_enter_quickack_mode
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eric Dumazet <[email protected]>
[ Upstream commit 9a9c9b51e54618861420093ae6e9b50a961914c5 ]
We want to add finer control of the number of ACK packets sent after ECN events.
This patch is not changing current behavior, it only enables following change.
--- include/net/tcp.h | 2 +- net/ipv4/tcp_dctcp.c | 4 ++-- net/ipv4/tcp_input.c | 24 +++++++++++++----------- 3 files changed, 16 insertions(+), 14 deletions(-)
include/net/tcp.h +1 -1
@@ -376,7 +376,7 @@ ssize_t tcp_splice_read(struct socket *s struct pipe_inode_info *pipe, size_t len, unsigned int flags); -void tcp_enter_quickack_mode (struct sock *sk); +void tcp_enter_quickack_mode (struct sock *sk,unsigned int max_quickacks);static inline void tcp_dec_quickack_mode (struct sock *sk,const unsigned int pkts) {
net/ipv4/tcp_dctcp.c +2 -2
@@ -138,7 +138,7 @@ static void dctcp_ce_state_0_to_1(struct*/ if (inet_csk (sk)->icsk_ack.pending &ICSK_ACK_TIMER )__tcp_send_ack (sk, ca->prior_rcv_nxt); -tcp_enter_quickack_mode (sk); +tcp_enter_quickack_mode (sk,1 ); } ca->prior_rcv_nxt = tp->rcv_nxt;
@@ -159,7 +159,7 @@ static void dctcp_ce_state_1_to_0(struct*/ if (inet_csk (sk)->icsk_ack.pending &ICSK_ACK_TIMER )__tcp_send_ack (sk, ca->prior_rcv_nxt); -tcp_enter_quickack_mode (sk); +tcp_enter_quickack_mode (sk,1 ); } ca->prior_rcv_nxt = tp->rcv_nxt;
net/ipv4/tcp_input.c +13 -11
@@ -176,21 +176,23 @@ static void tcp_measure_rcv_mss(struct s } } -static void tcp_incr_quickack (struct sock *sk) +static void tcp_incr_quickack (struct sock *sk,unsigned int max_quickacks) {struct inet_connection_sock *icsk =inet_csk (sk);unsigned int quickacks =tcp_sk (sk)->rcv_wnd / (2 * icsk->icsk_ack.rcv_mss);if (quickacks ==0 ) quickacks =2 ; + quickacks =min (quickacks, max_quickacks);if (quickacks > icsk->icsk_ack.quick) - icsk->icsk_ack.quick =min (quickacks,TCP_MAX_QUICKACKS ); + icsk->icsk_ack.quick = quickacks; } -void tcp_enter_quickack_mode (struct sock *sk) +void tcp_enter_quickack_mode (struct sock *sk,unsigned int max_quickacks) {struct inet_connection_sock *icsk =inet_csk (sk); -tcp_incr_quickack (sk); + +tcp_incr_quickack (sk, max_quickacks); icsk->icsk_ack.pingpong =0 ; icsk->icsk_ack.ato =TCP_ATO_MIN ; }
@@ -235,7 +237,7 @@ static void __tcp_ecn_check_ce(struct tc* it is probably a retransmit. */ if (tp->ecn_flags &TCP_ECN_SEEN ) -tcp_enter_quickack_mode ((struct sock *)tp); +tcp_enter_quickack_mode ((struct sock *)tp,TCP_MAX_QUICKACKS );break ;case INET_ECN_CE :if (tcp_ca_needs_ecn ((struct sock *)tp))
@@ -243,7 +245,7 @@ static void __tcp_ecn_check_ce(struct tcif (!(tp->ecn_flags &TCP_ECN_DEMAND_CWR )) {/* Better not delay acks, sender can have a very low cwnd */ -tcp_enter_quickack_mode ((struct sock *)tp); +tcp_enter_quickack_mode ((struct sock *)tp,TCP_MAX_QUICKACKS ); tp->ecn_flags |=TCP_ECN_DEMAND_CWR ; } tp->ecn_flags |=TCP_ECN_SEEN ;
@@ -651,7 +653,7 @@ static void tcp_event_data_recv(struct s/* The _first_ data packet received, initialize * delayed ACK engine. */ -tcp_incr_quickack (sk); +tcp_incr_quickack (sk,TCP_MAX_QUICKACKS ); icsk->icsk_ack.ato =TCP_ATO_MIN ; }else {int m = now - icsk->icsk_ack.lrcvtime;
@@ -667,7 +669,7 @@ static void tcp_event_data_recv(struct s/* Too long gap. Apparently sender failed to * restart window, so that we send ACKs quickly. */ -tcp_incr_quickack (sk); +tcp_incr_quickack (sk,TCP_MAX_QUICKACKS );sk_mem_reclaim (sk); } }
@@ -4136,7 +4138,7 @@ static void tcp_send_dupack(struct sockif (TCP_SKB_CB (skb)->end_seq !=TCP_SKB_CB (skb)->seq &&before (TCP_SKB_CB (skb)->seq, tp->rcv_nxt)) {NET_INC_STATS_BH (sock_net (sk),LINUX_MIB_DELAYEDACKLOST ); -tcp_enter_quickack_mode (sk); +tcp_enter_quickack_mode (sk,TCP_MAX_QUICKACKS );if (tcp_is_sack (tp) && sysctl_tcp_dsack) {u32 end_seq =TCP_SKB_CB (skb)->end_seq;
@@ -4638,7 +4640,7 @@ queue_and_out:tcp_dsack_set (sk,TCP_SKB_CB (skb)->seq,TCP_SKB_CB (skb)->end_seq); out_of_window: -tcp_enter_quickack_mode (sk); +tcp_enter_quickack_mode (sk,TCP_MAX_QUICKACKS );inet_csk_schedule_ack (sk); drop:__kfree_skb (skb);
@@ -5674,7 +5676,7 @@ static int tcp_rcv_synsent_state_process* to stand against the temptation 8) --ANK */ inet_csk_schedule_ack (sk); -tcp_enter_quickack_mode (sk); +tcp_enter_quickack_mode (sk,TCP_MAX_QUICKACKS );inet_csk_reset_xmit_timer (sk,ICSK_TIME_DACK ,TCP_DELACK_MAX ,TCP_RTO_MAX );
Greg Kroah-Hartman
maintainerPATCH 111/124 tcp: do not aggressively quick ack after ECN events
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eric Dumazet <[email protected]>
[ Upstream commit 522040ea5fdd1c33bbf75e1d7c7c0422b96a94ef ]
ECN signals currently forces TCP to enter quickack mode for up to 16 (TCP_MAX_QUICKACKS) following incoming packets.
We believe this is not needed, and only sending one immediate ack for the current packet should be enough.
This should reduce the extra load noticed in DCTCP environments, after congestion events.
This is part 2 of our effort to reduce pure ACK packets.
--- net/ipv4/tcp_input.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
net/ipv4/tcp_input.c +2 -2
@@ -237,7 +237,7 @@ static void __tcp_ecn_check_ce(struct tc* it is probably a retransmit. */ if (tp->ecn_flags &TCP_ECN_SEEN ) -tcp_enter_quickack_mode ((struct sock *)tp,TCP_MAX_QUICKACKS ); +tcp_enter_quickack_mode ((struct sock *)tp,1 );break ;case INET_ECN_CE :if (tcp_ca_needs_ecn ((struct sock *)tp))
@@ -245,7 +245,7 @@ static void __tcp_ecn_check_ce(struct tcif (!(tp->ecn_flags &TCP_ECN_DEMAND_CWR )) {/* Better not delay acks, sender can have a very low cwnd */ -tcp_enter_quickack_mode ((struct sock *)tp,TCP_MAX_QUICKACKS ); +tcp_enter_quickack_mode ((struct sock *)tp,1 ); tp->ecn_flags |=TCP_ECN_DEMAND_CWR ; } tp->ecn_flags |=TCP_ECN_SEEN ;
Greg Kroah-Hartman
maintainerPATCH 112/124 tcp: refactor tcp_ecn_check_ce to remove sk type cast
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Yousuk Seung <[email protected]>
[ Upstream commit f4c9f85f3b2cb7669830cd04d0be61192a4d2436 ]
Refactor tcp_ecn_check_ce and __tcp_ecn_check_ce to accept struct sock* instead of tcp_sock* to clean up type casts. This is a pure refactor patch.
--- net/ipv4/tcp_input.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-)
net/ipv4/tcp_input.c +14 -12
@@ -228,8 +228,10 @@ static void tcp_ecn_withdraw_cwr(struct tp->ecn_flags &= ~TCP_ECN_DEMAND_CWR ; } -static void __tcp_ecn_check_ce (struct tcp_sock *tp,const struct sk_buff *skb) +static void __tcp_ecn_check_ce (struct sock *sk,const struct sk_buff *skb) { +struct tcp_sock *tp =tcp_sk (sk); +switch (TCP_SKB_CB (skb)->ip_dsfield &INET_ECN_MASK ) {case INET_ECN_NOT_ECT :/* Funny extension: if ECT is not set on a segment,
@@ -237,31 +239,31 @@ static void __tcp_ecn_check_ce(struct tc* it is probably a retransmit. */ if (tp->ecn_flags &TCP_ECN_SEEN ) -tcp_enter_quickack_mode ((struct sock *)tp,1 ); +tcp_enter_quickack_mode (sk,1 );break ;case INET_ECN_CE : -if (tcp_ca_needs_ecn ((struct sock *)tp)) -tcp_ca_event ((struct sock *)tp,CA_EVENT_ECN_IS_CE ); +if (tcp_ca_needs_ecn (sk)) +tcp_ca_event (sk,CA_EVENT_ECN_IS_CE );if (!(tp->ecn_flags &TCP_ECN_DEMAND_CWR )) {/* Better not delay acks, sender can have a very low cwnd */ -tcp_enter_quickack_mode ((struct sock *)tp,1 ); +tcp_enter_quickack_mode (sk,1 ); tp->ecn_flags |=TCP_ECN_DEMAND_CWR ; } tp->ecn_flags |=TCP_ECN_SEEN ;break ;default : -if (tcp_ca_needs_ecn ((struct sock *)tp)) -tcp_ca_event ((struct sock *)tp,CA_EVENT_ECN_NO_CE ); +if (tcp_ca_needs_ecn (sk)) +tcp_ca_event (sk,CA_EVENT_ECN_NO_CE ); tp->ecn_flags |=TCP_ECN_SEEN ;break ; } } -static void tcp_ecn_check_ce (struct tcp_sock *tp,const struct sk_buff *skb) +static void tcp_ecn_check_ce (struct sock *sk,const struct sk_buff *skb) { -if (tp->ecn_flags &TCP_ECN_OK ) -__tcp_ecn_check_ce (tp, skb); +if (tcp_sk (sk)->ecn_flags &TCP_ECN_OK ) +__tcp_ecn_check_ce (sk, skb); }static void tcp_ecn_rcv_synack (struct tcp_sock *tp,const struct tcphdr *th)
@@ -675,7 +677,7 @@ static void tcp_event_data_recv(struct s } icsk->icsk_ack.lrcvtime = now; -tcp_ecn_check_ce (tp, skb); +tcp_ecn_check_ce (sk, skb);if (skb->len >=128 )tcp_grow_window (sk, skb);
@@ -4366,7 +4368,7 @@ static void tcp_data_queue_ofo(struct sostruct sk_buff *skb1;u32 seq, end_seq; -tcp_ecn_check_ce (tp, skb); +tcp_ecn_check_ce (sk, skb);if (unlikely (tcp_try_rmem_schedule (sk, skb, skb->truesize))) {NET_INC_STATS_BH (sock_net (sk),LINUX_MIB_TCPOFODROP );
Greg Kroah-Hartman
maintainerPATCH 113/124 tcp: add one more quick ack after after ECN events
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eric Dumazet <[email protected]>
[ Upstream commit 15ecbe94a45ef88491ca459b26efdd02f91edb6d ]
Larry Brakmo proposal ( https://patchwork.ozlabs.org/patch/935233/
tcp: force cwnd at least 2 in tcp_cwnd_reduction) made us rethink about our recent patch removing ~16 quick acks after ECN events.
tcp_enter_quickack_mode(sk, 1) makes sure one immediate ack is sent, but in the case the sender cwnd was lowered to 1, we do not want to have a delayed ack for the next packet we will receive.
--- net/ipv4/tcp_input.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
net/ipv4/tcp_input.c +2 -2
@@ -239,7 +239,7 @@ static void __tcp_ecn_check_ce(struct so* it is probably a retransmit. */ if (tp->ecn_flags &TCP_ECN_SEEN ) -tcp_enter_quickack_mode (sk,1 ); +tcp_enter_quickack_mode (sk,2 );break ;case INET_ECN_CE :if (tcp_ca_needs_ecn (sk))
@@ -247,7 +247,7 @@ static void __tcp_ecn_check_ce(struct soif (!(tp->ecn_flags &TCP_ECN_DEMAND_CWR )) {/* Better not delay acks, sender can have a very low cwnd */ -tcp_enter_quickack_mode (sk,1 ); +tcp_enter_quickack_mode (sk,2 ); tp->ecn_flags |=TCP_ECN_DEMAND_CWR ; } tp->ecn_flags |=TCP_ECN_SEEN ;
Greg Kroah-Hartman
maintainerPATCH 114/124 inet: frag: enforce memory limits earlier
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eric Dumazet <[email protected]>
[ Upstream commit 56e2c94f055d328f5f6b0a5c1721cca2f2d4e0a1 ]
We currently check current frags memory usage only when a new frag queue is created. This allows attackers to first consume the memory budget (default : 4 MB) creating thousands of frag queues, then sending tiny skbs to exceed high_thresh limit by 2 to 3 order of magnitude.
Note that before commit 648700f76b03 ("inet: frags: use rhashtables for reassembly units"), work queue could be starved under DOS, getting no cpu cycles.
After commit 648700f76b03, only the per frag queue timer can eventually remove an incomplete frag queue and its skbs.
--- net/ipv4/inet_fragment.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
net/ipv4/inet_fragment.c +5 -5
@@ -364,11 +364,6 @@ static struct inet_frag_queue *inet_frag {struct inet_frag_queue *q; -if (frag_mem_limit (nf) > nf->high_thresh) { -inet_frag_schedule_worker (f); -return NULL ; - } - q =kmem_cache_zalloc (f->frags_cachep,GFP_ATOMIC );if (!q)return NULL ;
@@ -405,6 +400,11 @@ struct inet_frag_queue *inet_frag_find(sstruct inet_frag_queue *q;int depth =0 ; +if (!nf->high_thresh ||frag_mem_limit (nf) > nf->high_thresh) { +inet_frag_schedule_worker (f); +return NULL ; + } +if (frag_mem_limit (nf) > nf->low_thresh)inet_frag_schedule_worker (f);
Greg Kroah-Hartman
maintainerPATCH 115/124 net: dsa: Do not suspend/resume closed slave_dev
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Florian Fainelli <[email protected]>
[ Upstream commit a94c689e6c9e72e722f28339e12dff191ee5a265 ]
If a DSA slave network device was previously disabled, there is no need to suspend or resume it.
--- net/dsa/slave.c | 6 ++++++ 1 file changed, 6 insertions(+)
net/dsa/slave.c +6 -0
@@ -1099,6 +1099,9 @@ int dsa_slave_suspend(struct net_device {struct dsa_slave_priv *p =netdev_priv (slave_dev); +if (!netif_running (slave_dev)) +return 0 ; +netif_device_detach (slave_dev);if (p->phy) {
@@ -1116,6 +1119,9 @@ int dsa_slave_resume(struct net_device * {struct dsa_slave_priv *p =netdev_priv (slave_dev); +if (!netif_running (slave_dev)) +return 0 ; +netif_device_attach (slave_dev);if (p->phy) {
Greg Kroah-Hartman
maintainerPATCH 116/124 netlink: Fix spectre v1 gadget in netlink_create()
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jeremy Cline <[email protected]>
[ Upstream commit bc5b6c0b62b932626a135f516a41838c510c6eba ]
'protocol' is a user-controlled value, so sanitize it after the bounds check to avoid using it for speculative out-of-bounds access to arrays indexed by it.
This addresses the following accesses detected with the help of smatch:
* net/netlink/af_netlink.c:654 __netlink_create() warn: potential spectre issue 'nlk_cb_mutex_keys' [w]
* net/netlink/af_netlink.c:654 __netlink_create() warn: potential spectre issue 'nlk_cb_mutex_key_strings' [w]
* net/netlink/af_netlink.c:685 netlink_create() warn: potential spectre issue 'nl_table' [w] (local cap)
--- net/netlink/af_netlink.c | 2 ++ 1 file changed, 2 insertions(+)
net/netlink/af_netlink.c +2 -0
@@ -62,6 +62,7 @@#include <asm/cacheflush.h> #include <linux/hash.h> #include <linux/genetlink.h> +#include <linux/nospec.h> #include <net/net_namespace.h> #include <net/sock.h>
@@ -654,6 +655,7 @@ static int netlink_create(struct net *neif (protocol <0 || protocol >=MAX_LINKS )return -EPROTONOSUPPORT ; + protocol =array_index_nospec (protocol,MAX_LINKS );netlink_lock_table ();#ifdef CONFIG_MODULES
Greg Kroah-Hartman
maintainerPATCH 117/124 squashfs: more metadata hardening
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Linus Torvalds <[email protected]>
commit d512584780d3e6a7cacb2f482834849453d444a1 upstream.
Anatoly reports another squashfs fuzzing issue, where the decompression parameters themselves are in a compressed block.
This causes squashfs_read_data() to be called in order to read the decompression options before the decompression stream having been set up, making squashfs go sideways.
--- fs/squashfs/block.c | 2 ++ 1 file changed, 2 insertions(+)
fs/squashfs/block.c +2 -0
@@ -166,6 +166,8 @@ int squashfs_read_data(struct super_bloc }if (compressed) { +if (!msblk->stream) + goto read_failure; length =squashfs_decompress (msblk, bh, b, offset, length, output);if (length <0 )
Greg Kroah-Hartman
maintainerPATCH 119/124 can: ems_usb: Fix memory leak on ems_usb_disconnect()
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Anton Vasilyev <[email protected]>
commit 72c05f32f4a5055c9c8fe889bb6903ec959c0aad upstream.
ems_usb_probe() allocates memory for dev->tx_msg_buffer, but there is no its deallocation in ems_usb_disconnect().
Found by Linux Driver Verification project (linuxtesting.org).
--- drivers/net/can/usb/ems_usb.c | 1 + 1 file changed, 1 insertion(+)
drivers/net/can/usb/ems_usb.c +1 -0
@@ -1078,6 +1078,7 @@ static void ems_usb_disconnect(struct ususb_free_urb (dev->intr_urb);kfree (dev->intr_in_buffer); +kfree (dev->tx_msg_buffer); } }
Greg Kroah-Hartman
maintainerPATCH 120/124 net: socket: fix potential spectre v1 gadget in socketcall
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jeremy Cline <[email protected]>
commit c8e8cd579bb4265651df8223730105341e61a2d1 upstream.
'call' is a user-controlled value, so sanitize the array index after the bounds check to avoid speculating past the bounds of the 'nargs' array.
Found with the help of Smatch:
net/socket.c:2508 __do_sys_socketcall() warn: potential spectre issue 'nargs' [r] (local cap)
--- net/socket.c | 2 ++ 1 file changed, 2 insertions(+)
net/socket.c +2 -0
@@ -89,6 +89,7 @@#include <linux/magic.h> #include <linux/slab.h> #include <linux/xattr.h> +#include <linux/nospec.h> #include <asm/uaccess.h> #include <asm/unistd.h>
@@ -2324,6 +2325,7 @@ SYSCALL_DEFINE2(socketcall, int, call, uif (call <1 || call >SYS_SENDMMSG )return -EINVAL ; + call =array_index_nospec (call,SYS_SENDMMSG +1 ); len = nargs[call];if (len >sizeof (a))
Greg Kroah-Hartman
maintainerPATCH 121/124 virtio_balloon: fix another race between migration and ballooning
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jiang Biao <[email protected]>
commit 89da619bc18d79bca5304724c11d4ba3b67ce2c6 upstream.
Kernel panic when with high memory pressure, calltrace looks like,
PID: 21439 TASK: ffff881be3afedd0 CPU: 16 COMMAND: "java"
#0 [ffff881ec7ed7630] machine_kexec at ffffffff81059beb #1 [ffff881ec7ed7690] __crash_kexec at ffffffff81105942 #2 [ffff881ec7ed7760] crash_kexec at ffffffff81105a30 #3 [ffff881ec7ed7778] oops_end at ffffffff816902c8
#4 [ffff881ec7ed77a0] no_context at ffffffff8167ff46 #5 [ffff881ec7ed77f0] __bad_area_nosemaphore at ffffffff8167ffdc #6 [ffff881ec7ed7838] __node_set at ffffffff81680300 #7 [ffff881ec7ed7860] __do_page_fault at ffffffff8169320f #8 [ffff881ec7ed78c0] do_page_fault at ffffffff816932b5 #9 [ffff881ec7ed78f0] page_fault at ffffffff8168f4c8
[exception RIP: _raw_spin_lock_irqsave+47]
RIP: ffffffff8168edef RSP: ffff881ec7ed79a8 RFLAGS: 00010046
RAX: 0000000000000246 RBX: ffffea0019740d00 RCX: ffff881ec7ed7fd8
RDX: 0000000000020000 RSI: 0000000000000016 RDI: 0000000000000008
RBP: ffff881ec7ed79a8 R8: 0000000000000246 R9: 000000000001a098
R10: ffff88107ffda000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000008 R14: ffff881ec7ed7a80 R15: ffff881be3afedd0
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018It happens in the pagefault and results in double pagefault during compacting pages when memory allocation fails.
Analysed the vmcore, the page leads to second pagefault is corrupted with _mapcount=-256, but private=0.
It's caused by the race between migration and ballooning, and lock missing in virtballoon_migratepage() of virtio_balloon driver. This patch fix the bug.
--- drivers/virtio/virtio_balloon.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/virtio/virtio_balloon.c +2 -0
@@ -479,7 +479,9 @@ static int virtballoon_migratepage(structell_host (vb, vb->inflate_vq);/* balloon's page migration 2nd step -- deflate "page" */ +spin_lock_irqsave (&vb_dev_info->pages_lock, flags);balloon_page_delete (page); +spin_unlock_irqrestore (&vb_dev_info->pages_lock, flags); vb->num_pfns =VIRTIO_BALLOON_PAGES_PER_PAGE ;set_page_pfns (vb, vb->pfns, page);tell_host (vb, vb->deflate_vq);
Greg Kroah-Hartman
maintainerPATCH 122/124 kvm: x86: vmx: fix vpid leak
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Roman Kagan <[email protected]>
commit 63aff65573d73eb8dda4732ad4ef222dd35e4862 upstream.
VPID for the nested vcpu is allocated at vmx_create_vcpu whenever nested vmx is turned on with the module parameter.
However, it's only freed if the L1 guest has executed VMXON which is not a given.
As a result, on a system with nested==on every creation+deletion of an L1 vcpu without running an L2 guest results in leaking one vpid. Since the total number of vpids is limited to 64k, they can eventually get exhausted, preventing L2 from starting.
Delay allocation of the L2 vpid until VMXON emulation, thus matching its freeing.
--- arch/x86/kvm/vmx.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
arch/x86/kvm/vmx.c +3 -4
@@ -6843,6 +6843,8 @@ static int handle_vmon(struct kvm_vcpu * HRTIMER_MODE_REL); vmx->nested.preemption_timer.function = vmx_preemption_timer_fn; + vmx->nested.vpid02 =allocate_vpid (); + vmx->nested.vmxon = true;skip_emulated_instruction (vcpu);
@@ -8887,10 +8889,8 @@ static struct kvm_vcpu *vmx_create_vcpu( goto free_vmcs; } -if (nested) { +if (nested)nested_vmx_setup_ctls_msrs (vmx); - vmx->nested.vpid02 =allocate_vpid (); - } vmx->nested.posted_intr_nv =-1 ; vmx->nested.current_vmptr =-1ull ;
@@ -8899,7 +8899,6 @@ static struct kvm_vcpu *vmx_create_vcpu(return &vmx->vcpu; free_vmcs: -free_vpid (vmx->nested.vpid02);free_loaded_vmcs (vmx->loaded_vmcs); free_msrs:kfree (vmx->guest_msrs);
Greg Kroah-Hartman
maintainerPATCH 123/124 crypto: padlock-aes - Fix Nano workaround data corruption
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Herbert Xu <[email protected]>
commit 46d8c4b28652d35dc6cfb5adf7f54e102fc04384 upstream.
This was detected by the self-test thanks to Ard's chunking patch.
I finally got around to testing this out on my ancient Via box. It turns out that the workaround got the assembly wrong and we end up doing count + initial cycles of the loop instead of just count.
This obviously causes corruption, either by overwriting the source that is yet to be processed, or writing over the end of the buffer.
On CPUs that don't require the workaround only ECB is affected. On Nano CPUs both ECB and CBC are affected.
This patch fixes it by doing the subtraction prior to the assembly.
--- drivers/crypto/padlock-aes.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
drivers/crypto/padlock-aes.c +6 -2
@@ -266,6 +266,8 @@ static inline void padlock_xcrypt_ecb(coreturn ; } + count -= initial; +if (initial) asmvolatile (".byte 0xf3,0x0f,0xa7,0xc8" /* rep xcryptecb */ : "+S"(input), "+D"(output)
@@ -273,7 +275,7 @@ static inline void padlock_xcrypt_ecb(co asmvolatile (".byte 0xf3,0x0f,0xa7,0xc8" /* rep xcryptecb */ :"+S" (input),"+D" (output) - :"d" (control_word),"b" (key),"c" (count - initial)); + :"d" (control_word),"b" (key),"c" (count)); } static inline u8 *padlock_xcrypt_cbc(const u8 *input, u8 *output, void *key,
@@ -284,6 +286,8 @@ static inline u8 *padlock_xcrypt_cbc(conif (count < cbc_fetch_blocks)return cbc_crypt (input, output, key, iv, control_word, count); + count -= initial; +if (initial) asmvolatile (".byte 0xf3,0x0f,0xa7,0xd0" /* rep xcryptcbc */ : "+S" (input), "+D" (output), "+a" (iv)
@@ -291,7 +295,7 @@ static inline u8 *padlock_xcrypt_cbc(con asmvolatile (".byte 0xf3,0x0f,0xa7,0xd0" /* rep xcryptcbc */ :"+S" (input),"+D" (output),"+a" (iv) - :"d" (control_word),"b" (key),"c" (count-initial)); + :"d" (control_word),"b" (key),"c" (count));return iv; }
Re: [PATCH 4.4 123/124] crypto: padlock-aes - Fix Nano workaround data corruption
Quoted 21 lines · Greg Kroah-Hartman
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Herbert Xu <[email protected]>
commit
46d8c4b28652d35dc6cfb5adf7f54e102fc04384upstream.This was detected by the self-test thanks to Ard's chunking patch.
I finally got around to testing this out on my ancient Via box. It turns out that the workaround got the assembly wrong and we end up doing count + initial cycles of the loop instead of just count.
This obviously causes corruption, either by overwriting the source that is yet to be processed, or writing over the end of the buffer.
On CPUs that don't require the workaround only ECB is affected. On Nano CPUs both ECB and CBC are affected.
This patch fixes it by doing the subtraction prior to the assembly.
[...]
Quoted 17 lines
drivers/crypto/padlock-aes.c +0
-0@@ -266,6 +266,8 @@ static inline void padlock_xcrypt_ecb(co > return; > }drivers/crypto/padlock-aes.c +2
-0+ count -= initial; +if (initial)
asm volatile (".byte 0xf3,0x0f,0xa7,0xc8" /* rep xcryptecb */
: "+S"(input), "+D"(output)drivers/crypto/padlock-aes.c +0
-0@@ -273,7 +275,7 @@ static inline void padlock_xcrypt_ecb(co
asm volatile (".byte 0xf3,0x0f,0xa7,0xc8" /* rep xcryptecb */
: "+S"(input), "+D"(output)drivers/crypto/padlock-aes.c +1
-1- : "d"(control_word), "b"(key), "c"(count - initial)); + : "d"(control_word), "b"(key), "c"(count));
Quoted 3 lines
}
static inline u8 *padlock_xcrypt_cbc(const u8 *input, u8 *output, void *key,
[...]
On the face of it, this change shouldn't make any difference. But I think what's going on is that the compiler stores "initial" in register ecx and nowhere else, because it has no idea that the first inline assembly block will update ecx.
This change evidently works around that problem for the specific compiler and configuration you tested with, but it seems fragile. I think the assembly constraints should be updated to properly fix this.
Ben.
Signature · 3 lines
Ben Hutchings, Software Developer Codethink Ltd
https://www.codethink.co.uk/ Dale House, 35 Dale Street
Manchester, M1 2HF, United KingdomGreg Kroah-Hartman
maintainerPATCH 124/124 scsi: sg: fix minor memory leak in error path
In reply to Greg Kroah-Hartman4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Tony Battersby <[email protected]>
commit c170e5a8d222537e98aa8d4fddb667ff7a2ee114 upstream.
Fix a minor memory leak when there is an error opening a /dev/sg device.
--- drivers/scsi/sg.c | 1 + 1 file changed, 1 insertion(+)
drivers/scsi/sg.c +1 -0
@@ -2195,6 +2195,7 @@ sg_add_sfp(Sg_device * sdp)write_lock_irqsave (&sdp->sfd_lock, iflags);if (atomic_read (&sdp->detaching)) {write_unlock_irqrestore (&sdp->sfd_lock, iflags); +kfree (sfp);return ERR_PTR (-ENODEV ); }list_add_tail (&sfp->sfd_siblings, &sdp->sfds);
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.4.146 release. There are 124 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 Mon Aug 6 08:26:39 UTC 2018. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.146-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-4.4.y
and the diffstat can be found below.thanks,
greg k-h
Merged, compiled with -Werror, and installed onto my Pixel 2 XL.
No issues noticed in dmesg or general usage.
Thanks!
Nathan
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.4.146 release. There are 124 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 Mon Aug 6 08:26:39 UTC 2018. Anything received after that time might be too late.
Build results:
total: 148 pass: 148 fail: 0 Qemu test results: total: 226 pass: 226 fail: 0
Details are available at http://kerneltests.org/builders/.
Guenter
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.4.146 release. There are 124 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 Mon Aug 6 08:26:39 UTC 2018. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.146-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-4.4.y
and the diffstat can be found below.thanks,
greg k-h
Results from Linaro’s test farm.
No regressions on arm64, arm and x86_64.
Summary
------------------------------------------------------------------------
kernel: 4.4.146-rc1
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-4.4.y
git commit: 34b42c7deffc0d7a1d7c8a321733f113957a744a
git describe: v4.4.145-125-g34b42c7deffc
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-4.4-oe/build/v4.4.145-125-g34b42c7deffc
No regressions (compared to build v4.4.145-114-g55fd2aefff69)
Ran 12206 total tests in the following environments and test suites.
Environments
--------------
- juno-r2 - arm64
- qemu_arm
- qemu_x86_64
- x15 - arm
- x86_64
Test Suites
-----------
* boot
* kselftest
* libhugetlbfs
* ltp-cap_bounds-tests
* ltp-containers-tests
* ltp-cve-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-nptl-tests
* ltp-open-posix-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* ltp-timers-tests
* kselftest-vsyscall-mode-native
* kselftest-vsyscall-mode-none
Summary
------------------------------------------------------------------------
kernel: 4.4.146-rc1
git repo: https://git.linaro.org/lkft/arm64-stable-rc.git
git branch: 4.4.146-rc1-hikey-20180804-251
git commit: 386cc87244b183476efdaeed31dc1819b85a3eb9
git describe: 4.4.146-rc1-hikey-20180804-251
Test details: https://qa-reports.linaro.org/lkft/linaro-hikey-stable-rc-4.4-oe/build/4.4.146-rc1-hikey-20180804-251
No regressions (compared to build 4.4.146-rc1-hikey-20180804-250)
Ran 2673 total tests in the following environments and test suites.
Environments
--------------
- hi6220-hikey - arm64
- qemu_arm64
Test Suites
-----------
* boot
* kselftest
* libhugetlbfs
* ltp-cap_bounds-tests
* ltp-containers-tests
* ltp-cve-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-nptl-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* ltp-timers-tests
Signature · 2 lines
Linaro LKFT https://lkft.linaro.org
Greg Kroah-Hartman
maintainerQuoted 16 lines · Naresh Kamboju
Quoted 14 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.4.146 release. There are 124 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 Mon Aug 6 08:26:39 UTC 2018. 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.4.146-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-4.4.y
and the diffstat can be found below.
Quoted 6 lines
Quoted 3 lines
thanks,
greg k-h
Results from Linaro’s test farm.
No regressions on arm64, arm andx86_64.
Really? How did you all miss the netfilter bug that was introduced by this series?
Anyway, thanks for testing, but I'm worried...
thanks,
greg k-h
Quoted 19 lines · Greg Kroah-Hartman
Quoted 18 lines · Naresh Kamboju
Quoted 16 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.4.146 release. There are 124 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 Mon Aug 6 08:26:39 UTC 2018. 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.4.146-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-4.4.y
and the diffstat can be found below.thanks,
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
greg k-h
Results from Linaro’s test farm.
No regressions on arm64, arm andx86_64.Really? How did you all miss the netfilter bug that was introduced by this series?
If I understand the related exchange correctly, this bug exists upstream as well, and no one caught it there either. I am also not sure if there are secondary conditions, such as the number of multicast groups. Given that, I don't really feel that bad. On the contrary, kudos to Nathan for catching it.
This just shows that our testing is not perfect and needs to improve further.
Guenter
Quoted 21 lines · Greg Kroah-Hartman
Quoted 20 lines · Naresh Kamboju
Quoted 17 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.4.146 release. There are 124 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 Mon Aug 6 08:26:39 UTC 2018. 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.4.146-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-4.4.y
and the diffstat can be found below.thanks,
greg k-h
Quoted 7 lines
Quoted 2 lines
Results from Linaro’s test farm.
No regressions on arm64, arm andx86_64.Really? How did you all miss the netfilter bug that was introduced by this series?
Anyway, thanks for testing, but I'm worried...
I took a look through our test suites to see where we may have coverage for this. There is a netns series of tests in LTP [1], but we've had trouble getting them running successfully in the past and so they are being skipped. I don't know if it would have caught this particular issue, but I'll find out, and also see if we can get them working and running again.
We also run the net/ tests in kselftest, but there aren't that many, and of course running kselftest the way we do is not a well supported usecase (running all of 4.17 kselftest against 4.4 kernels, skipping tests that are broken).
So I would ask, how would net/ expect such things to be tested, and what can we do to help?
Dan
[1] https://github.com/linux-test-project/ltp/tree/master/testcases/kernel/containers/netns
Greg Kroah-Hartman
maintainerQuoted 36 lines · Dan Rue
Quoted 21 lines · Greg Kroah-Hartman
Quoted 20 lines · Naresh Kamboju
Quoted 17 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.4.146 release. There are 124 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 Mon Aug 6 08:26:39 UTC 2018. 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.4.146-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-4.4.y
and the diffstat can be found below.thanks,
greg k-h
Quoted 7 lines
Quoted 2 lines
Results from Linaro’s test farm.
No regressions on arm64, arm andx86_64.Really? How did you all miss the netfilter bug that was introduced by this series?
Anyway, thanks for testing, but I'm worried...
I took a look through our test suites to see where we may have coverage for this. There is a netns series of tests in LTP [1], but we've had trouble getting them running successfully in the past and so they are being skipped. I don't know if it would have caught this particular issue, but I'll find out, and also see if we can get them working and running again.
Quoted 6 lines
We also run the
net/tests in kselftest, but there aren't that many, and of course running kselftest the way we do is not a well supported usecase (running all of 4.17 kselftest against 4.4 kernels, skipping tests that are broken).So I would ask, how would
net/expect such things to be tested, and what can we do to help?
I don't know. Somehow this was caught when running Android's userspace, which seems to be a great stress test for networking. What about running the Android networking tests on kernels? Those don't need to be run on an android system to work properly last I checked.
thanks,
greg k-h
Quoted 42 lines · Greg Kroah-Hartman
Quoted 40 lines · Dan Rue
Quoted 21 lines · Greg Kroah-Hartman
Quoted 20 lines · Naresh Kamboju
Quoted 17 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.4.146 release. There are 124 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 Mon Aug 6 08:26:39 UTC 2018. 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.4.146-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-4.4.y
and the diffstat can be found below.thanks,
greg k-h
Quoted 7 lines
Quoted 2 lines
Results from Linaro’s test farm.
No regressions on arm64, arm andx86_64.Really? How did you all miss the netfilter bug that was introduced by this series?
Anyway, thanks for testing, but I'm worried...
I took a look through our test suites to see where we may have coverage for this. There is a netns series of tests in LTP [1], but we've had trouble getting them running successfully in the past and so they are being skipped. I don't know if it would have caught this particular issue, but I'll find out, and also see if we can get them working and running again.
We also run the
net/tests in kselftest, but there aren't that many, and of course running kselftest the way we do is not a well supported usecase (running all of 4.17 kselftest against 4.4 kernels, skipping tests that are broken).
Quoted 7 lines
Quoted 2 lines
So I would ask, how would
net/expect such things to be tested, and what can we do to help?I don't know. Somehow this was caught when running Android's userspace, which seems to be a great stress test for networking. What about running the Android networking tests on kernels? Those don't need to be run on an android system to work properly last I checked.
They [1] are definitely on our radar of tests to integrate into LKFT.
[1] - https://source.android.com/devices/architecture/kernel/network_tests
Cheers!
anmar