All of lore.kernel.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* Re: Patch "workqueue: Fix flag collision" has been added to the 4.4-stable tree
  @ 2017-09-08  1:57 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-09-08  1:57 UTC (permalink / raw)
  To: gregkh; +Cc: ben, tj, stable, stable-commits

On Thu, Sep 07, 2017 at 04:48:52PM +0200, gregkh@linuxfoundation.org wrote:
> 
> This is a note to let you know that I've just added the patch titled
> 
>     workqueue: Fix flag collision
> 
> to the 4.4-stable tree which can be found at:
>     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> 
> The filename of the patch is:
>      workqueue-fix-flag-collision.patch
> and it can be found in the queue-4.4 subdirectory.
> 
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@vger.kernel.org> know about it.
> 
> 
> From fbf1c41fc0f4d3574ac2377245efd666c1fa3075 Mon Sep 17 00:00:00 2001
> From: Ben Hutchings <ben@decadent.org.uk>
> Date: Sun, 3 Sep 2017 01:18:41 +0100
> Subject: workqueue: Fix flag collision
> 
> From: Ben Hutchings <ben@decadent.org.uk>
> 
> commit fbf1c41fc0f4d3574ac2377245efd666c1fa3075 upstream.
> 
> Commit 0a94efb5acbb ("workqueue: implicit ordered attribute should be
> overridable") introduced a __WQ_ORDERED_EXPLICIT flag but gave it the
> same value as __WQ_LEGACY.  I don't believe these were intended to
> mean the same thing, so renumber __WQ_ORDERED_EXPLICIT.
> 
> Fixes: 0a94efb5acbb ("workqueue: implicit ordered attribute should be ...")
> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
> Signed-off-by: Tejun Heo <tj@kernel.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 
> ---
>  include/linux/workqueue.h |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- a/include/linux/workqueue.h
> +++ b/include/linux/workqueue.h
> @@ -311,7 +311,7 @@ enum {
>  
>  	__WQ_DRAINING		= 1 << 16, /* internal: workqueue is draining */
>  	__WQ_ORDERED		= 1 << 17, /* internal: workqueue is ordered */
> -	__WQ_ORDERED_EXPLICIT	= 1 << 18, /* internal: alloc_ordered_workqueue() */
> +	__WQ_ORDERED_EXPLICIT	= 1 << 19, /* internal: alloc_ordered_workqueue() */
>  
>  	WQ_MAX_ACTIVE		= 512,	  /* I like 512, better ideas? */
>  	WQ_MAX_UNBOUND_PER_CPU	= 4,	  /* 4 * #cpus for unbound wq */
> 
> 
> Patches currently in stable-queue which might be from ben@decadent.org.uk are
> 
> queue-4.4/usb-xhci-fix-regression-when-ati-chipsets-detected.patch
> queue-4.4/workqueue-fix-flag-collision.patch

Hey Greg,

I don't think this patch makes sense in 3.18 or 4.4 as they don't have
the __WQ_LEGACY flag from 23d11a58a9a60dcb52c8fc6494efce908b24c295
(which first appeared in 4.5).

Cheers!
Nathan Chancellor

^ permalink raw reply	[relevance 99%]

* [PATCH] init/Kconfig: Fix module signing document location
@ 2017-09-10  9:48 99% Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-09-10  9:48 UTC (permalink / raw)
  To: linux-kernel; +Cc: natechancellor, trivial

This was moved in commit 94e980cc45f2 ("Documentation/module-signing.txt:
convert to ReST markup") and was missed by commit 8c27ceff3604 ("docs:
fix locations of several documents that got moved").

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 init/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/init/Kconfig b/init/Kconfig
index 78cb2461012e..3aef23a19b86 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1752,7 +1752,7 @@ config MODULE_SIG
 	help
 	  Check modules for valid signatures upon load: the signature
 	  is simply appended to the module. For more information see
-	  Documentation/module-signing.txt.
+	  <file:Documentation/admin-guide/module-signing.rst>.
 
 	  Note that this option adds the OpenSSL development packages as a
 	  kernel build dependency so that the signing tool can use its crypto
-- 
2.14.1

^ permalink raw reply related	[relevance 99%]

* Re: [PATCH 4.4 00/28] 4.4.99-stable review
  @ 2017-11-17  8:16 99% ` natechancellor
  0 siblings, 0 replies; 200+ results
From: natechancellor @ 2017-11-17  8:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, stable

On Thu, Nov 16, 2017 at 06:42:18PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.99 release.
> There are 28 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 Sat Nov 18 17:41:29 UTC 2017.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.99-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.99-rc1
> 
> Willy Tarreau <w@1wt.eu>
>     misc: panel: properly restore atomic counter on error path
> 
> Nicholas Bellinger <nab@linux-iscsi.org>
>     target: Fix node_acl demo-mode + uncached dynamic shutdown regression
> 
> Bart Van Assche <bart.vanassche@sandisk.com>
>     target/iscsi: Fix iSCSI task reassignment handling
> 
> Chi-hsien Lin <Chi-Hsien.Lin@cypress.com>
>     brcmfmac: remove setting IBSS mode when stopping AP
> 
> Richard Alpe <richard.alpe@ericsson.com>
>     tipc: fix link attribute propagation bug
> 
> Bilal Amarni <bilal.amarni@gmail.com>
>     security/keys: add CONFIG_KEYS_COMPAT to Kconfig
> 
> Eric Dumazet <edumazet@google.com>
>     tcp/dccp: fix other lockdep splats accessing ireq_opt
> 
> Eric Dumazet <edumazet@google.com>
>     tcp/dccp: fix lockdep splat in inet_csk_route_req()
> 
> Eric Dumazet <edumazet@google.com>
>     tcp/dccp: fix ireq->opt races
> 
> Xin Long <lucien.xin@gmail.com>
>     ipip: only increase err_count for some certain type icmp in ipip_err
> 
> Guillaume Nault <g.nault@alphalink.fr>
>     ppp: fix race in ppp device destruction
> 
> Xin Long <lucien.xin@gmail.com>
>     sctp: reset owner sk for data chunks on out queues when migrating a sock
> 
> Julien Gomes <julien@arista.com>
>     tun: allow positive return values on dev_get_valid_name() call
> 
> Xin Long <lucien.xin@gmail.com>
>     ip6_gre: only increase err_count for some certain type icmpv6 in ip6gre_err
> 
> Andrei Vagin <avagin@openvz.org>
>     net/unix: don't show information about sockets from other namespaces
> 
> Eric Dumazet <edumazet@google.com>
>     ipv6: flowlabel: do not leave opt->tot_len with garbage
> 
> Eric Dumazet <edumazet@google.com>
>     packet: avoid panic in packet_getsockopt()
> 
> Xin Long <lucien.xin@gmail.com>
>     sctp: add the missing sock_owned_by_user check in sctp_icmp_redirect
> 
> Cong Wang <xiyou.wangcong@gmail.com>
>     tun: call dev_get_valid_name() before register_netdevice()
> 
> Guillaume Nault <g.nault@alphalink.fr>
>     l2tp: check ps->sock before running pppol2tp_session_ioctl()
> 
> Eric Dumazet <edumazet@google.com>
>     tcp: fix tcp_mtu_probe() vs highest_sack
> 
> Craig Gallek <kraig@google.com>
>     tun/tap: sanitize TUNSETSNDBUF input
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: seq: Cancel pending autoload work at unbinding device
> 
> Dmitry Torokhov <dmitry.torokhov@gmail.com>
>     Input: ims-psu - check if CDC union descriptor is sane
> 
> Alan Stern <stern@rowland.harvard.edu>
>     usb: usbtest: fix NULL pointer dereference
> 
> Johannes Berg <johannes.berg@intel.com>
>     mac80211: don't compare TKIP TX MIC key in reinstall prevention
> 
> Jason A. Donenfeld <Jason@zx2c4.com>
>     mac80211: use constant time comparison with keys
> 
> Johannes Berg <johannes.berg@intel.com>
>     mac80211: accept key reinstall without changing anything
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                                           |  4 +-
>  arch/powerpc/Kconfig                               |  5 --
>  arch/s390/Kconfig                                  |  3 --
>  arch/sparc/Kconfig                                 |  3 --
>  arch/x86/Kconfig                                   |  4 --
>  drivers/input/misc/ims-pcu.c                       | 16 +++++-
>  drivers/net/macvtap.c                              |  2 +
>  drivers/net/ppp/ppp_generic.c                      | 20 ++++++++
>  drivers/net/tun.c                                  |  7 +++
>  drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c |  3 --
>  drivers/staging/panel/panel.c                      | 23 +++++++--
>  drivers/target/iscsi/iscsi_target.c                | 19 +++----
>  drivers/target/target_core_tpg.c                   |  4 +-
>  drivers/target/target_core_transport.c             |  4 +-
>  drivers/usb/misc/usbtest.c                         |  5 +-
>  include/linux/netdevice.h                          |  3 ++
>  include/net/inet_sock.h                            |  8 ++-
>  include/net/tcp.h                                  |  6 +--
>  include/target/target_core_base.h                  |  1 +
>  net/core/dev.c                                     |  6 +--
>  net/dccp/ipv4.c                                    | 13 +++--
>  net/ipv4/cipso_ipv4.c                              | 24 +++------
>  net/ipv4/inet_connection_sock.c                    |  9 ++--
>  net/ipv4/ipip.c                                    | 58 ++++++++++++++++------
>  net/ipv4/syncookies.c                              |  2 +-
>  net/ipv4/tcp_input.c                               |  2 +-
>  net/ipv4/tcp_ipv4.c                                | 21 ++++----
>  net/ipv4/tcp_output.c                              |  3 +-
>  net/ipv6/ip6_flowlabel.c                           |  1 +
>  net/ipv6/ip6_gre.c                                 | 11 ++--
>  net/ipv6/ip6_output.c                              |  4 +-
>  net/l2tp/l2tp_ppp.c                                |  3 ++
>  net/mac80211/key.c                                 | 53 ++++++++++++++++++--
>  net/packet/af_packet.c                             | 24 ++++++---
>  net/sctp/input.c                                   |  2 +-
>  net/sctp/socket.c                                  | 32 ++++++++++++
>  net/tipc/link.c                                    | 28 +++--------
>  net/tipc/link.h                                    |  1 -
>  net/unix/diag.c                                    |  2 +
>  security/keys/Kconfig                              |  4 ++
>  sound/core/seq/seq_device.c                        |  3 ++
>  41 files changed, 299 insertions(+), 147 deletions(-)
> 
>

Merged and flashed onto my Pixel 2 XL; no apparent issues noticed in
general usage or dmesg.

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/59] 4.4.100-stable review
  @ 2017-11-19 19:48 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-11-19 19:48 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, stable

On Sun, Nov 19, 2017 at 03:32:08PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.100 release.
> There are 59 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 Tue Nov 21 14:31:34 UTC 2017.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.100-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.100-rc1
> 
> Johan Hovold <johan@kernel.org>
>     USB: serial: garmin_gps: fix memory leak on probe errors
> 
> Johan Hovold <johan@kernel.org>
>     USB: serial: garmin_gps: fix I/O after failed probe and remove
> 
> Douglas Fischer <douglas.fischer@outlook.com>
>     USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update
> 
> Bernhard Rosenkraenzer <bernhard.rosenkranzer@linaro.org>
>     USB: Add delay-init quirk for Corsair K70 LUX keyboards
> 
> Alan Stern <stern@rowland.harvard.edu>
>     USB: usbfs: compute urb->actual_length for isochronous
> 
> Dmitry V. Levin <ldv@altlinux.org>
>     uapi: fix linux/rds.h userspace compilation errors
> 
> Dmitry V. Levin <ldv@altlinux.org>
>     uapi: fix linux/rds.h userspace compilation error
> 
> Sasha Levin <alexander.levin@verizon.com>
>     Revert "uapi: fix linux/rds.h userspace compilation errors"
> 
> Sasha Levin <alexander.levin@verizon.com>
>     Revert "crypto: xts - Add ECB dependency"
> 
> Paul Burton <paul.burton@imgtec.com>
>     MIPS: Netlogic: Exclude netlogic,xlp-pic code from XLR builds
> 
> Marcin Nowakowski <marcin.nowakowski@imgtec.com>
>     MIPS: init: Ensure reserved memory regions are not added to bootmem
> 
> Marcin Nowakowski <marcin.nowakowski@imgtec.com>
>     MIPS: init: Ensure bootmem does not corrupt reserved memory
> 
> Paul Burton <paul.burton@imgtec.com>
>     MIPS: End asm function prologue macros with .insn
> 
> Jannik Becher <becher.jannik@gmail.com>
>     staging: rtl8712: fixed little endian problem
> 
> Emil Tantilov <emil.s.tantilov@intel.com>
>     ixgbe: do not disable FEC from the driver
> 
> Emil Tantilov <emil.s.tantilov@intel.com>
>     ixgbe: add mask for 64 RSS queues
> 
> Tony Nguyen <anthony.l.nguyen@intel.com>
>     ixgbe: Reduce I2C retry count on X550 devices
> 
> Emil Tantilov <emil.s.tantilov@intel.com>
>     ixgbe: handle close/suspend race with netif_device_detach/present
> 
> Emil Tantilov <emil.s.tantilov@intel.com>
>     ixgbe: fix AER error handling
> 
> Jon Mason <jon.mason@broadcom.com>
>     arm64: dts: NS2: reserve memory for Nitro firmware
> 
> Kailang Yang <kailang@realtek.com>
>     ALSA: hda/realtek - Add new codec ID ALC299
> 
> Arvind Yadav <arvind.yadav.cs@gmail.com>
>     gpu: drm: mgag200: mgag200_main:- Handle error from pci_iomap
> 
> Alexey Khoroshilov <khoroshilov@ispras.ru>
>     backlight: adp5520: Fix error handling in adp5520_bl_probe()
> 
> Uwe Kleine-K�nig <u.kleine-koenig@pengutronix.de>
>     backlight: lcd: Fix race condition during register
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: vx: Fix possible transfer overflow
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: vx: Don't try to update capture stream before running
> 
> James Smart <james.smart@broadcom.com>
>     scsi: lpfc: Clear the VendorVersion in the PLOGI/PLOGI ACC payload
> 
> James Smart <james.smart@broadcom.com>
>     scsi: lpfc: Correct issue leading to oops during link reset
> 
> James Smart <james.smart@broadcom.com>
>     scsi: lpfc: Correct host name in symbolic_name field
> 
> James Smart <james.smart@broadcom.com>
>     scsi: lpfc: FCoE VPort enable-disable does not bring up the VPort
> 
> James Smart <james.smart@broadcom.com>
>     scsi: lpfc: Add missing memory barrier
> 
> Galo Navarro <anglorvaroa@gmail.com>
>     staging: rtl8188eu: fix incorrect ERROR tags from logs
> 
> subhashj@codeaurora.org <subhashj@codeaurora.org>
>     scsi: ufs: add capability to keep auto bkops always enabled
> 
> Javier Martinez Canillas <javier@osg.samsung.com>
>     scsi: ufs-qcom: Fix module autoload
> 
> Hannu Lounento <hannu.lounento@ge.com>
>     igb: Fix hw_dbg logging in igb_update_flash_i210
> 
> Todd Fujinaka <todd.fujinaka@intel.com>
>     igb: close/suspend race in netif_device_detach
> 
> Aaron Sierra <asierra@xes-inc.com>
>     igb: reset the PHY before reading the PHY ID
> 
> Arvind Yadav <arvind.yadav.cs@gmail.com>
>     drm/sti: sti_vtg: Handle return NULL error from devm_ioremap_nocache
> 
> Geert Uytterhoeven <geert@linux-m68k.org>
>     ata: SATA_MV should depend on HAS_DMA
> 
> Geert Uytterhoeven <geert@linux-m68k.org>
>     ata: SATA_HIGHBANK should depend on HAS_DMA
> 
> Geert Uytterhoeven <geert@linux-m68k.org>
>     ata: ATA_BMDMA should depend on HAS_DMA
> 
> Tony Lindgren <tony@atomide.com>
>     ARM: dts: Fix omap3 off mode pull defines
> 
> Tony Lindgren <tony@atomide.com>
>     ARM: OMAP2+: Fix init for multiple quirks for the same SoC
> 
> Tony Lindgren <tony@atomide.com>
>     ARM: dts: Fix am335x and dm814x scm syscon to probe children
> 
> Tony Lindgren <tony@atomide.com>
>     ARM: dts: Fix compatible for ti81xx uarts for 8250
> 
> Ngai-Mint Kwan <ngai-mint.kwan@intel.com>
>     fm10k: request reset when mbx->state changes
> 
> Roger Quadros <rogerq@ti.com>
>     extcon: palmas: Check the parent instance to prevent the NULL
> 
> Adam Wallis <awallis@codeaurora.org>
>     dmaengine: dmatest: warn user when dma test times out
> 
> Leif Liddy <leif.linux@gmail.com>
>     Bluetooth: btusb: fix QCA Rome suspend/resume
> 
> Eric Biggers <ebiggers@google.com>
>     arm: crypto: reduce priority of bit-sliced AES cipher
> 
> Bj�rn Mork <bjorn@mork.no>
>     net: qmi_wwan: fix divide by 0 on bad descriptors
> 
> Bj�rn Mork <bjorn@mork.no>
>     net: cdc_ether: fix divide by 0 on bad descriptors
> 
> Xin Long <lucien.xin@gmail.com>
>     sctp: do not peel off an assoc from one netns to another one
> 
> Jan Beulich <jbeulich@suse.com>
>     xen-blkback: don't leak stack data via response ring
> 
> Daniel Borkmann <daniel@iogearbox.net>
>     bpf: don't let ldimm64 leak map addresses on unprivileged
> 
> Paolo Bonzini <pbonzini@redhat.com>
>     KVM: x86: fix singlestepping over syscall
> 
> Jan Kara <jack@suse.cz>
>     ext4: fix data exposure after a crash
> 
> Andrey Konovalov <andreyknvl@google.com>
>     media: dib0700: fix invalid dvb_detach argument
> 
> Arvind Yadav <arvind.yadav.cs@gmail.com>
>     media: imon: Fix null-ptr-deref in imon_probe
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                                      |   4 +-
>  arch/arm/boot/dts/am33xx.dtsi                 |   3 +-
>  arch/arm/boot/dts/dm814x.dtsi                 |   9 ++-
>  arch/arm/boot/dts/dm816x.dtsi                 |   6 +-
>  arch/arm/crypto/aesbs-glue.c                  |   6 +-
>  arch/arm/mach-omap2/pdata-quirks.c            |   1 -
>  arch/arm64/boot/dts/broadcom/ns2.dtsi         |   2 +
>  arch/mips/include/asm/asm.h                   |  10 ++-
>  arch/mips/kernel/setup.c                      |  78 +++++++++++++++++++-
>  arch/mips/netlogic/common/irq.c               |   4 +-
>  arch/x86/include/asm/kvm_emulate.h            |   1 +
>  arch/x86/kvm/emulate.c                        |   1 +
>  arch/x86/kvm/x86.c                            |  52 ++++++-------
>  crypto/Kconfig                                |   1 -
>  drivers/ata/Kconfig                           |   3 +
>  drivers/block/xen-blkback/blkback.c           |  23 +++---
>  drivers/block/xen-blkback/common.h            |  25 ++-----
>  drivers/bluetooth/btusb.c                     |   6 ++
>  drivers/dma/dmatest.c                         |   1 +
>  drivers/extcon/extcon-palmas.c                |   5 ++
>  drivers/gpu/drm/mgag200/mgag200_main.c        |   2 +
>  drivers/gpu/drm/sti/sti_vtg.c                 |   4 +
>  drivers/media/rc/imon.c                       |   5 ++
>  drivers/media/usb/dvb-usb/dib0700_devices.c   |  24 +++---
>  drivers/net/ethernet/intel/fm10k/fm10k_mbx.c  |  10 ++-
>  drivers/net/ethernet/intel/fm10k/fm10k_pci.c  |   6 +-
>  drivers/net/ethernet/intel/igb/e1000_82575.c  |  11 +++
>  drivers/net/ethernet/intel/igb/e1000_i210.c   |   4 +-
>  drivers/net/ethernet/intel/igb/igb_main.c     |  21 +++---
>  drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c  |   8 +-
>  drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |  23 +++---
>  drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c  |   4 +-
>  drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c |   2 -
>  drivers/net/usb/cdc_ether.c                   |   2 +-
>  drivers/net/usb/qmi_wwan.c                    |   2 +-
>  drivers/scsi/lpfc/lpfc_attr.c                 |  17 +++++
>  drivers/scsi/lpfc/lpfc_els.c                  |   6 ++
>  drivers/scsi/lpfc/lpfc_hw.h                   |   6 ++
>  drivers/scsi/lpfc/lpfc_sli.c                  |   3 +
>  drivers/scsi/lpfc/lpfc_vport.c                |   8 ++
>  drivers/scsi/ufs/ufs-qcom.c                   |   1 +
>  drivers/scsi/ufs/ufshcd.c                     |  33 ++++++---
>  drivers/scsi/ufs/ufshcd.h                     |  13 ++++
>  drivers/staging/rtl8188eu/include/rtw_debug.h |   2 +-
>  drivers/staging/rtl8712/rtl871x_ioctl_linux.c |   2 +-
>  drivers/usb/core/devio.c                      |  14 ++++
>  drivers/usb/core/quirks.c                     |   3 +
>  drivers/usb/serial/garmin_gps.c               |  22 +++++-
>  drivers/usb/serial/qcserial.c                 |   1 +
>  drivers/video/backlight/adp5520_bl.c          |  12 ++-
>  drivers/video/backlight/lcd.c                 |   4 +-
>  fs/ext4/inode.c                               |  23 +++---
>  include/dt-bindings/pinctrl/omap.h            |   4 +-
>  include/uapi/linux/rds.h                      | 102 +++++++++++++-------------
>  kernel/bpf/verifier.c                         |  21 ++++--
>  net/sctp/socket.c                             |   4 +
>  sound/drivers/vx/vx_pcm.c                     |   8 +-
>  sound/pci/hda/patch_realtek.c                 |  10 +++
>  sound/pci/vx222/vx222_ops.c                   |  12 +--
>  sound/pcmcia/vx/vxp_ops.c                     |  12 +--
>  60 files changed, 481 insertions(+), 231 deletions(-)
> 
>

Merged, compiled, and flashed onto my Pixel 2 XL. No initial issues
noticed in either dmesg or general usage.

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/59] 4.4.100-stable review
@ 2017-11-19 19:48 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-11-19 19:48 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, stable

On Sun, Nov 19, 2017 at 03:32:08PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.100 release.
> There are 59 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 Tue Nov 21 14:31:34 UTC 2017.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.100-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.100-rc1
> 
> Johan Hovold <johan@kernel.org>
>     USB: serial: garmin_gps: fix memory leak on probe errors
> 
> Johan Hovold <johan@kernel.org>
>     USB: serial: garmin_gps: fix I/O after failed probe and remove
> 
> Douglas Fischer <douglas.fischer@outlook.com>
>     USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update
> 
> Bernhard Rosenkraenzer <bernhard.rosenkranzer@linaro.org>
>     USB: Add delay-init quirk for Corsair K70 LUX keyboards
> 
> Alan Stern <stern@rowland.harvard.edu>
>     USB: usbfs: compute urb->actual_length for isochronous
> 
> Dmitry V. Levin <ldv@altlinux.org>
>     uapi: fix linux/rds.h userspace compilation errors
> 
> Dmitry V. Levin <ldv@altlinux.org>
>     uapi: fix linux/rds.h userspace compilation error
> 
> Sasha Levin <alexander.levin@verizon.com>
>     Revert "uapi: fix linux/rds.h userspace compilation errors"
> 
> Sasha Levin <alexander.levin@verizon.com>
>     Revert "crypto: xts - Add ECB dependency"
> 
> Paul Burton <paul.burton@imgtec.com>
>     MIPS: Netlogic: Exclude netlogic,xlp-pic code from XLR builds
> 
> Marcin Nowakowski <marcin.nowakowski@imgtec.com>
>     MIPS: init: Ensure reserved memory regions are not added to bootmem
> 
> Marcin Nowakowski <marcin.nowakowski@imgtec.com>
>     MIPS: init: Ensure bootmem does not corrupt reserved memory
> 
> Paul Burton <paul.burton@imgtec.com>
>     MIPS: End asm function prologue macros with .insn
> 
> Jannik Becher <becher.jannik@gmail.com>
>     staging: rtl8712: fixed little endian problem
> 
> Emil Tantilov <emil.s.tantilov@intel.com>
>     ixgbe: do not disable FEC from the driver
> 
> Emil Tantilov <emil.s.tantilov@intel.com>
>     ixgbe: add mask for 64 RSS queues
> 
> Tony Nguyen <anthony.l.nguyen@intel.com>
>     ixgbe: Reduce I2C retry count on X550 devices
> 
> Emil Tantilov <emil.s.tantilov@intel.com>
>     ixgbe: handle close/suspend race with netif_device_detach/present
> 
> Emil Tantilov <emil.s.tantilov@intel.com>
>     ixgbe: fix AER error handling
> 
> Jon Mason <jon.mason@broadcom.com>
>     arm64: dts: NS2: reserve memory for Nitro firmware
> 
> Kailang Yang <kailang@realtek.com>
>     ALSA: hda/realtek - Add new codec ID ALC299
> 
> Arvind Yadav <arvind.yadav.cs@gmail.com>
>     gpu: drm: mgag200: mgag200_main:- Handle error from pci_iomap
> 
> Alexey Khoroshilov <khoroshilov@ispras.ru>
>     backlight: adp5520: Fix error handling in adp5520_bl_probe()
> 
> Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
>     backlight: lcd: Fix race condition during register
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: vx: Fix possible transfer overflow
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: vx: Don't try to update capture stream before running
> 
> James Smart <james.smart@broadcom.com>
>     scsi: lpfc: Clear the VendorVersion in the PLOGI/PLOGI ACC payload
> 
> James Smart <james.smart@broadcom.com>
>     scsi: lpfc: Correct issue leading to oops during link reset
> 
> James Smart <james.smart@broadcom.com>
>     scsi: lpfc: Correct host name in symbolic_name field
> 
> James Smart <james.smart@broadcom.com>
>     scsi: lpfc: FCoE VPort enable-disable does not bring up the VPort
> 
> James Smart <james.smart@broadcom.com>
>     scsi: lpfc: Add missing memory barrier
> 
> Galo Navarro <anglorvaroa@gmail.com>
>     staging: rtl8188eu: fix incorrect ERROR tags from logs
> 
> subhashj@codeaurora.org <subhashj@codeaurora.org>
>     scsi: ufs: add capability to keep auto bkops always enabled
> 
> Javier Martinez Canillas <javier@osg.samsung.com>
>     scsi: ufs-qcom: Fix module autoload
> 
> Hannu Lounento <hannu.lounento@ge.com>
>     igb: Fix hw_dbg logging in igb_update_flash_i210
> 
> Todd Fujinaka <todd.fujinaka@intel.com>
>     igb: close/suspend race in netif_device_detach
> 
> Aaron Sierra <asierra@xes-inc.com>
>     igb: reset the PHY before reading the PHY ID
> 
> Arvind Yadav <arvind.yadav.cs@gmail.com>
>     drm/sti: sti_vtg: Handle return NULL error from devm_ioremap_nocache
> 
> Geert Uytterhoeven <geert@linux-m68k.org>
>     ata: SATA_MV should depend on HAS_DMA
> 
> Geert Uytterhoeven <geert@linux-m68k.org>
>     ata: SATA_HIGHBANK should depend on HAS_DMA
> 
> Geert Uytterhoeven <geert@linux-m68k.org>
>     ata: ATA_BMDMA should depend on HAS_DMA
> 
> Tony Lindgren <tony@atomide.com>
>     ARM: dts: Fix omap3 off mode pull defines
> 
> Tony Lindgren <tony@atomide.com>
>     ARM: OMAP2+: Fix init for multiple quirks for the same SoC
> 
> Tony Lindgren <tony@atomide.com>
>     ARM: dts: Fix am335x and dm814x scm syscon to probe children
> 
> Tony Lindgren <tony@atomide.com>
>     ARM: dts: Fix compatible for ti81xx uarts for 8250
> 
> Ngai-Mint Kwan <ngai-mint.kwan@intel.com>
>     fm10k: request reset when mbx->state changes
> 
> Roger Quadros <rogerq@ti.com>
>     extcon: palmas: Check the parent instance to prevent the NULL
> 
> Adam Wallis <awallis@codeaurora.org>
>     dmaengine: dmatest: warn user when dma test times out
> 
> Leif Liddy <leif.linux@gmail.com>
>     Bluetooth: btusb: fix QCA Rome suspend/resume
> 
> Eric Biggers <ebiggers@google.com>
>     arm: crypto: reduce priority of bit-sliced AES cipher
> 
> Bjørn Mork <bjorn@mork.no>
>     net: qmi_wwan: fix divide by 0 on bad descriptors
> 
> Bjørn Mork <bjorn@mork.no>
>     net: cdc_ether: fix divide by 0 on bad descriptors
> 
> Xin Long <lucien.xin@gmail.com>
>     sctp: do not peel off an assoc from one netns to another one
> 
> Jan Beulich <jbeulich@suse.com>
>     xen-blkback: don't leak stack data via response ring
> 
> Daniel Borkmann <daniel@iogearbox.net>
>     bpf: don't let ldimm64 leak map addresses on unprivileged
> 
> Paolo Bonzini <pbonzini@redhat.com>
>     KVM: x86: fix singlestepping over syscall
> 
> Jan Kara <jack@suse.cz>
>     ext4: fix data exposure after a crash
> 
> Andrey Konovalov <andreyknvl@google.com>
>     media: dib0700: fix invalid dvb_detach argument
> 
> Arvind Yadav <arvind.yadav.cs@gmail.com>
>     media: imon: Fix null-ptr-deref in imon_probe
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                                      |   4 +-
>  arch/arm/boot/dts/am33xx.dtsi                 |   3 +-
>  arch/arm/boot/dts/dm814x.dtsi                 |   9 ++-
>  arch/arm/boot/dts/dm816x.dtsi                 |   6 +-
>  arch/arm/crypto/aesbs-glue.c                  |   6 +-
>  arch/arm/mach-omap2/pdata-quirks.c            |   1 -
>  arch/arm64/boot/dts/broadcom/ns2.dtsi         |   2 +
>  arch/mips/include/asm/asm.h                   |  10 ++-
>  arch/mips/kernel/setup.c                      |  78 +++++++++++++++++++-
>  arch/mips/netlogic/common/irq.c               |   4 +-
>  arch/x86/include/asm/kvm_emulate.h            |   1 +
>  arch/x86/kvm/emulate.c                        |   1 +
>  arch/x86/kvm/x86.c                            |  52 ++++++-------
>  crypto/Kconfig                                |   1 -
>  drivers/ata/Kconfig                           |   3 +
>  drivers/block/xen-blkback/blkback.c           |  23 +++---
>  drivers/block/xen-blkback/common.h            |  25 ++-----
>  drivers/bluetooth/btusb.c                     |   6 ++
>  drivers/dma/dmatest.c                         |   1 +
>  drivers/extcon/extcon-palmas.c                |   5 ++
>  drivers/gpu/drm/mgag200/mgag200_main.c        |   2 +
>  drivers/gpu/drm/sti/sti_vtg.c                 |   4 +
>  drivers/media/rc/imon.c                       |   5 ++
>  drivers/media/usb/dvb-usb/dib0700_devices.c   |  24 +++---
>  drivers/net/ethernet/intel/fm10k/fm10k_mbx.c  |  10 ++-
>  drivers/net/ethernet/intel/fm10k/fm10k_pci.c  |   6 +-
>  drivers/net/ethernet/intel/igb/e1000_82575.c  |  11 +++
>  drivers/net/ethernet/intel/igb/e1000_i210.c   |   4 +-
>  drivers/net/ethernet/intel/igb/igb_main.c     |  21 +++---
>  drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c  |   8 +-
>  drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |  23 +++---
>  drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c  |   4 +-
>  drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c |   2 -
>  drivers/net/usb/cdc_ether.c                   |   2 +-
>  drivers/net/usb/qmi_wwan.c                    |   2 +-
>  drivers/scsi/lpfc/lpfc_attr.c                 |  17 +++++
>  drivers/scsi/lpfc/lpfc_els.c                  |   6 ++
>  drivers/scsi/lpfc/lpfc_hw.h                   |   6 ++
>  drivers/scsi/lpfc/lpfc_sli.c                  |   3 +
>  drivers/scsi/lpfc/lpfc_vport.c                |   8 ++
>  drivers/scsi/ufs/ufs-qcom.c                   |   1 +
>  drivers/scsi/ufs/ufshcd.c                     |  33 ++++++---
>  drivers/scsi/ufs/ufshcd.h                     |  13 ++++
>  drivers/staging/rtl8188eu/include/rtw_debug.h |   2 +-
>  drivers/staging/rtl8712/rtl871x_ioctl_linux.c |   2 +-
>  drivers/usb/core/devio.c                      |  14 ++++
>  drivers/usb/core/quirks.c                     |   3 +
>  drivers/usb/serial/garmin_gps.c               |  22 +++++-
>  drivers/usb/serial/qcserial.c                 |   1 +
>  drivers/video/backlight/adp5520_bl.c          |  12 ++-
>  drivers/video/backlight/lcd.c                 |   4 +-
>  fs/ext4/inode.c                               |  23 +++---
>  include/dt-bindings/pinctrl/omap.h            |   4 +-
>  include/uapi/linux/rds.h                      | 102 +++++++++++++-------------
>  kernel/bpf/verifier.c                         |  21 ++++--
>  net/sctp/socket.c                             |   4 +
>  sound/drivers/vx/vx_pcm.c                     |   8 +-
>  sound/pci/hda/patch_realtek.c                 |  10 +++
>  sound/pci/vx222/vx222_ops.c                   |  12 +--
>  sound/pcmcia/vx/vxp_ops.c                     |  12 +--
>  60 files changed, 481 insertions(+), 231 deletions(-)
> 
>

Merged, compiled, and flashed onto my Pixel 2 XL. No initial issues
noticed in either dmesg or general usage.

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/59] 4.4.100-stable review
  @ 2017-11-20 19:43 99%     ` Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2017-11-20 19:43 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Nathan Chancellor, linux-kernel, torvalds, akpm, linux, shuahkh,
	patches, ben.hutchings, stable

On Mon, Nov 20, 2017 at 08:27:07PM +0100, Greg Kroah-Hartman wrote:
> On Sun, Nov 19, 2017 at 12:48:51PM -0700, Nathan Chancellor wrote:
> > On Sun, Nov 19, 2017 at 03:32:08PM +0100, Greg Kroah-Hartman wrote:
> > 
> > Merged, compiled, and flashed onto my Pixel 2 XL. No initial issues
> > noticed in either dmesg or general usage.
> 
> Wonderful, thanks for testing.
> 
> Just a side note, are you able to do 'fastboot kernelimage' with this
> device, or do you have to flash a whole new boot image in order to test
> out a new kernel?  If the later, any public scripts around to make this
> easy to do, I'm thinking I should get one of these to do the same sort
> of testing...
> 
> thanks,
> 
> greg k-h
>

No, I wish fastboot flash kernel Image.gz-dtb was a thing on the Pixel 2
XL but Google omitted it unfortunately (they didn't on the Pixel 2
apparently which I find odd but whatever).

All of my tools are publicly available, I'll link them below.

The build script handles compiling the kernel and boot image, the
manifest is to sync the bare essentials down so you don't have to pull
down a full AOSP tree, and the flashing function pulls the boot image
down off my server and flashes it to the device without manually doing
commands. I've also linked the kernel tree if you care to look through
anything.

Cheers!
Nathan

Script: https://github.com/nathanchance/scripts/blob/master/flash
Manifest: https://github.com/nathanchance/pixel2-manifest
Flashing: https://github.com/nathanchance/scripts/blob/master/os_darwin#L191
Kernel tree: https://github.com/nathanchance/wahoo

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/16] 4.4.101-stable review
  @ 2017-11-22 15:29 99% ` Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2017-11-22 15:29 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Wed, Nov 22, 2017 at 11:11:53AM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.101 release.
> There are 16 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri Nov 24 10:11:01 UTC 2017.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.101-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.101-rc1
> 
> Jan Harkes <jaharkes@cs.cmu.edu>
>     coda: fix 'kernel memory exposure attempt' in fsync
> 
> Pavel Tatashin <pasha.tatashin@oracle.com>
>     mm/page_alloc.c: broken deferred calculation
> 
> Corey Minyard <cminyard@mvista.com>
>     ipmi: fix unsigned long underflow
> 
> alex chen <alex.chen@huawei.com>
>     ocfs2: should wait dio before inode lock in ocfs2_setattr()
> 
> Keith Busch <keith.busch@intel.com>
>     nvme: Fix memory order on async queue deletion
> 
> Mark Rutland <mark.rutland@arm.com>
>     arm64: fix dump_instr when PAN and UAO are in use
> 
> Lukas Wunner <lukas@wunner.de>
>     serial: omap: Fix EFR write on RTS deassertion
> 
> Roberto Sassu <roberto.sassu@huawei.com>
>     ima: do not update security.ima if appraisal status is not INTEGRITY_PASS
> 
> Eric W. Biederman <ebiederm@xmission.com>
>     net/sctp: Always set scope_id in sctp_inet6_skb_msgname
> 
> Huacai Chen <chenhc@lemote.com>
>     fealnx: Fix building error on MIPS
> 
> Xin Long <lucien.xin@gmail.com>
>     sctp: do not peel off an assoc from one netns to another one
> 
> Jason A. Donenfeld <Jason@zx2c4.com>
>     af_netlink: ensure that NLMSG_DONE never fails in dumps
> 
> Cong Wang <xiyou.wangcong@gmail.com>
>     vlan: fix a use-after-free in vlan_device_event()
> 
> Hangbin Liu <liuhangbin@gmail.com>
>     bonding: discard lowest hash bit for 802.3ad layer3+4
> 
> Ye Yin <hustcat@gmail.com>
>     netfilter/ipvs: clear ipvs_property flag when SKB net namespace changed
> 
> Eric Dumazet <edumazet@google.com>
>     tcp: do not mangle skb->cb[] in tcp_make_synack()
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                              |  4 ++--
>  arch/arm64/kernel/traps.c             | 26 +++++++++++++-------------
>  drivers/char/ipmi/ipmi_msghandler.c   | 10 ++++++----
>  drivers/net/bonding/bond_main.c       |  2 +-
>  drivers/net/ethernet/fealnx.c         |  6 +++---
>  drivers/nvme/host/pci.c               |  2 +-
>  drivers/tty/serial/omap-serial.c      |  2 +-
>  fs/coda/upcall.c                      |  3 +--
>  fs/ocfs2/file.c                       |  9 +++++++--
>  include/linux/mmzone.h                |  3 ++-
>  include/linux/skbuff.h                |  7 +++++++
>  mm/page_alloc.c                       | 27 ++++++++++++++++++---------
>  net/8021q/vlan.c                      |  6 +++---
>  net/core/skbuff.c                     |  1 +
>  net/ipv4/tcp_output.c                 |  9 ++-------
>  net/netlink/af_netlink.c              | 17 +++++++++++------
>  net/netlink/af_netlink.h              |  1 +
>  net/sctp/ipv6.c                       |  2 ++
>  net/sctp/socket.c                     |  4 ++++
>  security/integrity/ima/ima_appraise.c |  3 +++
>  20 files changed, 89 insertions(+), 55 deletions(-)
> 
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5. No
initial issues noticed in general usage or dmesg.

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/16] 4.4.101-stable review
  @ 2017-11-22 17:38 99%     ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-11-22 17:38 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Wed, Nov 22, 2017 at 06:05:27PM +0100, Greg Kroah-Hartman wrote:
> On Wed, Nov 22, 2017 at 08:29:10AM -0700, Nathan Chancellor wrote:
> > Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5. No
> > initial issues noticed in general usage or dmesg.
> 
> Ah, also works for the OnePlus 5?  Nice, so that kind of means that the
> 5T is also this same kernel version?  Time to go order one of those as
> well... :)
> 
> thanks for testing and letting me know.
> 
> greg k-h

Yes, all Snapdragon 835 devices should be based on a 4.4 kernel. I have
a Pixel 2 XL, OnePlus 5, and an Essential Phone. Haven't been able to
test on the Essential yet as Nougat is on 4.4.21 and I have neither the
time nor the patience to do that bringup again (was bad enough on the
OnePlus 5) and I can't flash a kernel on Oreo yet.

The 5T should be unified with the 5 at some point (one other developer I
know built and flashed the 5T on the 5 and everything minus the
fingerprint scanner worked fine).

Source is here: https://github.com/OnePlusOSS/android_kernel_oneplus_msm8998

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/59] 4.4.100-stable review
  @ 2017-11-22 17:45 99%         ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-11-22 17:45 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, stable

On Wed, Nov 22, 2017 at 06:03:31PM +0100, Greg Kroah-Hartman wrote:
> On Mon, Nov 20, 2017 at 12:43:52PM -0700, Nathan Chancellor wrote:
> > On Mon, Nov 20, 2017 at 08:27:07PM +0100, Greg Kroah-Hartman wrote:
> > > On Sun, Nov 19, 2017 at 12:48:51PM -0700, Nathan Chancellor wrote:
> > > > On Sun, Nov 19, 2017 at 03:32:08PM +0100, Greg Kroah-Hartman wrote:
> > > > 
> > > > Merged, compiled, and flashed onto my Pixel 2 XL. No initial issues
> > > > noticed in either dmesg or general usage.
> > > 
> > > Wonderful, thanks for testing.
> > > 
> > > Just a side note, are you able to do 'fastboot kernelimage' with this
> > > device, or do you have to flash a whole new boot image in order to test
> > > out a new kernel?  If the later, any public scripts around to make this
> > > easy to do, I'm thinking I should get one of these to do the same sort
> > > of testing...
> > > 
> > > thanks,
> > > 
> > > greg k-h
> > >
> > 
> > No, I wish fastboot flash kernel Image.gz-dtb was a thing on the Pixel 2
> > XL but Google omitted it unfortunately (they didn't on the Pixel 2
> > apparently which I find odd but whatever).
> 
> That seems really odd, as last I checked, it was the same build image
> for the kernel for both devices.  I know it's the same source tree, and
> .config file.
> 
> Does one perhaps use a kernel module for some hardware and the Pixel 2
> does not?  That would break the ability to use fastboot flash here.
> 

Yeah, it's the same source and config but I guess the internal
partitions are different (must be a byproduct of having different
manufacturers). Luckily, there should be no downside to using a boot
image because Google publicizes the device trees along with the proper
tags (just adds a minute or two compilation...)

Both devices do use kernel modules though, for the battery and the
touchscreen drivers. Initially, the amateur developers just brute
force loaded the kernel modules in check_version but that gives us
less control so I built the drivers into the kernel image (which is
not exactly ideal either according to Google's specs but it's not
like I have a ton of other options...)

> > All of my tools are publicly available, I'll link them below.
> > 
> > The build script handles compiling the kernel and boot image, the
> > manifest is to sync the bare essentials down so you don't have to pull
> > down a full AOSP tree, and the flashing function pulls the boot image
> > down off my server and flashes it to the device without manually doing
> > commands. I've also linked the kernel tree if you care to look through
> > anything.
> > 
> > Cheers!
> > Nathan
> > 
> > Script: https://github.com/nathanchance/scripts/blob/master/flash
> > Manifest: https://github.com/nathanchance/pixel2-manifest
> > Flashing: https://github.com/nathanchance/scripts/blob/master/os_darwin#L191
> > Kernel tree: https://github.com/nathanchance/wahoo
> 
> Wonderful, thanks for this, I'll try to play around with it.
> 
> greg k-h

Any improvements or comments are certainly welcome, glad I could be of
help.

Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/96] 4.4.103-stable review
  @ 2017-11-28 18:27 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-11-28 18:27 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Nov 28, 2017 at 11:22:09AM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.103 release.
> There are 96 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 Thu Nov 30 10:04:41 UTC 2017.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.103-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.103-rc1
> 
> Juergen Gross <jgross@suse.com>
>     xen: xenbus driver must not accept invalid transaction ids
> 
> Heiko Carstens <heiko.carstens@de.ibm.com>
>     s390/kbuild: enable modversions for symbols exported from asm
> 
> Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
>     ASoC: wm_adsp: Don't overrun firmware file buffer when reading region data
> 
> Pan Bian <bianpan2016@163.com>
>     btrfs: return the actual error value from from btrfs_uuid_tree_iterate
> 
> Colin Ian King <colin.king@canonical.com>
>     ASoC: rsnd: don't double free kctrl
> 
> Florian Westphal <fw@strlen.de>
>     netfilter: nf_tables: fix oob access
> 
> Pablo Neira Ayuso <pablo@netfilter.org>
>     netfilter: nft_queue: use raw_smp_processor_id()
> 
> Geert Uytterhoeven <geert@linux-m68k.org>
>     spi: SPI_FSL_DSPI should depend on HAS_DMA
> 
> Pan Bian <bianpan2016@163.com>
>     staging: iio: cdc: fix improper return value
> 
> Pan Bian <bianpan2016@163.com>
>     iio: light: fix improper return value
> 
> Masashi Honma <masashi.honma@gmail.com>
>     mac80211: Suppress NEW_PEER_CANDIDATE event if no room
> 
> Masashi Honma <masashi.honma@gmail.com>
>     mac80211: Remove invalid flag operations in mesh TSF synchronization
> 
> Chris Wilson <chris@chris-wilson.co.uk>
>     drm: Apply range restriction after color adjustment when allocation
> 
> Gabriele Mazzotta <gabriele.mzt@gmail.com>
>     ALSA: hda - Apply ALC269_FIXUP_NO_SHUTUP on HDA_FIXUP_ACT_PROBE
> 
> Bartosz Markowski <bartosz.markowski@tieto.com>
>     ath10k: set CTS protection VDEV param only if VDEV is up
> 
> Christian Lamparter <chunkeey@googlemail.com>
>     ath10k: fix potential memory leak in ath10k_wmi_tlv_op_pull_fw_stats()
> 
> Ryan Hsu <ryanhsu@qca.qualcomm.com>
>     ath10k: ignore configuring the incorrect board_id
> 
> Ryan Hsu <ryanhsu@qca.qualcomm.com>
>     ath10k: fix incorrect txpower set by P2P_DEVICE interface
> 
> Daniel Vetter <daniel.vetter@ffwll.ch>
>     drm/armada: Fix compile fail
> 
> Thomas Preisner <thomas.preisner+linux@fau.de>
>     net: 3com: typhoon: typhoon_init_one: fix incorrect return values
> 
> Thomas Preisner <thomas.preisner+linux@fau.de>
>     net: 3com: typhoon: typhoon_init_one: make return values more specific
> 
> David Ahern <dsa@cumulusnetworks.com>
>     net: Allow IP_MULTICAST_IF to set index to L3 slave
> 
> Shawn Guo <shawn.guo@linaro.org>
>     dmaengine: zx: set DMA_CYCLIC cap_mask bit
> 
> Bjorn Helgaas <bhelgaas@google.com>
>     PCI: Apply _HPX settings only to relevant devices
> 
> Santosh Shilimkar <santosh.shilimkar@oracle.com>
>     RDS: RDMA: return appropriate error on rdma map failures
> 
> Benjamin Poirier <bpoirier@suse.com>
>     e1000e: Separate signaling for link check/link up
> 
> Benjamin Poirier <bpoirier@suse.com>
>     e1000e: Fix return value test
> 
> Benjamin Poirier <bpoirier@suse.com>
>     e1000e: Fix error path in link detection
> 
> Tobias Jordan <Tobias.Jordan@elektrobit.com>
>     PM / OPP: Add missing of_node_put(np)
> 
> Tuomas Tynkkynen <tuomas@tuxera.com>
>     net/9p: Switch to wait_event_killable()
> 
> Eric Biggers <ebiggers@google.com>
>     fscrypt: lock mutex before checking for bounce page pool
> 
> Steven Rostedt (Red Hat) <rostedt@goodmis.org>
>     sched/rt: Simplify the IPI based RT balancing logic
> 
> Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
>     media: v4l2-ctrl: Fix flags field on Control events
> 
> Johan Hovold <johan@kernel.org>
>     cx231xx-cards: fix NULL-deref on missing association descriptor
> 
> Sean Young <sean@mess.org>
>     media: rc: check for integer overflow
> 
> Michele Baldessari <michele@acksyn.org>
>     media: Don't do DMA on stack for firmware upload in the AS102 driver
> 
> Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
>     powerpc/signal: Properly handle return value from uprobe_deny_signal()
> 
> John David Anglin <dave.anglin@bell.net>
>     parisc: Fix validity check of pointer size argument in new CAS implementation
> 
> Brian King <brking@linux.vnet.ibm.com>
>     ixgbe: Fix skb list corruption on Power systems
> 
> Brian King <brking@linux.vnet.ibm.com>
>     fm10k: Use smp_rmb rather than read_barrier_depends
> 
> Brian King <brking@linux.vnet.ibm.com>
>     i40evf: Use smp_rmb rather than read_barrier_depends
> 
> Brian King <brking@linux.vnet.ibm.com>
>     ixgbevf: Use smp_rmb rather than read_barrier_depends
> 
> Brian King <brking@linux.vnet.ibm.com>
>     igbvf: Use smp_rmb rather than read_barrier_depends
> 
> Brian King <brking@linux.vnet.ibm.com>
>     igb: Use smp_rmb rather than read_barrier_depends
> 
> Brian King <brking@linux.vnet.ibm.com>
>     i40e: Use smp_rmb rather than read_barrier_depends
> 
> Johan Hovold <johan@kernel.org>
>     NFC: fix device-allocation error return
> 
> Bart Van Assche <bart.vanassche@wdc.com>
>     IB/srp: Avoid that a cable pull can trigger a kernel crash
> 
> Bart Van Assche <bart.vanassche@wdc.com>
>     IB/srpt: Do not accept invalid initiator port names
> 
> Dan Williams <dan.j.williams@intel.com>
>     libnvdimm, namespace: make 'resource' attribute only readable by root
> 
> Dan Williams <dan.j.williams@intel.com>
>     libnvdimm, namespace: fix label initialization to use valid seq numbers
> 
> Johan Hovold <johan@kernel.org>
>     clk: ti: dra7-atl-clock: fix child-node lookups
> 
> Peter Ujfalusi <peter.ujfalusi@ti.com>
>     clk: ti: dra7-atl-clock: Fix of_node reference counting
> 
> Trond Myklebust <trond.myklebust@primarydata.com>
>     SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status
> 
> Paolo Bonzini <pbonzini@redhat.com>
>     KVM: SVM: obey guest PAT
> 
> Ladi Prosek <lprosek@redhat.com>
>     KVM: nVMX: set IDTR and GDTR limits when loading L1 host state
> 
> Nicholas Bellinger <nab@linux-iscsi.org>
>     target: Fix QUEUE_FULL + SCSI task attribute handling
> 
> Nicholas Bellinger <nab@linux-iscsi.org>
>     iscsi-target: Fix non-immediate TMR reference leak
> 
> Tuomas Tynkkynen <tuomas@tuxera.com>
>     fs/9p: Compare qid.path in v9fs_test_inode
> 
> Al Viro <viro@zeniv.linux.org.uk>
>     fix a page leak in vhost_scsi_iov_to_sgl() error recovery
> 
> Kailang Yang <kailang@realtek.com>
>     ALSA: hda/realtek - Fix ALC700 family no sound issue
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: timer: Remove kernel warning at compat ioctl error paths
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: usb-audio: Add sanity checks in v2 clock parsers
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: usb-audio: Fix potential out-of-bound access at parsing SU
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: usb-audio: Add sanity checks to FE parser
> 
> Henrik Eriksson <henrik.eriksson@axis.com>
>     ALSA: pcm: update tstamp only if audio_tstamp changed
> 
> Theodore Ts'o <tytso@mit.edu>
>     ext4: fix interaction between i_size, fallocate, and delalloc after a crash
> 
> Rameshwar Prasad Sahu <rsahu@apm.com>
>     ata: fixes kernel crash while tracing ata_eh_link_autopsy event
> 
> Arnd Bergmann <arnd@arndb.de>
>     rtlwifi: fix uninitialized rtlhal->last_suspend_sec time
> 
> Larry Finger <Larry.Finger@lwfinger.net>
>     rtlwifi: rtl8192ee: Fix memory leak when loading firmware
> 
> Andrew Elble <aweits@rit.edu>
>     nfsd: deal with revoked delegations appropriately
> 
> Chuck Lever <chuck.lever@oracle.com>
>     nfs: Fix ugly referral attributes
> 
> Joshua Watt <jpewhacker@gmail.com>
>     NFS: Fix typo in nomigration mount option
> 
> Arnd Bergmann <arnd@arndb.de>
>     isofs: fix timestamps beyond 2027
> 
> Coly Li <colyli@suse.de>
>     bcache: check ca->alloc_thread initialized before wake up it
> 
> Dan Carpenter <dan.carpenter@oracle.com>
>     eCryptfs: use after free in ecryptfs_release_messaging()
> 
> Andreas Rohner <andreas.rohner@gmx.net>
>     nilfs2: fix race condition that causes file system corruption
> 
> NeilBrown <neilb@suse.com>
>     autofs: don't fail mount for transient error
> 
> Mirko Parthey <mirko.parthey@web.de>
>     MIPS: BCM47XX: Fix LED inversion for WRT54GSv1
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Fix an n32 core file generation regset support regression
> 
> Hou Tao <houtao1@huawei.com>
>     dm: fix race between dm_get_from_kobject() and __dm_destroy()
> 
> Eric Biggers <ebiggers@google.com>
>     dm bufio: fix integer overflow when limiting maximum cache size
> 
> Vijendar Mukunda <Vijendar.Mukunda@amd.com>
>     ALSA: hda: Add Raven PCI ID
> 
> Mathias Kresin <dev@kresin.me>
>     MIPS: ralink: Fix typo in mt7628 pinmux function
> 
> Mathias Kresin <dev@kresin.me>
>     MIPS: ralink: Fix MT7628 pinmux
> 
> Philip Derrin <philip@cog.systems>
>     ARM: 8721/1: mm: dump: check hardware RO bit for LPAE
> 
> Philip Derrin <philip@cog.systems>
>     ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE
> 
> Masami Hiramatsu <mhiramat@kernel.org>
>     x86/decoder: Add new TEST instruction pattern
> 
> Eric Biggers <ebiggers@google.com>
>     lib/mpi: call cond_resched() from mpi_powm() loop
> 
> Paul E. McKenney <paulmck@linux.vnet.ibm.com>
>     sched: Make resched_cpu() unconditional
> 
> WANG Cong <xiyou.wangcong@gmail.com>
>     vsock: use new wait API for vsock_stream_sendmsg()
> 
> Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>
>     AF_VSOCK: Shrink the area influenced by prepare_to_wait
> 
> WANG Cong <xiyou.wangcong@gmail.com>
>     ipv6: only call ip6_route_dev_notify() once for NETDEV_UNREGISTER
> 
> Vasily Gorbik <gor@linux.vnet.ibm.com>
>     s390/disassembler: increase show_code buffer size
> 
> Heiko Carstens <heiko.carstens@de.ibm.com>
>     s390/disassembler: add missing end marker for e7 table
> 
> Heiko Carstens <heiko.carstens@de.ibm.com>
>     s390/runtime instrumention: fix possible memory corruption
> 
> Heiko Carstens <heiko.carstens@de.ibm.com>
>     s390: fix transactional execution control register handling
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                                           |   4 +-
>  arch/arm/mm/dump.c                                 |   4 +-
>  arch/arm/mm/init.c                                 |   4 +-
>  arch/mips/bcm47xx/leds.c                           |   2 +-
>  arch/mips/kernel/ptrace.c                          |  17 ++
>  arch/mips/ralink/mt7620.c                          |   4 +-
>  arch/parisc/kernel/syscall.S                       |   6 +-
>  arch/powerpc/kernel/signal.c                       |   2 +-
>  arch/s390/include/asm/asm-prototypes.h             |   8 +
>  arch/s390/include/asm/switch_to.h                  |   2 +-
>  arch/s390/kernel/dis.c                             |   5 +-
>  arch/s390/kernel/early.c                           |   4 +-
>  arch/s390/kernel/process.c                         |   1 +
>  arch/s390/kernel/runtime_instr.c                   |   4 +-
>  arch/x86/kvm/svm.c                                 |   7 +
>  arch/x86/kvm/vmx.c                                 |   2 +
>  arch/x86/lib/x86-opcode-map.txt                    |   2 +-
>  drivers/ata/libata-eh.c                            |   2 +-
>  drivers/base/power/opp/core.c                      |   1 +
>  drivers/clk/ti/clk-dra7-atl.c                      |   3 +-
>  drivers/dma/zx296702_dma.c                         |   1 +
>  drivers/gpu/drm/armada/Makefile                    |   2 +
>  drivers/gpu/drm/drm_mm.c                           |  16 +-
>  drivers/iio/light/cm3232.c                         |   2 +-
>  drivers/infiniband/ulp/srp/ib_srp.c                |  25 ++-
>  drivers/infiniband/ulp/srpt/ib_srpt.c              |   9 +-
>  drivers/md/bcache/alloc.c                          |   3 +-
>  drivers/md/dm-bufio.c                              |  15 +-
>  drivers/md/dm.c                                    |  12 +-
>  drivers/media/rc/ir-lirc-codec.c                   |   9 +-
>  drivers/media/usb/as102/as102_fw.c                 |  28 ++-
>  drivers/media/usb/cx231xx/cx231xx-cards.c          |   2 +-
>  drivers/media/v4l2-core/v4l2-ctrls.c               |  16 +-
>  drivers/net/ethernet/3com/typhoon.c                |  25 ++-
>  drivers/net/ethernet/intel/e1000e/mac.c            |  11 +-
>  drivers/net/ethernet/intel/e1000e/netdev.c         |   4 +-
>  drivers/net/ethernet/intel/e1000e/phy.c            |   7 +-
>  drivers/net/ethernet/intel/fm10k/fm10k_main.c      |   2 +-
>  drivers/net/ethernet/intel/i40e/i40e_main.c        |   2 +-
>  drivers/net/ethernet/intel/i40e/i40e_txrx.c        |   2 +-
>  drivers/net/ethernet/intel/i40evf/i40e_txrx.c      |   2 +-
>  drivers/net/ethernet/intel/igb/igb_main.c          |   2 +-
>  drivers/net/ethernet/intel/igbvf/netdev.c          |   2 +-
>  drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |   2 +-
>  drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c  |   2 +-
>  drivers/net/wireless/ath/ath10k/core.c             |   5 +-
>  drivers/net/wireless/ath/ath10k/mac.c              |  58 ++++-
>  drivers/net/wireless/ath/ath10k/wmi-tlv.c          |  12 +-
>  .../net/wireless/realtek/rtlwifi/rtl8192ee/fw.c    |   6 +-
>  .../net/wireless/realtek/rtlwifi/rtl8821ae/hw.c    |   1 +
>  drivers/nvdimm/label.c                             |   2 +-
>  drivers/nvdimm/namespace_devs.c                    |   2 +-
>  drivers/pci/probe.c                                |  15 +-
>  drivers/spi/Kconfig                                |   1 +
>  drivers/staging/iio/cdc/ad7150.c                   |   2 +-
>  drivers/target/iscsi/iscsi_target.c                |   8 +-
>  drivers/target/target_core_transport.c             |   4 +
>  drivers/vhost/scsi.c                               |   5 +-
>  drivers/xen/xenbus/xenbus_dev_frontend.c           |   2 +-
>  fs/9p/vfs_inode.c                                  |   3 +
>  fs/9p/vfs_inode_dotl.c                             |   3 +
>  fs/autofs4/waitq.c                                 |  15 +-
>  fs/btrfs/uuid-tree.c                               |   4 +-
>  fs/ecryptfs/messaging.c                            |   7 +-
>  fs/ext4/crypto_key.c                               |   8 +-
>  fs/ext4/extents.c                                  |   6 +-
>  fs/isofs/isofs.h                                   |   2 +-
>  fs/isofs/rock.h                                    |   2 +-
>  fs/isofs/util.c                                    |   2 +-
>  fs/nfs/nfs4proc.c                                  |  18 +-
>  fs/nfs/super.c                                     |   2 +-
>  fs/nfsd/nfs4state.c                                |  25 ++-
>  fs/nilfs2/segment.c                                |   6 +-
>  include/trace/events/sunrpc.h                      |  17 +-
>  kernel/sched/core.c                                |   9 +-
>  kernel/sched/rt.c                                  | 235 ++++++++++-----------
>  kernel/sched/sched.h                               |  24 ++-
>  lib/mpi/mpi-pow.c                                  |   2 +
>  net/9p/client.c                                    |   3 +-
>  net/9p/trans_virtio.c                              |  13 +-
>  net/ipv4/ip_sockglue.c                             |   7 +-
>  net/ipv6/ipv6_sockglue.c                           |  16 +-
>  net/ipv6/route.c                                   |   6 +-
>  net/mac80211/ieee80211_i.h                         |   1 -
>  net/mac80211/mesh.c                                |   3 -
>  net/mac80211/mesh_plink.c                          |  14 +-
>  net/mac80211/mesh_sync.c                           |  11 -
>  net/netfilter/nf_tables_api.c                      |   2 +-
>  net/netfilter/nft_queue.c                          |   2 +-
>  net/nfc/core.c                                     |   2 +-
>  net/rds/send.c                                     |  11 +-
>  net/vmw_vsock/af_vsock.c                           | 167 ++++++++-------
>  sound/core/pcm_lib.c                               |   6 +-
>  sound/core/timer_compat.c                          |  12 +-
>  sound/pci/hda/hda_intel.c                          |   3 +
>  sound/pci/hda/patch_realtek.c                      |   4 +-
>  sound/soc/codecs/wm_adsp.c                         |  25 ++-
>  sound/soc/sh/rcar/core.c                           |   4 +-
>  sound/usb/clock.c                                  |   9 +-
>  sound/usb/mixer.c                                  |  15 +-
>  100 files changed, 699 insertions(+), 437 deletions(-)
> 
>

Merged, compiled, and flashed on my Pixel 2 XL and OnePlus 5. No
initial issues noticed in general usage or dmesg.

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/27] 4.4.104-stable review
  @ 2017-12-04 16:48 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-12-04 16:48 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Dec 04, 2017 at 04:59:25PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.104 release.
> There are 27 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 Wed Dec  6 15:59:33 UTC 2017.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.104-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.104-rc1
> 
> Trond Myklebust <trond.myklebust@primarydata.com>
>     nfsd: Fix another OPEN stateid race
> 
> Trond Myklebust <trond.myklebust@primarydata.com>
>     nfsd: Fix stateid races between OPEN and CLOSE
> 
> Oleg Drokin <green@linuxhacker.ru>
>     nfsd: Make init_open_stateid() a bit more whole
> 
> Ville Syrj�l� <ville.syrjala@linux.intel.com>
>     drm/i915: Prevent zero length "index" write
> 
> Ville Syrj�l� <ville.syrjala@linux.intel.com>
>     drm/i915: Don't try indexed reads to alternate slave addresses
> 
> NeilBrown <neilb@suse.com>
>     NFS: revalidate "." etc correctly on "open".
> 
> Brent Taylor <motobud@gmail.com>
>     mtd: nand: Fix writing mtdoops to nand flash.
> 
> Jonathan Liu <net147@gmail.com>
>     drm/panel: simple: Add missing panel_simple_unprepare() calls
> 
> Roman Kapl <rka@sysgo.com>
>     drm/radeon: fix atombios on big endian
> 
> Alex Deucher <alexander.deucher@amd.com>
>     Revert "drm/radeon: dont switch vt on suspend"
> 
> Huacai Chen <chenhc@lemote.com>
>     bcache: Fix building error on MIPS
> 
> Heiner Kallweit <hkallweit1@gmail.com>
>     eeprom: at24: check at24_read/write arguments
> 
> Adrian Hunter <adrian.hunter@intel.com>
>     mmc: core: Do not leave the block driver in a suspended state
> 
> Paolo Bonzini <pbonzini@redhat.com>
>     KVM: x86: inject exceptions produced by x86_decode_insn
> 
> Liran Alon <liran.alon@oracle.com>
>     KVM: x86: Exit to user-mode on #UD intercept when emulator requires
> 
> Liran Alon <liran.alon@oracle.com>
>     KVM: x86: pvclock: Handle first-time write to pvclock-page contains random junk
> 
> Josef Bacik <jbacik@fb.com>
>     btrfs: clear space cache inode generation always
> 
> chenjie <chenjie6@huawei.com>
>     mm/madvise.c: fix madvise() infinite loop under special circumstances
> 
> Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>     mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d()
> 
> Matt Fleming <matt@codeblueprint.co.uk>
>     x86/efi-bgrt: Replace early_memremap() with memremap()
> 
> Sai Praneeth <sai.praneeth.prakhya@intel.com>
>     x86/efi-bgrt: Fix kernel panic when mapping BGRT data
> 
> Adam Ford <aford173@gmail.com>
>     ARM: dts: omap3: logicpd-torpedo-37xx-devkit: Fix MMC1 cd-gpio
> 
> Matt Fleming <matt@codeblueprint.co.uk>
>     x86/efi: Build our own page table structures
> 
> Matt Fleming <matt@codeblueprint.co.uk>
>     x86/efi: Hoist page table switching code into efi_call_virt()
> 
> Matt Fleming <matt@codeblueprint.co.uk>
>     x86/mm/pat: Ensure cpa->pfn only contains page frame numbers
> 
> Herbert Xu <herbert@gondor.apana.org.au>
>     ipsec: Fix aborted xfrm policy dump crash
> 
> Tom Herbert <tom@herbertland.com>
>     netlink: add a start callback for starting a netlink dump
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                                          |   4 +-
>  arch/arm/boot/dts/logicpd-torpedo-37xx-devkit.dts |   2 +-
>  arch/x86/include/asm/efi.h                        |  26 ++++
>  arch/x86/kvm/svm.c                                |   2 +
>  arch/x86/kvm/vmx.c                                |   2 +
>  arch/x86/kvm/x86.c                                |   5 +
>  arch/x86/mm/pageattr.c                            |  17 +--
>  arch/x86/platform/efi/efi-bgrt.c                  |  39 +++---
>  arch/x86/platform/efi/efi.c                       |  39 +++---
>  arch/x86/platform/efi/efi_32.c                    |   5 +
>  arch/x86/platform/efi/efi_64.c                    | 137 ++++++++++++++++------
>  arch/x86/platform/efi/efi_stub_64.S               |  43 -------
>  drivers/firmware/efi/efi.c                        |  32 -----
>  drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c      |  38 +++---
>  drivers/gpu/drm/i915/intel_i2c.c                  |   4 +-
>  drivers/gpu/drm/panel/panel-simple.c              |   2 +
>  drivers/gpu/drm/radeon/atombios_dp.c              |  38 +++---
>  drivers/gpu/drm/radeon/radeon_fb.c                |   1 -
>  drivers/md/bcache/alloc.c                         |   2 +-
>  drivers/md/bcache/extents.c                       |   2 +-
>  drivers/md/bcache/journal.c                       |   2 +-
>  drivers/misc/eeprom/at24.c                        |   6 +
>  drivers/mmc/core/bus.c                            |   3 +
>  drivers/mtd/nand/nand_base.c                      |   9 +-
>  fs/btrfs/extent-tree.c                            |  14 +--
>  fs/nfs/dir.c                                      |   3 +-
>  fs/nfsd/nfs4state.c                               | 114 ++++++++++++------
>  include/linux/netlink.h                           |   2 +
>  include/net/genetlink.h                           |   2 +
>  include/uapi/linux/bcache.h                       |   2 +-
>  mm/huge_memory.c                                  |  14 +--
>  mm/madvise.c                                      |   4 +-
>  net/netlink/af_netlink.c                          |   4 +
>  net/netlink/genetlink.c                           |  16 +++
>  net/xfrm/xfrm_user.c                              |  25 ++--
>  35 files changed, 373 insertions(+), 287 deletions(-)
> 
>

Merged, compiled, and flashed on my Pixel 2 XL and OnePlus 5.

No initial issues noticed in general usage or dmesg.

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/27] 4.4.104-stable review
@ 2017-12-04 16:48 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-12-04 16:48 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Dec 04, 2017 at 04:59:25PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.104 release.
> There are 27 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 Wed Dec  6 15:59:33 UTC 2017.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.104-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.104-rc1
> 
> Trond Myklebust <trond.myklebust@primarydata.com>
>     nfsd: Fix another OPEN stateid race
> 
> Trond Myklebust <trond.myklebust@primarydata.com>
>     nfsd: Fix stateid races between OPEN and CLOSE
> 
> Oleg Drokin <green@linuxhacker.ru>
>     nfsd: Make init_open_stateid() a bit more whole
> 
> Ville Syrjälä <ville.syrjala@linux.intel.com>
>     drm/i915: Prevent zero length "index" write
> 
> Ville Syrjälä <ville.syrjala@linux.intel.com>
>     drm/i915: Don't try indexed reads to alternate slave addresses
> 
> NeilBrown <neilb@suse.com>
>     NFS: revalidate "." etc correctly on "open".
> 
> Brent Taylor <motobud@gmail.com>
>     mtd: nand: Fix writing mtdoops to nand flash.
> 
> Jonathan Liu <net147@gmail.com>
>     drm/panel: simple: Add missing panel_simple_unprepare() calls
> 
> Roman Kapl <rka@sysgo.com>
>     drm/radeon: fix atombios on big endian
> 
> Alex Deucher <alexander.deucher@amd.com>
>     Revert "drm/radeon: dont switch vt on suspend"
> 
> Huacai Chen <chenhc@lemote.com>
>     bcache: Fix building error on MIPS
> 
> Heiner Kallweit <hkallweit1@gmail.com>
>     eeprom: at24: check at24_read/write arguments
> 
> Adrian Hunter <adrian.hunter@intel.com>
>     mmc: core: Do not leave the block driver in a suspended state
> 
> Paolo Bonzini <pbonzini@redhat.com>
>     KVM: x86: inject exceptions produced by x86_decode_insn
> 
> Liran Alon <liran.alon@oracle.com>
>     KVM: x86: Exit to user-mode on #UD intercept when emulator requires
> 
> Liran Alon <liran.alon@oracle.com>
>     KVM: x86: pvclock: Handle first-time write to pvclock-page contains random junk
> 
> Josef Bacik <jbacik@fb.com>
>     btrfs: clear space cache inode generation always
> 
> chenjie <chenjie6@huawei.com>
>     mm/madvise.c: fix madvise() infinite loop under special circumstances
> 
> Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>     mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d()
> 
> Matt Fleming <matt@codeblueprint.co.uk>
>     x86/efi-bgrt: Replace early_memremap() with memremap()
> 
> Sai Praneeth <sai.praneeth.prakhya@intel.com>
>     x86/efi-bgrt: Fix kernel panic when mapping BGRT data
> 
> Adam Ford <aford173@gmail.com>
>     ARM: dts: omap3: logicpd-torpedo-37xx-devkit: Fix MMC1 cd-gpio
> 
> Matt Fleming <matt@codeblueprint.co.uk>
>     x86/efi: Build our own page table structures
> 
> Matt Fleming <matt@codeblueprint.co.uk>
>     x86/efi: Hoist page table switching code into efi_call_virt()
> 
> Matt Fleming <matt@codeblueprint.co.uk>
>     x86/mm/pat: Ensure cpa->pfn only contains page frame numbers
> 
> Herbert Xu <herbert@gondor.apana.org.au>
>     ipsec: Fix aborted xfrm policy dump crash
> 
> Tom Herbert <tom@herbertland.com>
>     netlink: add a start callback for starting a netlink dump
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                                          |   4 +-
>  arch/arm/boot/dts/logicpd-torpedo-37xx-devkit.dts |   2 +-
>  arch/x86/include/asm/efi.h                        |  26 ++++
>  arch/x86/kvm/svm.c                                |   2 +
>  arch/x86/kvm/vmx.c                                |   2 +
>  arch/x86/kvm/x86.c                                |   5 +
>  arch/x86/mm/pageattr.c                            |  17 +--
>  arch/x86/platform/efi/efi-bgrt.c                  |  39 +++---
>  arch/x86/platform/efi/efi.c                       |  39 +++---
>  arch/x86/platform/efi/efi_32.c                    |   5 +
>  arch/x86/platform/efi/efi_64.c                    | 137 ++++++++++++++++------
>  arch/x86/platform/efi/efi_stub_64.S               |  43 -------
>  drivers/firmware/efi/efi.c                        |  32 -----
>  drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c      |  38 +++---
>  drivers/gpu/drm/i915/intel_i2c.c                  |   4 +-
>  drivers/gpu/drm/panel/panel-simple.c              |   2 +
>  drivers/gpu/drm/radeon/atombios_dp.c              |  38 +++---
>  drivers/gpu/drm/radeon/radeon_fb.c                |   1 -
>  drivers/md/bcache/alloc.c                         |   2 +-
>  drivers/md/bcache/extents.c                       |   2 +-
>  drivers/md/bcache/journal.c                       |   2 +-
>  drivers/misc/eeprom/at24.c                        |   6 +
>  drivers/mmc/core/bus.c                            |   3 +
>  drivers/mtd/nand/nand_base.c                      |   9 +-
>  fs/btrfs/extent-tree.c                            |  14 +--
>  fs/nfs/dir.c                                      |   3 +-
>  fs/nfsd/nfs4state.c                               | 114 ++++++++++++------
>  include/linux/netlink.h                           |   2 +
>  include/net/genetlink.h                           |   2 +
>  include/uapi/linux/bcache.h                       |   2 +-
>  mm/huge_memory.c                                  |  14 +--
>  mm/madvise.c                                      |   4 +-
>  net/netlink/af_netlink.c                          |   4 +
>  net/netlink/genetlink.c                           |  16 +++
>  net/xfrm/xfrm_user.c                              |  25 ++--
>  35 files changed, 373 insertions(+), 287 deletions(-)
> 
>

Merged, compiled, and flashed on my Pixel 2 XL and OnePlus 5.

No initial issues noticed in general usage or dmesg.

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/49] 4.4.105-stable review
  @ 2017-12-07 15:23 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-12-07 15:23 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Thu, Dec 07, 2017 at 02:06:54PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.105 release.
> There are 49 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 Sat Dec  9 12:46:41 UTC 2017.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.105-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.105-rc1
> 
> Colin Ian King <colin.king@canonical.com>
>     usb: host: fix incorrect updating of offset
> 
> Oliver Neukum <oneukum@suse.com>
>     USB: usbfs: Filter flags passed in from user space
> 
> Dan Carpenter <dan.carpenter@oracle.com>
>     USB: devio: Prevent integer overflow in proc_do_submiturb()
> 
> Mateusz Berezecki <mateuszb@fastmail.fm>
>     USB: Increase usbfs transfer limit
> 
> Masakazu Mokuno <masakazu.mokuno@gmail.com>
>     USB: core: Add type-specific length check of BOS descriptors
> 
> John Youn <John.Youn@synopsys.com>
>     usb: ch9: Add size macro for SSP dev cap descriptor
> 
> Mathias Nyman <mathias.nyman@linux.intel.com>
>     usb: Add USB 3.1 Precision time measurement capability descriptor support
> 
> Yu Chen <chenyu56@huawei.com>
>     usb: xhci: fix panic in xhci_free_virt_devices_depth_first
> 
> Mike Looijmans <mike.looijmans@topic.nl>
>     usb: hub: Cycle HUB power when initialization fails
> 
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>     Revert "ocfs2: should wait dio before inode lock in ocfs2_setattr()"
> 
> Rui Sousa <rui.sousa@nxp.com>
>     net: fec: fix multicast filtering hardware setup
> 
> Ross Lagerwall <ross.lagerwall@citrix.com>
>     xen-netfront: Improve error handling during initialization
> 
> Jan Kara <jack@suse.cz>
>     mm: avoid returning VM_FAULT_RETRY from ->page_mkwrite handlers
> 
> Jason Baron <jbaron@akamai.com>
>     tcp: correct memory barrier usage in tcp_check_space()
> 
> Iago Abal <mail@iagoabal.eu>
>     dmaengine: pl330: fix double lock
> 
> Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
>     tipc: fix cleanup at module unload
> 
> Colin Ian King <colin.king@canonical.com>
>     net: sctp: fix array overrun read on sctp_timer_tbl
> 
> Andrzej Hajda <a.hajda@samsung.com>
>     drm/exynos/decon5433: set STANDALONE_UPDATE_F on output enablement
> 
> Trond Myklebust <trond.myklebust@primarydata.com>
>     NFSv4: Fix client recovery when server reboots multiple times
> 
> Christoffer Dall <christoffer.dall@linaro.org>
>     KVM: arm/arm64: Fix occasional warning from the timer work function
> 
> Benjamin Coddington <bcodding@redhat.com>
>     nfs: Don't take a reference on fl->fl_file for LOCK operation
> 
> Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
>     ravb: Remove Rx overflow log messages
> 
> Vlad Tsyrklevich <vlad@tsyrklevich.net>
>     net/appletalk: Fix kernel memory disclosure
> 
> David Forster <dforster@brocade.com>
>     vti6: fix device register to report IFLA_INFO_KIND
> 
> Peter Ujfalusi <peter.ujfalusi@ti.com>
>     ARM: OMAP1: DMA: Correct the number of logical channels
> 
> Florian Fainelli <f.fainelli@gmail.com>
>     net: systemport: Pad packet before inserting TSB
> 
> Florian Fainelli <f.fainelli@gmail.com>
>     net: systemport: Utilize skb_put_padto()
> 
> Masami Hiramatsu <mhiramat@kernel.org>
>     kprobes/x86: Disable preemption in ftrace-based jprobes
> 
> Thomas Richter <tmricht@linux.vnet.ibm.com>
>     perf test attr: Fix ignored test case result
> 
> Ben Hutchings <ben@decadent.org.uk>
>     usbip: tools: Install all headers needed for libusbip development
> 
> Jibin Xu <jibin.xu@windriver.com>
>     sysrq : fix Show Regs call trace on ARM
> 
> Gustavo A. R. Silva <garsilva@embeddedor.com>
>     EDAC, sb_edac: Fix missing break in switch
> 
> Dave Hansen <dave.hansen@linux.intel.com>
>     x86/entry: Use SYSCALL_DEFINE() macros for sys_modify_ldt()
> 
> Aaron Sierra <asierra@xes-inc.com>
>     serial: 8250: Preserve DLD[7:4] for PORT_XR17V35X
> 
> Alexey Khoroshilov <khoroshilov@ispras.ru>
>     usb: phy: tahvo: fix error handling in tahvo_usb_probe()
> 
> John Stultz <john.stultz@linaro.org>
>     usb: dwc2: Error out of dwc2_hsotg_ep_disable() if we're in host mode
> 
> John Stultz <john.stultz@linaro.org>
>     usb: dwc2: Fix UDC state tracking
> 
> Hiromitsu Yamasaki <hiromitsu.yamasaki.ym@renesas.com>
>     spi: sh-msiof: Fix DMA transfer size check
> 
> Lukas Wunner <lukas@wunner.de>
>     serial: 8250_fintek: Fix rs485 disablement on invalid ioctl()
> 
> Andy Lutomirski <luto@kernel.org>
>     selftests/x86/ldt_get: Add a few additional tests for limits
> 
> Christian Borntraeger <borntraeger@de.ibm.com>
>     s390/pci: do not require AIS facility
> 
> Boshi Wang <wangboshi@huawei.com>
>     ima: fix hash algorithm initialization
> 
> Sebastian Sjoholm <ssjoholm@mac.com>
>     USB: serial: option: add Quectel BG96 id
> 
> Heiko Carstens <heiko.carstens@de.ibm.com>
>     s390/runtime instrumentation: simplify task exit handling
> 
> Matt Wilson <msw@amazon.com>
>     serial: 8250_pci: Add Amazon PCI serial device ID
> 
> Kai-Heng Feng <kai.heng.feng@canonical.com>
>     usb: quirks: Add no-lpm quirk for KY-688 USB 3.1 Type-C Hub
> 
> Hans de Goede <hdegoede@redhat.com>
>     uas: Always apply US_FL_NO_ATA_1X quirk to Seagate devices
> 
> Rui Hua <huarui.dev@gmail.com>
>     bcache: recover data from backing when data is clean
> 
> Coly Li <colyli@suse.de>
>     bcache: only permit to recovery read error when cache device is clean
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                                         |  4 +-
>  arch/arm/mach-omap1/dma.c                        | 16 +++----
>  arch/s390/include/asm/pci_insn.h                 |  2 +-
>  arch/s390/include/asm/runtime_instr.h            |  4 +-
>  arch/s390/kernel/process.c                       |  2 +-
>  arch/s390/kernel/runtime_instr.c                 | 30 ++++++-------
>  arch/s390/pci/pci.c                              |  5 ++-
>  arch/s390/pci/pci_insn.c                         |  6 ++-
>  arch/x86/include/asm/syscalls.h                  |  2 +-
>  arch/x86/kernel/kprobes/ftrace.c                 | 23 ++++++----
>  arch/x86/kernel/ldt.c                            | 16 +++++--
>  arch/x86/um/ldt.c                                |  7 ++-
>  drivers/dma/pl330.c                              | 19 +++-----
>  drivers/edac/sb_edac.c                           |  1 +
>  drivers/gpu/drm/exynos/exynos5433_drm_decon.c    |  2 +
>  drivers/md/bcache/request.c                      |  9 +++-
>  drivers/net/appletalk/ipddp.c                    |  2 +-
>  drivers/net/ethernet/broadcom/bcmsysport.c       | 23 +++++-----
>  drivers/net/ethernet/freescale/fec_main.c        | 23 ++++------
>  drivers/net/ethernet/renesas/ravb_main.c         |  8 +---
>  drivers/net/xen-netfront.c                       | 29 +++++-------
>  drivers/spi/spi-sh-msiof.c                       |  2 +-
>  drivers/staging/lustre/lustre/llite/llite_mmap.c |  4 +-
>  drivers/tty/serial/8250/8250_fintek.c            |  2 +-
>  drivers/tty/serial/8250/8250_pci.c               |  3 ++
>  drivers/tty/serial/8250/8250_port.c              |  5 ++-
>  drivers/tty/sysrq.c                              |  9 +++-
>  drivers/usb/core/config.c                        | 31 +++++++++++--
>  drivers/usb/core/devio.c                         | 56 ++++++++++++------------
>  drivers/usb/core/hub.c                           |  9 ++++
>  drivers/usb/core/quirks.c                        |  3 ++
>  drivers/usb/dwc2/gadget.c                        |  7 +++
>  drivers/usb/host/ehci-dbg.c                      |  2 +-
>  drivers/usb/host/xhci-mem.c                      |  7 +++
>  drivers/usb/phy/phy-tahvo.c                      |  3 +-
>  drivers/usb/serial/option.c                      |  3 ++
>  drivers/usb/storage/uas-detect.h                 |  4 ++
>  fs/nfs/nfs4proc.c                                |  3 --
>  fs/nfs/nfs4state.c                               |  1 -
>  fs/ocfs2/file.c                                  |  9 +---
>  include/linux/buffer_head.h                      |  4 +-
>  include/linux/usb.h                              |  1 +
>  include/uapi/linux/usb/ch9.h                     | 19 ++++++++
>  net/ipv4/tcp_input.c                             |  2 +-
>  net/ipv6/ip6_vti.c                               |  2 +-
>  net/sctp/debug.c                                 |  2 +-
>  net/tipc/server.c                                |  4 +-
>  security/integrity/ima/ima_main.c                |  4 ++
>  tools/perf/tests/attr.c                          |  2 +-
>  tools/testing/selftests/x86/ldt_gdt.c            | 17 ++++++-
>  tools/usb/usbip/Makefile.am                      |  3 +-
>  virt/kvm/arm/arch_timer.c                        |  3 --
>  52 files changed, 278 insertions(+), 181 deletions(-)
> 
>

Merged, compiled, and flashed on my Pixel 2 XL and OnePlus 5.

No initial issues noticed in general usage or dmesg.

^ permalink raw reply	[relevance 99%]

* Re: Patch "efi/esrt: Use memunmap() instead of kfree() to free the remapping" has been added to the 4.4-stable tree
  @ 2017-12-12  1:52 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-12-12  1:52 UTC (permalink / raw)
  To: gregkh
  Cc: bianpan2016, ard.biesheuvel, hpa, matt, mingo, peterz, tglx,
	torvalds, stable, stable-commits

On Mon, Dec 11, 2017 at 11:17:40PM +0100, gregkh@linuxfoundation.org wrote:
> 
> This is a note to let you know that I've just added the patch titled
> 
>     efi/esrt: Use memunmap() instead of kfree() to free the remapping
> 
> to the 4.4-stable tree which can be found at:
>     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> 
> The filename of the patch is:
>      efi-esrt-use-memunmap-instead-of-kfree-to-free-the-remapping.patch
> and it can be found in the queue-4.4 subdirectory.
> 
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@vger.kernel.org> know about it.
> 
> 
> From 89c5a2d34bda58319e3075e8e7dd727ea25a435c Mon Sep 17 00:00:00 2001
> From: Pan Bian <bianpan2016@163.com>
> Date: Wed, 6 Dec 2017 09:50:09 +0000
> Subject: efi/esrt: Use memunmap() instead of kfree() to free the remapping
> 
> From: Pan Bian <bianpan2016@163.com>
> 
> commit 89c5a2d34bda58319e3075e8e7dd727ea25a435c upstream.
> 
> The remapping result of memremap() should be freed with memunmap(), not kfree().
> 
> Signed-off-by: Pan Bian <bianpan2016@163.com>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: H. Peter Anvin <hpa@zytor.com>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
> Cc: Matt Fleming <matt@codeblueprint.co.uk>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: linux-efi@vger.kernel.org
> Link: http://lkml.kernel.org/r/20171206095010.24170-3-ard.biesheuvel@linaro.org
> Signed-off-by: Ingo Molnar <mingo@kernel.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 
> ---
>  drivers/firmware/efi/esrt.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- a/drivers/firmware/efi/esrt.c
> +++ b/drivers/firmware/efi/esrt.c
> @@ -442,7 +442,7 @@ err_remove_group:
>  err_remove_esrt:
>  	kobject_put(esrt_kobj);
>  err:
> -	kfree(esrt);
> +	memunmap(esrt);
>  	esrt = NULL;
>  	return error;
>  }
> 
> 
> Patches currently in stable-queue which might be from bianpan2016@163.com are
> 
> queue-4.4/efi-esrt-use-memunmap-instead-of-kfree-to-free-the-remapping.patch

This caused my build to error since it is missing the include statement
added in commit f58a37b2e01f ("efi/esrt: Use memremap not ioremap to
access ESRT table in memory") upstream. Once that was added, everything
appears to be fine.

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 000/148] 4.9.69-stable review
  @ 2017-12-13  0:30 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-12-13  0:30 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Greg Kroah-Hartman, linux-kernel, torvalds, akpm, shuahkh,
	patches, ben.hutchings, lkft-triage, stable

On Tue, Dec 12, 2017 at 04:22:36PM -0800, Guenter Roeck wrote:
> On 12/12/2017 04:43 AM, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 4.9.69 release.
> > There are 148 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 Thu Dec 14 12:43:58 UTC 2017.
> > Anything received after that time might be too late.
> > 
> 
> Build results:
> 	total: 145 pass: 140 fail: 5
> Failed builds:
> 	powerpc:defconfig
> 	powerpc:allmodconfig
> 	powerpc:ppc64e_defconfig
> 	powerpc:cell_defconfig
> 	powerpc:maple_defconfig
> Qemu test results:
> 	total: 124 pass: 119 fail: 5
> Failed tests:
> 	powerpc:mac99:ppc64_book3s_defconfig:nosmp
> 	powerpc:mac99:ppc64_book3s_defconfig:smp4
> 	powerpc:pseries:pseries_defconfig
> 	powerpc:mpc8544ds:ppc64_e5500_defconfig:nosmp
> 	powerpc:mpc8544ds:ppc64_e5500_defconfig:smp
> 
> Failures:
> 
> arch/powerpc/include/asm/checksum.h:103:2: error: implicit declaration of function 'from64to32'
> 
> Details are available at http://kerneltests.org/builders.
> 
> Guenter

Commit 7a06adf7b37f ("powerpc/64: Fix checksum folding in csum_add()") in
the stable-rc tree needs commit b492f7e4e07a ("powerpc/64: Fix checksum
folding in csum_tcpudp_nofold and ip_fast_csum_nofold") from upstream as a
prerequisite. It applies cleanly on 4.9.68 (can't say if it is appropriate
or not).

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 000/105] 4.4.106-stable review
  @ 2017-12-15 10:01 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-12-15 10:01 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Dec 15, 2017 at 10:43:58AM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.106 release.
> There are 105 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 Sun Dec 17 09:22:39 UTC 2017.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.106-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.106-rc1
> 
> Vincent Pelletier <plr.vincent@gmail.com>
>     usb: gadget: ffs: Forbid usb_ep_alloc_request from sleeping
> 
> Marc Zyngier <marc.zyngier@arm.com>
>     arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one
> 
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>     Revert "x86/mm/pat: Ensure cpa->pfn only contains page frame numbers"
> 
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>     Revert "x86/efi: Hoist page table switching code into efi_call_virt()"
> 
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>     Revert "x86/efi: Build our own page table structures"
> 
> Eric Dumazet <edumazet@google.com>
>     net/packet: fix a race in packet_bind() and packet_notifier()
> 
> Mike Maloney <maloney@google.com>
>     packet: fix crash in fanout_demux_rollover()
> 
> Hangbin Liu <liuhangbin@gmail.com>
>     sit: update frag_off info
> 
> H�kon Bugge <Haakon.Bugge@oracle.com>
>     rds: Fix NULL pointer dereference in __rds_rdma_map
> 
> Jon Maloy <jon.maloy@ericsson.com>
>     tipc: fix memory leak in tipc_accept_from_sock()
> 
> Al Viro <viro@zeniv.linux.org.uk>
>     more bio_map_user_iov() leak fixes
> 
> Heiko Carstens <heiko.carstens@de.ibm.com>
>     s390: always save and restore all registers on context switch
> 
> Masamitsu Yamazaki <m-yamazaki@ah.jp.nec.com>
>     ipmi: Stop timers before cleaning up the module
> 
> Paul Moore <paul@paul-moore.com>
>     audit: ensure that 'audit=1' actually enables audit for PID 1
> 
> Keefe Liu <liuqifa@huawei.com>
>     ipvlan: fix ipv6 outbound device
> 
> David Howells <dhowells@redhat.com>
>     afs: Connect up the CB.ProbeUuid
> 
> Majd Dibbiny <majd@mellanox.com>
>     IB/mlx5: Assign send CQ and recv CQ of UMR QP
> 
> Mark Bloch <markb@mellanox.com>
>     IB/mlx4: Increase maximal message size under UD QP
> 
> Herbert Xu <herbert@gondor.apana.org.au>
>     xfrm: Copy policy family in clone_policy
> 
> Jason Baron <jbaron@akamai.com>
>     jump_label: Invoke jump_label_test() via early_initcall()
> 
> Arvind Yadav <arvind.yadav.cs@gmail.com>
>     atm: horizon: Fix irq release error
> 
> Xin Long <lucien.xin@gmail.com>
>     sctp: use the right sk after waking up from wait_buf sleep
> 
> Xin Long <lucien.xin@gmail.com>
>     sctp: do not free asoc when it is already dead in sctp_sendmsg
> 
> Pavel Tatashin <pasha.tatashin@oracle.com>
>     sparc64/mm: set fields in deferred pages
> 
> Ming Lei <ming.lei@redhat.com>
>     block: wake up all tasks blocked in get_request()
> 
> Chuck Lever <chuck.lever@oracle.com>
>     sunrpc: Fix rpc_task_begin trace point
> 
> Trond Myklebust <trond.myklebust@primarydata.com>
>     NFS: Fix a typo in nfs_rename()
> 
> Randy Dunlap <rdunlap@infradead.org>
>     dynamic-debug-howto: fix optional/omitted ending line number to be LARGE instead of 0
> 
> Stephen Bates <sbates@raithlin.com>
>     lib/genalloc.c: make the avail variable an atomic_long_t
> 
> Xin Long <lucien.xin@gmail.com>
>     route: update fnhe_expires for redirect when the fnhe exists
> 
> Xin Long <lucien.xin@gmail.com>
>     route: also update fnhe_genid when updating a route cache
> 
> Ben Hutchings <ben.hutchings@codethink.co.uk>
>     mac80211_hwsim: Fix memory leak in hwsim_new_radio_nl()
> 
> Masahiro Yamada <yamada.masahiro@socionext.com>
>     kbuild: pkg: use --transform option to prefix paths in tar
> 
> J�r�my Lefaure <jeremy.lefaure@lse.epita.fr>
>     EDAC, i5000, i5400: Fix definition of NRECMEMB register
> 
> J�r�my Lefaure <jeremy.lefaure@lse.epita.fr>
>     EDAC, i5000, i5400: Fix use of MTR_DRAM_WIDTH macro
> 
> Alexey Kardashevskiy <aik@ozlabs.ru>
>     powerpc/powernv/ioda2: Gracefully fail if too many TCE levels requested
> 
> Jim Qu <Jim.Qu@amd.com>
>     drm/amd/amdgpu: fix console deadlock if late init failed
> 
> Jan Kara <jack@suse.cz>
>     axonram: Fix gendisk handling
> 
> Florian Westphal <fw@strlen.de>
>     netfilter: don't track fragmented packets
> 
> Johannes Thumshirn <jthumshirn@suse.de>
>     zram: set physical queue limits to avoid array out of bounds accesses
> 
> Chris Brandt <chris.brandt@renesas.com>
>     i2c: riic: fix restart condition
> 
> Krzysztof Kozlowski <krzk@kernel.org>
>     crypto: s5p-sss - Fix completing crypto request in IRQ handler
> 
> WANG Cong <xiyou.wangcong@gmail.com>
>     ipv6: reorder icmpv6_init() and ip6_mr_init()
> 
> Michal Schmidt <mschmidt@redhat.com>
>     bnx2x: do not rollback VF MAC/VLAN filters we did not configure
> 
> Michal Schmidt <mschmidt@redhat.com>
>     bnx2x: fix possible overrun of VFPF multicast addresses array
> 
> Michal Schmidt <mschmidt@redhat.com>
>     bnx2x: prevent crash when accessing PTP with interface down
> 
> Blomme, Maarten <Maarten.Blomme@flir.com>
>     spi_ks8995: fix "BUG: key accdaa28 not in .data!"
> 
> Mark Rutland <mark.rutland@arm.com>
>     arm64: KVM: Survive unknown traps from guests
> 
> Mark Rutland <mark.rutland@arm.com>
>     arm: KVM: Survive unknown traps from guests
> 
> Wanpeng Li <wanpeng.li@hotmail.com>
>     KVM: nVMX: reset nested_run_pending if the vCPU is going to be reset
> 
> Franck Demathieu <fdemathieu@gmail.com>
>     irqchip/crossbar: Fix incorrect type of register size
> 
> James Smart <jsmart2021@gmail.com>
>     scsi: lpfc: Fix crash during Hardware error recovery on SLI3 adapters
> 
> Tejun Heo <tj@kernel.org>
>     workqueue: trigger WARN if queue_delayed_work() is called with NULL @wq
> 
> Tejun Heo <tj@kernel.org>
>     libata: drop WARN from protocol error in ata_sff_qc_issue()
> 
> Jim Mattson <jmattson@google.com>
>     kvm: nVMX: VMCLEAR should not cause the vCPU to shut down
> 
> Christophe JAILLET <christophe.jaillet@wanadoo.fr>
>     USB: gadgetfs: Fix a potential memory leak in 'dev_config()'
> 
> John Keeping <john@metanate.com>
>     usb: gadget: configs: plug memory leak
> 
> Daniel Drake <drake@endlessm.com>
>     HID: chicony: Add support for another ASUS Zen AiO keyboard
> 
> Phil Reid <preid@electromag.com.au>
>     gpio: altera: Use handle_level_irq when configured as a level_high
> 
> Guenter Roeck <linux@roeck-us.net>
>     ARM: OMAP2+: Release device node after it is no longer needed.
> 
> Guenter Roeck <linux@roeck-us.net>
>     ARM: OMAP2+: Fix device node reference counts
> 
> David Daney <david.daney@cavium.com>
>     module: set __jump_table alignment to 8
> 
> Sachin Sant <sachinp@linux.vnet.ibm.com>
>     selftest/powerpc: Fix false failures for skipped tests
> 
> Thomas Gleixner <tglx@linutronix.de>
>     x86/hpet: Prevent might sleep splat on resume
> 
> Ladislav Michl <ladis@linux-mips.org>
>     ARM: OMAP2+: gpmc-onenand: propagate error on initialization failure
> 
> Steffen Klassert <steffen.klassert@secunet.com>
>     vti6: Don't report path MTU below IPV6_MIN_MTU.
> 
> Sasha Levin <alexander.levin@verizon.com>
>     Revert "s390/kbuild: enable modversions for symbols exported from asm"
> 
> Sasha Levin <alexander.levin@verizon.com>
>     Revert "spi: SPI_FSL_DSPI should depend on HAS_DMA"
> 
> Sasha Levin <alexander.levin@verizon.com>
>     Revert "drm/armada: Fix compile fail"
> 
> Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>     mm: drop unused pmdp_huge_get_and_clear_notify()
> 
> Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>     thp: fix MADV_DONTNEED vs. numa balancing race
> 
> Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>     thp: reduce indentation level in change_huge_pmd()
> 
> Stephen Hemminger <stephen@networkplumber.org>
>     scsi: storvsc: Workaround for virtual DVD SCSI version
> 
> Russell King <rmk+kernel@armlinux.org.uk>
>     ARM: avoid faulting on qemu
> 
> Russell King <rmk+kernel@armlinux.org.uk>
>     ARM: BUG if jumping to usermode address in kernel mode
> 
> Dave Martin <Dave.Martin@arm.com>
>     arm64: fpsimd: Prevent registers leaking from dead tasks
> 
> Andrew Honig <ahonig@google.com>
>     KVM: VMX: remove I/O port 0x80 bypass on Intel hosts
> 
> Kristina Martsenko <kristina.martsenko@arm.com>
>     arm64: KVM: fix VTTBR_BADDR_MASK BUG_ON off-by-one
> 
> Laurent Caumont <lcaumont2@gmail.com>
>     media: dvb: i2c transfers over usb cannot be done from stack
> 
> Marek Szyprowski <m.szyprowski@samsung.com>
>     drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU
> 
> Dave Gordon <david.s.gordon@intel.com>
>     drm: extra printk() wrapper macros
> 
> Daniel Thompson <daniel.thompson@linaro.org>
>     kdb: Fix handling of kallsyms_symbol_next() return value
> 
> Heiko Carstens <heiko.carstens@de.ibm.com>
>     s390: fix compat system call table
> 
> Robin Murphy <robin.murphy@arm.com>
>     iommu/vt-d: Fix scatterlist offset handling
> 
> Jaejoong Kim <climbbb.kim@gmail.com>
>     ALSA: usb-audio: Add check return value for usb_string()
> 
> Jaejoong Kim <climbbb.kim@gmail.com>
>     ALSA: usb-audio: Fix out-of-bound error
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: seq: Remove spurious WARN_ON() at timer check
> 
> Robb Glasser <rglasser@google.com>
>     ALSA: pcm: prevent UAF in snd_pcm_info
> 
> Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>     x86/PCI: Make broadcom_postcore_init() check acpi_disabled
> 
> Eric Biggers <ebiggers@google.com>
>     X.509: reject invalid BIT STRING for subjectPublicKey
> 
> Eric Biggers <ebiggers@google.com>
>     ASN.1: check for error from ASN1_OP_END__ACT actions
> 
> Eric Biggers <ebiggers@google.com>
>     ASN.1: fix out-of-bounds read when parsing indefinite length item
> 
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>     efi: Move some sysfs files to be read-only by root
> 
> Huacai Chen <chenhc@lemote.com>
>     scsi: libsas: align sata_device's rps_resp on a cacheline
> 
> William Breathitt Gray <vilhelm.gray@gmail.com>
>     isa: Prevent NULL dereference in isa_bus driver callbacks
> 
> Paul Meyer <Paul.Meyer@microsoft.com>
>     hv: kvp: Avoid reading past allocated blocks from KVP file
> 
> weiping zhang <zwp10758@gmail.com>
>     virtio: release virtio index when fail to device_register
> 
> Martin Kelly <mkelly@xevo.com>
>     can: usb_8dev: cancel urb on -EPIPE and -EPROTO
> 
> Martin Kelly <mkelly@xevo.com>
>     can: esd_usb2: cancel urb on -EPIPE and -EPROTO
> 
> Martin Kelly <mkelly@xevo.com>
>     can: ems_usb: cancel urb on -EPIPE and -EPROTO
> 
> Martin Kelly <mkelly@xevo.com>
>     can: kvaser_usb: cancel urb on -EPIPE and -EPROTO
> 
> Jimmy Assarsson <jimmyassarsson@gmail.com>
>     can: kvaser_usb: ratelimit errors if incomplete messages are received
> 
> Jimmy Assarsson <jimmyassarsson@gmail.com>
>     can: kvaser_usb: Fix comparison bug in kvaser_usb_read_bulk_callback()
> 
> Jimmy Assarsson <jimmyassarsson@gmail.com>
>     can: kvaser_usb: free buf in error paths
> 
> Oliver St�bler <oliver.staebler@bytesatwork.ch>
>     can: ti_hecc: Fix napi poll return value for repoll
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                                          |   4 +-
>  arch/arm/include/asm/assembler.h                  |  18 +++
>  arch/arm/include/asm/kvm_arm.h                    |   4 +-
>  arch/arm/kernel/entry-header.S                    |   6 +
>  arch/arm/kvm/handle_exit.c                        |  19 +--
>  arch/arm/mach-omap2/gpmc-onenand.c                |  10 +-
>  arch/arm/mach-omap2/omap_hwmod_3xxx_data.c        |  25 ++--
>  arch/arm64/include/asm/kvm_arm.h                  |   3 +-
>  arch/arm64/kernel/process.c                       |   9 ++
>  arch/arm64/kvm/handle_exit.c                      |  19 +--
>  arch/powerpc/platforms/powernv/pci-ioda.c         |   3 +
>  arch/powerpc/sysdev/axonram.c                     |   5 +-
>  arch/s390/include/asm/asm-prototypes.h            |   8 --
>  arch/s390/include/asm/switch_to.h                 |  19 ++-
>  arch/s390/kernel/syscalls.S                       |   6 +-
>  arch/sparc/mm/init_64.c                           |   9 +-
>  arch/x86/include/asm/efi.h                        |  26 ----
>  arch/x86/kernel/hpet.c                            |   2 +-
>  arch/x86/kvm/vmx.c                                |  31 ++---
>  arch/x86/mm/pageattr.c                            |  17 ++-
>  arch/x86/pci/broadcom_bus.c                       |   2 +-
>  arch/x86/platform/efi/efi.c                       |  39 +++---
>  arch/x86/platform/efi/efi_32.c                    |   5 -
>  arch/x86/platform/efi/efi_64.c                    | 137 ++++++----------------
>  arch/x86/platform/efi/efi_stub_64.S               |  43 +++++++
>  block/bio.c                                       |  14 ++-
>  block/blk-core.c                                  |   4 +-
>  crypto/asymmetric_keys/x509_cert_parser.c         |   2 +
>  drivers/ata/libata-sff.c                          |   1 -
>  drivers/atm/horizon.c                             |   2 +-
>  drivers/base/isa.c                                |  10 +-
>  drivers/block/zram/zram_drv.c                     |   2 +
>  drivers/char/ipmi/ipmi_si_intf.c                  |  44 +++----
>  drivers/crypto/s5p-sss.c                          |   5 +-
>  drivers/edac/i5000_edac.c                         |   8 +-
>  drivers/edac/i5400_edac.c                         |   9 +-
>  drivers/firmware/efi/efi.c                        |   3 +-
>  drivers/firmware/efi/esrt.c                       |  15 +--
>  drivers/firmware/efi/runtime-map.c                |  10 +-
>  drivers/gpio/gpio-altera.c                        |  26 ++--
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c        |   5 +-
>  drivers/gpu/drm/armada/Makefile                   |   2 -
>  drivers/gpu/drm/exynos/exynos_drm_gem.c           |   9 ++
>  drivers/hid/Kconfig                               |   4 +-
>  drivers/hid/hid-chicony.c                         |   1 +
>  drivers/hid/hid-core.c                            |   1 +
>  drivers/hid/hid-ids.h                             |   1 +
>  drivers/i2c/busses/i2c-riic.c                     |   6 +-
>  drivers/infiniband/hw/mlx4/qp.c                   |   2 +-
>  drivers/infiniband/hw/mlx5/main.c                 |   2 +
>  drivers/iommu/intel-iommu.c                       |   8 +-
>  drivers/irqchip/irq-crossbar.c                    |   8 +-
>  drivers/media/usb/dvb-usb/dibusb-common.c         |  16 ++-
>  drivers/memory/omap-gpmc.c                        |   4 +-
>  drivers/net/can/ti_hecc.c                         |   3 +
>  drivers/net/can/usb/ems_usb.c                     |   2 +
>  drivers/net/can/usb/esd_usb2.c                    |   2 +
>  drivers/net/can/usb/kvaser_usb.c                  |  13 +-
>  drivers/net/can/usb/usb_8dev.c                    |   2 +
>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c  |  20 +++-
>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c |   8 +-
>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h |   1 +
>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c  |  23 ++--
>  drivers/net/ipvlan/ipvlan_core.c                  |   2 +-
>  drivers/net/phy/spi_ks8995.c                      |   1 +
>  drivers/net/wireless/mac80211_hwsim.c             |   5 +-
>  drivers/scsi/lpfc/lpfc_els.c                      |  14 ++-
>  drivers/scsi/storvsc_drv.c                        |  27 +++--
>  drivers/spi/Kconfig                               |   1 -
>  drivers/usb/gadget/configfs.c                     |   1 +
>  drivers/usb/gadget/function/f_fs.c                |   2 +-
>  drivers/usb/gadget/legacy/inode.c                 |   4 +-
>  drivers/virtio/virtio.c                           |   2 +
>  fs/afs/cmservice.c                                |   3 +
>  fs/nfs/dir.c                                      |   2 +-
>  include/drm/drmP.h                                |  26 +++-
>  include/linux/genalloc.h                          |   3 +-
>  include/linux/mmu_notifier.h                      |  13 --
>  include/linux/omap-gpmc.h                         |   5 +-
>  include/linux/sysfs.h                             |   6 +
>  include/scsi/libsas.h                             |   2 +-
>  kernel/audit.c                                    |  10 +-
>  kernel/debug/kdb/kdb_io.c                         |   2 +-
>  kernel/jump_label.c                               |   2 +-
>  kernel/workqueue.c                                |   1 +
>  lib/asn1_decoder.c                                |  49 ++++----
>  lib/dynamic_debug.c                               |   4 +
>  lib/genalloc.c                                    |  10 +-
>  mm/huge_memory.c                                  |  82 +++++++++----
>  net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c    |   4 +
>  net/ipv4/netfilter/nf_nat_l3proto_ipv4.c          |   5 -
>  net/ipv4/route.c                                  |  14 ++-
>  net/ipv6/af_inet6.c                               |  10 +-
>  net/ipv6/ip6_vti.c                                |   8 +-
>  net/ipv6/sit.c                                    |   1 +
>  net/packet/af_packet.c                            |  37 +++---
>  net/packet/internal.h                             |   1 -
>  net/rds/rdma.c                                    |   2 +-
>  net/sctp/socket.c                                 |  38 ++++--
>  net/sunrpc/sched.c                                |   3 +-
>  net/tipc/server.c                                 |   1 +
>  net/xfrm/xfrm_policy.c                            |   1 +
>  scripts/module-common.lds                         |   2 +
>  scripts/package/Makefile                          |   5 +-
>  sound/core/pcm.c                                  |   2 +
>  sound/core/seq/seq_timer.c                        |   2 +-
>  sound/usb/mixer.c                                 |  13 +-
>  tools/hv/hv_kvp_daemon.c                          |  70 +++--------
>  tools/testing/selftests/powerpc/harness.c         |   6 +-
>  109 files changed, 701 insertions(+), 570 deletions(-)
> 
> 

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No initial issues noticed in general usage or dmesg.

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 000/105] 4.4.106-stable review
@ 2017-12-15 10:01 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-12-15 10:01 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Dec 15, 2017 at 10:43:58AM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.106 release.
> There are 105 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 Sun Dec 17 09:22:39 UTC 2017.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.106-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.106-rc1
> 
> Vincent Pelletier <plr.vincent@gmail.com>
>     usb: gadget: ffs: Forbid usb_ep_alloc_request from sleeping
> 
> Marc Zyngier <marc.zyngier@arm.com>
>     arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one
> 
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>     Revert "x86/mm/pat: Ensure cpa->pfn only contains page frame numbers"
> 
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>     Revert "x86/efi: Hoist page table switching code into efi_call_virt()"
> 
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>     Revert "x86/efi: Build our own page table structures"
> 
> Eric Dumazet <edumazet@google.com>
>     net/packet: fix a race in packet_bind() and packet_notifier()
> 
> Mike Maloney <maloney@google.com>
>     packet: fix crash in fanout_demux_rollover()
> 
> Hangbin Liu <liuhangbin@gmail.com>
>     sit: update frag_off info
> 
> Håkon Bugge <Haakon.Bugge@oracle.com>
>     rds: Fix NULL pointer dereference in __rds_rdma_map
> 
> Jon Maloy <jon.maloy@ericsson.com>
>     tipc: fix memory leak in tipc_accept_from_sock()
> 
> Al Viro <viro@zeniv.linux.org.uk>
>     more bio_map_user_iov() leak fixes
> 
> Heiko Carstens <heiko.carstens@de.ibm.com>
>     s390: always save and restore all registers on context switch
> 
> Masamitsu Yamazaki <m-yamazaki@ah.jp.nec.com>
>     ipmi: Stop timers before cleaning up the module
> 
> Paul Moore <paul@paul-moore.com>
>     audit: ensure that 'audit=1' actually enables audit for PID 1
> 
> Keefe Liu <liuqifa@huawei.com>
>     ipvlan: fix ipv6 outbound device
> 
> David Howells <dhowells@redhat.com>
>     afs: Connect up the CB.ProbeUuid
> 
> Majd Dibbiny <majd@mellanox.com>
>     IB/mlx5: Assign send CQ and recv CQ of UMR QP
> 
> Mark Bloch <markb@mellanox.com>
>     IB/mlx4: Increase maximal message size under UD QP
> 
> Herbert Xu <herbert@gondor.apana.org.au>
>     xfrm: Copy policy family in clone_policy
> 
> Jason Baron <jbaron@akamai.com>
>     jump_label: Invoke jump_label_test() via early_initcall()
> 
> Arvind Yadav <arvind.yadav.cs@gmail.com>
>     atm: horizon: Fix irq release error
> 
> Xin Long <lucien.xin@gmail.com>
>     sctp: use the right sk after waking up from wait_buf sleep
> 
> Xin Long <lucien.xin@gmail.com>
>     sctp: do not free asoc when it is already dead in sctp_sendmsg
> 
> Pavel Tatashin <pasha.tatashin@oracle.com>
>     sparc64/mm: set fields in deferred pages
> 
> Ming Lei <ming.lei@redhat.com>
>     block: wake up all tasks blocked in get_request()
> 
> Chuck Lever <chuck.lever@oracle.com>
>     sunrpc: Fix rpc_task_begin trace point
> 
> Trond Myklebust <trond.myklebust@primarydata.com>
>     NFS: Fix a typo in nfs_rename()
> 
> Randy Dunlap <rdunlap@infradead.org>
>     dynamic-debug-howto: fix optional/omitted ending line number to be LARGE instead of 0
> 
> Stephen Bates <sbates@raithlin.com>
>     lib/genalloc.c: make the avail variable an atomic_long_t
> 
> Xin Long <lucien.xin@gmail.com>
>     route: update fnhe_expires for redirect when the fnhe exists
> 
> Xin Long <lucien.xin@gmail.com>
>     route: also update fnhe_genid when updating a route cache
> 
> Ben Hutchings <ben.hutchings@codethink.co.uk>
>     mac80211_hwsim: Fix memory leak in hwsim_new_radio_nl()
> 
> Masahiro Yamada <yamada.masahiro@socionext.com>
>     kbuild: pkg: use --transform option to prefix paths in tar
> 
> Jérémy Lefaure <jeremy.lefaure@lse.epita.fr>
>     EDAC, i5000, i5400: Fix definition of NRECMEMB register
> 
> Jérémy Lefaure <jeremy.lefaure@lse.epita.fr>
>     EDAC, i5000, i5400: Fix use of MTR_DRAM_WIDTH macro
> 
> Alexey Kardashevskiy <aik@ozlabs.ru>
>     powerpc/powernv/ioda2: Gracefully fail if too many TCE levels requested
> 
> Jim Qu <Jim.Qu@amd.com>
>     drm/amd/amdgpu: fix console deadlock if late init failed
> 
> Jan Kara <jack@suse.cz>
>     axonram: Fix gendisk handling
> 
> Florian Westphal <fw@strlen.de>
>     netfilter: don't track fragmented packets
> 
> Johannes Thumshirn <jthumshirn@suse.de>
>     zram: set physical queue limits to avoid array out of bounds accesses
> 
> Chris Brandt <chris.brandt@renesas.com>
>     i2c: riic: fix restart condition
> 
> Krzysztof Kozlowski <krzk@kernel.org>
>     crypto: s5p-sss - Fix completing crypto request in IRQ handler
> 
> WANG Cong <xiyou.wangcong@gmail.com>
>     ipv6: reorder icmpv6_init() and ip6_mr_init()
> 
> Michal Schmidt <mschmidt@redhat.com>
>     bnx2x: do not rollback VF MAC/VLAN filters we did not configure
> 
> Michal Schmidt <mschmidt@redhat.com>
>     bnx2x: fix possible overrun of VFPF multicast addresses array
> 
> Michal Schmidt <mschmidt@redhat.com>
>     bnx2x: prevent crash when accessing PTP with interface down
> 
> Blomme, Maarten <Maarten.Blomme@flir.com>
>     spi_ks8995: fix "BUG: key accdaa28 not in .data!"
> 
> Mark Rutland <mark.rutland@arm.com>
>     arm64: KVM: Survive unknown traps from guests
> 
> Mark Rutland <mark.rutland@arm.com>
>     arm: KVM: Survive unknown traps from guests
> 
> Wanpeng Li <wanpeng.li@hotmail.com>
>     KVM: nVMX: reset nested_run_pending if the vCPU is going to be reset
> 
> Franck Demathieu <fdemathieu@gmail.com>
>     irqchip/crossbar: Fix incorrect type of register size
> 
> James Smart <jsmart2021@gmail.com>
>     scsi: lpfc: Fix crash during Hardware error recovery on SLI3 adapters
> 
> Tejun Heo <tj@kernel.org>
>     workqueue: trigger WARN if queue_delayed_work() is called with NULL @wq
> 
> Tejun Heo <tj@kernel.org>
>     libata: drop WARN from protocol error in ata_sff_qc_issue()
> 
> Jim Mattson <jmattson@google.com>
>     kvm: nVMX: VMCLEAR should not cause the vCPU to shut down
> 
> Christophe JAILLET <christophe.jaillet@wanadoo.fr>
>     USB: gadgetfs: Fix a potential memory leak in 'dev_config()'
> 
> John Keeping <john@metanate.com>
>     usb: gadget: configs: plug memory leak
> 
> Daniel Drake <drake@endlessm.com>
>     HID: chicony: Add support for another ASUS Zen AiO keyboard
> 
> Phil Reid <preid@electromag.com.au>
>     gpio: altera: Use handle_level_irq when configured as a level_high
> 
> Guenter Roeck <linux@roeck-us.net>
>     ARM: OMAP2+: Release device node after it is no longer needed.
> 
> Guenter Roeck <linux@roeck-us.net>
>     ARM: OMAP2+: Fix device node reference counts
> 
> David Daney <david.daney@cavium.com>
>     module: set __jump_table alignment to 8
> 
> Sachin Sant <sachinp@linux.vnet.ibm.com>
>     selftest/powerpc: Fix false failures for skipped tests
> 
> Thomas Gleixner <tglx@linutronix.de>
>     x86/hpet: Prevent might sleep splat on resume
> 
> Ladislav Michl <ladis@linux-mips.org>
>     ARM: OMAP2+: gpmc-onenand: propagate error on initialization failure
> 
> Steffen Klassert <steffen.klassert@secunet.com>
>     vti6: Don't report path MTU below IPV6_MIN_MTU.
> 
> Sasha Levin <alexander.levin@verizon.com>
>     Revert "s390/kbuild: enable modversions for symbols exported from asm"
> 
> Sasha Levin <alexander.levin@verizon.com>
>     Revert "spi: SPI_FSL_DSPI should depend on HAS_DMA"
> 
> Sasha Levin <alexander.levin@verizon.com>
>     Revert "drm/armada: Fix compile fail"
> 
> Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>     mm: drop unused pmdp_huge_get_and_clear_notify()
> 
> Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>     thp: fix MADV_DONTNEED vs. numa balancing race
> 
> Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
>     thp: reduce indentation level in change_huge_pmd()
> 
> Stephen Hemminger <stephen@networkplumber.org>
>     scsi: storvsc: Workaround for virtual DVD SCSI version
> 
> Russell King <rmk+kernel@armlinux.org.uk>
>     ARM: avoid faulting on qemu
> 
> Russell King <rmk+kernel@armlinux.org.uk>
>     ARM: BUG if jumping to usermode address in kernel mode
> 
> Dave Martin <Dave.Martin@arm.com>
>     arm64: fpsimd: Prevent registers leaking from dead tasks
> 
> Andrew Honig <ahonig@google.com>
>     KVM: VMX: remove I/O port 0x80 bypass on Intel hosts
> 
> Kristina Martsenko <kristina.martsenko@arm.com>
>     arm64: KVM: fix VTTBR_BADDR_MASK BUG_ON off-by-one
> 
> Laurent Caumont <lcaumont2@gmail.com>
>     media: dvb: i2c transfers over usb cannot be done from stack
> 
> Marek Szyprowski <m.szyprowski@samsung.com>
>     drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU
> 
> Dave Gordon <david.s.gordon@intel.com>
>     drm: extra printk() wrapper macros
> 
> Daniel Thompson <daniel.thompson@linaro.org>
>     kdb: Fix handling of kallsyms_symbol_next() return value
> 
> Heiko Carstens <heiko.carstens@de.ibm.com>
>     s390: fix compat system call table
> 
> Robin Murphy <robin.murphy@arm.com>
>     iommu/vt-d: Fix scatterlist offset handling
> 
> Jaejoong Kim <climbbb.kim@gmail.com>
>     ALSA: usb-audio: Add check return value for usb_string()
> 
> Jaejoong Kim <climbbb.kim@gmail.com>
>     ALSA: usb-audio: Fix out-of-bound error
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: seq: Remove spurious WARN_ON() at timer check
> 
> Robb Glasser <rglasser@google.com>
>     ALSA: pcm: prevent UAF in snd_pcm_info
> 
> Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>     x86/PCI: Make broadcom_postcore_init() check acpi_disabled
> 
> Eric Biggers <ebiggers@google.com>
>     X.509: reject invalid BIT STRING for subjectPublicKey
> 
> Eric Biggers <ebiggers@google.com>
>     ASN.1: check for error from ASN1_OP_END__ACT actions
> 
> Eric Biggers <ebiggers@google.com>
>     ASN.1: fix out-of-bounds read when parsing indefinite length item
> 
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>     efi: Move some sysfs files to be read-only by root
> 
> Huacai Chen <chenhc@lemote.com>
>     scsi: libsas: align sata_device's rps_resp on a cacheline
> 
> William Breathitt Gray <vilhelm.gray@gmail.com>
>     isa: Prevent NULL dereference in isa_bus driver callbacks
> 
> Paul Meyer <Paul.Meyer@microsoft.com>
>     hv: kvp: Avoid reading past allocated blocks from KVP file
> 
> weiping zhang <zwp10758@gmail.com>
>     virtio: release virtio index when fail to device_register
> 
> Martin Kelly <mkelly@xevo.com>
>     can: usb_8dev: cancel urb on -EPIPE and -EPROTO
> 
> Martin Kelly <mkelly@xevo.com>
>     can: esd_usb2: cancel urb on -EPIPE and -EPROTO
> 
> Martin Kelly <mkelly@xevo.com>
>     can: ems_usb: cancel urb on -EPIPE and -EPROTO
> 
> Martin Kelly <mkelly@xevo.com>
>     can: kvaser_usb: cancel urb on -EPIPE and -EPROTO
> 
> Jimmy Assarsson <jimmyassarsson@gmail.com>
>     can: kvaser_usb: ratelimit errors if incomplete messages are received
> 
> Jimmy Assarsson <jimmyassarsson@gmail.com>
>     can: kvaser_usb: Fix comparison bug in kvaser_usb_read_bulk_callback()
> 
> Jimmy Assarsson <jimmyassarsson@gmail.com>
>     can: kvaser_usb: free buf in error paths
> 
> Oliver Stäbler <oliver.staebler@bytesatwork.ch>
>     can: ti_hecc: Fix napi poll return value for repoll
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                                          |   4 +-
>  arch/arm/include/asm/assembler.h                  |  18 +++
>  arch/arm/include/asm/kvm_arm.h                    |   4 +-
>  arch/arm/kernel/entry-header.S                    |   6 +
>  arch/arm/kvm/handle_exit.c                        |  19 +--
>  arch/arm/mach-omap2/gpmc-onenand.c                |  10 +-
>  arch/arm/mach-omap2/omap_hwmod_3xxx_data.c        |  25 ++--
>  arch/arm64/include/asm/kvm_arm.h                  |   3 +-
>  arch/arm64/kernel/process.c                       |   9 ++
>  arch/arm64/kvm/handle_exit.c                      |  19 +--
>  arch/powerpc/platforms/powernv/pci-ioda.c         |   3 +
>  arch/powerpc/sysdev/axonram.c                     |   5 +-
>  arch/s390/include/asm/asm-prototypes.h            |   8 --
>  arch/s390/include/asm/switch_to.h                 |  19 ++-
>  arch/s390/kernel/syscalls.S                       |   6 +-
>  arch/sparc/mm/init_64.c                           |   9 +-
>  arch/x86/include/asm/efi.h                        |  26 ----
>  arch/x86/kernel/hpet.c                            |   2 +-
>  arch/x86/kvm/vmx.c                                |  31 ++---
>  arch/x86/mm/pageattr.c                            |  17 ++-
>  arch/x86/pci/broadcom_bus.c                       |   2 +-
>  arch/x86/platform/efi/efi.c                       |  39 +++---
>  arch/x86/platform/efi/efi_32.c                    |   5 -
>  arch/x86/platform/efi/efi_64.c                    | 137 ++++++----------------
>  arch/x86/platform/efi/efi_stub_64.S               |  43 +++++++
>  block/bio.c                                       |  14 ++-
>  block/blk-core.c                                  |   4 +-
>  crypto/asymmetric_keys/x509_cert_parser.c         |   2 +
>  drivers/ata/libata-sff.c                          |   1 -
>  drivers/atm/horizon.c                             |   2 +-
>  drivers/base/isa.c                                |  10 +-
>  drivers/block/zram/zram_drv.c                     |   2 +
>  drivers/char/ipmi/ipmi_si_intf.c                  |  44 +++----
>  drivers/crypto/s5p-sss.c                          |   5 +-
>  drivers/edac/i5000_edac.c                         |   8 +-
>  drivers/edac/i5400_edac.c                         |   9 +-
>  drivers/firmware/efi/efi.c                        |   3 +-
>  drivers/firmware/efi/esrt.c                       |  15 +--
>  drivers/firmware/efi/runtime-map.c                |  10 +-
>  drivers/gpio/gpio-altera.c                        |  26 ++--
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c        |   5 +-
>  drivers/gpu/drm/armada/Makefile                   |   2 -
>  drivers/gpu/drm/exynos/exynos_drm_gem.c           |   9 ++
>  drivers/hid/Kconfig                               |   4 +-
>  drivers/hid/hid-chicony.c                         |   1 +
>  drivers/hid/hid-core.c                            |   1 +
>  drivers/hid/hid-ids.h                             |   1 +
>  drivers/i2c/busses/i2c-riic.c                     |   6 +-
>  drivers/infiniband/hw/mlx4/qp.c                   |   2 +-
>  drivers/infiniband/hw/mlx5/main.c                 |   2 +
>  drivers/iommu/intel-iommu.c                       |   8 +-
>  drivers/irqchip/irq-crossbar.c                    |   8 +-
>  drivers/media/usb/dvb-usb/dibusb-common.c         |  16 ++-
>  drivers/memory/omap-gpmc.c                        |   4 +-
>  drivers/net/can/ti_hecc.c                         |   3 +
>  drivers/net/can/usb/ems_usb.c                     |   2 +
>  drivers/net/can/usb/esd_usb2.c                    |   2 +
>  drivers/net/can/usb/kvaser_usb.c                  |  13 +-
>  drivers/net/can/usb/usb_8dev.c                    |   2 +
>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c  |  20 +++-
>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c |   8 +-
>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h |   1 +
>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c  |  23 ++--
>  drivers/net/ipvlan/ipvlan_core.c                  |   2 +-
>  drivers/net/phy/spi_ks8995.c                      |   1 +
>  drivers/net/wireless/mac80211_hwsim.c             |   5 +-
>  drivers/scsi/lpfc/lpfc_els.c                      |  14 ++-
>  drivers/scsi/storvsc_drv.c                        |  27 +++--
>  drivers/spi/Kconfig                               |   1 -
>  drivers/usb/gadget/configfs.c                     |   1 +
>  drivers/usb/gadget/function/f_fs.c                |   2 +-
>  drivers/usb/gadget/legacy/inode.c                 |   4 +-
>  drivers/virtio/virtio.c                           |   2 +
>  fs/afs/cmservice.c                                |   3 +
>  fs/nfs/dir.c                                      |   2 +-
>  include/drm/drmP.h                                |  26 +++-
>  include/linux/genalloc.h                          |   3 +-
>  include/linux/mmu_notifier.h                      |  13 --
>  include/linux/omap-gpmc.h                         |   5 +-
>  include/linux/sysfs.h                             |   6 +
>  include/scsi/libsas.h                             |   2 +-
>  kernel/audit.c                                    |  10 +-
>  kernel/debug/kdb/kdb_io.c                         |   2 +-
>  kernel/jump_label.c                               |   2 +-
>  kernel/workqueue.c                                |   1 +
>  lib/asn1_decoder.c                                |  49 ++++----
>  lib/dynamic_debug.c                               |   4 +
>  lib/genalloc.c                                    |  10 +-
>  mm/huge_memory.c                                  |  82 +++++++++----
>  net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c    |   4 +
>  net/ipv4/netfilter/nf_nat_l3proto_ipv4.c          |   5 -
>  net/ipv4/route.c                                  |  14 ++-
>  net/ipv6/af_inet6.c                               |  10 +-
>  net/ipv6/ip6_vti.c                                |   8 +-
>  net/ipv6/sit.c                                    |   1 +
>  net/packet/af_packet.c                            |  37 +++---
>  net/packet/internal.h                             |   1 -
>  net/rds/rdma.c                                    |   2 +-
>  net/sctp/socket.c                                 |  38 ++++--
>  net/sunrpc/sched.c                                |   3 +-
>  net/tipc/server.c                                 |   1 +
>  net/xfrm/xfrm_policy.c                            |   1 +
>  scripts/module-common.lds                         |   2 +
>  scripts/package/Makefile                          |   5 +-
>  sound/core/pcm.c                                  |   2 +
>  sound/core/seq/seq_timer.c                        |   2 +-
>  sound/usb/mixer.c                                 |  13 +-
>  tools/hv/hv_kvp_daemon.c                          |  70 +++--------
>  tools/testing/selftests/powerpc/harness.c         |   6 +-
>  109 files changed, 701 insertions(+), 570 deletions(-)
> 
> 

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No initial issues noticed in general usage or dmesg.

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 000/115] 4.4.107-stable review
  @ 2017-12-18 18:17 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-12-18 18:17 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Dec 18, 2017 at 04:47:49PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.107 release.
> There are 115 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 Wed Dec 20 15:28:15 UTC 2017.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.107-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.107-rc1
> 
> Miaoqing Pan <miaoqing@codeaurora.org>
>     ath9k: fix tx99 potential info leak
> 
> Alex Vesker <valex@mellanox.com>
>     IB/ipoib: Grab rtnl lock on heavy flush when calling ndo_open/stop
> 
> Bart Van Assche <bart.vanassche@wdc.com>
>     RDMA/cma: Avoid triggering undefined behavior
> 
> Alexander Duyck <alexander.h.duyck@intel.com>
>     macvlan: Only deliver one copy of the frame to the macvlan interface
> 
> Jan Kara <jack@suse.cz>
>     udf: Avoid overflow when session starts at large offset
> 
> Dan Carpenter <dan.carpenter@oracle.com>
>     scsi: bfa: integer overflow in debugfs
> 
> weiping zhang <zhangweiping@didichuxing.com>
>     scsi: sd: change allow_restart to bool in sysfs interface
> 
> weiping zhang <zhangweiping@didichuxing.com>
>     scsi: sd: change manage_start_stop to bool in sysfs interface
> 
> Jia-Ju Bai <baijiaju1990@163.com>
>     vt6655: Fix a possible sleep-in-atomic bug in vt6655_suspend
> 
> Kurt Garloff <garloff@suse.de>
>     scsi: scsi_devinfo: Add REPORTLUN2 to EMC SYMMETRIX blacklist entry
> 
> NeilBrown <neilb@suse.com>
>     raid5: Set R5_Expanded on parity devices as well as data.
> 
> Linus Walleij <linus.walleij@linaro.org>
>     pinctrl: adi2: Fix Kconfig build problem
> 
> Bin Liu <b-liu@ti.com>
>     usb: musb: da8xx: fix babble condition handling
> 
> nixiaoming <nixiaoming@huawei.com>
>     tty fix oops when rmmod 8250
> 
> Michael Ellerman <mpe@ellerman.id.au>
>     powerpc/perf/hv-24x7: Fix incorrect comparison in memord
> 
> Martin Wilck <mwilck@suse.de>
>     scsi: hpsa: destroy sas transport properties before scsi_host
> 
> Martin Wilck <mwilck@suse.de>
>     scsi: hpsa: cleanup sas_phy structures in sysfs when unloading
> 
> Alex Williamson <alex.williamson@redhat.com>
>     PCI: Detach driver before procfs & sysfs teardown on device remove
> 
> Christoph Hellwig <hch@lst.de>
>     xfs: fix incorrect extent state in xfs_bmap_add_extent_unwritten_real
> 
> Brian Foster <bfoster@redhat.com>
>     xfs: fix log block underflow during recovery cycle verification
> 
> Jiri Slaby <jslaby@suse.cz>
>     l2tp: cleanup l2tp_tunnel_delete calls
> 
> tang.junhui <tang.junhui@zte.com.cn>
>     bcache: fix wrong cache_misses statistics
> 
> Liang Chen <liangchen.linux@gmail.com>
>     bcache: explicitly destroy mutex while exiting
> 
> Bob Peterson <rpeterso@redhat.com>
>     GFS2: Take inode off order_write list when setting jdata flag
> 
> Daniel Lezcano <daniel.lezcano@linaro.org>
>     thermal/drivers/step_wise: Fix temperature regulation misbehavior
> 
> Gao Feng <gfree.wind@vip.163.com>
>     ppp: Destroy the mutex when cleanup
> 
> Michał Mirosław <mirq-linux@rere.qmqm.pl>
>     clk: tegra: Fix cclk_lp divisor register
> 
> Sébastien Szymanski <sebastien.szymanski@armadeus.com>
>     clk: imx6: refine hdmi_isfr's parent to make HDMI work on i.MX6 SoCs w/o VPU
> 
> Chen Zhong <chen.zhong@mediatek.com>
>     clk: mediatek: add the option for determining PLL source clock
> 
> Jan Kara <jack@suse.cz>
>     mm: Handle 0 flags in _calc_vm_trans() macro
> 
> Robert Baronescu <robert.baronescu@nxp.com>
>     crypto: tcrypt - fix buffer lengths in test_aead_speed()
> 
> Suzuki K Poulose <suzuki.poulose@arm.com>
>     arm-ccn: perf: Prevent module unload while PMU is in use
> 
> Jiang Yi <jiangyilism@gmail.com>
>     target/file: Do not return error for UNMAP if length is zero
> 
> tangwenji <tang.wenji@zte.com.cn>
>     target:fix condition return in core_pr_dump_initiator_port()
> 
> tangwenji <tang.wenji@zte.com.cn>
>     iscsi-target: fix memory leak in lio_target_tiqn_addtpg()
> 
> Bart Van Assche <bart.vanassche@wdc.com>
>     target/iscsi: Fix a race condition in iscsit_add_reject_from_cmd()
> 
> Markus Elfring <elfring@users.sourceforge.net>
>     platform/x86: sony-laptop: Fix error handling in sony_nc_setup_rfkill()
> 
> Christophe Leroy <christophe.leroy@c-s.fr>
>     powerpc/ipic: Fix status get and status clear
> 
> William A. Kennington III <wak@google.com>
>     powerpc/opal: Fix EBUSY bug in acquiring tokens
> 
> KUWAZAWA Takuya <albatross0@gmail.com>
>     netfilter: ipvs: Fix inappropriate output of procfs
> 
> Shriya <shriyak@linux.vnet.ibm.com>
>     powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo
> 
> Qiang <zhengqiang10@huawei.com>
>     PCI/PME: Handle invalid data when reading Root Status
> 
> Peter Ujfalusi <peter.ujfalusi@ti.com>
>     dmaengine: ti-dma-crossbar: Correct am335x/am43xx mux value type
> 
> Philipp Zabel <p.zabel@pengutronix.de>
>     rtc: pcf8563: fix output clock rate
> 
> Christophe JAILLET <christophe.jaillet@wanadoo.fr>
>     video: fbdev: au1200fb: Return an error code if a memory allocation fails
> 
> Christophe JAILLET <christophe.jaillet@wanadoo.fr>
>     video: fbdev: au1200fb: Release some resources if a memory allocation fails
> 
> Ladislav Michl <ladis@linux-mips.org>
>     video: udlfb: Fix read EDID timeout
> 
> Geert Uytterhoeven <geert@linux-m68k.org>
>     fbdev: controlfb: Add missing modes to fix out of bounds access
> 
> Robert Stonehouse <rstonehouse@solarflare.com>
>     sfc: don't warn on successful change of MAC
> 
> Mike Christie <mchristi@redhat.com>
>     target: fix race during implicit transition work flushes
> 
> Mike Christie <mchristi@redhat.com>
>     target: fix ALUA transition timeout handling
> 
> Mike Christie <mchristi@redhat.com>
>     target: Use system workqueue for ALUA transitions
> 
> Zygo Blaxell <ce3g8jdj@umail.furryterror.org>
>     btrfs: add missing memset while reading compressed inline extents
> 
> Olga Kornievskaia <kolga@netapp.com>
>     NFSv4.1 respect server's max size in CREATE_SESSION
> 
> Daniel Drake <drake@endlessm.com>
>     efi/esrt: Cleanup bad memory map log messages
> 
> Daniel Borkmann <daniel@iogearbox.net>
>     perf symbols: Fix symbols__fixup_end heuristic for corner cases
> 
> Jack Morgenstein <jackm@dev.mellanox.co.il>
>     net/mlx4_core: Avoid delays during VF driver device shutdown
> 
> David Howells <dhowells@redhat.com>
>     afs: Fix afs_kill_pages()
> 
> David Howells <dhowells@redhat.com>
>     afs: Fix page leak in afs_write_begin()
> 
> Marc Dionne <marc.dionne@auristor.com>
>     afs: Populate and use client modification time
> 
> David Howells <dhowells@redhat.com>
>     afs: Fix the maths in afs_fs_store_data()
> 
> Tina Ruchandani <ruchandani.tina@gmail.com>
>     afs: Prevent callback expiry timer overflow
> 
> Tina Ruchandani <ruchandani.tina@gmail.com>
>     afs: Migrate vlocation fields to 64-bit
> 
> David Howells <dhowells@redhat.com>
>     afs: Flush outstanding writes when an fd is closed
> 
> Marc Dionne <marc.dionne@auristor.com>
>     afs: Adjust mode bits processing
> 
> Marc Dionne <marc.dionne@auristor.com>
>     afs: Populate group ID from vnode status
> 
> David Howells <dhowells@redhat.com>
>     afs: Fix missing put_page()
> 
> Alex Deucher <alexander.deucher@amd.com>
>     drm/radeon: reinstate oland workaround for sclk
> 
> yong mao <yong.mao@mediatek.com>
>     mmc: mediatek: Fixed bug where clock frequency could be set wrong
> 
> Steven Rostedt (VMware) <rostedt@goodmis.org>
>     sched/deadline: Use deadline instead of period when calculating overflow
> 
> Daniel Bristot de Oliveira <bristot@redhat.com>
>     sched/deadline: Throttle a constrained deadline task activated after the deadline
> 
> Daniel Bristot de Oliveira <bristot@redhat.com>
>     sched/deadline: Make sure the replenishment timer fires in the next period
> 
> Alex Deucher <alexander.deucher@amd.com>
>     drm/radeon/si: add dpm quirk for Oland
> 
> Taku Izumi <izumi.taku@jp.fujitsu.com>
>     fjes: Fix wrong netdevice feature flags
> 
> Don Brace <don.brace@microsemi.com>
>     scsi: hpsa: limit outstanding rescans
> 
> Don Brace <don.brace@microsemi.com>
>     scsi: hpsa: update check for logical volume status
> 
> Stafford Horne <shorne@gmail.com>
>     openrisc: fix issue handling 8 byte get_user calls
> 
> Alexander Shishkin <alexander.shishkin@linux.intel.com>
>     intel_th: pci: Add Gemini Lake support
> 
> Jiri Pirko <jiri@mellanox.com>
>     mlxsw: reg: Fix SPVMLR max record count
> 
> Jiri Pirko <jiri@mellanox.com>
>     mlxsw: reg: Fix SPVM max record count
> 
> Vlad Yasevich <vyasevich@gmail.com>
>     net: Resend IGMP memberships upon peer notification.
> 
> Matthias Kaehlcke <mka@chromium.org>
>     dmaengine: Fix array index out of bounds warning in __get_unmap_pool()
> 
> Johan Hovold <johan@kernel.org>
>     net: wimax/i2400m: fix NULL-deref at probe
> 
> Tahsin Erdogan <tahsin@google.com>
>     writeback: fix memory leak in wb_queue_work()
> 
> Florian Westphal <fw@strlen.de>
>     netfilter: bridge: honor frag_max_size when refragmenting
> 
> Tomi Valkeinen <tomi.valkeinen@ti.com>
>     drm/omap: fix dmabuf mmap for dma_alloc'ed buffers
> 
> Dmitry Torokhov <dmitry.torokhov@gmail.com>
>     Input: i8042 - add TUXEDO BU1406 (N24_25BU) to the nomux list
> 
> NeilBrown <neilb@suse.com>
>     NFSD: fix nfsd_reset_versions for NFSv4.
> 
> NeilBrown <neilb@suse.com>
>     NFSD: fix nfsd_minorversion(.., NFSD_AVAIL)
> 
> Doug Berger <opendmb@gmail.com>
>     net: bcmgenet: Power up the internal PHY before probing the MII
> 
> Doug Berger <opendmb@gmail.com>
>     net: bcmgenet: power down internal phy if open or resume fails
> 
> Doug Berger <opendmb@gmail.com>
>     net: bcmgenet: reserved phy revisions must be checked first
> 
> Doug Berger <opendmb@gmail.com>
>     net: bcmgenet: correct MIB access of UniMAC RUNT counters
> 
> Doug Berger <opendmb@gmail.com>
>     net: bcmgenet: correct the RBUF_OVFL_CNT and RBUF_ERR_CNT MIB values
> 
> Alexander Potapenko <glider@google.com>
>     net: initialize msg.msg_flags in recvfrom
> 
> Andrea Arcangeli <aarcange@redhat.com>
>     userfaultfd: selftest: vm: allow to build in vm/ directory
> 
> Andrea Arcangeli <aarcange@redhat.com>
>     userfaultfd: shmem: __do_fault requires VM_FAULT_NOPAGE
> 
> Guoqing Jiang <gqjiang@suse.com>
>     md-cluster: free md_cluster_info if node leave cluster
> 
> Javier Martinez Canillas <javier@osg.samsung.com>
>     usb: phy: isp1301: Add OF device ID table
> 
> Ilan peer <ilan.peer@intel.com>
>     mac80211: Fix addition of mesh configuration element
> 
> Eric Biggers <ebiggers@google.com>
>     KEYS: add missing permission check for request_key() destination
> 
> Chandan Rajendra <chandan@linux.vnet.ibm.com>
>     ext4: fix crash when a directory's i_size is too small
> 
> Eryu Guan <eguan@redhat.com>
>     ext4: fix fdatasync(2) after fallocate(2) operation
> 
> Adam Wallis <awallis@codeaurora.org>
>     dmaengine: dmatest: move callback wait queue to thread context
> 
> Steven Rostedt <rostedt@goodmis.org>
>     sched/rt: Do not pull from current CPU if only one CPU to pull
> 
> Mathias Nyman <mathias.nyman@linux.intel.com>
>     xhci: Don't add a virt_dev to the devs array before it's fully allocated
> 
> Sukumar Ghorai <sukumar.ghorai@intel.com>
>     Bluetooth: btusb: driver to enable the usb-wakeup feature
> 
> Yan, Zheng <zyan@redhat.com>
>     ceph: drop negative child dentries before try pruning inode's alias
> 
> Shuah Khan <shuahkh@osg.samsung.com>
>     usbip: fix stub_send_ret_submit() vulnerability to null transfer_buffer
> 
> Alan Stern <stern@rowland.harvard.edu>
>     USB: core: prevent malicious bNumInterfaces overflow
> 
> David Kozub <zub@linux.fjfi.cvut.cz>
>     USB: uas and storage: Add US_FL_BROKEN_FUA for another JMicron JMS567 ID
> 
> Changbin Du <changbin.du@intel.com>
>     tracing: Allocate mask_str buffer dynamically
> 
> NeilBrown <neilb@suse.com>
>     autofs: fix careless error in recent commit
> 
> Eric Biggers <ebiggers@google.com>
>     crypto: salsa20 - fix blkcipher_walk API usage
> 
> Eric Biggers <ebiggers@google.com>
>     crypto: hmac - require that the underlying hash algorithm is unkeyed
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                                       |  4 +-
>  arch/blackfin/Kconfig                          |  7 +-
>  arch/blackfin/Kconfig.debug                    |  1 +
>  arch/openrisc/include/asm/uaccess.h            |  2 +-
>  arch/powerpc/perf/hv-24x7.c                    |  2 +-
>  arch/powerpc/platforms/powernv/opal-async.c    |  6 +-
>  arch/powerpc/platforms/powernv/setup.c         |  2 +-
>  arch/powerpc/sysdev/ipic.c                     |  4 +-
>  arch/x86/crypto/salsa20_glue.c                 |  7 --
>  crypto/hmac.c                                  |  6 +-
>  crypto/salsa20_generic.c                       |  7 --
>  crypto/shash.c                                 |  5 +-
>  crypto/tcrypt.c                                |  6 +-
>  drivers/bluetooth/btusb.c                      |  5 ++
>  drivers/bus/arm-ccn.c                          |  1 +
>  drivers/clk/imx/clk-imx6q.c                    |  2 +-
>  drivers/clk/mediatek/clk-mtk.h                 |  1 +
>  drivers/clk/mediatek/clk-pll.c                 |  5 +-
>  drivers/clk/tegra/clk-tegra30.c                |  2 +-
>  drivers/dma/dmaengine.c                        |  2 +
>  drivers/dma/dmatest.c                          | 55 ++++++++-------
>  drivers/dma/ti-dma-crossbar.c                  |  8 +--
>  drivers/firmware/efi/efi.c                     |  1 -
>  drivers/firmware/efi/esrt.c                    |  2 +-
>  drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c      |  3 -
>  drivers/gpu/drm/radeon/si_dpm.c                | 10 +++
>  drivers/hwtracing/intel_th/pci.c               |  5 ++
>  drivers/infiniband/core/cma.c                  | 11 +--
>  drivers/infiniband/ulp/ipoib/ipoib_ib.c        |  7 +-
>  drivers/input/serio/i8042-x86ia64io.h          |  7 ++
>  drivers/md/bcache/request.c                    |  6 +-
>  drivers/md/bcache/super.c                      |  6 +-
>  drivers/md/md-cluster.c                        |  1 +
>  drivers/md/raid5.c                             |  5 +-
>  drivers/mmc/host/mtk-sd.c                      |  4 +-
>  drivers/net/ethernet/broadcom/genet/bcmgenet.c | 95 +++++++++++++++++++++-----
>  drivers/net/ethernet/broadcom/genet/bcmgenet.h | 10 ++-
>  drivers/net/ethernet/mellanox/mlx4/cmd.c       | 11 +++
>  drivers/net/ethernet/mellanox/mlx4/main.c      | 11 +++
>  drivers/net/ethernet/mellanox/mlxsw/reg.h      |  4 +-
>  drivers/net/ethernet/sfc/ef10.c                |  2 +-
>  drivers/net/fjes/fjes_main.c                   |  2 +-
>  drivers/net/macvlan.c                          |  2 +-
>  drivers/net/ppp/ppp_generic.c                  |  1 +
>  drivers/net/wimax/i2400m/usb.c                 |  3 +
>  drivers/net/wireless/ath/ath9k/tx99.c          |  5 ++
>  drivers/pci/pcie/pme.c                         |  5 +-
>  drivers/pci/remove.c                           |  2 +-
>  drivers/pinctrl/Kconfig                        |  3 +-
>  drivers/platform/x86/sony-laptop.c             | 14 ++--
>  drivers/rtc/rtc-pcf8563.c                      |  2 +-
>  drivers/scsi/bfa/bfad_debugfs.c                |  5 +-
>  drivers/scsi/hpsa.c                            | 57 +++++++++-------
>  drivers/scsi/hpsa.h                            |  1 +
>  drivers/scsi/hpsa_cmd.h                        |  2 +
>  drivers/scsi/scsi_devinfo.c                    |  2 +-
>  drivers/scsi/sd.c                              | 12 +++-
>  drivers/staging/vt6655/device_main.c           |  3 +-
>  drivers/target/iscsi/iscsi_target.c            |  3 +-
>  drivers/target/iscsi/iscsi_target_configfs.c   |  3 +-
>  drivers/target/target_core_alua.c              | 33 +++------
>  drivers/target/target_core_file.c              |  4 ++
>  drivers/target/target_core_pr.c                |  4 +-
>  drivers/thermal/step_wise.c                    | 11 +--
>  drivers/usb/core/config.c                      |  4 +-
>  drivers/usb/host/xhci-mem.c                    | 15 ++--
>  drivers/usb/musb/da8xx.c                       | 10 ++-
>  drivers/usb/phy/phy-isp1301.c                  |  7 ++
>  drivers/usb/storage/unusual_devs.h             |  7 ++
>  drivers/usb/storage/unusual_uas.h              |  7 ++
>  drivers/usb/usbip/stub_tx.c                    |  7 ++
>  drivers/video/fbdev/au1200fb.c                 |  7 +-
>  drivers/video/fbdev/controlfb.h                |  2 +
>  drivers/video/fbdev/udlfb.c                    | 10 +--
>  fs/afs/callback.c                              |  7 +-
>  fs/afs/file.c                                  |  1 +
>  fs/afs/fsclient.c                              | 22 +++---
>  fs/afs/inode.c                                 | 11 +--
>  fs/afs/internal.h                              | 12 ++--
>  fs/afs/security.c                              |  7 +-
>  fs/afs/server.c                                |  6 +-
>  fs/afs/vlocation.c                             | 16 +++--
>  fs/afs/write.c                                 | 32 +++++++--
>  fs/autofs4/waitq.c                             |  1 -
>  fs/btrfs/inode.c                               | 14 ++++
>  fs/ceph/mds_client.c                           | 42 ++++++++++--
>  fs/ext4/extents.c                              |  1 +
>  fs/ext4/namei.c                                |  4 ++
>  fs/fs-writeback.c                              | 35 ++++++----
>  fs/gfs2/file.c                                 |  4 +-
>  fs/nfs/nfs4client.c                            |  4 +-
>  fs/nfsd/nfssvc.c                               | 30 ++++----
>  fs/proc/proc_tty.c                             |  3 +-
>  fs/udf/super.c                                 |  2 +-
>  fs/userfaultfd.c                               |  2 +-
>  fs/xfs/libxfs/xfs_bmap.c                       |  2 +-
>  fs/xfs/xfs_log_recover.c                       |  2 +-
>  include/crypto/internal/hash.h                 |  8 +++
>  include/linux/mlx4/device.h                    |  1 +
>  include/linux/mman.h                           |  3 +-
>  include/target/target_core_base.h              |  2 +-
>  kernel/sched/deadline.c                        | 62 +++++++++++++++--
>  kernel/sched/rt.c                              |  8 ++-
>  kernel/trace/trace.c                           | 29 +++-----
>  net/bridge/br_netfilter_hooks.c                | 12 ++--
>  net/core/dev.c                                 |  1 +
>  net/l2tp/l2tp_core.c                           |  2 +-
>  net/l2tp/l2tp_netlink.c                        |  2 +-
>  net/mac80211/mesh.c                            |  2 -
>  net/netfilter/ipvs/ip_vs_ctl.c                 |  4 ++
>  net/socket.c                                   |  1 +
>  security/keys/request_key.c                    | 48 ++++++++++---
>  tools/perf/util/symbol.c                       |  2 +-
>  tools/testing/selftests/vm/Makefile            |  4 ++
>  114 files changed, 727 insertions(+), 320 deletions(-)
> 
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No initial issues noticed in general usage or dmesg.

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/78] 4.4.108-stable review
  @ 2017-12-22 15:48 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2017-12-22 15:48 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Dec 22, 2017 at 09:45:41AM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.108 release.
> There are 78 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 Sun Dec 24 08:45:30 UTC 2017.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.108-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.108-rc1
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: hda - Fix yet another i915 pointer leftover in error path
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: hda - Degrade i915 binding failure message
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: hda - Clear the leftover component assignment at snd_hdac_i915_exit()
> 
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>     Revert "Bluetooth: btusb: driver to enable the usb-wakeup feature"
> 
> Aleksandar Markovic <aleksandar.markovic@mips.com>
>     MIPS: math-emu: Fix final emulation phase for certain instructions
> 
> Arvind Yadav <arvind.yadav.cs@gmail.com>
>     thermal: hisilicon: Handle return value of clk_prepare_enable
> 
> Nicholas Piggin <npiggin@gmail.com>
>     cpuidle: fix broadcast control when broadcast can not be entered
> 
> Alexandre Belloni <alexandre.belloni@free-electrons.com>
>     rtc: set the alarm to the next expiring timer
> 
> Hoang Tran <tranviethoang.vn@gmail.com>
>     tcp: fix under-evaluated ssthresh in TCP Vegas
> 
> Jacob Keller <jacob.e.keller@intel.com>
>     fm10k: ensure we process SM mbx when processing VF mbx
> 
> Dick Kennedy <dick.kennedy@broadcom.com>
>     scsi: lpfc: PLOGI failures during NPIV testing
> 
> Dick Kennedy <dick.kennedy@broadcom.com>
>     scsi: lpfc: Fix secure firmware updates
> 
> Gabriele Paoloni <gabriele.paoloni@huawei.com>
>     PCI/AER: Report non-fatal errors only to the affected endpoint
> 
> Emil Tantilov <emil.s.tantilov@intel.com>
>     ixgbe: fix use of uninitialized padding
> 
> Christophe JAILLET <christophe.jaillet@wanadoo.fr>
>     igb: check memory allocation failure
> 
> Stuart Hayes <stuart.w.hayes@gmail.com>
>     PCI: Create SR-IOV virtfn/physfn links before attaching driver
> 
> Sreekanth Reddy <sreekanth.reddy@broadcom.com>
>     scsi: mpt3sas: Fix IO error occurs on pulling out a drive from RAID1 volume created on two SATA drive
> 
> Varun Prakash <varun@chelsio.com>
>     scsi: cxgb4i: fix Tx skb leak
> 
> David Daney <david.daney@cavium.com>
>     PCI: Avoid bus reset if bridge itself is broken
> 
> Dan Murphy <dmurphy@ti.com>
>     net: phy: at803x: Change error to EINVAL for invalid MAC
> 
> Russell King <rmk+kernel@armlinux.org.uk>
>     rtc: pl031: make interrupt optional
> 
> Christian Lamparter <chunkeey@gmail.com>
>     crypto: crypto4xx - increase context and scatter ring buffer elements
> 
> Derek Basehore <dbasehore@chromium.org>
>     backlight: pwm_bl: Fix overflow condition
> 
> Sankar Patchineelam <sankar.patchineelam@broadcom.com>
>     bnxt_en: Fix NULL pointer dereference in reopen failure path
> 
> Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
>     cpuidle: powernv: Pass correct drv->cpumask for registration
> 
> Russell King <rmk+kernel@armlinux.org.uk>
>     ARM: dma-mapping: disallow dma_get_sgtable() for non-kernel managed memory
> 
> Liping Zhang <zlpnobody@gmail.com>
>     netfilter: nfnetlink_queue: fix secctx memory leak
> 
> Adam Wallis <awallis@codeaurora.org>
>     xhci: plat: Register shutdown for xhci_plat
> 
> Arnd Bergmann <arnd@arndb.de>
>     isdn: kcapi: avoid uninitialized data
> 
> Herongguang (Stephen) <herongguang.he@huawei.com>
>     KVM: pci-assign: do not map smm memory slot pages in vt-d page tables
> 
> Reizer, Eyal <eyalr@ti.com>
>     ARM: dts: am335x-evmsk: adjust mmc2 param to allow suspend
> 
> Gao Feng <fgao@ikuai8.com>
>     netfilter: nf_nat_snmp: Fix panic when snmp_trap_helper fails to register
> 
> Liping Zhang <zlpnobody@gmail.com>
>     netfilter: nfnl_cthelper: fix a race when walk the nf_ct_helper_hash table
> 
> Alexey Khoroshilov <khoroshilov@ispras.ru>
>     irda: vlsi_ir: fix check for DMA mapping errors
> 
> Sagi Grimberg <sagi@grimberg.me>
>     RDMA/iser: Fix possible mr leak on device removal event
> 
> Alexander Duyck <alexander.h.duyck@intel.com>
>     i40e: Do not enable NAPI on q_vectors that have no rings
> 
> Alexander Duyck <alexander.h.duyck@intel.com>
>     net: Do not allow negative values for busy_read and busy_poll sysctl interfaces
> 
> Arnd Bergmann <arnd@arndb.de>
>     bna: avoid writing uninitialized data into hw registers
> 
> Julian Wiedmann <jwi@linux.vnet.ibm.com>
>     s390/qeth: no ETH header for outbound AF_IUCV
> 
> hayeswang <hayeswang@realtek.com>
>     r8152: prevent the driver from transmitting packets with carrier off
> 
> Peter Stein <peter@stuntstein.dk>
>     HID: xinmo: fix for out of range for THT 2P arcade controller.
> 
> Mike Looijmans <mike.looijmans@topic.nl>
>     i2c: mux: pca954x: Add missing pca9546 definition to chip_desc
> 
> Arnd Bergmann <arnd@arndb.de>
>     hwmon: (asus_atk0110) fix uninitialized data access
> 
> Rob Herring <robh@kernel.org>
>     ARM: dts: ti: fix PCI bus dtc warnings
> 
> Wanpeng Li <wanpeng.li@hotmail.com>
>     KVM: VMX: Fix enable VPID conditions
> 
> Wanpeng Li <wanpeng.li@hotmail.com>
>     KVM: x86: correct async page present tracepoint
> 
> Dick Kennedy <dick.kennedy@broadcom.com>
>     scsi: lpfc: Fix PT2PT PRLI reject
> 
> Patrice Chotard <patrice.chotard@st.com>
>     pinctrl: st: add irq_request/release_resources callbacks
> 
> Eric Dumazet <edumazet@google.com>
>     inet: frag: release spinlock before calling icmp_send()
> 
> Jeffy Chen <jeffy.chen@rock-chips.com>
>     netfilter: nfnl_cthelper: Fix memory leak
> 
> Pablo Neira Ayuso <pablo@netfilter.org>
>     netfilter: nfnl_cthelper: fix runtime expectation policy updates
> 
> Gustavo A. R. Silva <garsilva@embeddedor.com>
>     usb: gadget: udc: remove pointer dereference after free
> 
> Roger Quadros <rogerq@ti.com>
>     usb: gadget: f_uvc: Sanity check wMaxPacketSize for SuperSpeed
> 
> Tony Lindgren <tony@atomide.com>
>     net: qmi_wwan: Add USB IDs for MDM6600 modem on Motorola Droid 4
> 
> Dan Carpenter <dan.carpenter@oracle.com>
>     bna: integer overflow bug in debugfs
> 
> Eric Dumazet <edumazet@google.com>
>     sch_dsmark: fix invalid skb_cow() usage
> 
> Herbert Xu <herbert@gondor.apana.org.au>
>     crypto: deadlock between crypto_alg_sem/rtnl_mutex/genl_mutex
> 
> hayeswang <hayeswang@realtek.com>
>     r8152: fix the list rx_done may be used without initialization
> 
> Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
>     cpuidle: Validate cpu_dev in cpuidle_add_sysfs()
> 
> Jon Medhurst <tixy@linaro.org>
>     arm: kprobes: Align stack to 8-bytes in test code
> 
> Masami Hiramatsu <mhiramat@kernel.org>
>     arm: kprobes: Fix the return address of multiple kretprobes
> 
> Jaroslav Kysela <perex@perex.cz>
>     ALSA: hda - add support for docking station for HP 840 G3
> 
> Jaroslav Kysela <perex@perex.cz>
>     ALSA: hda - add support for docking station for HP 820 G2
> 
> Aaron Lu <aaron.lu@intel.com>
>     x86/irq: Do not substract irq_tlb_count from irq_call_count
> 
> Andy Lutomirski <luto@kernel.org>
>     sched/core: Idle_task_exit() shouldn't use switch_mm_irqs_off()
> 
> Steven Rostedt <rostedt@goodmis.org>
>     ARM: Hide finish_arch_post_lock_switch() from modules
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm, sched/core: Turn off IRQs in switch_mm()
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm, sched/core: Uninline switch_mm()
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm: Build arch/x86/mm/tlb.c even on !SMP
> 
> Andy Lutomirski <luto@kernel.org>
>     sched/core: Add switch_mm_irqs_off() and use it in the scheduler
> 
> Ingo Molnar <mingo@kernel.org>
>     mm/mmu_context, sched/core: Fix mmu_context.h assumption
> 
> Nadav Amit <namit@vmware.com>
>     mm/rmap: batched invalidations should use existing api
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm: If INVPCID is available, use it to flush global mappings
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm: Add a 'noinvpcid' boot option to turn off INVPCID
> 
> Borislav Petkov <bp@suse.de>
>     x86/mm: Fix INVPCID asm constraint
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm: Add INVPCID helpers
> 
> Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
>     cxl: Check if vphb exists before iterating over AFU devices
> 
> Steve Capper <steve.capper@arm.com>
>     arm64: Initialise high_memory global variable earlier
> 
> 
> -------------
> 
> Diffstat:
> 
>  Documentation/kernel-parameters.txt             |   2 +
>  Makefile                                        |   4 +-
>  arch/arm/boot/dts/am335x-evmsk.dts              |   1 +
>  arch/arm/boot/dts/dra7.dtsi                     |   2 +
>  arch/arm/include/asm/mmu_context.h              |   2 +
>  arch/arm/mm/dma-mapping.c                       |  20 +-
>  arch/arm/probes/kprobes/core.c                  |  24 ++-
>  arch/arm/probes/kprobes/test-core.c             |  11 +-
>  arch/arm64/mm/init.c                            |   2 +-
>  arch/mips/math-emu/cp1emu.c                     |  28 +--
>  arch/x86/include/asm/hardirq.h                  |   4 -
>  arch/x86/include/asm/mmu_context.h              | 101 +--------
>  arch/x86/include/asm/tlbflush.h                 |  63 +++++-
>  arch/x86/kernel/cpu/common.c                    |  16 ++
>  arch/x86/kernel/irq.c                           |   3 +-
>  arch/x86/kvm/vmx.c                              |   9 +-
>  arch/x86/kvm/x86.c                              |   2 +-
>  arch/x86/mm/Makefile                            |   3 +-
>  arch/x86/mm/tlb.c                               | 118 ++++++++++-
>  drivers/bluetooth/btusb.c                       |   5 -
>  drivers/cpuidle/cpuidle-powernv.c               |  18 ++
>  drivers/cpuidle/cpuidle.c                       |   1 +
>  drivers/cpuidle/sysfs.c                         |  12 ++
>  drivers/crypto/amcc/crypto4xx_core.h            |  10 +-
>  drivers/hid/hid-core.c                          |   1 +
>  drivers/hid/hid-ids.h                           |   1 +
>  drivers/hid/hid-xinmo.c                         |   1 +
>  drivers/hwmon/asus_atk0110.c                    |   3 +
>  drivers/i2c/muxes/i2c-mux-pca954x.c             |   6 +-
>  drivers/infiniband/ulp/iser/iscsi_iser.h        |   2 +
>  drivers/infiniband/ulp/iser/iser_verbs.c        |   8 +-
>  drivers/isdn/capi/kcapi.c                       |   1 +
>  drivers/misc/cxl/pci.c                          |  13 ++
>  drivers/net/ethernet/broadcom/bnxt/bnxt.c       |  13 ++
>  drivers/net/ethernet/brocade/bna/bfa_ioc.c      |  10 +-
>  drivers/net/ethernet/brocade/bna/bnad_debugfs.c |   2 +-
>  drivers/net/ethernet/intel/fm10k/fm10k_iov.c    |   3 +
>  drivers/net/ethernet/intel/i40e/i40e_main.c     |  16 +-
>  drivers/net/ethernet/intel/igb/igb_main.c       |   2 +
>  drivers/net/ethernet/intel/ixgbe/ixgbe_common.c |   4 +-
>  drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c   |   2 +
>  drivers/net/irda/vlsi_ir.c                      |   8 +-
>  drivers/net/phy/at803x.c                        |   2 +-
>  drivers/net/usb/qmi_wwan.c                      |   4 +
>  drivers/net/usb/r8152.c                         |  19 +-
>  drivers/pci/iov.c                               |   3 +-
>  drivers/pci/pci.c                               |   4 +
>  drivers/pci/pcie/aer/aerdrv_core.c              |   9 +-
>  drivers/pinctrl/pinctrl-st.c                    |  30 ++-
>  drivers/rtc/interface.c                         |   2 +-
>  drivers/rtc/rtc-pl031.c                         |  14 +-
>  drivers/s390/net/qeth_l3_main.c                 |  15 +-
>  drivers/scsi/cxgbi/cxgb4i/cxgb4i.c              |   1 +
>  drivers/scsi/lpfc/lpfc_els.c                    |   3 +-
>  drivers/scsi/lpfc/lpfc_hbadisc.c                |   3 +-
>  drivers/scsi/lpfc/lpfc_hw4.h                    |   2 +-
>  drivers/scsi/mpt3sas/mpt3sas_scsih.c            |   5 +
>  drivers/thermal/hisi_thermal.c                  |   5 +-
>  drivers/usb/gadget/function/f_uvc.c             |   8 +
>  drivers/usb/gadget/udc/pch_udc.c                |   1 -
>  drivers/usb/host/xhci-plat.c                    |   1 +
>  drivers/video/backlight/pwm_bl.c                |   7 +-
>  include/linux/mmu_context.h                     |   7 +
>  kernel/sched/core.c                             |   4 +-
>  mm/mmu_context.c                                |   2 +-
>  mm/rmap.c                                       |  28 +--
>  net/core/sysctl_net_core.c                      |   6 +-
>  net/ipv4/ip_fragment.c                          |  25 ++-
>  net/ipv4/netfilter/nf_nat_snmp_basic.c          |  19 +-
>  net/ipv4/tcp_vegas.c                            |   2 +-
>  net/netfilter/nfnetlink_cthelper.c              | 267 +++++++++++++++---------
>  net/netfilter/nfnetlink_queue.c                 |   9 +-
>  net/netlink/af_netlink.c                        |  41 ++++
>  net/sched/sch_dsmark.c                          |  10 +-
>  sound/hda/hdac_i915.c                           |   4 +-
>  sound/pci/hda/hda_intel.c                       |   6 +-
>  sound/pci/hda/patch_conexant.c                  |  11 +
>  sound/pci/hda/patch_realtek.c                   |  14 +-
>  virt/kvm/kvm_main.c                             |   2 +-
>  79 files changed, 793 insertions(+), 359 deletions(-)
> 
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No initial issues noticed in general usage or dmesg.

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/63] 4.4.109-stable review
  @ 2018-01-01 17:29 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-01-01 17:29 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Jan 01, 2018 at 03:24:18PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.109 release.
> There are 63 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 Wed Jan  3 13:59:54 UTC 2018.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.109-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.109-rc1
> 
> Linus Torvalds <torvalds@linux-foundation.org>
>     n_tty: fix EXTPROC vs ICANON interaction with TIOCINQ (aka FIONREAD)
> 
> Thomas Gleixner <tglx@linutronix.de>
>     x86/smpboot: Remove stale TLB flush invocations
> 
> Thomas Gleixner <tglx@linutronix.de>
>     nohz: Prevent a timer interrupt storm in tick_nohz_stop_sched_tick()
> 
> Daniel Thompson <daniel.thompson@linaro.org>
>     usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201
> 
> Mathias Nyman <mathias.nyman@linux.intel.com>
>     USB: Fix off by one in type-specific length check of BOS SSP capability
> 
> Oliver Neukum <oneukum@suse.com>
>     usb: add RESET_RESUME for ELSA MicroLink 56K
> 
> Dmitry Fleytman Dmitry Fleytman <dmitry.fleytman@gmail.com>
>     usb: Add device quirk for Logitech HD Pro Webcam C925e
> 
> SZ Lin (林上智) <sz.lin@moxa.com>
>     USB: serial: option: adding support for YUGA CLM920-NC5
> 
> Daniele Palmas <dnlplm@gmail.com>
>     USB: serial: option: add support for Telit ME910 PID 0x1101
> 
> Reinhard Speyerer <rspmn@arcor.de>
>     USB: serial: qcserial: add Sierra Wireless EM7565
> 
> Max Schulze <max.schulze@posteo.de>
>     USB: serial: ftdi_sio: add id for Airbus DS P8GR
> 
> Shuah Khan <shuahkh@osg.samsung.com>
>     usbip: vhci: stop printing kernel pointer addresses in messages
> 
> Shuah Khan <shuahkh@osg.samsung.com>
>     usbip: stub: stop printing kernel pointer addresses in messages
> 
> Juan Zea <juan.zea@qindel.com>
>     usbip: fix usbip bind writing random string after command in match_busid
> 
> Willem de Bruijn <willemb@google.com>
>     sock: free skb in skb_complete_tx_timestamp on error
> 
> Grygorii Strashko <grygorii.strashko@ti.com>
>     net: phy: micrel: ksz9031: reconfigure autoneg after phy autoneg workaround
> 
> Eric W. Biederman <ebiederm@xmission.com>
>     net: Fix double free and memory corruption in get_net_ns_by_id()
> 
> Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
>     net: bridge: fix early call to br_stp_change_bridge_id and plug newlink leaks
> 
> Ido Schimmel <idosch@mellanox.com>
>     ipv4: Fix use-after-free when flushing FIB tables
> 
> Tonghao Zhang <xiangxia.m.yue@gmail.com>
>     sctp: Replace use of sockets_allocated with specified macro.
> 
> Tobias Jordan <Tobias.Jordan@elektrobit.com>
>     net: mvmdio: disable/unprepare clocks in EPROBE_DEFER case
> 
> Mohamed Ghannam <simo.ghannam@gmail.com>
>     net: ipv4: fix for a race condition in raw_sendmsg
> 
> Brian King <brking@linux.vnet.ibm.com>
>     tg3: Fix rx hang on MTU change with 5717/5719
> 
> Christoph Paasch <cpaasch@apple.com>
>     tcp md5sig: Use skb's saddr when replying to an incoming segment
> 
> Shaohua Li <shli@fb.com>
>     net: reevalulate autoflowlabel setting after sysctl setting
> 
> Sebastian Sjoholm <ssjoholm@mac.com>
>     net: qmi_wwan: add Sierra EM7565 1199:9091
> 
> Kevin Cernekee <cernekee@chromium.org>
>     netlink: Add netns check on taps
> 
> Kevin Cernekee <cernekee@chromium.org>
>     net: igmp: Use correct source address on IGMPv3 reports
> 
> Eric Dumazet <edumazet@google.com>
>     ipv6: mcast: better catch silly mtu values
> 
> Eric Dumazet <edumazet@google.com>
>     ipv4: igmp: guard against silly MTU values
> 
> Linus Torvalds <torvalds@linux-foundation.org>
>     kbuild: add '-fno-stack-check' to kernel build options
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm/64: Fix reboot interaction with CR4.PCIDE
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm: Enable CR4.PCIDE on supported systems
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm: Add the 'nopcid' boot option to turn off PCID
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm: Disable PCID on 32-bit kernels
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm: Remove the UP asm/tlbflush.h code, always use the (formerly) SMP code
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm: Reimplement flush_tlb_page() using flush_tlb_mm_range()
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm: Make flush_tlb_mm_range() more predictable
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/mm: Remove flush_tlb() and flush_tlb_current_task()
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/vm86/32: Switch to flush_tlb_mm_range() in mark_screen_rdonly()
> 
> Hui Wang <hui.wang@canonical.com>
>     ALSA: hda - fix headset mic detection issue on a Dell machine
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: hda: Drop useless WARN_ON()
> 
> Johan Hovold <johan@kernel.org>
>     ASoC: twl4030: fix child-node lookup
> 
> Maciej S. Szmigiero <mail@maciej.szmigiero.name>
>     ASoC: fsl_ssi: AC'97 ops need regmap, clock and cleaning up on failure
> 
> Steve Wise <swise@opengridcomputing.com>
>     iw_cxgb4: Only validate the MSN for successful completions
> 
> Steven Rostedt (VMware) <rostedt@goodmis.org>
>     ring-buffer: Mask out the info bits when returning buffer page length
> 
> Jing Xia <jing.xia@spreadtrum.com>
>     tracing: Fix crash when it fails to alloc ring buffer
> 
> Steven Rostedt (VMware) <rostedt@goodmis.org>
>     tracing: Fix possible double free on failure of allocating trace buffer
> 
> Steven Rostedt (VMware) <rostedt@goodmis.org>
>     tracing: Remove extra zeroing out of the ring buffer page
> 
> Yelena Krivosheev <yelena@marvell.com>
>     net: mvneta: clear interface link status on port disable
> 
> Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
>     powerpc/perf: Dereference BHRB entries safely
> 
> Paolo Bonzini <pbonzini@redhat.com>
>     kvm: x86: fix RSM when PCID is non-zero
> 
> Wanpeng Li <wanpeng.li@hotmail.com>
>     KVM: X86: Fix load RFLAGS w/o the fixed bit
> 
> Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
>     spi: xilinx: Detect stall with Unknown commands
> 
> Helge Deller <deller@gmx.de>
>     parisc: Hide Diva-built-in serial aux and graphics card
> 
> Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>     PCI / PM: Force devices to D0 in pci_pm_thaw_noirq()
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: usb-audio: Fix the missing ctl name suffix at parsing SU
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: rawmidi: Avoid racy info ioctl via ctl device
> 
> Johan Hovold <johan@kernel.org>
>     mfd: twl6040: Fix child-node lookup
> 
> Johan Hovold <johan@kernel.org>
>     mfd: twl4030-audio: Fix sibling-node lookup
> 
> Jon Hunter <jonathanh@nvidia.com>
>     mfd: cros ec: spi: Don't send first message too soon
> 
> Sebastian Andrzej Siewior <bigeasy@linutronix.de>
>     crypto: mcryptd - protect the per-CPU queue with a lock
> 
> Takashi Iwai <tiwai@suse.de>
>     ACPI: APEI / ERST: Fix missing error handling in erst_reader()
> 
> 
> -------------
> 
> Diffstat:
> 
>  Documentation/kernel-parameters.txt      |  2 +
>  Makefile                                 |  7 ++-
>  arch/powerpc/perf/core-book3s.c          |  8 ++-
>  arch/x86/Kconfig                         |  2 +-
>  arch/x86/include/asm/disabled-features.h |  4 +-
>  arch/x86/include/asm/hardirq.h           |  2 +-
>  arch/x86/include/asm/mmu.h               |  6 --
>  arch/x86/include/asm/mmu_context.h       |  2 -
>  arch/x86/include/asm/tlbflush.h          | 99 +++++---------------------------
>  arch/x86/kernel/cpu/bugs.c               |  8 +++
>  arch/x86/kernel/cpu/common.c             | 40 +++++++++++++
>  arch/x86/kernel/reboot.c                 |  4 ++
>  arch/x86/kernel/smpboot.c                |  9 ---
>  arch/x86/kernel/vm86_32.c                |  2 +-
>  arch/x86/kvm/emulate.c                   | 32 ++++++++---
>  arch/x86/kvm/x86.c                       |  2 +-
>  arch/x86/mm/init.c                       |  2 -
>  arch/x86/mm/tlb.c                        | 73 +++--------------------
>  arch/x86/xen/enlighten.c                 |  6 ++
>  crypto/mcryptd.c                         | 23 ++++----
>  drivers/acpi/apei/erst.c                 |  2 +-
>  drivers/infiniband/hw/cxgb4/cq.c         |  6 +-
>  drivers/mfd/cros_ec_spi.c                |  1 +
>  drivers/mfd/twl4030-audio.c              |  9 ++-
>  drivers/mfd/twl6040.c                    | 12 ++--
>  drivers/net/ethernet/broadcom/tg3.c      |  4 +-
>  drivers/net/ethernet/marvell/mvmdio.c    |  3 +-
>  drivers/net/ethernet/marvell/mvneta.c    |  4 ++
>  drivers/net/phy/micrel.c                 |  1 +
>  drivers/net/usb/qmi_wwan.c               |  1 +
>  drivers/parisc/lba_pci.c                 | 33 +++++++++++
>  drivers/pci/pci-driver.c                 |  7 ++-
>  drivers/spi/spi-xilinx.c                 | 11 ++++
>  drivers/tty/n_tty.c                      |  4 +-
>  drivers/usb/core/config.c                |  2 +-
>  drivers/usb/core/quirks.c                |  6 +-
>  drivers/usb/host/xhci-pci.c              |  3 +
>  drivers/usb/serial/ftdi_sio.c            |  1 +
>  drivers/usb/serial/ftdi_sio_ids.h        |  6 ++
>  drivers/usb/serial/option.c              | 17 ++++++
>  drivers/usb/serial/qcserial.c            |  3 +
>  drivers/usb/usbip/stub_main.c            |  5 +-
>  drivers/usb/usbip/stub_rx.c              |  7 +--
>  drivers/usb/usbip/stub_tx.c              |  4 +-
>  drivers/usb/usbip/vhci_hcd.c             | 10 ----
>  drivers/usb/usbip/vhci_rx.c              | 23 ++++----
>  drivers/usb/usbip/vhci_tx.c              |  3 +-
>  include/crypto/mcryptd.h                 |  1 +
>  include/linux/ipv6.h                     |  3 +-
>  include/net/ip.h                         |  2 +
>  kernel/time/tick-sched.c                 | 19 +++++-
>  kernel/trace/ring_buffer.c               |  6 +-
>  kernel/trace/trace.c                     | 13 ++---
>  net/bridge/br_netlink.c                  | 11 ++--
>  net/core/net_namespace.c                 |  2 +-
>  net/core/skbuff.c                        |  6 +-
>  net/ipv4/devinet.c                       |  2 +-
>  net/ipv4/fib_frontend.c                  |  9 ++-
>  net/ipv4/igmp.c                          | 44 ++++++++++----
>  net/ipv4/ip_tunnel.c                     |  4 +-
>  net/ipv4/raw.c                           | 15 +++--
>  net/ipv4/tcp_ipv4.c                      |  2 +-
>  net/ipv6/af_inet6.c                      |  1 -
>  net/ipv6/ip6_output.c                    | 12 +++-
>  net/ipv6/ipv6_sockglue.c                 |  1 +
>  net/ipv6/mcast.c                         | 25 ++++----
>  net/ipv6/tcp_ipv6.c                      |  2 +-
>  net/netlink/af_netlink.c                 |  3 +
>  net/sctp/socket.c                        |  4 +-
>  sound/core/rawmidi.c                     | 15 ++++-
>  sound/hda/hdac_i915.c                    |  2 +-
>  sound/pci/hda/patch_realtek.c            |  5 ++
>  sound/soc/codecs/twl4030.c               |  4 +-
>  sound/soc/fsl/fsl_ssi.c                  | 18 ++++--
>  sound/usb/mixer.c                        | 27 +++++----
>  tools/usb/usbip/src/utils.c              |  9 ++-
>  76 files changed, 459 insertions(+), 329 deletions(-)
> 
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No initial issues noticed in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/37] 4.4.110-stable review
  @ 2018-01-03 22:08 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-01-03 22:08 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Wed, Jan 03, 2018 at 09:11:06PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.110 release.
> There are 37 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri Jan  5 19:50:38 UTC 2018.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.110-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.110-rc1
> 
> Kees Cook <keescook@chromium.org>
>     KPTI: Report when enabled
> 
> Kees Cook <keescook@chromium.org>
>     KPTI: Rename to PAGE_TABLE_ISOLATION
> 
> Borislav Petkov <bp@suse.de>
>     x86/kaiser: Move feature detection up
> 
> Jiri Kosina <jkosina@suse.cz>
>     kaiser: disabled on Xen PV
> 
> Borislav Petkov <bp@suse.de>
>     x86/kaiser: Reenable PARAVIRT
> 
> Thomas Gleixner <tglx@linutronix.de>
>     x86/paravirt: Dont patch flush_tlb_single
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: kaiser_flush_tlb_on_return_to_user() check PCID
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: asm/tlbflush.h handle noPGE at lower level
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: drop is_atomic arg to kaiser_pagetable_walk()
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: use ALTERNATIVE instead of x86_cr3_pcid_noflush
> 
> Borislav Petkov <bp@suse.de>
>     x86/kaiser: Check boottime cmdline params
> 
> Borislav Petkov <bp@suse.de>
>     x86/kaiser: Rename and simplify X86_FEATURE_KAISER handling
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: add "nokaiser" boot option, using ALTERNATIVE
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: fix unlikely error in alloc_ldt_struct()
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: _pgd_alloc() without __GFP_REPEAT to avoid stalls
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: paranoid_entry pass cr3 need to paranoid_exit
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: x86_cr3_pcid_noflush and x86_cr3_pcid_user
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: PCID 0 for kernel and 128 for user
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: load_new_mm_cr3() let SWITCH_USER_CR3 flush user
> 
> Dave Hansen <dave.hansen@linux.intel.com>
>     kaiser: enhanced by kernel and user PCIDs
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: vmstat show NR_KAISERTABLE as nr_overhead
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: delete KAISER_REAL_SWITCH option
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: name that 0x1000 KAISER_SHADOW_PGD_OFFSET
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: cleanups while trying for gold link
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: kaiser_remove_mapping() move along the pgd
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: tidied up kaiser_add/remove_mapping slightly
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: tidied up asm/kaiser.h somewhat
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: ENOMEM if kaiser_pagetable_walk() NULL
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: fix perf crashes
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: fix regs to do_nmi() ifndef CONFIG_KAISER
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: KAISER depends on SMP
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: fix build and FIXME in alloc_ldt_struct()
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: stack map PAGE_SIZE at THREAD_SIZE-PAGE_SIZE
> 
> Hugh Dickins <hughd@google.com>
>     kaiser: do not set _PAGE_NX on pgd_none
> 
> Dave Hansen <dave.hansen@linux.intel.com>
>     kaiser: merged update
> 
> Richard Fellner <richard.fellner@student.tugraz.at>
>     KAISER: Kernel Address Isolation
> 
> Tom Lendacky <thomas.lendacky@amd.com>
>     x86/boot: Add early cmdline parsing for options with arguments
> 
> 
> -------------
> 
> Diffstat:
> 
>  Documentation/kernel-parameters.txt         |   8 +
>  Makefile                                    |   4 +-
>  arch/x86/boot/compressed/misc.h             |   1 +
>  arch/x86/entry/entry_64.S                   | 164 ++++++++--
>  arch/x86/entry/entry_64_compat.S            |   7 +
>  arch/x86/include/asm/cmdline.h              |   2 +
>  arch/x86/include/asm/cpufeature.h           |   4 +
>  arch/x86/include/asm/desc.h                 |   2 +-
>  arch/x86/include/asm/hw_irq.h               |   2 +-
>  arch/x86/include/asm/kaiser.h               | 141 +++++++++
>  arch/x86/include/asm/pgtable.h              |  28 +-
>  arch/x86/include/asm/pgtable_64.h           |  25 +-
>  arch/x86/include/asm/pgtable_types.h        |  29 +-
>  arch/x86/include/asm/processor.h            |   2 +-
>  arch/x86/include/asm/tlbflush.h             |  74 ++++-
>  arch/x86/include/uapi/asm/processor-flags.h |   3 +-
>  arch/x86/kernel/cpu/common.c                |  28 +-
>  arch/x86/kernel/cpu/perf_event_intel_ds.c   |  57 +++-
>  arch/x86/kernel/espfix_64.c                 |  10 +
>  arch/x86/kernel/head_64.S                   |  35 ++-
>  arch/x86/kernel/irqinit.c                   |   2 +-
>  arch/x86/kernel/ldt.c                       |  25 +-
>  arch/x86/kernel/paravirt_patch_64.c         |   2 -
>  arch/x86/kernel/process.c                   |   2 +-
>  arch/x86/kernel/setup.c                     |   7 +
>  arch/x86/kernel/tracepoint.c                |   2 +
>  arch/x86/kvm/x86.c                          |   3 +-
>  arch/x86/lib/cmdline.c                      | 105 +++++++
>  arch/x86/mm/Makefile                        |   1 +
>  arch/x86/mm/init.c                          |   2 +-
>  arch/x86/mm/init_64.c                       |  10 +
>  arch/x86/mm/kaiser.c                        | 455 ++++++++++++++++++++++++++++
>  arch/x86/mm/pageattr.c                      |  63 +++-
>  arch/x86/mm/pgtable.c                       |  16 +-
>  arch/x86/mm/tlb.c                           |  39 ++-
>  include/asm-generic/vmlinux.lds.h           |   7 +
>  include/linux/kaiser.h                      |  52 ++++
>  include/linux/mmzone.h                      |   3 +-
>  include/linux/percpu-defs.h                 |  32 +-
>  init/main.c                                 |   2 +
>  kernel/fork.c                               |   6 +
>  mm/vmstat.c                                 |   1 +
>  security/Kconfig                            |  10 +
>  43 files changed, 1375 insertions(+), 98 deletions(-)
> 
>

Not that my feedback will matter much on this release since Pixel 2 XL
is an arm64 device but merged, compiled, and flashed successfully.

The changes to kernel/fork.c had to be slightly adjusted for Google's
tree due to their addition of mainline commit b235beea9e99 ("Clarify
naming of thread info/stack allocators").

No noticeable issues in general use or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/22] 4.4.111-stable review
  @ 2018-01-08 14:25 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-01-08 14:25 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Jan 08, 2018 at 01:59:27PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.111 release.
> There are 22 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 Wed Jan 10 12:59:14 UTC 2018.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.111-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.111-rc1
> 
> Borislav Petkov <bp@suse.de>
>     Map the vsyscall page with _PAGE_USER
> 
> Alexey Dobriyan <adobriyan@gmail.com>
>     proc: much faster /proc/vmstat
> 
> Libor Pechacek <lpechacek@suse.com>
>     module: Issue warnings when tainting kernel
> 
> Miroslav Benes <mbenes@suse.cz>
>     module: keep percpu symbols in module's symtab
> 
> Michal Marek <mmarek@suse.com>
>     genksyms: Handle string literals with spaces in reference files
> 
> Thomas Gleixner <tglx@linutronix.de>
>     x86/tlb: Drop the _GPL from the cpu_tlbstate export
> 
> Boris Brezillon <boris.brezillon@free-electrons.com>
>     mtd: nand: pxa3xx: Fix READOOB implementation
> 
> Helge Deller <deller@gmx.de>
>     parisc: Fix alignment of pa_tlb_lock in assembly on 32-bit SMP kernel
> 
> Tom Lendacky <thomas.lendacky@amd.com>
>     x86/microcode/AMD: Add support for fam17h microcode loading
> 
> Aaron Ma <aaron.ma@canonical.com>
>     Input: elantech - add new icbody type 15
> 
> Vineet Gupta <vgupta@synopsys.com>
>     ARC: uaccess: dont use "l" gcc inline asm constraint modifier
> 
> Oleg Nesterov <oleg@redhat.com>
>     kernel/signal.c: remove the no longer needed SIGNAL_UNKILLABLE check in complete_signal()
> 
> Oleg Nesterov <oleg@redhat.com>
>     kernel/signal.c: protect the SIGNAL_UNKILLABLE tasks from !sig_kernel_only() signals
> 
> Oleg Nesterov <oleg@redhat.com>
>     kernel/signal.c: protect the traced SIGNAL_UNKILLABLE tasks from SIGKILL
> 
> Thiago Rafael Becker <thiago.becker@gmail.com>
>     kernel: make groups_sort calling a responsibility group_info allocators
> 
> David Howells <dhowells@redhat.com>
>     fscache: Fix the default for fscache_maybe_release_page()
> 
> Stefan Br�ns <stefan.bruens@rwth-aachen.de>
>     sunxi-rsb: Include OF based modalias in device uevent
> 
> Eric Biggers <ebiggers@google.com>
>     crypto: pcrypt - fix freeing pcrypt instances
> 
> Eric Biggers <ebiggers@google.com>
>     crypto: chacha20poly1305 - validate the digest size
> 
> Jan Engelhardt <jengelh@inai.de>
>     crypto: n2 - cure use after free
> 
> Oleg Nesterov <oleg@redhat.com>
>     kernel/acct.c: fix the acct->needcheck check in check_free_space()
> 
> Andrey Ryabinin <aryabinin@virtuozzo.com>
>     x86/kasan: Write protect kasan zero shadow
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                              |  4 ++--
>  arch/arc/include/asm/uaccess.h        |  5 +++--
>  arch/parisc/include/asm/ldcw.h        |  2 ++
>  arch/parisc/kernel/entry.S            | 13 +++++++++++--
>  arch/parisc/kernel/pacache.S          |  9 +++++++--
>  arch/s390/kernel/compat_linux.c       |  1 +
>  arch/x86/entry/vsyscall/vsyscall_64.c |  5 +++++
>  arch/x86/include/asm/vsyscall.h       |  2 ++
>  arch/x86/kernel/cpu/microcode/amd.c   |  4 ++++
>  arch/x86/mm/init.c                    |  2 +-
>  arch/x86/mm/kaiser.c                  | 34 ++++++++++++++++++++++++++++++----
>  arch/x86/mm/kasan_init_64.c           | 10 ++++++++--
>  crypto/chacha20poly1305.c             |  6 +++++-
>  crypto/pcrypt.c                       | 19 ++++++++++---------
>  drivers/bus/sunxi-rsb.c               |  1 +
>  drivers/crypto/n2_core.c              |  3 +++
>  drivers/input/mouse/elantech.c        |  2 +-
>  drivers/mtd/nand/pxa3xx_nand.c        |  1 +
>  fs/nfsd/auth.c                        |  3 +++
>  include/linux/cred.h                  |  1 +
>  include/linux/fscache.h               |  2 +-
>  kernel/acct.c                         |  2 +-
>  kernel/groups.c                       |  5 +++--
>  kernel/module.c                       | 26 +++++++++++++++++++++-----
>  kernel/signal.c                       | 18 ++++++++++--------
>  kernel/uid16.c                        |  1 +
>  mm/vmstat.c                           |  4 +++-
>  net/sunrpc/auth_gss/gss_rpc_xdr.c     |  1 +
>  net/sunrpc/auth_gss/svcauth_gss.c     |  1 +
>  net/sunrpc/svcauth_unix.c             |  2 ++
>  scripts/genksyms/genksyms.c           |  6 ++++--
>  31 files changed, 149 insertions(+), 46 deletions(-)
> 
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No issues noticed in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/22] 4.4.111-stable review
@ 2018-01-08 14:25 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-01-08 14:25 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Jan 08, 2018 at 01:59:27PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.111 release.
> There are 22 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 Wed Jan 10 12:59:14 UTC 2018.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.111-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.111-rc1
> 
> Borislav Petkov <bp@suse.de>
>     Map the vsyscall page with _PAGE_USER
> 
> Alexey Dobriyan <adobriyan@gmail.com>
>     proc: much faster /proc/vmstat
> 
> Libor Pechacek <lpechacek@suse.com>
>     module: Issue warnings when tainting kernel
> 
> Miroslav Benes <mbenes@suse.cz>
>     module: keep percpu symbols in module's symtab
> 
> Michal Marek <mmarek@suse.com>
>     genksyms: Handle string literals with spaces in reference files
> 
> Thomas Gleixner <tglx@linutronix.de>
>     x86/tlb: Drop the _GPL from the cpu_tlbstate export
> 
> Boris Brezillon <boris.brezillon@free-electrons.com>
>     mtd: nand: pxa3xx: Fix READOOB implementation
> 
> Helge Deller <deller@gmx.de>
>     parisc: Fix alignment of pa_tlb_lock in assembly on 32-bit SMP kernel
> 
> Tom Lendacky <thomas.lendacky@amd.com>
>     x86/microcode/AMD: Add support for fam17h microcode loading
> 
> Aaron Ma <aaron.ma@canonical.com>
>     Input: elantech - add new icbody type 15
> 
> Vineet Gupta <vgupta@synopsys.com>
>     ARC: uaccess: dont use "l" gcc inline asm constraint modifier
> 
> Oleg Nesterov <oleg@redhat.com>
>     kernel/signal.c: remove the no longer needed SIGNAL_UNKILLABLE check in complete_signal()
> 
> Oleg Nesterov <oleg@redhat.com>
>     kernel/signal.c: protect the SIGNAL_UNKILLABLE tasks from !sig_kernel_only() signals
> 
> Oleg Nesterov <oleg@redhat.com>
>     kernel/signal.c: protect the traced SIGNAL_UNKILLABLE tasks from SIGKILL
> 
> Thiago Rafael Becker <thiago.becker@gmail.com>
>     kernel: make groups_sort calling a responsibility group_info allocators
> 
> David Howells <dhowells@redhat.com>
>     fscache: Fix the default for fscache_maybe_release_page()
> 
> Stefan Brüns <stefan.bruens@rwth-aachen.de>
>     sunxi-rsb: Include OF based modalias in device uevent
> 
> Eric Biggers <ebiggers@google.com>
>     crypto: pcrypt - fix freeing pcrypt instances
> 
> Eric Biggers <ebiggers@google.com>
>     crypto: chacha20poly1305 - validate the digest size
> 
> Jan Engelhardt <jengelh@inai.de>
>     crypto: n2 - cure use after free
> 
> Oleg Nesterov <oleg@redhat.com>
>     kernel/acct.c: fix the acct->needcheck check in check_free_space()
> 
> Andrey Ryabinin <aryabinin@virtuozzo.com>
>     x86/kasan: Write protect kasan zero shadow
> 
> 
> -------------
> 
> Diffstat:
> 
>  Makefile                              |  4 ++--
>  arch/arc/include/asm/uaccess.h        |  5 +++--
>  arch/parisc/include/asm/ldcw.h        |  2 ++
>  arch/parisc/kernel/entry.S            | 13 +++++++++++--
>  arch/parisc/kernel/pacache.S          |  9 +++++++--
>  arch/s390/kernel/compat_linux.c       |  1 +
>  arch/x86/entry/vsyscall/vsyscall_64.c |  5 +++++
>  arch/x86/include/asm/vsyscall.h       |  2 ++
>  arch/x86/kernel/cpu/microcode/amd.c   |  4 ++++
>  arch/x86/mm/init.c                    |  2 +-
>  arch/x86/mm/kaiser.c                  | 34 ++++++++++++++++++++++++++++++----
>  arch/x86/mm/kasan_init_64.c           | 10 ++++++++--
>  crypto/chacha20poly1305.c             |  6 +++++-
>  crypto/pcrypt.c                       | 19 ++++++++++---------
>  drivers/bus/sunxi-rsb.c               |  1 +
>  drivers/crypto/n2_core.c              |  3 +++
>  drivers/input/mouse/elantech.c        |  2 +-
>  drivers/mtd/nand/pxa3xx_nand.c        |  1 +
>  fs/nfsd/auth.c                        |  3 +++
>  include/linux/cred.h                  |  1 +
>  include/linux/fscache.h               |  2 +-
>  kernel/acct.c                         |  2 +-
>  kernel/groups.c                       |  5 +++--
>  kernel/module.c                       | 26 +++++++++++++++++++++-----
>  kernel/signal.c                       | 18 ++++++++++--------
>  kernel/uid16.c                        |  1 +
>  mm/vmstat.c                           |  4 +++-
>  net/sunrpc/auth_gss/gss_rpc_xdr.c     |  1 +
>  net/sunrpc/auth_gss/svcauth_gss.c     |  1 +
>  net/sunrpc/svcauth_unix.c             |  2 ++
>  scripts/genksyms/genksyms.c           |  6 ++++--
>  31 files changed, 149 insertions(+), 46 deletions(-)
> 
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No issues noticed in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/87] 4.4.112-stable review
  @ 2018-01-15 16:39 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-01-15 16:39 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Jan 15, 2018 at 01:33:59PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.112 release.
> There are 87 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 Wed Jan 17 12:33:11 UTC 2018.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.112-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.112-rc1
> 
> Andy Lutomirski <luto@kernel.org>
>     selftests/x86: Add test_vsyscall
> 
> David Woodhouse <dwmw@amazon.co.uk>
>     x86/alternatives: Add missing '\n' at end of ALTERNATIVE inline asm
> 
> Borislav Petkov <bp@suse.de>
>     x86/alternatives: Fix optimize_nops() checking
> 
> David Woodhouse <dwmw@amazon.co.uk>
>     sysfs/cpu: Fix typos in vulnerability documentation
> 
> Thomas Gleixner <tglx@linutronix.de>
>     x86/cpu: Implement CPU vulnerabilites sysfs functions
> 
> Thomas Gleixner <tglx@linutronix.de>
>     sysfs/cpu: Add vulnerability folder
> 
> Dave Hansen <dave.hansen@linux.intel.com>
>     x86/Documentation: Add PTI description
> 
> Benjamin Poirier <bpoirier@suse.com>
>     e1000e: Fix e1000_check_for_copper_link_ich8lan return value.
> 
> Icenowy Zheng <icenowy@aosc.io>
>     uas: ignore UAS for Norelsys NS1068(X) chips
> 
> Ben Seri <ben@armis.com>
>     Bluetooth: Prevent stack info leak from the EFS element.
> 
> Viktor Slavkovic <viktors@google.com>
>     staging: android: ashmem: fix a race condition in ASHMEM_SET_SIZE ioctl
> 
> Shuah Khan <shuahkh@osg.samsung.com>
>     usbip: remove kernel addresses from usb device and urb debug msgs
> 
> Pete Zaitcev <zaitcev@redhat.com>
>     USB: fix usbmon BUG trigger
> 
> Stefan Agner <stefan@agner.ch>
>     usb: misc: usb3503: make sure reset is low for at least 100us
> 
> Christian Holl <cyborgx1@gmail.com>
>     USB: serial: cp210x: add new device ID ELV ALC 8xxx
> 
> Diego Elio Petten� <flameeyes@flameeyes.eu>
>     USB: serial: cp210x: add IDs for LifeScan OneTouch Verio IQ
> 
> Nicholas Bellinger <nab@linux-iscsi.org>
>     target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK
> 
> Nicholas Bellinger <nab@linux-iscsi.org>
>     iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref
> 
> Daniel Borkmann <daniel@iogearbox.net>
>     bpf, array: fix overflow in max_entries and undefined behavior in index_mask
> 
> Alexei Starovoitov <ast@kernel.org>
>     bpf: prevent out-of-bounds speculation
> 
> Alexei Starovoitov <ast@fb.com>
>     bpf: adjust insn_aux_data when patching insns
> 
> Alexei Starovoitov <ast@fb.com>
>     bpf: refactor fixup_bpf_calls()
> 
> Alexei Starovoitov <ast@fb.com>
>     bpf: move fixup_bpf_calls() function
> 
> Jakub Kicinski <jakub.kicinski@netronome.com>
>     bpf: don't (ab)use instructions to store state
> 
> Daniel Borkmann <daniel@iogearbox.net>
>     bpf: add bpf_patch_insn_single helper
> 
> Lepton Wu <ytht.net@gmail.com>
>     kaiser: Set _PAGE_NX only if supported
> 
> Dan Carpenter <dan.carpenter@oracle.com>
>     drm/vmwgfx: Potential off by one in vmw_view_add()
> 
> Andrew Honig <ahonig@google.com>
>     KVM: x86: Add memory barrier on vmcs field lookup
> 
> Jia Zhang <qianyue.zj@alibaba-inc.com>
>     x86/microcode/intel: Extend BDW late-loading with a revision check
> 
> Ilya Dryomov <idryomov@gmail.com>
>     rbd: set max_segments to USHRT_MAX
> 
> Eric Biggers <ebiggers@google.com>
>     crypto: algapi - fix NULL dereference in crypto_remove_spawns()
> 
> Eric Dumazet <edumazet@google.com>
>     ipv6: fix possible mem leaks in ipv6_make_skb()
> 
> Jerome Brunet <jbrunet@baylibre.com>
>     net: stmmac: enable EEE in MII, GMII or RGMII only
> 
> Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
>     sh_eth: fix SH7757 GEther initialization
> 
> Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
>     sh_eth: fix TSU resource handling
> 
> Mohamed Ghannam <simo.ghannam@gmail.com>
>     RDS: null pointer dereference in rds_atomic_free_op
> 
> Mohamed Ghannam <simo.ghannam@gmail.com>
>     RDS: Heap OOB write in rds_message_alloc_sgs()
> 
> Andrii Vladyka <tulup@mail.ru>
>     net: core: fix module type in sock_diag_bind
> 
> Eli Cooper <elicooper@gmx.com>
>     ip6_tunnel: disable dst caching if tunnel is dual-stack
> 
> Cong Wang <xiyou.wangcong@gmail.com>
>     8021q: fix a memory leak for VLAN 0 device
> 
> Pavel Tatashin <pasha.tatashin@oracle.com>
>     x86/pti/efi: broken conversion from efi to kernel page table
> 
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>     Revert "userfaultfd: selftest: vm: allow to build in vm/ directory"
> 
> Ben Hutchings <ben.hutchings@codethink.co.uk>
>     xhci: Fix ring leak in failure path of xhci_alloc_virt_device()
> 
> Ani Sinha <ani@arista.com>
>     sysrq: Fix warning in sysrq generated crash.
> 
> Jiri Slaby <jslaby@suse.cz>
>     hwrng: core - sleep interruptible in read
> 
> Jiri Kosina <jkosina@suse.cz>
>     x86/mm/pat, /dev/mem: Remove superfluous error message
> 
> Eric Dumazet <edumazet@google.com>
>     cx82310_eth: use skb_cow_head() to deal with cloned skbs
> 
> Eric Dumazet <edumazet@google.com>
>     smsc75xx: use skb_cow_head() to deal with cloned skbs
> 
> Eric Dumazet <edumazet@google.com>
>     sr9700: use skb_cow_head() to deal with cloned skbs
> 
> Eric Dumazet <edumazet@google.com>
>     lan78xx: use skb_cow_head() to deal with cloned skbs
> 
> hayeswang <hayeswang@realtek.com>
>     r8152: adjust ALDPS function
> 
> hayeswang <hayeswang@realtek.com>
>     r8152: use test_and_clear_bit
> 
> hayeswang <hayeswang@realtek.com>
>     r8152: fix the wake event
> 
> Ulf Hansson <ulf.hansson@linaro.org>
>     usb: musb: ux500: Fix NULL pointer dereference at system PM
> 
> Oliver Neukum <oneukum@suse.com>
>     usbvision fix overflow of interfaces array
> 
> Davidlohr Bueso <dave@stgolabs.net>
>     locking/mutex: Allow next waiter lockless wakeup
> 
> Jianyu Zhan <nasa4836@gmail.com>
>     futex: Replace barrier() in unqueue_me() with READ_ONCE()
> 
> Jeff Layton <jeff.layton@primarydata.com>
>     locks: don't check for race with close when setting OFD lock
> 
> Dan Streetman <ddstreet@ieee.org>
>     zswap: don't param_set_charp while holding spinlock
> 
> Dan Streetman <ddstreet@ieee.org>
>     mm/zswap: use workqueue to destroy pool
> 
> Andrey Ryabinin <aryabinin@virtuozzo.com>
>     mm/page-writeback: fix dirty_ratelimit calculation
> 
> Joonsoo Kim <iamjoonsoo.kim@lge.com>
>     mm/compaction: pass only pageblock aligned range to pageblock_pfn_to_page
> 
> Joonsoo Kim <iamjoonsoo.kim@lge.com>
>     mm/compaction: fix invalid free_pfn and compact_cached_free_pfn
> 
> Vikas C Sajjan <vikas.cha.sajjan@hpe.com>
>     x86/acpi: Reduce code duplication in mp_override_legacy_irq()
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: aloop: Fix racy hw constraints adjustment
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: aloop: Fix inconsistent format due to incomplete rule
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: aloop: Release cable upon open error path
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: pcm: Allow aborting mutex lock at OSS read/write loops
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: pcm: Abort properly at pending signal in OSS read/write loops
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: pcm: Add missing error checks in OSS emulation plugin builder
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: pcm: Remove incorrect snd_BUG_ON() usages
> 
> Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
>     iommu/arm-smmu-v3: Don't free page table ops twice
> 
> Vikas C Sajjan <vikas.cha.sajjan@hpe.com>
>     x86/acpi: Handle SCI interrupts above legacy space gracefully
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/vsdo: Fix build on PARAVIRT_CLOCK=y, KVM_GUEST=n
> 
> Jim Mattson <jmattson@google.com>
>     kvm: vmx: Scrub hardware GPRs at VM-exit
> 
> Andrey Ryabinin <aryabinin@virtuozzo.com>
>     net/mac80211/debugfs.c: prevent build failure with CONFIG_UBSAN=y
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Disallow outsized PTRACE_SETREGSET NT_PRFPREG regset accesses
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Also verify sizeof `elf_fpreg_t' with PTRACE_SETREGSET
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Fix an FCSR access API regression with NT_PRFPREG and MSA
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Consistently handle buffer counter with PTRACE_SETREGSET
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Guard against any partial write attempt with PTRACE_SETREGSET
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Factor out NT_PRFPREG regset access helpers
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Validate PR_SET_FP_MODE prctl(2) requests against the ABI of the task
> 
> Bart Van Assche <bart.vanassche@wdc.com>
>     IB/srpt: Disable RDMA access by the initiator
> 
> Wolfgang Grandegger <wg@grandegger.com>
>     can: gs_usb: fix return value of the "set_bittiming" callback
> 
> Wanpeng Li <wanpeng.li@hotmail.com>
>     KVM: Fix stack-out-of-bounds read in write_mmio
> 
> Suren Baghdasaryan <surenb@google.com>
>     dm bufio: fix shrinker scans when (nr_to_scan < retain_target)
> 
> 
> -------------
> 
> Diffstat:
> 
>  Documentation/ABI/testing/sysfs-devices-system-cpu |  16 +
>  Documentation/kernel-parameters.txt                |  21 +-
>  Documentation/x86/pti.txt                          | 186 ++++++++
>  Makefile                                           |   4 +-
>  arch/arm/kvm/mmio.c                                |   6 +-
>  arch/mips/kernel/process.c                         |  12 +
>  arch/mips/kernel/ptrace.c                          | 147 ++++--
>  arch/x86/Kconfig                                   |   1 +
>  arch/x86/include/asm/alternative.h                 |   4 +-
>  arch/x86/include/asm/kaiser.h                      |  10 +
>  arch/x86/include/asm/pvclock.h                     |   2 +-
>  arch/x86/kernel/acpi/boot.c                        |  61 ++-
>  arch/x86/kernel/alternative.c                      |   7 +-
>  arch/x86/kernel/cpu/bugs.c                         |  29 ++
>  arch/x86/kernel/cpu/microcode/intel.c              |  14 +-
>  arch/x86/kvm/svm.c                                 |  19 +
>  arch/x86/kvm/vmx.c                                 |  26 +-
>  arch/x86/kvm/x86.c                                 |   8 +-
>  arch/x86/mm/kaiser.c                               |   2 +
>  arch/x86/mm/pat.c                                  |   5 +-
>  arch/x86/realmode/init.c                           |   4 +-
>  arch/x86/realmode/rm/trampoline_64.S               |   3 +-
>  crypto/algapi.c                                    |  12 +
>  drivers/base/Kconfig                               |   3 +
>  drivers/base/cpu.c                                 |  48 ++
>  drivers/block/rbd.c                                |   2 +-
>  drivers/char/hw_random/core.c                      |   6 +-
>  drivers/char/mem.c                                 |   6 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c            |   2 +
>  drivers/infiniband/ulp/srpt/ib_srpt.c              |   3 +-
>  drivers/iommu/arm-smmu-v3.c                        |   8 +-
>  drivers/md/dm-bufio.c                              |   7 +-
>  drivers/media/usb/usbvision/usbvision-video.c      |   7 +
>  drivers/net/can/usb/gs_usb.c                       |   2 +-
>  drivers/net/ethernet/intel/e1000e/ich8lan.c        |  11 +-
>  drivers/net/ethernet/renesas/sh_eth.c              |  29 +-
>  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |   6 +
>  drivers/net/usb/cx82310_eth.c                      |   7 +-
>  drivers/net/usb/lan78xx.c                          |   9 +-
>  drivers/net/usb/r8152.c                            | 132 +++---
>  drivers/net/usb/smsc75xx.c                         |   8 +-
>  drivers/net/usb/sr9700.c                           |   9 +-
>  drivers/staging/android/ashmem.c                   |   2 +
>  drivers/target/iscsi/iscsi_target.c                |  20 +-
>  drivers/target/target_core_tmr.c                   |   9 +
>  drivers/target/target_core_transport.c             |   2 +
>  drivers/tty/sysrq.c                                |   6 +
>  drivers/usb/host/xhci-mem.c                        |   3 +-
>  drivers/usb/misc/usb3503.c                         |   2 +
>  drivers/usb/mon/mon_bin.c                          |   8 +-
>  drivers/usb/musb/ux500.c                           |   7 +-
>  drivers/usb/serial/cp210x.c                        |   2 +
>  drivers/usb/storage/unusual_uas.h                  |   7 +
>  drivers/usb/usbip/usbip_common.c                   |  17 +-
>  fs/locks.c                                         |  16 +-
>  include/linux/bpf.h                                |   2 +
>  include/linux/cpu.h                                |   7 +
>  include/linux/filter.h                             |   3 +
>  include/linux/phy.h                                |  11 +
>  include/linux/sh_eth.h                             |   1 -
>  include/target/target_core_base.h                  |   1 +
>  include/trace/events/kvm.h                         |   7 +-
>  kernel/bpf/arraymap.c                              |  37 +-
>  kernel/bpf/core.c                                  |  71 +++
>  kernel/bpf/syscall.c                               |  54 ---
>  kernel/bpf/verifier.c                              | 217 ++++++---
>  kernel/futex.c                                     |   8 +-
>  kernel/locking/mutex.c                             |   5 +-
>  mm/compaction.c                                    |  50 ++-
>  mm/page-writeback.c                                |  11 +-
>  mm/zswap.c                                         |  24 +-
>  net/8021q/vlan.c                                   |   7 +-
>  net/bluetooth/l2cap_core.c                         |  20 +-
>  net/core/sock_diag.c                               |   2 +-
>  net/ipv6/ip6_output.c                              |   4 +-
>  net/ipv6/ip6_tunnel.c                              |   9 +-
>  net/mac80211/debugfs.c                             |   7 +-
>  net/rds/rdma.c                                     |   4 +
>  sound/core/oss/pcm_oss.c                           |  41 +-
>  sound/core/oss/pcm_plugin.c                        |  14 +-
>  sound/core/pcm_lib.c                               |   4 +-
>  sound/drivers/aloop.c                              |  98 ++--
>  tools/testing/selftests/vm/Makefile                |   4 -
>  tools/testing/selftests/x86/test_vsyscall.c        | 500 +++++++++++++++++++++
>  84 files changed, 1758 insertions(+), 470 deletions(-)
> 
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No initial issues noticed in general usage or dmesg.

Just as a heads up for any other Pixel 2 (XL) users, there will be a
conflict in drivers/md/dm-bufio.c due to a Google backport. You can
simply take the mainline version of the patch and substitute READ_ONCE
for ACCESS_ONCE. I made a small video for thinking about these conflicts
if anyone cares for it: https://youtu.be/yWvU8_0O66A

OP5 merges in clean.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/87] 4.4.112-stable review
@ 2018-01-15 16:39 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-01-15 16:39 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Jan 15, 2018 at 01:33:59PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.112 release.
> There are 87 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 Wed Jan 17 12:33:11 UTC 2018.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.112-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 <gregkh@linuxfoundation.org>
>     Linux 4.4.112-rc1
> 
> Andy Lutomirski <luto@kernel.org>
>     selftests/x86: Add test_vsyscall
> 
> David Woodhouse <dwmw@amazon.co.uk>
>     x86/alternatives: Add missing '\n' at end of ALTERNATIVE inline asm
> 
> Borislav Petkov <bp@suse.de>
>     x86/alternatives: Fix optimize_nops() checking
> 
> David Woodhouse <dwmw@amazon.co.uk>
>     sysfs/cpu: Fix typos in vulnerability documentation
> 
> Thomas Gleixner <tglx@linutronix.de>
>     x86/cpu: Implement CPU vulnerabilites sysfs functions
> 
> Thomas Gleixner <tglx@linutronix.de>
>     sysfs/cpu: Add vulnerability folder
> 
> Dave Hansen <dave.hansen@linux.intel.com>
>     x86/Documentation: Add PTI description
> 
> Benjamin Poirier <bpoirier@suse.com>
>     e1000e: Fix e1000_check_for_copper_link_ich8lan return value.
> 
> Icenowy Zheng <icenowy@aosc.io>
>     uas: ignore UAS for Norelsys NS1068(X) chips
> 
> Ben Seri <ben@armis.com>
>     Bluetooth: Prevent stack info leak from the EFS element.
> 
> Viktor Slavkovic <viktors@google.com>
>     staging: android: ashmem: fix a race condition in ASHMEM_SET_SIZE ioctl
> 
> Shuah Khan <shuahkh@osg.samsung.com>
>     usbip: remove kernel addresses from usb device and urb debug msgs
> 
> Pete Zaitcev <zaitcev@redhat.com>
>     USB: fix usbmon BUG trigger
> 
> Stefan Agner <stefan@agner.ch>
>     usb: misc: usb3503: make sure reset is low for at least 100us
> 
> Christian Holl <cyborgx1@gmail.com>
>     USB: serial: cp210x: add new device ID ELV ALC 8xxx
> 
> Diego Elio Pettenò <flameeyes@flameeyes.eu>
>     USB: serial: cp210x: add IDs for LifeScan OneTouch Verio IQ
> 
> Nicholas Bellinger <nab@linux-iscsi.org>
>     target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK
> 
> Nicholas Bellinger <nab@linux-iscsi.org>
>     iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref
> 
> Daniel Borkmann <daniel@iogearbox.net>
>     bpf, array: fix overflow in max_entries and undefined behavior in index_mask
> 
> Alexei Starovoitov <ast@kernel.org>
>     bpf: prevent out-of-bounds speculation
> 
> Alexei Starovoitov <ast@fb.com>
>     bpf: adjust insn_aux_data when patching insns
> 
> Alexei Starovoitov <ast@fb.com>
>     bpf: refactor fixup_bpf_calls()
> 
> Alexei Starovoitov <ast@fb.com>
>     bpf: move fixup_bpf_calls() function
> 
> Jakub Kicinski <jakub.kicinski@netronome.com>
>     bpf: don't (ab)use instructions to store state
> 
> Daniel Borkmann <daniel@iogearbox.net>
>     bpf: add bpf_patch_insn_single helper
> 
> Lepton Wu <ytht.net@gmail.com>
>     kaiser: Set _PAGE_NX only if supported
> 
> Dan Carpenter <dan.carpenter@oracle.com>
>     drm/vmwgfx: Potential off by one in vmw_view_add()
> 
> Andrew Honig <ahonig@google.com>
>     KVM: x86: Add memory barrier on vmcs field lookup
> 
> Jia Zhang <qianyue.zj@alibaba-inc.com>
>     x86/microcode/intel: Extend BDW late-loading with a revision check
> 
> Ilya Dryomov <idryomov@gmail.com>
>     rbd: set max_segments to USHRT_MAX
> 
> Eric Biggers <ebiggers@google.com>
>     crypto: algapi - fix NULL dereference in crypto_remove_spawns()
> 
> Eric Dumazet <edumazet@google.com>
>     ipv6: fix possible mem leaks in ipv6_make_skb()
> 
> Jerome Brunet <jbrunet@baylibre.com>
>     net: stmmac: enable EEE in MII, GMII or RGMII only
> 
> Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
>     sh_eth: fix SH7757 GEther initialization
> 
> Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
>     sh_eth: fix TSU resource handling
> 
> Mohamed Ghannam <simo.ghannam@gmail.com>
>     RDS: null pointer dereference in rds_atomic_free_op
> 
> Mohamed Ghannam <simo.ghannam@gmail.com>
>     RDS: Heap OOB write in rds_message_alloc_sgs()
> 
> Andrii Vladyka <tulup@mail.ru>
>     net: core: fix module type in sock_diag_bind
> 
> Eli Cooper <elicooper@gmx.com>
>     ip6_tunnel: disable dst caching if tunnel is dual-stack
> 
> Cong Wang <xiyou.wangcong@gmail.com>
>     8021q: fix a memory leak for VLAN 0 device
> 
> Pavel Tatashin <pasha.tatashin@oracle.com>
>     x86/pti/efi: broken conversion from efi to kernel page table
> 
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>     Revert "userfaultfd: selftest: vm: allow to build in vm/ directory"
> 
> Ben Hutchings <ben.hutchings@codethink.co.uk>
>     xhci: Fix ring leak in failure path of xhci_alloc_virt_device()
> 
> Ani Sinha <ani@arista.com>
>     sysrq: Fix warning in sysrq generated crash.
> 
> Jiri Slaby <jslaby@suse.cz>
>     hwrng: core - sleep interruptible in read
> 
> Jiri Kosina <jkosina@suse.cz>
>     x86/mm/pat, /dev/mem: Remove superfluous error message
> 
> Eric Dumazet <edumazet@google.com>
>     cx82310_eth: use skb_cow_head() to deal with cloned skbs
> 
> Eric Dumazet <edumazet@google.com>
>     smsc75xx: use skb_cow_head() to deal with cloned skbs
> 
> Eric Dumazet <edumazet@google.com>
>     sr9700: use skb_cow_head() to deal with cloned skbs
> 
> Eric Dumazet <edumazet@google.com>
>     lan78xx: use skb_cow_head() to deal with cloned skbs
> 
> hayeswang <hayeswang@realtek.com>
>     r8152: adjust ALDPS function
> 
> hayeswang <hayeswang@realtek.com>
>     r8152: use test_and_clear_bit
> 
> hayeswang <hayeswang@realtek.com>
>     r8152: fix the wake event
> 
> Ulf Hansson <ulf.hansson@linaro.org>
>     usb: musb: ux500: Fix NULL pointer dereference at system PM
> 
> Oliver Neukum <oneukum@suse.com>
>     usbvision fix overflow of interfaces array
> 
> Davidlohr Bueso <dave@stgolabs.net>
>     locking/mutex: Allow next waiter lockless wakeup
> 
> Jianyu Zhan <nasa4836@gmail.com>
>     futex: Replace barrier() in unqueue_me() with READ_ONCE()
> 
> Jeff Layton <jeff.layton@primarydata.com>
>     locks: don't check for race with close when setting OFD lock
> 
> Dan Streetman <ddstreet@ieee.org>
>     zswap: don't param_set_charp while holding spinlock
> 
> Dan Streetman <ddstreet@ieee.org>
>     mm/zswap: use workqueue to destroy pool
> 
> Andrey Ryabinin <aryabinin@virtuozzo.com>
>     mm/page-writeback: fix dirty_ratelimit calculation
> 
> Joonsoo Kim <iamjoonsoo.kim@lge.com>
>     mm/compaction: pass only pageblock aligned range to pageblock_pfn_to_page
> 
> Joonsoo Kim <iamjoonsoo.kim@lge.com>
>     mm/compaction: fix invalid free_pfn and compact_cached_free_pfn
> 
> Vikas C Sajjan <vikas.cha.sajjan@hpe.com>
>     x86/acpi: Reduce code duplication in mp_override_legacy_irq()
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: aloop: Fix racy hw constraints adjustment
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: aloop: Fix inconsistent format due to incomplete rule
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: aloop: Release cable upon open error path
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: pcm: Allow aborting mutex lock at OSS read/write loops
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: pcm: Abort properly at pending signal in OSS read/write loops
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: pcm: Add missing error checks in OSS emulation plugin builder
> 
> Takashi Iwai <tiwai@suse.de>
>     ALSA: pcm: Remove incorrect snd_BUG_ON() usages
> 
> Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
>     iommu/arm-smmu-v3: Don't free page table ops twice
> 
> Vikas C Sajjan <vikas.cha.sajjan@hpe.com>
>     x86/acpi: Handle SCI interrupts above legacy space gracefully
> 
> Andy Lutomirski <luto@kernel.org>
>     x86/vsdo: Fix build on PARAVIRT_CLOCK=y, KVM_GUEST=n
> 
> Jim Mattson <jmattson@google.com>
>     kvm: vmx: Scrub hardware GPRs at VM-exit
> 
> Andrey Ryabinin <aryabinin@virtuozzo.com>
>     net/mac80211/debugfs.c: prevent build failure with CONFIG_UBSAN=y
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Disallow outsized PTRACE_SETREGSET NT_PRFPREG regset accesses
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Also verify sizeof `elf_fpreg_t' with PTRACE_SETREGSET
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Fix an FCSR access API regression with NT_PRFPREG and MSA
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Consistently handle buffer counter with PTRACE_SETREGSET
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Guard against any partial write attempt with PTRACE_SETREGSET
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Factor out NT_PRFPREG regset access helpers
> 
> Maciej W. Rozycki <macro@mips.com>
>     MIPS: Validate PR_SET_FP_MODE prctl(2) requests against the ABI of the task
> 
> Bart Van Assche <bart.vanassche@wdc.com>
>     IB/srpt: Disable RDMA access by the initiator
> 
> Wolfgang Grandegger <wg@grandegger.com>
>     can: gs_usb: fix return value of the "set_bittiming" callback
> 
> Wanpeng Li <wanpeng.li@hotmail.com>
>     KVM: Fix stack-out-of-bounds read in write_mmio
> 
> Suren Baghdasaryan <surenb@google.com>
>     dm bufio: fix shrinker scans when (nr_to_scan < retain_target)
> 
> 
> -------------
> 
> Diffstat:
> 
>  Documentation/ABI/testing/sysfs-devices-system-cpu |  16 +
>  Documentation/kernel-parameters.txt                |  21 +-
>  Documentation/x86/pti.txt                          | 186 ++++++++
>  Makefile                                           |   4 +-
>  arch/arm/kvm/mmio.c                                |   6 +-
>  arch/mips/kernel/process.c                         |  12 +
>  arch/mips/kernel/ptrace.c                          | 147 ++++--
>  arch/x86/Kconfig                                   |   1 +
>  arch/x86/include/asm/alternative.h                 |   4 +-
>  arch/x86/include/asm/kaiser.h                      |  10 +
>  arch/x86/include/asm/pvclock.h                     |   2 +-
>  arch/x86/kernel/acpi/boot.c                        |  61 ++-
>  arch/x86/kernel/alternative.c                      |   7 +-
>  arch/x86/kernel/cpu/bugs.c                         |  29 ++
>  arch/x86/kernel/cpu/microcode/intel.c              |  14 +-
>  arch/x86/kvm/svm.c                                 |  19 +
>  arch/x86/kvm/vmx.c                                 |  26 +-
>  arch/x86/kvm/x86.c                                 |   8 +-
>  arch/x86/mm/kaiser.c                               |   2 +
>  arch/x86/mm/pat.c                                  |   5 +-
>  arch/x86/realmode/init.c                           |   4 +-
>  arch/x86/realmode/rm/trampoline_64.S               |   3 +-
>  crypto/algapi.c                                    |  12 +
>  drivers/base/Kconfig                               |   3 +
>  drivers/base/cpu.c                                 |  48 ++
>  drivers/block/rbd.c                                |   2 +-
>  drivers/char/hw_random/core.c                      |   6 +-
>  drivers/char/mem.c                                 |   6 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c            |   2 +
>  drivers/infiniband/ulp/srpt/ib_srpt.c              |   3 +-
>  drivers/iommu/arm-smmu-v3.c                        |   8 +-
>  drivers/md/dm-bufio.c                              |   7 +-
>  drivers/media/usb/usbvision/usbvision-video.c      |   7 +
>  drivers/net/can/usb/gs_usb.c                       |   2 +-
>  drivers/net/ethernet/intel/e1000e/ich8lan.c        |  11 +-
>  drivers/net/ethernet/renesas/sh_eth.c              |  29 +-
>  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |   6 +
>  drivers/net/usb/cx82310_eth.c                      |   7 +-
>  drivers/net/usb/lan78xx.c                          |   9 +-
>  drivers/net/usb/r8152.c                            | 132 +++---
>  drivers/net/usb/smsc75xx.c                         |   8 +-
>  drivers/net/usb/sr9700.c                           |   9 +-
>  drivers/staging/android/ashmem.c                   |   2 +
>  drivers/target/iscsi/iscsi_target.c                |  20 +-
>  drivers/target/target_core_tmr.c                   |   9 +
>  drivers/target/target_core_transport.c             |   2 +
>  drivers/tty/sysrq.c                                |   6 +
>  drivers/usb/host/xhci-mem.c                        |   3 +-
>  drivers/usb/misc/usb3503.c                         |   2 +
>  drivers/usb/mon/mon_bin.c                          |   8 +-
>  drivers/usb/musb/ux500.c                           |   7 +-
>  drivers/usb/serial/cp210x.c                        |   2 +
>  drivers/usb/storage/unusual_uas.h                  |   7 +
>  drivers/usb/usbip/usbip_common.c                   |  17 +-
>  fs/locks.c                                         |  16 +-
>  include/linux/bpf.h                                |   2 +
>  include/linux/cpu.h                                |   7 +
>  include/linux/filter.h                             |   3 +
>  include/linux/phy.h                                |  11 +
>  include/linux/sh_eth.h                             |   1 -
>  include/target/target_core_base.h                  |   1 +
>  include/trace/events/kvm.h                         |   7 +-
>  kernel/bpf/arraymap.c                              |  37 +-
>  kernel/bpf/core.c                                  |  71 +++
>  kernel/bpf/syscall.c                               |  54 ---
>  kernel/bpf/verifier.c                              | 217 ++++++---
>  kernel/futex.c                                     |   8 +-
>  kernel/locking/mutex.c                             |   5 +-
>  mm/compaction.c                                    |  50 ++-
>  mm/page-writeback.c                                |  11 +-
>  mm/zswap.c                                         |  24 +-
>  net/8021q/vlan.c                                   |   7 +-
>  net/bluetooth/l2cap_core.c                         |  20 +-
>  net/core/sock_diag.c                               |   2 +-
>  net/ipv6/ip6_output.c                              |   4 +-
>  net/ipv6/ip6_tunnel.c                              |   9 +-
>  net/mac80211/debugfs.c                             |   7 +-
>  net/rds/rdma.c                                     |   4 +
>  sound/core/oss/pcm_oss.c                           |  41 +-
>  sound/core/oss/pcm_plugin.c                        |  14 +-
>  sound/core/pcm_lib.c                               |   4 +-
>  sound/drivers/aloop.c                              |  98 ++--
>  tools/testing/selftests/vm/Makefile                |   4 -
>  tools/testing/selftests/x86/test_vsyscall.c        | 500 +++++++++++++++++++++
>  84 files changed, 1758 insertions(+), 470 deletions(-)
> 
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No initial issues noticed in general usage or dmesg.

Just as a heads up for any other Pixel 2 (XL) users, there will be a
conflict in drivers/md/dm-bufio.c due to a Google backport. You can
simply take the mainline version of the patch and substitute READ_ONCE
for ACCESS_ONCE. I made a small video for thinking about these conflicts
if anyone cares for it: https://youtu.be/yWvU8_0O66A

OP5 merges in clean.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/53] 4.4.113-stable review
  @ 2018-01-22 13:09 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-01-22 13:09 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Jan 22, 2018 at 09:39:52AM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.113 release.
> There are 53 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 Wed Jan 24 08:38:52 UTC 2018.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.113-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
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

Two minor conflicts, nothing major worth noting.

No initial issues noticed in general usage or dmesg.

Reference trees for Android: https://github.com/android-linux-stable

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/74] 4.4.114-stable review
  @ 2018-01-29 21:30 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-01-29 21:30 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Jan 29, 2018 at 01:56:05PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.114 release.
> There are 74 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 Wed Jan 31 12:38:21 UTC 2018.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.114-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
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No conflicts, no initial issues noticed in dmesg or general usage.

Reference trees for Android: https://github.com/android-linux-stable

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/67] 4.4.115-stable review
  @ 2018-02-02 18:40 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-02-02 18:40 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Feb 02, 2018 at 05:57:29PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.115 release.
> There are 67 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 Sun Feb  4 14:07:31 UTC 2018.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.115-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
>

Merged, compiled, and flashed onto my Pixel 2 XL.

One minor conflict in drivers/usb/gadget/function/f_fs.c since commit
d567071acc75 ("usb: f_fs: Prevent gadget unbind if it is already
unbound") is already present in a different form.

No initial issues noticed in general usage or dmesg.

Reference trees for other Android users:
https://github.com/android-linux-stable

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 000/108] 4.4.116-stable review
  @ 2018-02-16  2:45 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-02-16  2:45 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Thu, Feb 15, 2018 at 04:15:57PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.116 release.
> There are 108 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 Sat Feb 17 15:11:36 UTC 2018.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.116-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
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

The v4l2-ioctl32 commits were interesting to sift through merging... I
think I got everything correct though, the changes are in my trees under
temporary tags if anyone cares to check them out:

https://github.com/nathanchance/wahoo/commits/queue-2.17
https://github.com/nathanchance/op5/commits/queue-3.10

So far, there have been no visible regressions in dmesg or general
usage (I focused pretty heavily in the video area since those were the
biggest changes).

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/33] 4.4.117-stable review
  @ 2018-02-21 14:46 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-02-21 14:46 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Wed, Feb 21, 2018 at 01:44:43PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.117 release.
> There are 33 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri Feb 23 12:43:54 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.117-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
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No conflicts and no apparent issues in dmesg or general usage (I've been
running the RC before this one since yesterday afternoon and not much
changed for Android since then).

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 013/193] staging: android: ion: Add __GFP_NOWARN for system contig heap
  @ 2018-02-23 20:46 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-02-23 20:46 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, stable, syzbot+76e7efc4748495855a4d, syzbot, Laura Abbott

On Fri, Feb 23, 2018 at 07:24:06PM +0100, Greg Kroah-Hartman wrote:
> 4.4-stable review patch.  If anyone has any objections, please let me know.
> 
> ------------------
> 
> From: Laura Abbott <labbott@redhat.com>
> 
> commit 0c75f10312a35b149b2cebb1832316b35c2337ca upstream.
> 
> syzbot reported a warning from Ion:
> 
>   WARNING: CPU: 1 PID: 3485 at mm/page_alloc.c:3926
> 
>   ...
>    __alloc_pages_nodemask+0x9fb/0xd80 mm/page_alloc.c:4252
>   alloc_pages_current+0xb6/0x1e0 mm/mempolicy.c:2036
>   alloc_pages include/linux/gfp.h:492 [inline]
>   ion_system_contig_heap_allocate+0x40/0x2c0
>   drivers/staging/android/ion/ion_system_heap.c:374
>   ion_buffer_create drivers/staging/android/ion/ion.c:93 [inline]
>   ion_alloc+0x2c1/0x9e0 drivers/staging/android/ion/ion.c:420
>   ion_ioctl+0x26d/0x380 drivers/staging/android/ion/ion-ioctl.c:84
>   vfs_ioctl fs/ioctl.c:46 [inline]
>   do_vfs_ioctl+0x1b1/0x1520 fs/ioctl.c:686
>   SYSC_ioctl fs/ioctl.c:701 [inline]
>   SyS_ioctl+0x8f/0xc0 fs/ioctl.c:692
> 
> This is a warning about attempting to allocate order > MAX_ORDER. This
> is coming from a userspace Ion allocation request. Since userspace is
> free to request however much memory it wants (and the kernel is free to
> deny its allocation), silence the allocation attempt with __GFP_NOWARN
> in case it fails.
> 
> Reported-by: syzbot+76e7efc4748495855a4d@syzkaller.appspotmail.com
> Reported-by: syzbot <syzkaller@googlegroups.com>
> Signed-off-by: Laura Abbott <labbott@redhat.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 
> ---
>  drivers/staging/android/ion/ion_system_heap.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- a/drivers/staging/android/ion/ion_system_heap.c
> +++ b/drivers/staging/android/ion/ion_system_heap.c
> @@ -336,7 +336,7 @@ static int ion_system_contig_heap_alloca
>  	if (align > (PAGE_SIZE << order))
>  		return -EINVAL;
>  
> -	page = alloc_pages(low_order_gfp_flags, order);
> +	page = alloc_pages(low_order_gfp_flags | __GFP_NOWARN, order);
>  	if (!page)
>  		return -ENOMEM;
>  
> 
>

This commit is not necessary as __GFP_NOWARN is still in the global
low_order_gfp_flags since commit d2805d7fff5b ("staging: ion: remove
__GFP_NOWARN when use low order gfp flags") did not show up until 4.9.
This also applies to 3.18.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 002/193] net: replace dst_cache ip6_tunnel implementation with the generic one
  @ 2018-02-23 23:00 99%   ` Nathan Chancellor
      0 siblings, 2 replies; 200+ results
From: Nathan Chancellor @ 2018-02-23 23:00 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, stable, Paolo Abeni, David S. Miller, Manoj Boopathi Raj

On Fri, Feb 23, 2018 at 07:23:55PM +0100, Greg Kroah-Hartman wrote:
> 4.4-stable review patch.  If anyone has any objections, please let me know.
> 
> ------------------
> 
> From: Paolo Abeni <pabeni@redhat.com>
> 
> commit 607f725f6f7d5ec3759fbc16224afb60e2152a5b upstream.
> 
> This also fix a potential race into the existing tunnel code, which
> could lead to the wrong dst to be permanenty cached:
> 
> CPU1:					CPU2:
>   <xmit on ip6_tunnel>
>   <cache lookup fails>
>   dst = ip6_route_output(...)
> 					<tunnel params are changed via nl>
> 					dst_cache_reset() // no effect,
> 							// the cache is empty
>   dst_cache_set() // the wrong dst
> 	// is permanenty stored
> 	// into the cache
> 
> With the new dst implementation the above race is not possible
> since the first cache lookup after dst_cache_reset will fail due
> to the timestamp check
> 
> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
> Suggested-and-acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> Signed-off-by: Manoj Boopathi Raj <manojboopathi@google.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 
> ---
>  include/net/ip6_tunnel.h |   15 ----
>  net/ipv6/Kconfig         |    1 
>  net/ipv6/ip6_gre.c       |   12 +--
>  net/ipv6/ip6_tunnel.c    |  151 +++++++----------------------------------------
>  net/ipv6/ip6_vti.c       |    2 
>  5 files changed, 35 insertions(+), 146 deletions(-)
> 
> --- a/include/net/ip6_tunnel.h
> +++ b/include/net/ip6_tunnel.h
> @@ -5,6 +5,8 @@
>  #include <linux/netdevice.h>
>  #include <linux/if_tunnel.h>
>  #include <linux/ip6_tunnel.h>
> +#include <net/ip_tunnels.h>
> +#include <net/dst_cache.h>
>  
>  #define IP6TUNNEL_ERR_TIMEO (30*HZ)
>  
> @@ -32,12 +34,6 @@ struct __ip6_tnl_parm {
>  	__be32			o_key;
>  };
>  
> -struct ip6_tnl_dst {
> -	seqlock_t lock;
> -	struct dst_entry __rcu *dst;
> -	u32 cookie;
> -};
> -
>  /* IPv6 tunnel */
>  struct ip6_tnl {
>  	struct ip6_tnl __rcu *next;	/* next tunnel in list */
> @@ -45,7 +41,7 @@ struct ip6_tnl {
>  	struct net *net;	/* netns for packet i/o */
>  	struct __ip6_tnl_parm parms;	/* tunnel configuration parameters */
>  	struct flowi fl;	/* flowi template for xmit */
> -	struct ip6_tnl_dst __percpu *dst_cache;	/* cached dst */
> +	struct dst_cache dst_cache;	/* cached dst */
>  
>  	int err_count;
>  	unsigned long err_time;
> @@ -65,11 +61,6 @@ struct ipv6_tlv_tnl_enc_lim {
>  	__u8 encap_limit;	/* tunnel encapsulation limit   */
>  } __packed;
>  
> -struct dst_entry *ip6_tnl_dst_get(struct ip6_tnl *t);
> -int ip6_tnl_dst_init(struct ip6_tnl *t);
> -void ip6_tnl_dst_destroy(struct ip6_tnl *t);
> -void ip6_tnl_dst_reset(struct ip6_tnl *t);
> -void ip6_tnl_dst_set(struct ip6_tnl *t, struct dst_entry *dst);
>  int ip6_tnl_rcv_ctl(struct ip6_tnl *t, const struct in6_addr *laddr,
>  		const struct in6_addr *raddr);
>  int ip6_tnl_xmit_ctl(struct ip6_tnl *t, const struct in6_addr *laddr,
> --- a/net/ipv6/Kconfig
> +++ b/net/ipv6/Kconfig
> @@ -205,6 +205,7 @@ config IPV6_NDISC_NODETYPE
>  config IPV6_TUNNEL
>  	tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
>  	select INET6_TUNNEL
> +	select DST_CACHE
>  	---help---
>  	  Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
>  	  RFC 2473.
> --- a/net/ipv6/ip6_gre.c
> +++ b/net/ipv6/ip6_gre.c
> @@ -362,7 +362,7 @@ static void ip6gre_tunnel_uninit(struct
>  	struct ip6gre_net *ign = net_generic(t->net, ip6gre_net_id);
>  
>  	ip6gre_tunnel_unlink(ign, t);
> -	ip6_tnl_dst_reset(t);
> +	dst_cache_reset(&t->dst_cache);
>  	dev_put(dev);
>  }
>  
> @@ -640,7 +640,7 @@ static netdev_tx_t ip6gre_xmit2(struct s
>  	}
>  
>  	if (!fl6->flowi6_mark)
> -		dst = ip6_tnl_dst_get(tunnel);
> +		dst = dst_cache_get(&tunnel->dst_cache);
>  
>  	if (!dst) {
>  		dst = ip6_route_output(net, NULL, fl6);
> @@ -709,7 +709,7 @@ static netdev_tx_t ip6gre_xmit2(struct s
>  	}
>  
>  	if (!fl6->flowi6_mark && ndst)
> -		ip6_tnl_dst_set(tunnel, ndst);
> +		dst_cache_set_ip6(&tunnel->dst_cache, ndst, &fl6->saddr);
>  	skb_dst_set(skb, dst);
>  
>  	proto = NEXTHDR_GRE;
> @@ -1017,7 +1017,7 @@ static int ip6gre_tnl_change(struct ip6_
>  	t->parms.o_key = p->o_key;
>  	t->parms.i_flags = p->i_flags;
>  	t->parms.o_flags = p->o_flags;
> -	ip6_tnl_dst_reset(t);
> +	dst_cache_reset(&t->dst_cache);
>  	ip6gre_tnl_link_config(t, set_mtu);
>  	return 0;
>  }
> @@ -1228,7 +1228,7 @@ static void ip6gre_dev_free(struct net_d
>  {
>  	struct ip6_tnl *t = netdev_priv(dev);
>  
> -	ip6_tnl_dst_destroy(t);
> +	dst_cache_destroy(&t->dst_cache);
>  	free_percpu(dev->tstats);
>  	free_netdev(dev);
>  }
> @@ -1266,7 +1266,7 @@ static int ip6gre_tunnel_init_common(str
>  	if (!dev->tstats)
>  		return -ENOMEM;
>  
> -	ret = ip6_tnl_dst_init(tunnel);
> +	ret = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL);
>  	if (ret) {
>  		free_percpu(dev->tstats);
>  		dev->tstats = NULL;
> --- a/net/ipv6/ip6_tunnel.c
> +++ b/net/ipv6/ip6_tunnel.c
> @@ -122,97 +122,6 @@ static struct net_device_stats *ip6_get_
>  	return &dev->stats;
>  }
>  
> -/*
> - * Locking : hash tables are protected by RCU and RTNL
> - */
> -
> -static void ip6_tnl_per_cpu_dst_set(struct ip6_tnl_dst *idst,
> -				    struct dst_entry *dst)
> -{
> -	write_seqlock_bh(&idst->lock);
> -	dst_release(rcu_dereference_protected(
> -			    idst->dst,
> -			    lockdep_is_held(&idst->lock.lock)));
> -	if (dst) {
> -		dst_hold(dst);
> -		idst->cookie = rt6_get_cookie((struct rt6_info *)dst);
> -	} else {
> -		idst->cookie = 0;
> -	}
> -	rcu_assign_pointer(idst->dst, dst);
> -	write_sequnlock_bh(&idst->lock);
> -}
> -
> -struct dst_entry *ip6_tnl_dst_get(struct ip6_tnl *t)
> -{
> -	struct ip6_tnl_dst *idst;
> -	struct dst_entry *dst;
> -	unsigned int seq;
> -	u32 cookie;
> -
> -	idst = raw_cpu_ptr(t->dst_cache);
> -
> -	rcu_read_lock();
> -	do {
> -		seq = read_seqbegin(&idst->lock);
> -		dst = rcu_dereference(idst->dst);
> -		cookie = idst->cookie;
> -	} while (read_seqretry(&idst->lock, seq));
> -
> -	if (dst && !atomic_inc_not_zero(&dst->__refcnt))
> -		dst = NULL;
> -	rcu_read_unlock();
> -
> -	if (dst && dst->obsolete && !dst->ops->check(dst, cookie)) {
> -		ip6_tnl_per_cpu_dst_set(idst, NULL);
> -		dst_release(dst);
> -		dst = NULL;
> -	}
> -	return dst;
> -}
> -EXPORT_SYMBOL_GPL(ip6_tnl_dst_get);
> -
> -void ip6_tnl_dst_reset(struct ip6_tnl *t)
> -{
> -	int i;
> -
> -	for_each_possible_cpu(i)
> -		ip6_tnl_per_cpu_dst_set(per_cpu_ptr(t->dst_cache, i), NULL);
> -}
> -EXPORT_SYMBOL_GPL(ip6_tnl_dst_reset);
> -
> -void ip6_tnl_dst_set(struct ip6_tnl *t, struct dst_entry *dst)
> -{
> -	ip6_tnl_per_cpu_dst_set(raw_cpu_ptr(t->dst_cache), dst);
> -
> -}
> -EXPORT_SYMBOL_GPL(ip6_tnl_dst_set);
> -
> -void ip6_tnl_dst_destroy(struct ip6_tnl *t)
> -{
> -	if (!t->dst_cache)
> -		return;
> -
> -	ip6_tnl_dst_reset(t);
> -	free_percpu(t->dst_cache);
> -}
> -EXPORT_SYMBOL_GPL(ip6_tnl_dst_destroy);
> -
> -int ip6_tnl_dst_init(struct ip6_tnl *t)
> -{
> -	int i;
> -
> -	t->dst_cache = alloc_percpu(struct ip6_tnl_dst);
> -	if (!t->dst_cache)
> -		return -ENOMEM;
> -
> -	for_each_possible_cpu(i)
> -		seqlock_init(&per_cpu_ptr(t->dst_cache, i)->lock);
> -
> -	return 0;
> -}
> -EXPORT_SYMBOL_GPL(ip6_tnl_dst_init);
> -
>  /**
>   * ip6_tnl_lookup - fetch tunnel matching the end-point addresses
>   *   @remote: the address of the tunnel exit-point
> @@ -331,7 +240,7 @@ static void ip6_dev_free(struct net_devi
>  {
>  	struct ip6_tnl *t = netdev_priv(dev);
>  
> -	ip6_tnl_dst_destroy(t);
> +	dst_cache_destroy(&t->dst_cache);
>  	free_percpu(dev->tstats);
>  	free_netdev(dev);
>  }
> @@ -464,7 +373,7 @@ ip6_tnl_dev_uninit(struct net_device *de
>  		RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
>  	else
>  		ip6_tnl_unlink(ip6n, t);
> -	ip6_tnl_dst_reset(t);
> +	dst_cache_reset(&t->dst_cache);
>  	dev_put(dev);
>  }
>  
> @@ -1053,7 +962,6 @@ static int ip6_tnl_xmit2(struct sk_buff
>  	struct ipv6_tel_txoption opt;
>  	struct dst_entry *dst = NULL, *ndst = NULL;
>  	struct net_device *tdev;
> -	bool use_cache = false;
>  	int mtu;
>  	unsigned int max_headroom = sizeof(struct ipv6hdr);
>  	u8 proto;
> @@ -1061,39 +969,28 @@ static int ip6_tnl_xmit2(struct sk_buff
>  
>  	/* NBMA tunnel */
>  	if (ipv6_addr_any(&t->parms.raddr)) {
> -		if (skb->protocol == htons(ETH_P_IPV6)) {
> -			struct in6_addr *addr6;
> -			struct neighbour *neigh;
> -			int addr_type;
> -
> -			if (!skb_dst(skb))
> -				goto tx_err_link_failure;
> -
> -			neigh = dst_neigh_lookup(skb_dst(skb),
> -						 &ipv6_hdr(skb)->daddr);
> -			if (!neigh)
> -				goto tx_err_link_failure;
> +		struct in6_addr *addr6;
> +		struct neighbour *neigh;
> +		int addr_type;
> +
> +		if (!skb_dst(skb))
> +			goto tx_err_link_failure;
>  
> -			addr6 = (struct in6_addr *)&neigh->primary_key;
> -			addr_type = ipv6_addr_type(addr6);
> +		neigh = dst_neigh_lookup(skb_dst(skb),
> +					 &ipv6_hdr(skb)->daddr);
> +		if (!neigh)
> +			goto tx_err_link_failure;
>  
> -			if (addr_type == IPV6_ADDR_ANY)
> -				addr6 = &ipv6_hdr(skb)->daddr;
> +		addr6 = (struct in6_addr *)&neigh->primary_key;
> +		addr_type = ipv6_addr_type(addr6);
>  
> -			memcpy(&fl6->daddr, addr6, sizeof(fl6->daddr));
> -			neigh_release(neigh);
> -		}
> -	} else if (t->parms.proto != 0 && !(t->parms.flags &
> -					    (IP6_TNL_F_USE_ORIG_TCLASS |
> -					     IP6_TNL_F_USE_ORIG_FWMARK))) {
> -		/* enable the cache only if neither the outer protocol nor the
> -		 * routing decision depends on the current inner header value
> -		 */
> -		use_cache = true;
> -	}
> +		if (addr_type == IPV6_ADDR_ANY)
> +			addr6 = &ipv6_hdr(skb)->daddr;
>  
> -	if (use_cache)
> -		dst = ip6_tnl_dst_get(t);
> +		memcpy(&fl6->daddr, addr6, sizeof(fl6->daddr));
> +		neigh_release(neigh);
> +	} else if (!fl6->flowi6_mark)
> +		dst = dst_cache_get(&t->dst_cache);
>  
>  	if (!ip6_tnl_xmit_ctl(t, &fl6->saddr, &fl6->daddr))
>  		goto tx_err_link_failure;
> @@ -1156,8 +1053,8 @@ static int ip6_tnl_xmit2(struct sk_buff
>  		skb = new_skb;
>  	}
>  
> -	if (use_cache && ndst)
> -		ip6_tnl_dst_set(t, ndst);
> +	if (!fl6->flowi6_mark && ndst)
> +		dst_cache_set_ip6(&t->dst_cache, ndst, &fl6->saddr);
>  	skb_dst_set(skb, dst);
>  
>  	skb->transport_header = skb->network_header;
> @@ -1392,7 +1289,7 @@ ip6_tnl_change(struct ip6_tnl *t, const
>  	t->parms.flowinfo = p->flowinfo;
>  	t->parms.link = p->link;
>  	t->parms.proto = p->proto;
> -	ip6_tnl_dst_reset(t);
> +	dst_cache_reset(&t->dst_cache);
>  	ip6_tnl_link_config(t);
>  	return 0;
>  }
> @@ -1663,7 +1560,7 @@ ip6_tnl_dev_init_gen(struct net_device *
>  	if (!dev->tstats)
>  		return -ENOMEM;
>  
> -	ret = ip6_tnl_dst_init(t);
> +	ret = dst_cache_init(&t->dst_cache, GFP_KERNEL);
>  	if (ret) {
>  		free_percpu(dev->tstats);
>  		dev->tstats = NULL;
> --- a/net/ipv6/ip6_vti.c
> +++ b/net/ipv6/ip6_vti.c
> @@ -645,7 +645,7 @@ vti6_tnl_change(struct ip6_tnl *t, const
>  	t->parms.i_key = p->i_key;
>  	t->parms.o_key = p->o_key;
>  	t->parms.proto = p->proto;
> -	ip6_tnl_dst_reset(t);
> +	dst_cache_reset(&t->dst_cache);
>  	vti6_link_config(t);
>  	return 0;
>  }
> 
>

It may also be wise to take these two commits from mainline, as they
are along the same lines as this one:

09acddf873b ("ip_tunnel: replace dst_cache with generic implementation")
27337e16f2d ("ip_tunnel: fix preempt warning in ip tunnel creation/updating")

There is a minor conflict with the first one due to stable commit
6f99825e7632 ("sit: fix a double free on error path").

I'll most likely carry them anyways, it fixes a build error with some
out of tree code but less out of tree code I have, the better!

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 000/193] 4.4.118-stable review
      @ 2018-02-23 23:13 99% ` Nathan Chancellor
  2 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-02-23 23:13 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Feb 23, 2018 at 07:23:53PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.118 release.
> There are 193 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 Sun Feb 25 17:02:20 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.118-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
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No immediate issues in either dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 002/193] net: replace dst_cache ip6_tunnel implementation with the generic one
  @ 2018-02-24 15:37 99%       ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-02-24 15:37 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, stable, Paolo Abeni, David S. Miller, Manoj Boopathi Raj

On Sat, Feb 24, 2018 at 09:35:39AM +0100, Greg Kroah-Hartman wrote:
> On Fri, Feb 23, 2018 at 04:00:08PM -0700, Nathan Chancellor wrote:
> > On Fri, Feb 23, 2018 at 07:23:55PM +0100, Greg Kroah-Hartman wrote:
> > > 4.4-stable review patch.  If anyone has any objections, please let me know.
> > > 
> > > ------------------
> > > 
> > > From: Paolo Abeni <pabeni@redhat.com>
> > > 
> > > commit 607f725f6f7d5ec3759fbc16224afb60e2152a5b upstream.
> > > 
> > > This also fix a potential race into the existing tunnel code, which
> > > could lead to the wrong dst to be permanenty cached:
> > > 
> > > CPU1:					CPU2:
> > >   <xmit on ip6_tunnel>
> > >   <cache lookup fails>
> > >   dst = ip6_route_output(...)
> > > 					<tunnel params are changed via nl>
> > > 					dst_cache_reset() // no effect,
> > > 							// the cache is empty
> > >   dst_cache_set() // the wrong dst
> > > 	// is permanenty stored
> > > 	// into the cache
> > > 
> > > With the new dst implementation the above race is not possible
> > > since the first cache lookup after dst_cache_reset will fail due
> > > to the timestamp check
> > > 
> > > Signed-off-by: Paolo Abeni <pabeni@redhat.com>
> > > Suggested-and-acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
> > > Signed-off-by: David S. Miller <davem@davemloft.net>
> > > Signed-off-by: Manoj Boopathi Raj <manojboopathi@google.com>
> > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > > 
> > > ---
> > >  include/net/ip6_tunnel.h |   15 ----
> > >  net/ipv6/Kconfig         |    1 
> > >  net/ipv6/ip6_gre.c       |   12 +--
> > >  net/ipv6/ip6_tunnel.c    |  151 +++++++----------------------------------------
> > >  net/ipv6/ip6_vti.c       |    2 
> > >  5 files changed, 35 insertions(+), 146 deletions(-)
> > > 
> > > --- a/include/net/ip6_tunnel.h
> > > +++ b/include/net/ip6_tunnel.h
> > > @@ -5,6 +5,8 @@
> > >  #include <linux/netdevice.h>
> > >  #include <linux/if_tunnel.h>
> > >  #include <linux/ip6_tunnel.h>
> > > +#include <net/ip_tunnels.h>
> > > +#include <net/dst_cache.h>
> > >  
> > >  #define IP6TUNNEL_ERR_TIMEO (30*HZ)
> > >  
> > > @@ -32,12 +34,6 @@ struct __ip6_tnl_parm {
> > >  	__be32			o_key;
> > >  };
> > >  
> > > -struct ip6_tnl_dst {
> > > -	seqlock_t lock;
> > > -	struct dst_entry __rcu *dst;
> > > -	u32 cookie;
> > > -};
> > > -
> > >  /* IPv6 tunnel */
> > >  struct ip6_tnl {
> > >  	struct ip6_tnl __rcu *next;	/* next tunnel in list */
> > > @@ -45,7 +41,7 @@ struct ip6_tnl {
> > >  	struct net *net;	/* netns for packet i/o */
> > >  	struct __ip6_tnl_parm parms;	/* tunnel configuration parameters */
> > >  	struct flowi fl;	/* flowi template for xmit */
> > > -	struct ip6_tnl_dst __percpu *dst_cache;	/* cached dst */
> > > +	struct dst_cache dst_cache;	/* cached dst */
> > >  
> > >  	int err_count;
> > >  	unsigned long err_time;
> > > @@ -65,11 +61,6 @@ struct ipv6_tlv_tnl_enc_lim {
> > >  	__u8 encap_limit;	/* tunnel encapsulation limit   */
> > >  } __packed;
> > >  
> > > -struct dst_entry *ip6_tnl_dst_get(struct ip6_tnl *t);
> > > -int ip6_tnl_dst_init(struct ip6_tnl *t);
> > > -void ip6_tnl_dst_destroy(struct ip6_tnl *t);
> > > -void ip6_tnl_dst_reset(struct ip6_tnl *t);
> > > -void ip6_tnl_dst_set(struct ip6_tnl *t, struct dst_entry *dst);
> > >  int ip6_tnl_rcv_ctl(struct ip6_tnl *t, const struct in6_addr *laddr,
> > >  		const struct in6_addr *raddr);
> > >  int ip6_tnl_xmit_ctl(struct ip6_tnl *t, const struct in6_addr *laddr,
> > > --- a/net/ipv6/Kconfig
> > > +++ b/net/ipv6/Kconfig
> > > @@ -205,6 +205,7 @@ config IPV6_NDISC_NODETYPE
> > >  config IPV6_TUNNEL
> > >  	tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
> > >  	select INET6_TUNNEL
> > > +	select DST_CACHE
> > >  	---help---
> > >  	  Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
> > >  	  RFC 2473.
> > > --- a/net/ipv6/ip6_gre.c
> > > +++ b/net/ipv6/ip6_gre.c
> > > @@ -362,7 +362,7 @@ static void ip6gre_tunnel_uninit(struct
> > >  	struct ip6gre_net *ign = net_generic(t->net, ip6gre_net_id);
> > >  
> > >  	ip6gre_tunnel_unlink(ign, t);
> > > -	ip6_tnl_dst_reset(t);
> > > +	dst_cache_reset(&t->dst_cache);
> > >  	dev_put(dev);
> > >  }
> > >  
> > > @@ -640,7 +640,7 @@ static netdev_tx_t ip6gre_xmit2(struct s
> > >  	}
> > >  
> > >  	if (!fl6->flowi6_mark)
> > > -		dst = ip6_tnl_dst_get(tunnel);
> > > +		dst = dst_cache_get(&tunnel->dst_cache);
> > >  
> > >  	if (!dst) {
> > >  		dst = ip6_route_output(net, NULL, fl6);
> > > @@ -709,7 +709,7 @@ static netdev_tx_t ip6gre_xmit2(struct s
> > >  	}
> > >  
> > >  	if (!fl6->flowi6_mark && ndst)
> > > -		ip6_tnl_dst_set(tunnel, ndst);
> > > +		dst_cache_set_ip6(&tunnel->dst_cache, ndst, &fl6->saddr);
> > >  	skb_dst_set(skb, dst);
> > >  
> > >  	proto = NEXTHDR_GRE;
> > > @@ -1017,7 +1017,7 @@ static int ip6gre_tnl_change(struct ip6_
> > >  	t->parms.o_key = p->o_key;
> > >  	t->parms.i_flags = p->i_flags;
> > >  	t->parms.o_flags = p->o_flags;
> > > -	ip6_tnl_dst_reset(t);
> > > +	dst_cache_reset(&t->dst_cache);
> > >  	ip6gre_tnl_link_config(t, set_mtu);
> > >  	return 0;
> > >  }
> > > @@ -1228,7 +1228,7 @@ static void ip6gre_dev_free(struct net_d
> > >  {
> > >  	struct ip6_tnl *t = netdev_priv(dev);
> > >  
> > > -	ip6_tnl_dst_destroy(t);
> > > +	dst_cache_destroy(&t->dst_cache);
> > >  	free_percpu(dev->tstats);
> > >  	free_netdev(dev);
> > >  }
> > > @@ -1266,7 +1266,7 @@ static int ip6gre_tunnel_init_common(str
> > >  	if (!dev->tstats)
> > >  		return -ENOMEM;
> > >  
> > > -	ret = ip6_tnl_dst_init(tunnel);
> > > +	ret = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL);
> > >  	if (ret) {
> > >  		free_percpu(dev->tstats);
> > >  		dev->tstats = NULL;
> > > --- a/net/ipv6/ip6_tunnel.c
> > > +++ b/net/ipv6/ip6_tunnel.c
> > > @@ -122,97 +122,6 @@ static struct net_device_stats *ip6_get_
> > >  	return &dev->stats;
> > >  }
> > >  
> > > -/*
> > > - * Locking : hash tables are protected by RCU and RTNL
> > > - */
> > > -
> > > -static void ip6_tnl_per_cpu_dst_set(struct ip6_tnl_dst *idst,
> > > -				    struct dst_entry *dst)
> > > -{
> > > -	write_seqlock_bh(&idst->lock);
> > > -	dst_release(rcu_dereference_protected(
> > > -			    idst->dst,
> > > -			    lockdep_is_held(&idst->lock.lock)));
> > > -	if (dst) {
> > > -		dst_hold(dst);
> > > -		idst->cookie = rt6_get_cookie((struct rt6_info *)dst);
> > > -	} else {
> > > -		idst->cookie = 0;
> > > -	}
> > > -	rcu_assign_pointer(idst->dst, dst);
> > > -	write_sequnlock_bh(&idst->lock);
> > > -}
> > > -
> > > -struct dst_entry *ip6_tnl_dst_get(struct ip6_tnl *t)
> > > -{
> > > -	struct ip6_tnl_dst *idst;
> > > -	struct dst_entry *dst;
> > > -	unsigned int seq;
> > > -	u32 cookie;
> > > -
> > > -	idst = raw_cpu_ptr(t->dst_cache);
> > > -
> > > -	rcu_read_lock();
> > > -	do {
> > > -		seq = read_seqbegin(&idst->lock);
> > > -		dst = rcu_dereference(idst->dst);
> > > -		cookie = idst->cookie;
> > > -	} while (read_seqretry(&idst->lock, seq));
> > > -
> > > -	if (dst && !atomic_inc_not_zero(&dst->__refcnt))
> > > -		dst = NULL;
> > > -	rcu_read_unlock();
> > > -
> > > -	if (dst && dst->obsolete && !dst->ops->check(dst, cookie)) {
> > > -		ip6_tnl_per_cpu_dst_set(idst, NULL);
> > > -		dst_release(dst);
> > > -		dst = NULL;
> > > -	}
> > > -	return dst;
> > > -}
> > > -EXPORT_SYMBOL_GPL(ip6_tnl_dst_get);
> > > -
> > > -void ip6_tnl_dst_reset(struct ip6_tnl *t)
> > > -{
> > > -	int i;
> > > -
> > > -	for_each_possible_cpu(i)
> > > -		ip6_tnl_per_cpu_dst_set(per_cpu_ptr(t->dst_cache, i), NULL);
> > > -}
> > > -EXPORT_SYMBOL_GPL(ip6_tnl_dst_reset);
> > > -
> > > -void ip6_tnl_dst_set(struct ip6_tnl *t, struct dst_entry *dst)
> > > -{
> > > -	ip6_tnl_per_cpu_dst_set(raw_cpu_ptr(t->dst_cache), dst);
> > > -
> > > -}
> > > -EXPORT_SYMBOL_GPL(ip6_tnl_dst_set);
> > > -
> > > -void ip6_tnl_dst_destroy(struct ip6_tnl *t)
> > > -{
> > > -	if (!t->dst_cache)
> > > -		return;
> > > -
> > > -	ip6_tnl_dst_reset(t);
> > > -	free_percpu(t->dst_cache);
> > > -}
> > > -EXPORT_SYMBOL_GPL(ip6_tnl_dst_destroy);
> > > -
> > > -int ip6_tnl_dst_init(struct ip6_tnl *t)
> > > -{
> > > -	int i;
> > > -
> > > -	t->dst_cache = alloc_percpu(struct ip6_tnl_dst);
> > > -	if (!t->dst_cache)
> > > -		return -ENOMEM;
> > > -
> > > -	for_each_possible_cpu(i)
> > > -		seqlock_init(&per_cpu_ptr(t->dst_cache, i)->lock);
> > > -
> > > -	return 0;
> > > -}
> > > -EXPORT_SYMBOL_GPL(ip6_tnl_dst_init);
> > > -
> > >  /**
> > >   * ip6_tnl_lookup - fetch tunnel matching the end-point addresses
> > >   *   @remote: the address of the tunnel exit-point
> > > @@ -331,7 +240,7 @@ static void ip6_dev_free(struct net_devi
> > >  {
> > >  	struct ip6_tnl *t = netdev_priv(dev);
> > >  
> > > -	ip6_tnl_dst_destroy(t);
> > > +	dst_cache_destroy(&t->dst_cache);
> > >  	free_percpu(dev->tstats);
> > >  	free_netdev(dev);
> > >  }
> > > @@ -464,7 +373,7 @@ ip6_tnl_dev_uninit(struct net_device *de
> > >  		RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
> > >  	else
> > >  		ip6_tnl_unlink(ip6n, t);
> > > -	ip6_tnl_dst_reset(t);
> > > +	dst_cache_reset(&t->dst_cache);
> > >  	dev_put(dev);
> > >  }
> > >  
> > > @@ -1053,7 +962,6 @@ static int ip6_tnl_xmit2(struct sk_buff
> > >  	struct ipv6_tel_txoption opt;
> > >  	struct dst_entry *dst = NULL, *ndst = NULL;
> > >  	struct net_device *tdev;
> > > -	bool use_cache = false;
> > >  	int mtu;
> > >  	unsigned int max_headroom = sizeof(struct ipv6hdr);
> > >  	u8 proto;
> > > @@ -1061,39 +969,28 @@ static int ip6_tnl_xmit2(struct sk_buff
> > >  
> > >  	/* NBMA tunnel */
> > >  	if (ipv6_addr_any(&t->parms.raddr)) {
> > > -		if (skb->protocol == htons(ETH_P_IPV6)) {
> > > -			struct in6_addr *addr6;
> > > -			struct neighbour *neigh;
> > > -			int addr_type;
> > > -
> > > -			if (!skb_dst(skb))
> > > -				goto tx_err_link_failure;
> > > -
> > > -			neigh = dst_neigh_lookup(skb_dst(skb),
> > > -						 &ipv6_hdr(skb)->daddr);
> > > -			if (!neigh)
> > > -				goto tx_err_link_failure;
> > > +		struct in6_addr *addr6;
> > > +		struct neighbour *neigh;
> > > +		int addr_type;
> > > +
> > > +		if (!skb_dst(skb))
> > > +			goto tx_err_link_failure;
> > >  
> > > -			addr6 = (struct in6_addr *)&neigh->primary_key;
> > > -			addr_type = ipv6_addr_type(addr6);
> > > +		neigh = dst_neigh_lookup(skb_dst(skb),
> > > +					 &ipv6_hdr(skb)->daddr);
> > > +		if (!neigh)
> > > +			goto tx_err_link_failure;
> > >  
> > > -			if (addr_type == IPV6_ADDR_ANY)
> > > -				addr6 = &ipv6_hdr(skb)->daddr;
> > > +		addr6 = (struct in6_addr *)&neigh->primary_key;
> > > +		addr_type = ipv6_addr_type(addr6);
> > >  
> > > -			memcpy(&fl6->daddr, addr6, sizeof(fl6->daddr));
> > > -			neigh_release(neigh);
> > > -		}
> > > -	} else if (t->parms.proto != 0 && !(t->parms.flags &
> > > -					    (IP6_TNL_F_USE_ORIG_TCLASS |
> > > -					     IP6_TNL_F_USE_ORIG_FWMARK))) {
> > > -		/* enable the cache only if neither the outer protocol nor the
> > > -		 * routing decision depends on the current inner header value
> > > -		 */
> > > -		use_cache = true;
> > > -	}
> > > +		if (addr_type == IPV6_ADDR_ANY)
> > > +			addr6 = &ipv6_hdr(skb)->daddr;
> > >  
> > > -	if (use_cache)
> > > -		dst = ip6_tnl_dst_get(t);
> > > +		memcpy(&fl6->daddr, addr6, sizeof(fl6->daddr));
> > > +		neigh_release(neigh);
> > > +	} else if (!fl6->flowi6_mark)
> > > +		dst = dst_cache_get(&t->dst_cache);
> > >  
> > >  	if (!ip6_tnl_xmit_ctl(t, &fl6->saddr, &fl6->daddr))
> > >  		goto tx_err_link_failure;
> > > @@ -1156,8 +1053,8 @@ static int ip6_tnl_xmit2(struct sk_buff
> > >  		skb = new_skb;
> > >  	}
> > >  
> > > -	if (use_cache && ndst)
> > > -		ip6_tnl_dst_set(t, ndst);
> > > +	if (!fl6->flowi6_mark && ndst)
> > > +		dst_cache_set_ip6(&t->dst_cache, ndst, &fl6->saddr);
> > >  	skb_dst_set(skb, dst);
> > >  
> > >  	skb->transport_header = skb->network_header;
> > > @@ -1392,7 +1289,7 @@ ip6_tnl_change(struct ip6_tnl *t, const
> > >  	t->parms.flowinfo = p->flowinfo;
> > >  	t->parms.link = p->link;
> > >  	t->parms.proto = p->proto;
> > > -	ip6_tnl_dst_reset(t);
> > > +	dst_cache_reset(&t->dst_cache);
> > >  	ip6_tnl_link_config(t);
> > >  	return 0;
> > >  }
> > > @@ -1663,7 +1560,7 @@ ip6_tnl_dev_init_gen(struct net_device *
> > >  	if (!dev->tstats)
> > >  		return -ENOMEM;
> > >  
> > > -	ret = ip6_tnl_dst_init(t);
> > > +	ret = dst_cache_init(&t->dst_cache, GFP_KERNEL);
> > >  	if (ret) {
> > >  		free_percpu(dev->tstats);
> > >  		dev->tstats = NULL;
> > > --- a/net/ipv6/ip6_vti.c
> > > +++ b/net/ipv6/ip6_vti.c
> > > @@ -645,7 +645,7 @@ vti6_tnl_change(struct ip6_tnl *t, const
> > >  	t->parms.i_key = p->i_key;
> > >  	t->parms.o_key = p->o_key;
> > >  	t->parms.proto = p->proto;
> > > -	ip6_tnl_dst_reset(t);
> > > +	dst_cache_reset(&t->dst_cache);
> > >  	vti6_link_config(t);
> > >  	return 0;
> > >  }
> > > 
> > >
> > 
> > It may also be wise to take these two commits from mainline, as they
> > are along the same lines as this one:
> > 
> > 09acddf873b ("ip_tunnel: replace dst_cache with generic implementation")
> > 27337e16f2d ("ip_tunnel: fix preempt warning in ip tunnel creation/updating")
> 
> Ah, good idea.
> 
> > There is a minor conflict with the first one due to stable commit
> > 6f99825e7632 ("sit: fix a double free on error path").
> > 
> > I'll most likely carry them anyways, it fixes a build error with some
> > out of tree code but less out of tree code I have, the better!
> 
> I'll do that for the next release.  What "out of tree" code relies on
> this?  Something from the CAF tree that is not merged upstream?
> 
> thanks,
> 
> greg k-h

WireGuard. For any tree that didn't have dst_cache, it was backported
and used automatically but if dst_cache is present, it was implicitly
relying on DST_CACHE being selected through NET_UDP_TUNNEL (which is
how I found those commits). Jason has since fixed it:

https://git.zx2c4.com/WireGuard/commit/?id=b3722a8b0578630794776ece5710e6a47155aa92

I'd still say those commits are worth adding since they are part of that
series.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 002/193] net: replace dst_cache ip6_tunnel implementation with the generic one
  @ 2018-02-26 16:03 99%       ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-02-26 16:03 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, stable, Paolo Abeni, David S. Miller, Manoj Boopathi Raj

On Mon, Feb 26, 2018 at 01:59:01PM +0100, Greg Kroah-Hartman wrote:
> On Fri, Feb 23, 2018 at 04:00:08PM -0700, Nathan Chancellor wrote:
> > It may also be wise to take these two commits from mainline, as they
> > are along the same lines as this one:
> > 
> > 09acddf873b ("ip_tunnel: replace dst_cache with generic implementation")
> 
> Your SHA1s are odd, this should be e09acddf873b
> 
> > 27337e16f2d ("ip_tunnel: fix preempt warning in ip tunnel creation/updating")
> 
> And this is f27337e16f2d0e52a8d05ea599ed13cd266ac291, you lost the first
> digit for both :(
> 
> > There is a minor conflict with the first one due to stable commit
> > 6f99825e7632 ("sit: fix a double free on error path").
> 
> Thanks, now fixed that up and queued both of these.
> 
> greg k-h

Gah, sorry :( I'll double check next time!

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/22] 4.4.119-stable review
  @ 2018-02-27  0:08 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-02-27  0:08 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Feb 26, 2018 at 09:16:00PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.119 release.
> There are 22 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 Wed Feb 28 20:15:48 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.119-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
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No immediate issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/34] 4.4.120-stable review
  @ 2018-03-02 12:22 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-03-02 12:22 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Mar 02, 2018 at 09:50:56AM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.120 release.
> There are 34 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 Sun Mar  4 08:44:20 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.120-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
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH] staging: android: ashmem: Remove deadlock
  @ 2018-03-07 21:48 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-03-07 21:48 UTC (permalink / raw)
  To: Paul Lawrence
  Cc: linux-kernel, stable, Ben Hutchings, Greg Kroah-Hartman,
	Arve Hjønnevåg, Todd Kjos, Martijn Coenen, devel

On Wed, Mar 07, 2018 at 01:40:30PM -0800, Paul Lawrence wrote:
> Regression introduced in commit ce8a3a9e76d0193e2e8d74a06d275b3c324ca652
> ("staging: android: ashmem: Fix a race condition in pin ioctls")
> causing deadlock.
> 
> No need to hold ashmem_mutex while copying from user
> 
> Stacks are:
> 
> ashmem_mmap+0x53/0x400 drivers/staging/android/ashmem.c:379
> mmap_region+0x7dd/0xfd0 mm/mmap.c:1694
> do_mmap+0x57b/0xbe0 mm/mmap.c:1473
> 
> and
> 
> lock_acquire+0x12e/0x410 kernel/locking/lockdep.c:3756
> __might_fault+0x14a/0x1d0 mm/memory.c:4014
> copy_from_user arch/x86/include/asm/uaccess.h:705 [inline]
> ashmem_pin_unpin drivers/staging/android/ashmem.c:719 [inline]
> 
> Signed-off-by: Paul Lawrence <paullawrence@google.com>
> Cc: <stable@vger.kernel.org> # 4.9.x
> Cc: <stable@vger.kernel.org> # 4.4.x
> Cc: <stable@vger.kernel.org> # 3.18.x: ce8a3a9e76d01
> Cc: <stable@vger.kernel.org> # 3.18.x
> Cc: Ben Hutchings <ben@decadent.org.uk>
> ---
>  drivers/staging/android/ashmem.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c
> index 6dbba5aff191..8c55706c2cfa 100644
> --- a/drivers/staging/android/ashmem.c
> +++ b/drivers/staging/android/ashmem.c
> @@ -702,16 +702,14 @@ static int ashmem_pin_unpin(struct ashmem_area *asma, unsigned long cmd,
>  	size_t pgstart, pgend;
>  	int ret = -EINVAL;
>  
> +	if (unlikely(copy_from_user(&pin, p, sizeof(pin))))
> +		return -EFAULT;
> +
>  	mutex_lock(&ashmem_mutex);
>  
>  	if (unlikely(!asma->file))
>  		goto out_unlock;
>  
> -	if (unlikely(copy_from_user(&pin, p, sizeof(pin)))) {
> -		ret = -EFAULT;
> -		goto out_unlock;
> -	}
> -
>  	/* per custom, you can pass zero for len to mean "everything onward" */
>  	if (!pin.len)
>  		pin.len = PAGE_ALIGN(asma->size) - pin.offset;
> -- 
> 2.16.2.395.g2e18187dfd-goog
>

Hey Paul,

Looks like this same patch is already in Greg's tree:
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?id=740a5759bf222332fbb5eda42f89aa25ba38f9b2

Cheers!
Nathan Chancellor

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/36] 4.4.121-stable review
  @ 2018-03-10  0:50 99% ` Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-03-10  0:50 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Mar 09, 2018 at 04:18:16PM -0800, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.121 release.
> There are 36 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 Mar 12 00:17:54 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.121-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
>

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No merge conflicts and no visible issues in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/36] 4.4.121-stable review
  @ 2018-03-10  1:07 99%     ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-03-10  1:07 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Mar 09, 2018 at 05:03:12PM -0800, Greg Kroah-Hartman wrote:
> On Fri, Mar 09, 2018 at 05:50:35PM -0700, Nathan Chancellor wrote:
> > On Fri, Mar 09, 2018 at 04:18:16PM -0800, Greg Kroah-Hartman wrote:
> > > This is the start of the stable review cycle for the 4.4.121 release.
> > > There are 36 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 Mar 12 00:17:54 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.121-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
> > >
> > 
> > Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.
> > 
> > No merge conflicts and no visible issues in dmesg or general usage.
> 
> That was fast, thanks!
> 
> greg k-h

I happened to run the stable queue since there was no RC when I decided
to build so the timing worked out!

Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/63] 4.4.122-stable review
  @ 2018-03-16 18:05 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-03-16 18:05 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Mar 16, 2018 at 04:22:32PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.122 release.
> There are 63 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 Sun Mar 18 15:22:41 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.122-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
>

Merged, compiled, and flashed onto my OnePlus 5 (unfortunately, my Pixel
2 XL is going in for an RMA).

No initial issues noticed in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 000/134] 4.4.123-stable review
  @ 2018-03-19 20:57 99% ` Nathan Chancellor
    1 sibling, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-03-19 20:57 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Mar 19, 2018 at 07:04:43PM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.123 release.
> There are 134 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 Wed Mar 21 17:18:04 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.123-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
>

Merged, compiled, and flashed onto my OnePlus 5.

No initial issues noticed in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 000/134] 4.4.123-stable review
  @ 2018-03-21  5:29 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-03-21  5:29 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Greg Kroah-Hartman, linux-kernel, torvalds, akpm, shuahkh,
	patches, ben.hutchings, lkft-triage, stable

On Tue, Mar 20, 2018 at 06:32:00AM -0700, Guenter Roeck wrote:
> On 03/19/2018 11:04 AM, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 4.4.123 release.
> > There are 134 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 Wed Mar 21 17:18:04 UTC 2018.
> > Anything received after that time might be too late.
> > 
> 
> For v4.4.122-134-gb4e03b4:
> 
> Build results:
> 	total: 145 pass: 140 fail: 5
> Failed builds:
> 	arm:allmodconfig
> 	powerpc:defconfig
> 	powerpc:allmodconfig
> 	powerpc:cell_defconfig
> 	powerpc:maple_defconfig
> 
> arm:allmodconfig:
> 
> drivers/net/ethernet/marvell/mvpp2.c: In function 'mvpp2_probe':
> drivers/net/ethernet/marvell/mvpp2.c:6451:10: error: 'struct mvpp2' has no member named 'hw_version'
>   if (priv->hw_version == MVPP22) {
>           ^
> drivers/net/ethernet/marvell/mvpp2.c:6451:26: error: 'MVPP22' undeclared (first use in this function)
>   if (priv->hw_version == MVPP22) {
> 

Caused by commit 6349601ed3e1 ("net: mvpp2: set dma mask and coherent
dma mask on PPv2.2"), which seems irrelevant for 4.4 since PPv2.2
support was added in 4.12 per upstream commit fc5e1550e5c3 ("net: mvpp2:
finally add the PPv2.2 compatible string").

> powerpc:
> 
> arch/powerpc/mm/hugetlbpage.c: In function 'add_huge_page_size':
> arch/powerpc/mm/hugetlbpage.c:840:2: error: implicit declaration of function 'radix_enabled'
> 

Caused by commit 17cd5e81ded7 ("powerpc/mm/hugetlb: Filter out hugepage
size not supported by page table layout"). It is introduced in 4.7 in
upstream commit 566ca99af026 ("powerpc/mm/radix: Add dummy
radix_enabled()") and not properly turned on until upstream commit
a8ed87c92adf ("powerpc/mm/radix: Add MMU_FTR_RADIX"). I am going to
assume from the fact there is a lot of MMU work after this and the
wording of the Kconfig entry that this is probably not suitable fo
a stable backport.

> Guenter

Cheers,
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/97] 4.4.124-stable review
  @ 2018-03-23 15:01 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-03-23 15:01 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Mar 23, 2018 at 10:53:47AM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.124 release.
> There are 97 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 Sun Mar 25 09:41:34 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.124-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
> 

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

Couple small conflicts from Qualcomm's changes but nothing major, I'm
sure kernel/common will have none.

No initial issues in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/43] 4.4.125-stable review
    @ 2018-03-27 18:24 99% ` Nathan Chancellor
  1 sibling, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-03-27 18:24 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Mar 27, 2018 at 06:27:04PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.125 release.
> There are 43 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 Thu Mar 29 16:27:00 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.125-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
> 

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 20/43] mm/vmalloc: add interfaces to free unmapped page table
  @ 2018-03-27 20:31 99%     ` Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-03-27 20:31 UTC (permalink / raw)
  To: Dan Rue
  Cc: Greg Kroah-Hartman, linux-kernel, stable, Lei Li, Toshi Kani,
	Catalin Marinas, Wang Xuefeng, Will Deacon, Hanjun Guo,
	Michal Hocko, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Borislav Petkov, Matthew Wilcox, Chintan Pandya, Andrew Morton,
	Linus Torvalds

On Tue, Mar 27, 2018 at 03:17:00PM -0500, Dan Rue wrote:
> On Tue, Mar 27, 2018 at 06:27:24PM +0200, Greg Kroah-Hartman wrote:
> > 4.4-stable review patch.  If anyone has any objections, please let me know.
> > 
> > ------------------
> > 
> > From: Toshi Kani <toshi.kani@hpe.com>
> > 
> > commit b6bdb7517c3d3f41f20e5c2948d6bc3f8897394e upstream.
> > 
> > On architectures with CONFIG_HAVE_ARCH_HUGE_VMAP set, ioremap() may
> > create pud/pmd mappings.  A kernel panic was observed on arm64 systems
> > with Cortex-A75 in the following steps as described by Hanjun Guo.
> > 
> >  1. ioremap a 4K size, valid page table will build,
> >  2. iounmap it, pte0 will set to 0;
> >  3. ioremap the same address with 2M size, pgd/pmd is unchanged,
> >     then set the a new value for pmd;
> >  4. pte0 is leaked;
> >  5. CPU may meet exception because the old pmd is still in TLB,
> >     which will lead to kernel panic.
> > 
> > This panic is not reproducible on x86.  INVLPG, called from iounmap,
> > purges all levels of entries associated with purged address on x86.  x86
> > still has memory leak.
> > 
> > The patch changes the ioremap path to free unmapped page table(s) since
> > doing so in the unmap path has the following issues:
> > 
> >  - The iounmap() path is shared with vunmap(). Since vmap() only
> >    supports pte mappings, making vunmap() to free a pte page is an
> >    overhead for regular vmap users as they do not need a pte page freed
> >    up.
> > 
> >  - Checking if all entries in a pte page are cleared in the unmap path
> >    is racy, and serializing this check is expensive.
> > 
> >  - The unmap path calls free_vmap_area_noflush() to do lazy TLB purges.
> >    Clearing a pud/pmd entry before the lazy TLB purges needs extra TLB
> >    purge.
> > 
> > Add two interfaces, pud_free_pmd_page() and pmd_free_pte_page(), which
> > clear a given pud/pmd entry and free up a page for the lower level
> > entries.
> > 
> > This patch implements their stub functions on x86 and arm64, which work
> > as workaround.
> > 
> > [akpm@linux-foundation.org: fix typo in pmd_free_pte_page() stub]
> > Link: http://lkml.kernel.org/r/20180314180155.19492-2-toshi.kani@hpe.com
> > Fixes: e61ce6ade404e ("mm: change ioremap to set up huge I/O mappings")
> > Reported-by: Lei Li <lious.lilei@hisilicon.com>
> > Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
> > Cc: Catalin Marinas <catalin.marinas@arm.com>
> > Cc: Wang Xuefeng <wxf.wang@hisilicon.com>
> > Cc: Will Deacon <will.deacon@arm.com>
> > Cc: Hanjun Guo <guohanjun@huawei.com>
> > Cc: Michal Hocko <mhocko@suse.com>
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Ingo Molnar <mingo@redhat.com>
> > Cc: "H. Peter Anvin" <hpa@zytor.com>
> > Cc: Borislav Petkov <bp@suse.de>
> > Cc: Matthew Wilcox <willy@infradead.org>
> > Cc: Chintan Pandya <cpandya@codeaurora.org>
> > Cc: <stable@vger.kernel.org>
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> > Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 
> This patch causes the following build error on 4.4 arm64:
> 
> $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=build-arm64 defconfig
> $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=build-arm64
> 
>   CC      arch/arm64/mm/mmu.o
> ../arch/arm64/mm/mmu.c:701:5: error: redefinition of ‘pud_free_pmd_page’
>  int pud_free_pmd_page(pud_t *pud)
>      ^~~~~~~~~~~~~~~~~
> In file included from ../arch/arm64/include/asm/pgtable.h:682:0,
>                  from ../include/linux/mm.h:55,
>                  from ../include/linux/mman.h:4,
>                  from ../arch/arm64/mm/mmu.c:25:
> ../include/asm-generic/pgtable.h:777:19: note: previous definition of ‘pud_free_pmd_page’ was here
>  static inline int pud_free_pmd_page(pud_t *pud)
>                    ^~~~~~~~~~~~~~~~~
> ../arch/arm64/mm/mmu.c:706:5: error: redefinition of ‘pmd_free_pte_page’
>  int pmd_free_pte_page(pmd_t *pmd)
>      ^~~~~~~~~~~~~~~~~
> In file included from ../arch/arm64/include/asm/pgtable.h:682:0,
>                  from ../include/linux/mm.h:55,
>                  from ../include/linux/mman.h:4,
>                  from ../arch/arm64/mm/mmu.c:25:
> ../include/asm-generic/pgtable.h:781:19: note: previous definition of ‘pmd_free_pte_page’ was here
>  static inline int pmd_free_pte_page(pmd_t *pmd)
>                    ^~~~~~~~~~~~~~~~~
> make[2]: *** [../scripts/Makefile.build:270: arch/arm64/mm/mmu.o] Error 1
> make[1]: *** [/home/drue/src/linux/4.4-rc/Makefile:969: arch/arm64/mm] Error 2
> make[1]: Leaving directory '/home/drue/src/linux/4.4-rc/build-arm64'
> make: *** [Makefile:152: sub-make] Error 2
> 
> 

Both of my arm64 devices built fine with this patch... It seems like
the only way to hit that error is if HAVE_ARCH_HUGE_VMAP isn't set,
which seems impossible since it is selected by ARM64...

Someone smarter than I might have more insight but this patch is
unchanged from upstream so I can only assume that this error would
manifest there as well.

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 20/43] mm/vmalloc: add interfaces to free unmapped page table
  @ 2018-03-27 20:47 99%         ` Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-03-27 20:47 UTC (permalink / raw)
  To: Kani, Toshi
  Cc: dan.rue, linux-kernel, torvalds, bp, tglx, lious.lilei,
	guohanjun, wxf.wang, stable, akpm, hpa, will.deacon,
	catalin.marinas, mingo, gregkh, Hocko, Michal, cpandya, willy

On Tue, Mar 27, 2018 at 08:40:56PM +0000, Kani, Toshi wrote:
> On Tue, 2018-03-27 at 13:31 -0700, Nathan Chancellor wrote:
> > On Tue, Mar 27, 2018 at 03:17:00PM -0500, Dan Rue wrote:
> > > On Tue, Mar 27, 2018 at 06:27:24PM +0200, Greg Kroah-Hartman wrote:
> > > > 4.4-stable review patch.  If anyone has any objections, please let me know.
> > > > 
>  :
> > > 
> > > This patch causes the following build error on 4.4 arm64:
> > > 
> > > $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=build-arm64 defconfig
> > > $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=build-arm64
> > > 
> > >   CC      arch/arm64/mm/mmu.o
> > > ../arch/arm64/mm/mmu.c:701:5: error: redefinition of ‘pud_free_pmd_page’
> > >  int pud_free_pmd_page(pud_t *pud)
> > >      ^~~~~~~~~~~~~~~~~
> > > In file included from ../arch/arm64/include/asm/pgtable.h:682:0,
> > >                  from ../include/linux/mm.h:55,
> > >                  from ../include/linux/mman.h:4,
> > >                  from ../arch/arm64/mm/mmu.c:25:
> > > ../include/asm-generic/pgtable.h:777:19: note: previous definition of ‘pud_free_pmd_page’ was here
> > >  static inline int pud_free_pmd_page(pud_t *pud)
> > >                    ^~~~~~~~~~~~~~~~~
> > > ../arch/arm64/mm/mmu.c:706:5: error: redefinition of ‘pmd_free_pte_page’
> > >  int pmd_free_pte_page(pmd_t *pmd)
> > >      ^~~~~~~~~~~~~~~~~
> > > In file included from ../arch/arm64/include/asm/pgtable.h:682:0,
> > >                  from ../include/linux/mm.h:55,
> > >                  from ../include/linux/mman.h:4,
> > >                  from ../arch/arm64/mm/mmu.c:25:
> > > ../include/asm-generic/pgtable.h:781:19: note: previous definition of ‘pmd_free_pte_page’ was here
> > >  static inline int pmd_free_pte_page(pmd_t *pmd)
> > >                    ^~~~~~~~~~~~~~~~~
> > > make[2]: *** [../scripts/Makefile.build:270: arch/arm64/mm/mmu.o] Error 1
> > > make[1]: *** [/home/drue/src/linux/4.4-rc/Makefile:969: arch/arm64/mm] Error 2
> > > make[1]: Leaving directory '/home/drue/src/linux/4.4-rc/build-arm64'
> > > make: *** [Makefile:152: sub-make] Error 2
> > > 
> > > 
> > 
> > Both of my arm64 devices built fine with this patch... It seems like
> > the only way to hit that error is if HAVE_ARCH_HUGE_VMAP isn't set,
> > which seems impossible since it is selected by ARM64...
> > 
> > Someone smarter than I might have more insight but this patch is
> > unchanged from upstream so I can only assume that this error would
> > manifest there as well.
> 
> It appears that HAVE_ARCH_HUGE_VMAP was introduced in 4.6 on arm64. 
> Hence the problem in 4.4.
> 
> Thanks,
> -Toshi
> 

Ah, thanks for the heads up, since I have 324420bf91f6 ("arm64: add
support for ioremap() block mappings") in my tree due to Linaro's
backport of it for their Linaro Stable Kernel, which serves as a base
for most Android kernels. My apologies for not digging deeper and sorry
for the noise!

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 20/43] mm/vmalloc: add interfaces to free unmapped page table
  @ 2018-03-28  6:47 92%             ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-03-28  6:47 UTC (permalink / raw)
  To: gregkh
  Cc: Kani, Toshi, dan.rue, linux-kernel, torvalds, bp, tglx,
	lious.lilei, guohanjun, wxf.wang, stable, akpm, hpa, will.deacon,
	catalin.marinas, mingo, Hocko, Michal, cpandya, willy

On Wed, Mar 28, 2018 at 08:32:02AM +0200, gregkh@linuxfoundation.org wrote:
> On Tue, Mar 27, 2018 at 01:47:55PM -0700, Nathan Chancellor wrote:
> > On Tue, Mar 27, 2018 at 08:40:56PM +0000, Kani, Toshi wrote:
> > > On Tue, 2018-03-27 at 13:31 -0700, Nathan Chancellor wrote:
> > > > On Tue, Mar 27, 2018 at 03:17:00PM -0500, Dan Rue wrote:
> > > > > On Tue, Mar 27, 2018 at 06:27:24PM +0200, Greg Kroah-Hartman wrote:
> > > > > > 4.4-stable review patch.  If anyone has any objections, please let me know.
> > > > > > 
> > >  :
> > > > > 
> > > > > This patch causes the following build error on 4.4 arm64:
> > > > > 
> > > > > $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=build-arm64 defconfig
> > > > > $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=build-arm64
> > > > > 
> > > > >   CC      arch/arm64/mm/mmu.o
> > > > > ../arch/arm64/mm/mmu.c:701:5: error: redefinition of ‘pud_free_pmd_page’
> > > > >  int pud_free_pmd_page(pud_t *pud)
> > > > >      ^~~~~~~~~~~~~~~~~
> > > > > In file included from ../arch/arm64/include/asm/pgtable.h:682:0,
> > > > >                  from ../include/linux/mm.h:55,
> > > > >                  from ../include/linux/mman.h:4,
> > > > >                  from ../arch/arm64/mm/mmu.c:25:
> > > > > ../include/asm-generic/pgtable.h:777:19: note: previous definition of ‘pud_free_pmd_page’ was here
> > > > >  static inline int pud_free_pmd_page(pud_t *pud)
> > > > >                    ^~~~~~~~~~~~~~~~~
> > > > > ../arch/arm64/mm/mmu.c:706:5: error: redefinition of ‘pmd_free_pte_page’
> > > > >  int pmd_free_pte_page(pmd_t *pmd)
> > > > >      ^~~~~~~~~~~~~~~~~
> > > > > In file included from ../arch/arm64/include/asm/pgtable.h:682:0,
> > > > >                  from ../include/linux/mm.h:55,
> > > > >                  from ../include/linux/mman.h:4,
> > > > >                  from ../arch/arm64/mm/mmu.c:25:
> > > > > ../include/asm-generic/pgtable.h:781:19: note: previous definition of ‘pmd_free_pte_page’ was here
> > > > >  static inline int pmd_free_pte_page(pmd_t *pmd)
> > > > >                    ^~~~~~~~~~~~~~~~~
> > > > > make[2]: *** [../scripts/Makefile.build:270: arch/arm64/mm/mmu.o] Error 1
> > > > > make[1]: *** [/home/drue/src/linux/4.4-rc/Makefile:969: arch/arm64/mm] Error 2
> > > > > make[1]: Leaving directory '/home/drue/src/linux/4.4-rc/build-arm64'
> > > > > make: *** [Makefile:152: sub-make] Error 2
> > > > > 
> > > > > 
> > > > 
> > > > Both of my arm64 devices built fine with this patch... It seems like
> > > > the only way to hit that error is if HAVE_ARCH_HUGE_VMAP isn't set,
> > > > which seems impossible since it is selected by ARM64...
> > > > 
> > > > Someone smarter than I might have more insight but this patch is
> > > > unchanged from upstream so I can only assume that this error would
> > > > manifest there as well.
> > > 
> > > It appears that HAVE_ARCH_HUGE_VMAP was introduced in 4.6 on arm64. 
> > > Hence the problem in 4.4.
> > > 
> > > Thanks,
> > > -Toshi
> > > 
> > 
> > Ah, thanks for the heads up, since I have 324420bf91f6 ("arm64: add
> > support for ioremap() block mappings") in my tree due to Linaro's
> > backport of it for their Linaro Stable Kernel, which serves as a base
> > for most Android kernels. My apologies for not digging deeper and sorry
> > for the noise!
> 
> So should I just drop this patch?

Unless I am reading the commit message wrong and ignoring the fact that
the mainling commit applied cleanly to 4.4.124, it seems like this is
still relevant for x86.

Toshi suggested dropping the changes to arch/arm64/mm/mmu.c, which won't
be a problem for arm64 devices running the stable kernels as they come
because they don't have HAVE_ARCH_HUGE_VMAP so they shouldn't be hitting
the bug mentioned in the commit message anyways.

However, for Android devices which have the mainline commit I mentioned
above introducing HAVE_ARCH_HUGE_VMAP, dropping those changes would mean
this commit isn't fixing the issue it mentions, which they would be able
to hit in theory.

I don't know how you want to handle that but a simple suggestion that
would not change the end result of the patch for both the stable tree
and frankenkernels would be to add a simple

#ifdef CONFIG_ARCH_HAVE_HUGE_VMAP

around the changes in arch/arm64/mm/mmu.c.

I'll let you be the final judge though! Cheers,
Nathan

^ permalink raw reply	[relevance 92%]

* Re: [PATCH 4.4 00/20] 4.4.126-stable review
  @ 2018-03-29 19:17 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-03-29 19:17 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Thu, Mar 29, 2018 at 08:00:36PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.126 release.
> There are 20 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 Sat Mar 31 17:57:30 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.126-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
> 

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No issues noticed in general usage or dmesg. Feels like it's been a
while since there has been an update this small ha...

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: Regression in v4.4.124 due to 'genirq: Use irqd_get_trigger_type to compare ..'
  @ 2018-03-29 21:07 99%       ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-03-29 21:07 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Greg Kroah-Hartman, Marc Zyngier, stable, Hans de Goede

On Thu, Mar 29, 2018 at 01:28:45PM -0700, Guenter Roeck wrote:
> Hi Greg,
> 
> On Thu, Mar 29, 2018 at 10:54:34AM -0700, Guenter Roeck wrote:
> > On Thu, Mar 29, 2018 at 08:32:01AM +0200, Greg Kroah-Hartman wrote:
> > > On Wed, Mar 28, 2018 at 02:59:18PM -0700, Guenter Roeck wrote:
> > > > Hi Greg,
> > > > 
> > > > commit 9d0273bb1c4b64 ("genirq: Use irqd_get_trigger_type to compare the trigger
> > > > type for shared IRQs") causes a regression in v4.4.124. The problem has been fixed
> > > > upstream with commit 4f8413a3a799 ("genirq: Track whether the trigger type has
> > > > been set"). Please apply that patch to v4.4.y at your earliest convenience.
> > > > 
> > > > The patch does not apply cleanly; you'll get a conflict include/linux/irq.h.
> > > > The fix is simple - just take the version introduced by the patch. It adds
> > > > a couple of extra defines, but those don't hurt and just keep the code aligned
> > > > with upstream.
> > > 
> > > Thanks, this was also needed for 4.9.y and 3.18.y.
> > > 
> > 
> > Odd that I didn't see the problem there. But then I still see the following
> > in 4.4.y after the above was added.
> > 
> > genirq: Flags mismatch irq 24. 00000080 ([PCI] PME) vs. 00000080 ([EDAC] PCI err)
> > 
> > This is with powerpc:mpc8544ds:mpc85xx_defconfig. I do _not_ see this problem
> > in v4.9+.
> > 
> > Looks like I'll need to spend more time on this.
> > 
> I confirmed that this is still broken in 4.4.y, even after 4f8413a3a799 has been applied.
> 
> Example output on a Acer 15.6" APL Chromebook, with both patches applied:
> 
> [    0.240913] gpiochip_find_base: found new base at 434
> [    0.240956] gpiochip_add_data: registered GPIOs 434 to 511 on device: INT3452:00
> [    0.240960] GPIO chip INT3452:00: created GPIO range 0->77 ==> INT3452:00 PIN 0->77
> [    0.241311] gpiochip_find_base: found new base at 357
> [    0.241347] gpiochip_add_data: registered GPIOs 357 to 433 on device: INT3452:01
> [    0.241350] GPIO chip INT3452:01: created GPIO range 0->76 ==> INT3452:01 PIN 0->76
> [    0.241353] genirq: Flags mismatch irq 14. 00000080 (INT3452:01) vs. 00000080 (INT3452:00)
> [    0.242055] broxton-pinctrl INT3452:01: failed to request interrupt
> [    0.242696] broxton-pinctrl: probe of INT3452:01 failed with error -16
> [    0.243452] gpiochip_find_base: found new base at 387
> [    0.243490] gpiochip_add_data: registered GPIOs 387 to 433 on device: INT3452:02
> [    0.243493] GPIO chip INT3452:02: created GPIO range 0->46 ==> INT3452:02 PIN 0->46
> [    0.243496] genirq: Flags mismatch irq 14. 00000080 (INT3452:02) vs. 00000080 (INT3452:00)
> [    0.244195] broxton-pinctrl INT3452:02: failed to request interrupt
> [    0.244813] broxton-pinctrl: probe of INT3452:02 failed with error -16
> [    0.245549] gpiochip_find_base: found new base at 391
> [    0.245585] gpiochip_add_data: registered GPIOs 391 to 433 on device: INT3452:03
> [    0.245588] GPIO chip INT3452:03: created GPIO range 0->42 ==> INT3452:03 PIN 0->42
> [    0.245591] genirq: Flags mismatch irq 14. 00000080 (INT3452:03) vs. 00000080 (INT3452:00)
> [    0.246322] broxton-pinctrl INT3452:03: failed to request interrupt
> [    0.246912] broxton-pinctrl: probe of INT3452:03 failed with error -16
> 
> Reverting 9d0273bb1c4b64 after the v4.4.124 merge into chromeos-4.4 fixes
> the problem.
> 
> At this point I got a bit frantic and decided to try the shotgun approach.
> I applied
> 
> 4b357daed698 genirq: Look-up trigger type if not specified by caller
> f35ad083783e genirq: Look-up percpu trigger type if not specified by caller
> 00b992deaa08 genirq: No need to mask non trigger mode flags before __irq_set_trigger()
> 7ee7e87dfb15 genirq: Use irq type from irqdata instead of irqdesc
> 	(minor conflicts due to pr_warning -> pr_warn)
> 
> on top of v4.4.124. With those patches applied, the problem went away, both
> on the Acer Chromebook and the qemu test which previously failed. Note that
> I have _no_ idea if this is correct, necessary, and/or complete. All I know
> is that it fixes the problems I have found so far.

My guess would be the first one based on the logs and the commit mesage
of 9d0273bb1c4b64. It seems like all five are basically a series so it
should be all or none. I'd say the safer bet would be to revert
9d02733bb1c4b64 since the fact 4b357daed698 hasn't been requested before
means not many devices on 4.4 need that functionality. Just my two cents
which may be totally incorrect.

> 
> Overall question is why 9d0273bb1c4b64 was applied to v4.4.y in the first place.
> It does cause a whole lot of trouble. Was that really worth it ?
> 

It came in via Sasha's auto selection process: https://lkml.org/lkml/2018/3/8/177

> Guenter

^ permalink raw reply	[relevance 99%]

* [PATCH] phy: tegra: Remote self cast in tegra_xusb_port_find_lane
@ 2018-04-01  6:57 99% Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-01  6:57 UTC (permalink / raw)
  To: Kishon Vijay Abraham I
  Cc: linux-kernel, linux-tegra, Thierry Reding, Jonathan Hunter,
	Nathan Chancellor

Clang warns about casting variables to themselves because it is rarely
necessary. Removing the cast should not change anything regarding the
code and silences the warning.

../drivers/phy/tegra/xusb.c:421:11: warning: explicitly assigning value
of variable of type 'const struct tegra_xusb_lane_map *' to itself
[-Wself-assign]
        for (map = map; map->type; map++) {
             ~~~ ^ ~~~

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
I am not entirely sure if this is the correct solution, especially since
I don't have the hardware and I am not too familiar with this code. If
there is a better solution, please let me know.

 drivers/phy/tegra/xusb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/phy/tegra/xusb.c b/drivers/phy/tegra/xusb.c
index 63e916d4d069..11aa5902a9ac 100644
--- a/drivers/phy/tegra/xusb.c
+++ b/drivers/phy/tegra/xusb.c
@@ -418,7 +418,7 @@ tegra_xusb_port_find_lane(struct tegra_xusb_port *port,
 {
 	struct tegra_xusb_lane *lane, *match = ERR_PTR(-ENODEV);
 
-	for (map = map; map->type; map++) {
+	for (; map->type; map++) {
 		if (port->index != map->port)
 			continue;
 
-- 
2.16.3

^ permalink raw reply related	[relevance 99%]

* Clang warning fixes for 4.4 and 4.9
@ 2018-04-01 10:44 96% Nathan Chancellor
      0 siblings, 2 replies; 200+ results
From: Nathan Chancellor @ 2018-04-01 10:44 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: stable

Hi Greg,

Please apply the following commits to both 4.4 and 4.9:

9280cdd6fe5b ("fs: compat: Remove warning from COMPATIBLE_IOCTL")
342e91578eb6 ("selinux: Remove unnecessary check of array base in selinux_set_mapping()")
f7e30f01a9e2 ("cpumask: Add helper cpumask_available()")
d170fe7dd992 ("genirq: Use cpumask_available() for check of cpumask variable")
7c30f352c852 ("jiffies.h: declare jiffies and jiffies_64 with ____cacheline_aligned_in_smp")
60b0a8c3d248 ("frv: declare jiffies to be located in the .data section")
eee6ebbac18a ("netfilter: nf_nat_h323: fix logical-not-parentheses warning")
dae1a432ab1f ("Input: mousedev - fix implicit conversion warning")
e36215d87f30 ("dm ioctl: remove double parentheses")
76dc52684d0f ("PCI: Make PCI_ROM_ADDRESS_MASK a 32-bit constant")

Please apply the following commits to only 4.4:

c877ef8ae7b8 ("writeback: fix the wrong congested state variable definition")
452889788591 ("ACPI, PCI, irq: remove redundant check for null string pointer")
db0a6fb5d97a ("audit: add tty field to LOGIN event")

Please apply the following commits to only 4.9:

270e8573145a ("selinux: Remove redundant check for unknown labeling behavior")
82cd58805281 ("arm64: avoid overflow in VA_START and PAGE_OFFSET")
0dde10bed2c4 ("btrfs: Remove extra parentheses from condition in copy_items()")
a4ac6f2e53e5 ("mac80211: ibss: Fix channel type enum in ieee80211_sta_join_ibss()")
93f56de25937 ("mac80211: Fix clang warning about constant operand in logical operation")
a2b7cbdd2559 ("netfilter: ctnetlink: Make some parameters integer to avoid enum mismatch")
765a1077c85e ("HID: sony: Use LED_CORE_SUSPENDRESUME")
aa1702dd162f ("cfg80211: Fix array-bounds warning in fragment copy")
bbf67e450a5d ("nl80211: Fix enum type of variable in nl80211_put_sta_rate()")
1f3d62090d3b ("xgene_enet: remove bogus forward declarations")
8a8b161df5ce ("usb: gadget: remove redundant self assignment")

I have verified these all pick clean. I will send separate patches for
the fixes that did not. I have verified everything builds properly with
both GCC and Clang on arm and arm64.

Thanks!
Nathan

^ permalink raw reply	[relevance 96%]

* [PATCH v2] phy: tegra: Remove self cast in tegra_xusb_port_find_lane
@ 2018-04-01 11:04 99% Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-04-01 11:04 UTC (permalink / raw)
  To: Kishon Vijay Abraham I
  Cc: linux-kernel, linux-tegra, Thierry Reding, Jonathan Hunter,
	Nathan Chancellor

Clang warns about casting variables to themselves because it is rarely
necessary. Removing the cast should not change anything regarding the
code and silences the warning.

../drivers/phy/tegra/xusb.c:421:11: warning: explicitly assigning value
of variable of type 'const struct tegra_xusb_lane_map *' to itself
[-Wself-assign]
        for (map = map; map->type; map++) {
             ~~~ ^ ~~~

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
I am not entirely sure if this is the correct solution, especially since
I don't have the hardware and I am not too familiar with this code. If
there is a better solution, please let me know.

Changes from v1 -> v2: Fix spelling error in commit title

 drivers/phy/tegra/xusb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/phy/tegra/xusb.c b/drivers/phy/tegra/xusb.c
index 63e916d4d069..11aa5902a9ac 100644
--- a/drivers/phy/tegra/xusb.c
+++ b/drivers/phy/tegra/xusb.c
@@ -418,7 +418,7 @@ tegra_xusb_port_find_lane(struct tegra_xusb_port *port,
 {
 	struct tegra_xusb_lane *lane, *match = ERR_PTR(-ENODEV);
 
-	for (map = map; map->type; map++) {
+	for (; map->type; map++) {
 		if (port->index != map->port)
 			continue;
 
-- 
2.16.3

^ permalink raw reply related	[relevance 99%]

* Re: [PATCH v2] phy: tegra: Remove self cast in tegra_xusb_port_find_lane
  @ 2018-04-03 12:39 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-03 12:39 UTC (permalink / raw)
  To: Thierry Reding
  Cc: Kishon Vijay Abraham I, linux-kernel, linux-tegra, Jonathan Hunter

On Tue, Apr 03, 2018 at 12:49:16PM +0200, Thierry Reding wrote:
> On Sun, Apr 01, 2018 at 04:04:10AM -0700, Nathan Chancellor wrote:
> > Clang warns about casting variables to themselves because it is rarely
> > necessary. Removing the cast should not change anything regarding the
> > code and silences the warning.
> > 
> > ../drivers/phy/tegra/xusb.c:421:11: warning: explicitly assigning value
> > of variable of type 'const struct tegra_xusb_lane_map *' to itself
> > [-Wself-assign]
> >         for (map = map; map->type; map++) {
> >              ~~~ ^ ~~~
> > 
> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> > ---
> > I am not entirely sure if this is the correct solution, especially since
> > I don't have the hardware and I am not too familiar with this code. If
> > there is a better solution, please let me know.
> > 
> > Changes from v1 -> v2: Fix spelling error in commit title
> > 
> >  drivers/phy/tegra/xusb.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/phy/tegra/xusb.c b/drivers/phy/tegra/xusb.c
> > index 63e916d4d069..11aa5902a9ac 100644
> > --- a/drivers/phy/tegra/xusb.c
> > +++ b/drivers/phy/tegra/xusb.c
> > @@ -418,7 +418,7 @@ tegra_xusb_port_find_lane(struct tegra_xusb_port *port,
> >  {
> >  	struct tegra_xusb_lane *lane, *match = ERR_PTR(-ENODEV);
> >  
> > -	for (map = map; map->type; map++) {
> > +	for (; map->type; map++) {
> >  		if (port->index != map->port)
> >  			continue;
> >  
> 
> An equivalent patch seems to already have been merged. See:
> 
> 	https://patchwork.kernel.org/patch/10072641/
> 
> You can avoid duplication of effort such as this by basing any patches
> you send on top of a recent linux-next. The above patch, for example,
> was added in next-20180223.
> 
> Thanks,
> Thierry

Hi Thierry,

Thanks for the response. My apologies for not basing on linux-next; I
thought I did a cursory glance at both the phy and tegra trees but
apparently I didn't do it close enough. Definitely won't make the same
mistake again.

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: Clang warning fixes for 4.4 and 4.9
  @ 2018-04-03 12:46 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-03 12:46 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: stable

On Tue, Apr 03, 2018 at 12:28:26PM +0200, Greg Kroah-Hartman wrote:
> On Sun, Apr 01, 2018 at 03:44:46AM -0700, Nathan Chancellor wrote:
> > db0a6fb5d97a ("audit: add tty field to LOGIN event")
> 
> This feels like a new feature, not a clang build warning fix, right?
> Why is it needed?
> 
> thanks,
> 
> greg k-h

It very well might but it does fix the following Clang warning:

../kernel/audit.c:1894:59: warning: address of array
'tsk->signal->tty->name' will always evaluate to 'true'
[-Wpointer-bool-conversion]
        if (tsk->signal && tsk->signal->tty && tsk->signal->tty->name)
                                            ~~ ~~~~~~~~~~~~~~~~~~^~~~
1 warning generated.

I guess a 4.4 only fix would be to remove the '&& tsk->signal->tty->name'
but I know you have said many times that just taking the patch in
Linus' tree is preferred.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: Clang warning fixes for 4.4 and 4.9
  @ 2018-04-03 13:21 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-03 13:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: stable

On Tue, Apr 03, 2018 at 03:09:19PM +0200, Greg Kroah-Hartman wrote:
> On Sun, Apr 01, 2018 at 03:44:46AM -0700, Nathan Chancellor wrote:
> > 7c30f352c852 ("jiffies.h: declare jiffies and jiffies_64 with ____cacheline_aligned_in_smp")
> 
> This patch does not apply to the 4.9.y or 4.4.y trees :(
> 

Hmmm interesting, I just picked it clean on top of 4.4.126 and 4.9.92. I
can send it separately if you would like.

Nathan

^ permalink raw reply	[relevance 99%]

* Re: [GIT PULL] commits for Linux 3.18
  @ 2018-04-05  7:40 99%   ` Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-04-05  7:40 UTC (permalink / raw)
  To: Harsh Shandilya; +Cc: Sasha Levin, Greg KH, stable

On Thu, Apr 05, 2018 at 12:32:55PM +0530, Harsh Shandilya wrote:
> 
> 
> On 5 April 2018 11:54:28 AM IST, Sasha Levin <Alexander.Levin@microsoft.com> wrote:
> >-----BEGIN PGP SIGNED MESSAGE-----
> >Hash: SHA512
> >
> >Hi Greg,
> >
> >Pleae pull commits for Linux 3.18 .
> >
> >I've sent a review request for all commits over a week ago and all
> >comments were addressed.
> >
> >
> >Thanks,
> >Sasha
> >
> >=====
> >
> >
> >The following changes since commit
> >89dad4ea47357950b8ba09886e02ff4fd0793f9e:
> >
> >  Linux 3.18.99 (2018-03-11 16:12:20 +0100)
> >
> >are available in the Git repository at:
> >
> >git://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
> >tags/for-greg-3.18-04052018
> >
> >for you to fetch changes up to
> >5ea952bd1f538212d63bbd34b42e2cc769074259:
> >
> >signal/arm: Document conflicts with SI_USER and SIGFPE (2018-04-05
> >00:51:03 -0400)
> >
> >- ----------------------------------------------------------------
> >for-greg-3.18-04052018
> >
> >- ----------------------------------------------------------------
> >Jason A. Donenfeld (1):
> >      skbuff: return -EMSGSIZE in skb_to_sgvec to prevent overflow
> >
> This patch introduces build warnings[1] with GCC 7.3.1 that were fixed upstream by commit 3f29770723fe498a5c5f57c3a31a996ebdde03e1 ("ipsec: check return value of skb_to_sgvec always").
> 
> [1] https://del.dog/delexogeqi.coffeescript
> -- 
> Sent from my Android device with K-9 Mail. Please excuse my brevity.

I have backported this commit and verified it fixes the warnings. This
affects 3.18, 4.4, and 4.9. I can send them if/when these patches are
added. No other warnings appear on arm64 and x86_64.

Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/72] 4.4.127-stable review
  @ 2018-04-06 16:25 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-06 16:25 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Apr 06, 2018 at 03:23:01PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.127 release.
> There are 72 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 Sun Apr  8 08:42:48 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.127-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
> 

Merged, compiled, and flashed on my Pixel 2 XL and OnePlus 5.

No issues noticed in general usage or dmesg (I've been running the queue
over the past few days to stay on top of any issues).

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [GIT PULL] commits for Linux 3.18
  @ 2018-04-09 16:14 99%       ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-09 16:14 UTC (permalink / raw)
  To: Greg KH; +Cc: Harsh Shandilya, Sasha Levin, stable

On Mon, Apr 09, 2018 at 05:12:49PM +0200, Greg KH wrote:
> On Thu, Apr 05, 2018 at 12:40:48AM -0700, Nathan Chancellor wrote:
> > On Thu, Apr 05, 2018 at 12:32:55PM +0530, Harsh Shandilya wrote:
> > > 
> > > 
> > > On 5 April 2018 11:54:28 AM IST, Sasha Levin <Alexander.Levin@microsoft.com> wrote:
> > > >-----BEGIN PGP SIGNED MESSAGE-----
> > > >Hash: SHA512
> > > >
> > > >Hi Greg,
> > > >
> > > >Pleae pull commits for Linux 3.18 .
> > > >
> > > >I've sent a review request for all commits over a week ago and all
> > > >comments were addressed.
> > > >
> > > >
> > > >Thanks,
> > > >Sasha
> > > >
> > > >=====
> > > >
> > > >
> > > >The following changes since commit
> > > >89dad4ea47357950b8ba09886e02ff4fd0793f9e:
> > > >
> > > >  Linux 3.18.99 (2018-03-11 16:12:20 +0100)
> > > >
> > > >are available in the Git repository at:
> > > >
> > > >git://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
> > > >tags/for-greg-3.18-04052018
> > > >
> > > >for you to fetch changes up to
> > > >5ea952bd1f538212d63bbd34b42e2cc769074259:
> > > >
> > > >signal/arm: Document conflicts with SI_USER and SIGFPE (2018-04-05
> > > >00:51:03 -0400)
> > > >
> > > >- ----------------------------------------------------------------
> > > >for-greg-3.18-04052018
> > > >
> > > >- ----------------------------------------------------------------
> > > >Jason A. Donenfeld (1):
> > > >      skbuff: return -EMSGSIZE in skb_to_sgvec to prevent overflow
> > > >
> > > This patch introduces build warnings[1] with GCC 7.3.1 that were fixed upstream by commit 3f29770723fe498a5c5f57c3a31a996ebdde03e1 ("ipsec: check return value of skb_to_sgvec always").
> > > 
> > > [1] https://del.dog/delexogeqi.coffeescript
> > > -- 
> > > Sent from my Android device with K-9 Mail. Please excuse my brevity.
> > 
> > I have backported this commit and verified it fixes the warnings. This
> > affects 3.18, 4.4, and 4.9. I can send them if/when these patches are
> > added. No other warnings appear on arm64 and x86_64.
> 
> Do you happen to have a pointer to these backports?  I tried a simple
> one for 4.9.y and it didn't apply :(
> 
> thanks,
> 
> greg k-h

There was some refractoring of the arguments to skb_to_sgvec and
skb_to_sgvec_nomark in addition to the lines around them between 4.9 and
4.12. It's even worse between 3.18 and 4.4. I have the patch files
sitting right here if you want me to send them over.

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Backport of 3f29770723fe
@ 2018-04-09 18:05 99% Nathan Chancellor
  2018-04-09 18:05 79% ` [PATCH 3.18] ipsec: check return value of skb_to_sgvec always Nathan Chancellor
                   ` (2 more replies)
  0 siblings, 3 replies; 200+ results
From: Nathan Chancellor @ 2018-04-09 18:05 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable

Hi Greg,

Here is the backport of 3f29770723fe ("ipsec: check return value of
skb_to_sgvec always") for the 3.18, 4.4, and 4.9 trees, fixing the
warnings generated by 48a1df65334b ("skbuff: return -EMSGSIZE in
skb_to_sgvec to prevent overflow").

Let me know if there are any issues! First time using git send-email...
Nathan

^ permalink raw reply	[relevance 99%]

* [PATCH 3.18] ipsec: check return value of skb_to_sgvec always
  2018-04-09 18:05 99% Backport of 3f29770723fe Nathan Chancellor
@ 2018-04-09 18:05 79% ` Nathan Chancellor
  2018-04-09 18:05 79% ` [PATCH 4.4] " Nathan Chancellor
  2018-04-09 18:05 79% ` [PATCH 4.9] " Nathan Chancellor
  2 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-09 18:05 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Jason A. Donenfeld, Steffen Klassert, Herbert Xu,
	David S. Miller, Nathan Chancellor

From: "Jason A. Donenfeld" <Jason@zx2c4.com>

commit 3f29770723fe498a5c5f57c3a31a996ebdde03e1 upstream.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
[nc: Adjust context due to lack of 000ae7b2690e2 and fca11ebde3f0]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 net/ipv4/ah4.c  |  8 ++++++--
 net/ipv4/esp4.c | 12 ++++++++----
 net/ipv6/ah6.c  |  8 ++++++--
 net/ipv6/esp6.c | 12 ++++++++----
 4 files changed, 28 insertions(+), 12 deletions(-)

diff --git a/net/ipv4/ah4.c b/net/ipv4/ah4.c
index 0157f09c0de9..00de0e81eb64 100644
--- a/net/ipv4/ah4.c
+++ b/net/ipv4/ah4.c
@@ -220,7 +220,9 @@ static int ah_output(struct xfrm_state *x, struct sk_buff *skb)
 	ah->seq_no = htonl(XFRM_SKB_CB(skb)->seq.output.low);
 
 	sg_init_table(sg, nfrags + sglists);
-	skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	err = skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out_free;
 
 	if (x->props.flags & XFRM_STATE_ESN) {
 		/* Attach seqhi sg right after packet payload */
@@ -391,7 +393,9 @@ static int ah_input(struct xfrm_state *x, struct sk_buff *skb)
 	skb_push(skb, ihl);
 
 	sg_init_table(sg, nfrags + sglists);
-	skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	err = skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out_free;
 
 	if (x->props.flags & XFRM_STATE_ESN) {
 		/* Attach seqhi sg right after packet payload */
diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c
index 360b565918c4..1ccd3466f89a 100644
--- a/net/ipv4/esp4.c
+++ b/net/ipv4/esp4.c
@@ -239,9 +239,11 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
 	esph->seq_no = htonl(XFRM_SKB_CB(skb)->seq.output.low);
 
 	sg_init_table(sg, nfrags);
-	skb_to_sgvec(skb, sg,
-		     esph->enc_data + crypto_aead_ivsize(aead) - skb->data,
-		     clen + alen);
+	err = skb_to_sgvec(skb, sg,
+			   esph->enc_data + crypto_aead_ivsize(aead) - skb->data,
+			   clen + alen);
+	if (unlikely(err < 0))
+		goto error;
 
 	if ((x->props.flags & XFRM_STATE_ESN)) {
 		sg_init_table(asg, 3);
@@ -426,7 +428,9 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb)
 	iv = esph->enc_data;
 
 	sg_init_table(sg, nfrags);
-	skb_to_sgvec(skb, sg, sizeof(*esph) + crypto_aead_ivsize(aead), elen);
+	err = skb_to_sgvec(skb, sg, sizeof(*esph) + crypto_aead_ivsize(aead), elen);
+	if (unlikely(err < 0))
+		goto out;
 
 	if ((x->props.flags & XFRM_STATE_ESN)) {
 		sg_init_table(asg, 3);
diff --git a/net/ipv6/ah6.c b/net/ipv6/ah6.c
index 6d16eb0e0c7f..a472dbd3344b 100644
--- a/net/ipv6/ah6.c
+++ b/net/ipv6/ah6.c
@@ -423,7 +423,9 @@ static int ah6_output(struct xfrm_state *x, struct sk_buff *skb)
 	ah->seq_no = htonl(XFRM_SKB_CB(skb)->seq.output.low);
 
 	sg_init_table(sg, nfrags + sglists);
-	skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	err = skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out_free;
 
 	if (x->props.flags & XFRM_STATE_ESN) {
 		/* Attach seqhi sg right after packet payload */
@@ -601,7 +603,9 @@ static int ah6_input(struct xfrm_state *x, struct sk_buff *skb)
 	ip6h->hop_limit   = 0;
 
 	sg_init_table(sg, nfrags + sglists);
-	skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	err = skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out_free;
 
 	if (x->props.flags & XFRM_STATE_ESN) {
 		/* Attach seqhi sg right after packet payload */
diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c
index 83fc3a385a26..8871a98845c7 100644
--- a/net/ipv6/esp6.c
+++ b/net/ipv6/esp6.c
@@ -231,9 +231,11 @@ static int esp6_output(struct xfrm_state *x, struct sk_buff *skb)
 	esph->seq_no = htonl(XFRM_SKB_CB(skb)->seq.output.low);
 
 	sg_init_table(sg, nfrags);
-	skb_to_sgvec(skb, sg,
-		     esph->enc_data + crypto_aead_ivsize(aead) - skb->data,
-		     clen + alen);
+	err = skb_to_sgvec(skb, sg,
+			   esph->enc_data + crypto_aead_ivsize(aead) - skb->data,
+			   clen + alen);
+	if (unlikely(err < 0))
+		goto error;
 
 	if ((x->props.flags & XFRM_STATE_ESN)) {
 		sg_init_table(asg, 3);
@@ -381,7 +383,9 @@ static int esp6_input(struct xfrm_state *x, struct sk_buff *skb)
 	iv = esph->enc_data;
 
 	sg_init_table(sg, nfrags);
-	skb_to_sgvec(skb, sg, sizeof(*esph) + crypto_aead_ivsize(aead), elen);
+	ret = skb_to_sgvec(skb, sg, sizeof(*esph) + crypto_aead_ivsize(aead), elen);
+	if (unlikely(ret < 0))
+		goto out;
 
 	if ((x->props.flags & XFRM_STATE_ESN)) {
 		sg_init_table(asg, 3);
-- 
2.16.3

^ permalink raw reply related	[relevance 79%]

* [PATCH 4.4] ipsec: check return value of skb_to_sgvec always
  2018-04-09 18:05 99% Backport of 3f29770723fe Nathan Chancellor
  2018-04-09 18:05 79% ` [PATCH 3.18] ipsec: check return value of skb_to_sgvec always Nathan Chancellor
@ 2018-04-09 18:05 79% ` Nathan Chancellor
  2018-04-09 18:05 79% ` [PATCH 4.9] " Nathan Chancellor
  2 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-09 18:05 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Jason A. Donenfeld, Steffen Klassert, Herbert Xu,
	David S. Miller, Nathan Chancellor

From: "Jason A. Donenfeld" <Jason@zx2c4.com>

commit 3f29770723fe498a5c5f57c3a31a996ebdde03e1 upstream.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
[natechancellor: Adjusted context due to lack of fca11ebde3f0]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 net/ipv4/ah4.c  |  8 ++++++--
 net/ipv4/esp4.c | 13 ++++++++-----
 net/ipv6/ah6.c  |  8 ++++++--
 net/ipv6/esp6.c | 12 ++++++++----
 4 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/net/ipv4/ah4.c b/net/ipv4/ah4.c
index 22377c8ff14b..e8f862358518 100644
--- a/net/ipv4/ah4.c
+++ b/net/ipv4/ah4.c
@@ -220,7 +220,9 @@ static int ah_output(struct xfrm_state *x, struct sk_buff *skb)
 	ah->seq_no = htonl(XFRM_SKB_CB(skb)->seq.output.low);
 
 	sg_init_table(sg, nfrags + sglists);
-	skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	err = skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out_free;
 
 	if (x->props.flags & XFRM_STATE_ESN) {
 		/* Attach seqhi sg right after packet payload */
@@ -393,7 +395,9 @@ static int ah_input(struct xfrm_state *x, struct sk_buff *skb)
 	skb_push(skb, ihl);
 
 	sg_init_table(sg, nfrags + sglists);
-	skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	err = skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out_free;
 
 	if (x->props.flags & XFRM_STATE_ESN) {
 		/* Attach seqhi sg right after packet payload */
diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c
index 20fb25e3027b..3d8021d55336 100644
--- a/net/ipv4/esp4.c
+++ b/net/ipv4/esp4.c
@@ -268,10 +268,11 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
 	esph->spi = x->id.spi;
 
 	sg_init_table(sg, nfrags);
-	skb_to_sgvec(skb, sg,
-		     (unsigned char *)esph - skb->data,
-		     assoclen + ivlen + clen + alen);
-
+	err = skb_to_sgvec(skb, sg,
+		           (unsigned char *)esph - skb->data,
+		           assoclen + ivlen + clen + alen);
+	if (unlikely(err < 0))
+		goto error;
 	aead_request_set_crypt(req, sg, sg, ivlen + clen, iv);
 	aead_request_set_ad(req, assoclen);
 
@@ -481,7 +482,9 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb)
 	}
 
 	sg_init_table(sg, nfrags);
-	skb_to_sgvec(skb, sg, 0, skb->len);
+	err = skb_to_sgvec(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out;
 
 	aead_request_set_crypt(req, sg, sg, elen + ivlen, iv);
 	aead_request_set_ad(req, assoclen);
diff --git a/net/ipv6/ah6.c b/net/ipv6/ah6.c
index 0630a4d5daaa..0edc44cb254e 100644
--- a/net/ipv6/ah6.c
+++ b/net/ipv6/ah6.c
@@ -423,7 +423,9 @@ static int ah6_output(struct xfrm_state *x, struct sk_buff *skb)
 	ah->seq_no = htonl(XFRM_SKB_CB(skb)->seq.output.low);
 
 	sg_init_table(sg, nfrags + sglists);
-	skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	err = skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out_free;
 
 	if (x->props.flags & XFRM_STATE_ESN) {
 		/* Attach seqhi sg right after packet payload */
@@ -603,7 +605,9 @@ static int ah6_input(struct xfrm_state *x, struct sk_buff *skb)
 	ip6h->hop_limit   = 0;
 
 	sg_init_table(sg, nfrags + sglists);
-	skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	err = skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out_free;
 
 	if (x->props.flags & XFRM_STATE_ESN) {
 		/* Attach seqhi sg right after packet payload */
diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c
index 111ba55fd512..6a924be66e37 100644
--- a/net/ipv6/esp6.c
+++ b/net/ipv6/esp6.c
@@ -248,9 +248,11 @@ static int esp6_output(struct xfrm_state *x, struct sk_buff *skb)
 	esph->spi = x->id.spi;
 
 	sg_init_table(sg, nfrags);
-	skb_to_sgvec(skb, sg,
-		     (unsigned char *)esph - skb->data,
-		     assoclen + ivlen + clen + alen);
+	err = skb_to_sgvec(skb, sg,
+		           (unsigned char *)esph - skb->data,
+		           assoclen + ivlen + clen + alen);
+	if (unlikely(err < 0))
+		goto error;
 
 	aead_request_set_crypt(req, sg, sg, ivlen + clen, iv);
 	aead_request_set_ad(req, assoclen);
@@ -423,7 +425,9 @@ static int esp6_input(struct xfrm_state *x, struct sk_buff *skb)
 	}
 
 	sg_init_table(sg, nfrags);
-	skb_to_sgvec(skb, sg, 0, skb->len);
+	ret = skb_to_sgvec(skb, sg, 0, skb->len);
+	if (unlikely(ret < 0))
+		goto out;
 
 	aead_request_set_crypt(req, sg, sg, elen + ivlen, iv);
 	aead_request_set_ad(req, assoclen);
-- 
2.16.3

^ permalink raw reply related	[relevance 79%]

* [PATCH 4.9] ipsec: check return value of skb_to_sgvec always
  2018-04-09 18:05 99% Backport of 3f29770723fe Nathan Chancellor
  2018-04-09 18:05 79% ` [PATCH 3.18] ipsec: check return value of skb_to_sgvec always Nathan Chancellor
  2018-04-09 18:05 79% ` [PATCH 4.4] " Nathan Chancellor
@ 2018-04-09 18:05 79% ` Nathan Chancellor
    2 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-04-09 18:05 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Jason A. Donenfeld, Steffen Klassert, Herbert Xu,
	David S. Miller, Nathan Chancellor

From: "Jason A. Donenfeld" <Jason@zx2c4.com>

commit 3f29770723fe498a5c5f57c3a31a996ebdde03e1 upstream.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
[natechancellor: Adjusted context due to lack of fca11ebde3f0]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 net/ipv4/ah4.c  |  8 ++++++--
 net/ipv4/esp4.c | 13 ++++++++-----
 net/ipv6/ah6.c  |  8 ++++++--
 net/ipv6/esp6.c | 12 ++++++++----
 4 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/net/ipv4/ah4.c b/net/ipv4/ah4.c
index 22377c8ff14b..e8f862358518 100644
--- a/net/ipv4/ah4.c
+++ b/net/ipv4/ah4.c
@@ -220,7 +220,9 @@ static int ah_output(struct xfrm_state *x, struct sk_buff *skb)
 	ah->seq_no = htonl(XFRM_SKB_CB(skb)->seq.output.low);
 
 	sg_init_table(sg, nfrags + sglists);
-	skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	err = skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out_free;
 
 	if (x->props.flags & XFRM_STATE_ESN) {
 		/* Attach seqhi sg right after packet payload */
@@ -393,7 +395,9 @@ static int ah_input(struct xfrm_state *x, struct sk_buff *skb)
 	skb_push(skb, ihl);
 
 	sg_init_table(sg, nfrags + sglists);
-	skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	err = skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out_free;
 
 	if (x->props.flags & XFRM_STATE_ESN) {
 		/* Attach seqhi sg right after packet payload */
diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c
index 20fb25e3027b..3d8021d55336 100644
--- a/net/ipv4/esp4.c
+++ b/net/ipv4/esp4.c
@@ -268,10 +268,11 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
 	esph->spi = x->id.spi;
 
 	sg_init_table(sg, nfrags);
-	skb_to_sgvec(skb, sg,
-		     (unsigned char *)esph - skb->data,
-		     assoclen + ivlen + clen + alen);
-
+	err = skb_to_sgvec(skb, sg,
+		           (unsigned char *)esph - skb->data,
+		           assoclen + ivlen + clen + alen);
+	if (unlikely(err < 0))
+		goto error;
 	aead_request_set_crypt(req, sg, sg, ivlen + clen, iv);
 	aead_request_set_ad(req, assoclen);
 
@@ -481,7 +482,9 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb)
 	}
 
 	sg_init_table(sg, nfrags);
-	skb_to_sgvec(skb, sg, 0, skb->len);
+	err = skb_to_sgvec(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out;
 
 	aead_request_set_crypt(req, sg, sg, elen + ivlen, iv);
 	aead_request_set_ad(req, assoclen);
diff --git a/net/ipv6/ah6.c b/net/ipv6/ah6.c
index 0630a4d5daaa..0edc44cb254e 100644
--- a/net/ipv6/ah6.c
+++ b/net/ipv6/ah6.c
@@ -423,7 +423,9 @@ static int ah6_output(struct xfrm_state *x, struct sk_buff *skb)
 	ah->seq_no = htonl(XFRM_SKB_CB(skb)->seq.output.low);
 
 	sg_init_table(sg, nfrags + sglists);
-	skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	err = skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out_free;
 
 	if (x->props.flags & XFRM_STATE_ESN) {
 		/* Attach seqhi sg right after packet payload */
@@ -603,7 +605,9 @@ static int ah6_input(struct xfrm_state *x, struct sk_buff *skb)
 	ip6h->hop_limit   = 0;
 
 	sg_init_table(sg, nfrags + sglists);
-	skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	err = skb_to_sgvec_nomark(skb, sg, 0, skb->len);
+	if (unlikely(err < 0))
+		goto out_free;
 
 	if (x->props.flags & XFRM_STATE_ESN) {
 		/* Attach seqhi sg right after packet payload */
diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c
index 111ba55fd512..6a924be66e37 100644
--- a/net/ipv6/esp6.c
+++ b/net/ipv6/esp6.c
@@ -248,9 +248,11 @@ static int esp6_output(struct xfrm_state *x, struct sk_buff *skb)
 	esph->spi = x->id.spi;
 
 	sg_init_table(sg, nfrags);
-	skb_to_sgvec(skb, sg,
-		     (unsigned char *)esph - skb->data,
-		     assoclen + ivlen + clen + alen);
+	err = skb_to_sgvec(skb, sg,
+		           (unsigned char *)esph - skb->data,
+		           assoclen + ivlen + clen + alen);
+	if (unlikely(err < 0))
+		goto error;
 
 	aead_request_set_crypt(req, sg, sg, ivlen + clen, iv);
 	aead_request_set_ad(req, assoclen);
@@ -423,7 +425,9 @@ static int esp6_input(struct xfrm_state *x, struct sk_buff *skb)
 	}
 
 	sg_init_table(sg, nfrags);
-	skb_to_sgvec(skb, sg, 0, skb->len);
+	ret = skb_to_sgvec(skb, sg, 0, skb->len);
+	if (unlikely(ret < 0))
+		goto out;
 
 	aead_request_set_crypt(req, sg, sg, elen + ivlen, iv);
 	aead_request_set_ad(req, assoclen);
-- 
2.16.3

^ permalink raw reply related	[relevance 79%]

* Further fixes for 48a1df65334b
@ 2018-04-10  1:21 99% Nathan Chancellor
  2018-04-10  1:21 94% ` [PATCH 3.18 1/3] rxrpc: check return value of skb_to_sgvec always Nathan Chancellor
                   ` (8 more replies)
  0 siblings, 9 replies; 200+ results
From: Nathan Chancellor @ 2018-04-10  1:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable

The backport of 48a1df65334b ("skbuff: return -EMSGSIZE in skb_to_sgvec
to prevent overflow") was missing three supplemental commits:

3f29770723fe ("ipsec: check return value of skb_to_sgvec always")
89a5ea996625 ("rxrpc: check return value of skb_to_sgvec always")
e2fcad58fd23 ("virtio_net: check return value of skb_to_sgvec always")

I already sent the first one, this thread contains the other two for
3.18, 4.4, and 4.9. There is an additional patch because these trees do
not contain f6b10209b90d ("virtio-net: switch to use build_skb() for
small buffer"), which removed another call to skb_to_sgvec, which was
before f6b10209b90d. If you feel it should be squashed in f6b10209b90d,
please by all means feel free to do so. I was not 100% confident on if
the dev_kfree_skb call was necessary in the error path so I hope one of
the authors can comment on that.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* [PATCH 3.18 1/3] rxrpc: check return value of skb_to_sgvec always
  2018-04-10  1:21 99% Further fixes for 48a1df65334b Nathan Chancellor
@ 2018-04-10  1:21 94% ` Nathan Chancellor
  2018-04-10  1:21 97% ` [PATCH 3.18 2/3] virtio_net: " Nathan Chancellor
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-10  1:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Jason A. Donenfeld, David S . Miller, Nathan Chancellor

From: "Jason A. Donenfeld" <Jason@zx2c4.com>

commit 89a5ea99662505d2d61f2a3030a6896c2cb3cdb0 upstream.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[natechancellor: backport to 3.18]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 net/rxrpc/rxkad.c | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/net/rxrpc/rxkad.c b/net/rxrpc/rxkad.c
index f226709ebd8f..ca5f3662a485 100644
--- a/net/rxrpc/rxkad.c
+++ b/net/rxrpc/rxkad.c
@@ -209,7 +209,7 @@ static int rxkad_secure_packet_encrypt(const struct rxrpc_call *call,
 	struct sk_buff *trailer;
 	unsigned int len;
 	u16 check;
-	int nsg;
+	int nsg, err;
 
 	sp = rxrpc_skb(skb);
 
@@ -240,7 +240,9 @@ static int rxkad_secure_packet_encrypt(const struct rxrpc_call *call,
 	len &= ~(call->conn->size_align - 1);
 
 	sg_init_table(sg, nsg);
-	skb_to_sgvec(skb, sg, 0, len);
+	err = skb_to_sgvec(skb, sg, 0, len);
+	if (unlikely(err < 0))
+		return err;
 	crypto_blkcipher_encrypt_iv(&desc, sg, sg, len);
 
 	_leave(" = 0");
@@ -336,7 +338,7 @@ static int rxkad_verify_packet_auth(const struct rxrpc_call *call,
 	struct sk_buff *trailer;
 	u32 data_size, buf;
 	u16 check;
-	int nsg;
+	int nsg, ret;
 
 	_enter("");
 
@@ -348,7 +350,9 @@ static int rxkad_verify_packet_auth(const struct rxrpc_call *call,
 		goto nomem;
 
 	sg_init_table(sg, nsg);
-	skb_to_sgvec(skb, sg, 0, 8);
+	ret = skb_to_sgvec(skb, sg, 0, 8);
+	if (unlikely(ret < 0))
+		return ret;
 
 	/* start the decryption afresh */
 	memset(&iv, 0, sizeof(iv));
@@ -411,7 +415,7 @@ static int rxkad_verify_packet_encrypt(const struct rxrpc_call *call,
 	struct sk_buff *trailer;
 	u32 data_size, buf;
 	u16 check;
-	int nsg;
+	int nsg, ret;
 
 	_enter(",{%d}", skb->len);
 
@@ -430,7 +434,12 @@ static int rxkad_verify_packet_encrypt(const struct rxrpc_call *call,
 	}
 
 	sg_init_table(sg, nsg);
-	skb_to_sgvec(skb, sg, 0, skb->len);
+	ret = skb_to_sgvec(skb, sg, 0, skb->len);
+	if (unlikely(ret < 0)) {
+		if (sg != _sg)
+			kfree(sg);
+		return ret;
+	}
 
 	/* decrypt from the session key */
 	token = call->conn->key->payload.data;
-- 
2.17.0

^ permalink raw reply related	[relevance 94%]

* [PATCH 3.18 2/3] virtio_net: check return value of skb_to_sgvec always
  2018-04-10  1:21 99% Further fixes for 48a1df65334b Nathan Chancellor
  2018-04-10  1:21 94% ` [PATCH 3.18 1/3] rxrpc: check return value of skb_to_sgvec always Nathan Chancellor
@ 2018-04-10  1:21 97% ` Nathan Chancellor
  2018-04-10  1:21 95% ` [PATCH 3.18 3/3] virtio_net: check return value of skb_to_sgvec in one more location Nathan Chancellor
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-10  1:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Jason A. Donenfeld, Michael S. Tsirkin, Jason Wang,
	David S . Miller, Nathan Chancellor

From: "Jason A. Donenfeld" <Jason@zx2c4.com>

commit e2fcad58fd230f635a74e4e983c6f4ea893642d2 upstream.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[natechancellor: backport to 3.18]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/net/virtio_net.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index ce2a29971230..ede40841e962 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -854,7 +854,7 @@ static int xmit_skb(struct send_queue *sq, struct sk_buff *skb)
 	struct skb_vnet_hdr *hdr;
 	const unsigned char *dest = ((struct ethhdr *)skb->data)->h_dest;
 	struct virtnet_info *vi = sq->vq->vdev->priv;
-	unsigned num_sg;
+	int num_sg;
 	unsigned hdr_len;
 	bool can_push;
 
@@ -906,11 +906,16 @@ static int xmit_skb(struct send_queue *sq, struct sk_buff *skb)
 	if (can_push) {
 		__skb_push(skb, hdr_len);
 		num_sg = skb_to_sgvec(skb, sq->sg, 0, skb->len);
+		if (unlikely(num_sg < 0))
+			return num_sg;
 		/* Pull header back to avoid skew in tx bytes calculations. */
 		__skb_pull(skb, hdr_len);
 	} else {
 		sg_set_buf(sq->sg, hdr, hdr_len);
-		num_sg = skb_to_sgvec(skb, sq->sg + 1, 0, skb->len) + 1;
+		num_sg = skb_to_sgvec(skb, sq->sg + 1, 0, skb->len);
+		if (unlikely(num_sg < 0))
+			return num_sg;
+		num_sg++;
 	}
 	return virtqueue_add_outbuf(sq->vq, sq->sg, num_sg, skb, GFP_ATOMIC);
 }
-- 
2.17.0

^ permalink raw reply related	[relevance 97%]

* [PATCH 3.18 3/3] virtio_net: check return value of skb_to_sgvec in one more location
  2018-04-10  1:21 99% Further fixes for 48a1df65334b Nathan Chancellor
  2018-04-10  1:21 94% ` [PATCH 3.18 1/3] rxrpc: check return value of skb_to_sgvec always Nathan Chancellor
  2018-04-10  1:21 97% ` [PATCH 3.18 2/3] virtio_net: " Nathan Chancellor
@ 2018-04-10  1:21 95% ` Nathan Chancellor
  2018-04-10  1:21 94% ` [PATCH 4.4 1/3] rxrpc: check return value of skb_to_sgvec always Nathan Chancellor
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-10  1:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Nathan Chancellor, Jason A . Donenfeld, Sergei Shtylyov,
	Michael S. Tsirkin, Jason Wang, David S . Miller

Kernels that do not have f6b10209b90d ("virtio-net: switch to use
build_skb() for small buffer") will have an extra call to skb_to_sgvec
that is not handled by e2fcad58fd23 ("virtio_net: check return value of
skb_to_sgvec always"). Since the former does not appear to be stable
material, just fix the call up directly.

Cc: Jason A. Donenfeld <Jason@zx2c4.com>
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---

Greg, if you feel this should be squashed into the previous commit, by
all means, feel free. I am not entirely sure if the dev_kfree_skb is
necessary here, I was hoping to get some review.

---
 drivers/net/virtio_net.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index ede40841e962..1da54735681b 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -551,7 +551,12 @@ static int add_recvbuf_small(struct receive_queue *rq, gfp_t gfp)
 	hdr = skb_vnet_hdr(skb);
 	sg_init_table(rq->sg, MAX_SKB_FRAGS + 2);
 	sg_set_buf(rq->sg, &hdr->hdr, sizeof hdr->hdr);
-	skb_to_sgvec(skb, rq->sg + 1, 0, skb->len);
+
+	err = skb_to_sgvec(skb, rq->sg + 1, 0, skb->len);
+	if (unlikely(err < 0)) {
+		dev_kfree_skb(skb);
+		return err;
+	}
 
 	err = virtqueue_add_inbuf(rq->vq, rq->sg, 2, skb, gfp);
 	if (err < 0)
-- 
2.17.0

^ permalink raw reply related	[relevance 95%]

* [PATCH 4.4 1/3] rxrpc: check return value of skb_to_sgvec always
  2018-04-10  1:21 99% Further fixes for 48a1df65334b Nathan Chancellor
                   ` (2 preceding siblings ...)
  2018-04-10  1:21 95% ` [PATCH 3.18 3/3] virtio_net: check return value of skb_to_sgvec in one more location Nathan Chancellor
@ 2018-04-10  1:21 94% ` Nathan Chancellor
  2018-04-10  1:21 96% ` [PATCH 4.4 2/3] virtio_net: " Nathan Chancellor
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-10  1:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Jason A. Donenfeld, David S . Miller, Nathan Chancellor

From: "Jason A. Donenfeld" <Jason@zx2c4.com>

commit 89a5ea99662505d2d61f2a3030a6896c2cb3cdb0 upstream.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[natechancellor: backport to 4.4]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 net/rxrpc/rxkad.c | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/net/rxrpc/rxkad.c b/net/rxrpc/rxkad.c
index d7a9ab5a9d9c..6c65fb229e50 100644
--- a/net/rxrpc/rxkad.c
+++ b/net/rxrpc/rxkad.c
@@ -209,7 +209,7 @@ static int rxkad_secure_packet_encrypt(const struct rxrpc_call *call,
 	struct sk_buff *trailer;
 	unsigned int len;
 	u16 check;
-	int nsg;
+	int nsg, err;
 
 	sp = rxrpc_skb(skb);
 
@@ -240,7 +240,9 @@ static int rxkad_secure_packet_encrypt(const struct rxrpc_call *call,
 	len &= ~(call->conn->size_align - 1);
 
 	sg_init_table(sg, nsg);
-	skb_to_sgvec(skb, sg, 0, len);
+	err = skb_to_sgvec(skb, sg, 0, len);
+	if (unlikely(err < 0))
+		return err;
 	crypto_blkcipher_encrypt_iv(&desc, sg, sg, len);
 
 	_leave(" = 0");
@@ -336,7 +338,7 @@ static int rxkad_verify_packet_auth(const struct rxrpc_call *call,
 	struct sk_buff *trailer;
 	u32 data_size, buf;
 	u16 check;
-	int nsg;
+	int nsg, ret;
 
 	_enter("");
 
@@ -348,7 +350,9 @@ static int rxkad_verify_packet_auth(const struct rxrpc_call *call,
 		goto nomem;
 
 	sg_init_table(sg, nsg);
-	skb_to_sgvec(skb, sg, 0, 8);
+	ret = skb_to_sgvec(skb, sg, 0, 8);
+	if (unlikely(ret < 0))
+		return ret;
 
 	/* start the decryption afresh */
 	memset(&iv, 0, sizeof(iv));
@@ -411,7 +415,7 @@ static int rxkad_verify_packet_encrypt(const struct rxrpc_call *call,
 	struct sk_buff *trailer;
 	u32 data_size, buf;
 	u16 check;
-	int nsg;
+	int nsg, ret;
 
 	_enter(",{%d}", skb->len);
 
@@ -430,7 +434,12 @@ static int rxkad_verify_packet_encrypt(const struct rxrpc_call *call,
 	}
 
 	sg_init_table(sg, nsg);
-	skb_to_sgvec(skb, sg, 0, skb->len);
+	ret = skb_to_sgvec(skb, sg, 0, skb->len);
+	if (unlikely(ret < 0)) {
+		if (sg != _sg)
+			kfree(sg);
+		return ret;
+	}
 
 	/* decrypt from the session key */
 	token = call->conn->key->payload.data[0];
-- 
2.17.0

^ permalink raw reply related	[relevance 94%]

* [PATCH 4.4 2/3] virtio_net: check return value of skb_to_sgvec always
  2018-04-10  1:21 99% Further fixes for 48a1df65334b Nathan Chancellor
                   ` (3 preceding siblings ...)
  2018-04-10  1:21 94% ` [PATCH 4.4 1/3] rxrpc: check return value of skb_to_sgvec always Nathan Chancellor
@ 2018-04-10  1:21 96% ` Nathan Chancellor
  2018-04-10  1:21 95% ` [PATCH 4.4 3/3] virtio_net: check return value of skb_to_sgvec in one more location Nathan Chancellor
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-10  1:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Jason A. Donenfeld, Michael S. Tsirkin, Jason Wang,
	David S . Miller, Nathan Chancellor

From: "Jason A. Donenfeld" <Jason@zx2c4.com>

commit e2fcad58fd230f635a74e4e983c6f4ea893642d2 upstream.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[natechancellor: backport to 4.4]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/net/virtio_net.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 8dfc75250583..bb2bae522f67 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -858,7 +858,7 @@ static int xmit_skb(struct send_queue *sq, struct sk_buff *skb)
 	struct virtio_net_hdr_mrg_rxbuf *hdr;
 	const unsigned char *dest = ((struct ethhdr *)skb->data)->h_dest;
 	struct virtnet_info *vi = sq->vq->vdev->priv;
-	unsigned num_sg;
+	int num_sg;
 	unsigned hdr_len = vi->hdr_len;
 	bool can_push;
 
@@ -911,11 +911,16 @@ static int xmit_skb(struct send_queue *sq, struct sk_buff *skb)
 	if (can_push) {
 		__skb_push(skb, hdr_len);
 		num_sg = skb_to_sgvec(skb, sq->sg, 0, skb->len);
+		if (unlikely(num_sg < 0))
+			return num_sg;
 		/* Pull header back to avoid skew in tx bytes calculations. */
 		__skb_pull(skb, hdr_len);
 	} else {
 		sg_set_buf(sq->sg, hdr, hdr_len);
-		num_sg = skb_to_sgvec(skb, sq->sg + 1, 0, skb->len) + 1;
+		num_sg = skb_to_sgvec(skb, sq->sg + 1, 0, skb->len);
+		if (unlikely(num_sg < 0))
+			return num_sg;
+		num_sg++;
 	}
 	return virtqueue_add_outbuf(sq->vq, sq->sg, num_sg, skb, GFP_ATOMIC);
 }
-- 
2.17.0

^ permalink raw reply related	[relevance 96%]

* [PATCH 4.4 3/3] virtio_net: check return value of skb_to_sgvec in one more location
  2018-04-10  1:21 99% Further fixes for 48a1df65334b Nathan Chancellor
                   ` (4 preceding siblings ...)
  2018-04-10  1:21 96% ` [PATCH 4.4 2/3] virtio_net: " Nathan Chancellor
@ 2018-04-10  1:21 95% ` Nathan Chancellor
  2018-04-10  1:21 95% ` [PATCH 4.9 1/3] rxrpc: check return value of skb_to_sgvec always Nathan Chancellor
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-10  1:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Nathan Chancellor, Jason A . Donenfeld, Sergei Shtylyov,
	Michael S. Tsirkin, Jason Wang, David S . Miller

Kernels that do not have f6b10209b90d ("virtio-net: switch to use
build_skb() for small buffer") will have an extra call to skb_to_sgvec
that is not handled by e2fcad58fd23 ("virtio_net: check return value of
skb_to_sgvec always"). Since the former does not appear to be stable
material, just fix the call up directly.

Cc: Jason A. Donenfeld <Jason@zx2c4.com>
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---

Greg, if you feel this should be squashed into the previous commit, by
all means, feel free. I am not entirely sure if the dev_kfree_skb is
necessary here, I was hoping to get some review.

---
 drivers/net/virtio_net.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index bb2bae522f67..d01285250204 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -556,7 +556,12 @@ static int add_recvbuf_small(struct virtnet_info *vi, struct receive_queue *rq,
 	hdr = skb_vnet_hdr(skb);
 	sg_init_table(rq->sg, 2);
 	sg_set_buf(rq->sg, hdr, vi->hdr_len);
-	skb_to_sgvec(skb, rq->sg + 1, 0, skb->len);
+
+	err = skb_to_sgvec(skb, rq->sg + 1, 0, skb->len);
+	if (unlikely(err < 0)) {
+		dev_kfree_skb(skb);
+		return err;
+	}
 
 	err = virtqueue_add_inbuf(rq->vq, rq->sg, 2, skb, gfp);
 	if (err < 0)
-- 
2.17.0

^ permalink raw reply related	[relevance 95%]

* [PATCH 4.9 1/3] rxrpc: check return value of skb_to_sgvec always
  2018-04-10  1:21 99% Further fixes for 48a1df65334b Nathan Chancellor
                   ` (5 preceding siblings ...)
  2018-04-10  1:21 95% ` [PATCH 4.4 3/3] virtio_net: check return value of skb_to_sgvec in one more location Nathan Chancellor
@ 2018-04-10  1:21 95% ` Nathan Chancellor
  2018-04-10  1:21 97% ` [PATCH 4.9 2/3] virtio_net: " Nathan Chancellor
  2018-04-10  1:21 95% ` [PATCH 4.9 3/3] virtio_net: check return value of skb_to_sgvec in one more location Nathan Chancellor
  8 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-10  1:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Jason A. Donenfeld, David S . Miller, Nathan Chancellor

From: "Jason A. Donenfeld" <Jason@zx2c4.com>

commit 89a5ea99662505d2d61f2a3030a6896c2cb3cdb0 upstream.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 net/rxrpc/rxkad.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/net/rxrpc/rxkad.c b/net/rxrpc/rxkad.c
index 4374e7b9c7bf..90df95e18ea4 100644
--- a/net/rxrpc/rxkad.c
+++ b/net/rxrpc/rxkad.c
@@ -229,7 +229,9 @@ static int rxkad_secure_packet_encrypt(const struct rxrpc_call *call,
 	len &= ~(call->conn->size_align - 1);
 
 	sg_init_table(sg, nsg);
-	skb_to_sgvec(skb, sg, 0, len);
+	err = skb_to_sgvec(skb, sg, 0, len);
+	if (unlikely(err < 0))
+		goto out;
 	skcipher_request_set_crypt(req, sg, sg, len, iv.x);
 	crypto_skcipher_encrypt(req);
 
@@ -325,7 +327,7 @@ static int rxkad_verify_packet_1(struct rxrpc_call *call, struct sk_buff *skb,
 	struct sk_buff *trailer;
 	u32 data_size, buf;
 	u16 check;
-	int nsg;
+	int nsg, ret;
 
 	_enter("");
 
@@ -342,7 +344,9 @@ static int rxkad_verify_packet_1(struct rxrpc_call *call, struct sk_buff *skb,
 		goto nomem;
 
 	sg_init_table(sg, nsg);
-	skb_to_sgvec(skb, sg, offset, 8);
+	ret = skb_to_sgvec(skb, sg, offset, 8);
+	if (unlikely(ret < 0))
+		return ret;
 
 	/* start the decryption afresh */
 	memset(&iv, 0, sizeof(iv));
@@ -405,7 +409,7 @@ static int rxkad_verify_packet_2(struct rxrpc_call *call, struct sk_buff *skb,
 	struct sk_buff *trailer;
 	u32 data_size, buf;
 	u16 check;
-	int nsg;
+	int nsg, ret;
 
 	_enter(",{%d}", skb->len);
 
@@ -429,7 +433,12 @@ static int rxkad_verify_packet_2(struct rxrpc_call *call, struct sk_buff *skb,
 	}
 
 	sg_init_table(sg, nsg);
-	skb_to_sgvec(skb, sg, offset, len);
+	ret = skb_to_sgvec(skb, sg, offset, len);
+	if (unlikely(ret < 0)) {
+		if (sg != _sg)
+			kfree(sg);
+		return ret;
+	}
 
 	/* decrypt from the session key */
 	token = call->conn->params.key->payload.data[0];
-- 
2.17.0

^ permalink raw reply related	[relevance 95%]

* [PATCH 4.9 2/3] virtio_net: check return value of skb_to_sgvec always
  2018-04-10  1:21 99% Further fixes for 48a1df65334b Nathan Chancellor
                   ` (6 preceding siblings ...)
  2018-04-10  1:21 95% ` [PATCH 4.9 1/3] rxrpc: check return value of skb_to_sgvec always Nathan Chancellor
@ 2018-04-10  1:21 97% ` Nathan Chancellor
  2018-04-10  1:21 95% ` [PATCH 4.9 3/3] virtio_net: check return value of skb_to_sgvec in one more location Nathan Chancellor
  8 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-10  1:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Jason A. Donenfeld, Michael S. Tsirkin, Jason Wang,
	David S . Miller, Nathan Chancellor

From: "Jason A. Donenfeld" <Jason@zx2c4.com>

commit e2fcad58fd230f635a74e4e983c6f4ea893642d2 upstream.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/net/virtio_net.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 1568aedddfc9..0a2f3ac36be2 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -831,7 +831,7 @@ static int xmit_skb(struct send_queue *sq, struct sk_buff *skb)
 	struct virtio_net_hdr_mrg_rxbuf *hdr;
 	const unsigned char *dest = ((struct ethhdr *)skb->data)->h_dest;
 	struct virtnet_info *vi = sq->vq->vdev->priv;
-	unsigned num_sg;
+	int num_sg;
 	unsigned hdr_len = vi->hdr_len;
 	bool can_push;
 
@@ -858,11 +858,16 @@ static int xmit_skb(struct send_queue *sq, struct sk_buff *skb)
 	if (can_push) {
 		__skb_push(skb, hdr_len);
 		num_sg = skb_to_sgvec(skb, sq->sg, 0, skb->len);
+		if (unlikely(num_sg < 0))
+			return num_sg;
 		/* Pull header back to avoid skew in tx bytes calculations. */
 		__skb_pull(skb, hdr_len);
 	} else {
 		sg_set_buf(sq->sg, hdr, hdr_len);
-		num_sg = skb_to_sgvec(skb, sq->sg + 1, 0, skb->len) + 1;
+		num_sg = skb_to_sgvec(skb, sq->sg + 1, 0, skb->len);
+		if (unlikely(num_sg < 0))
+			return num_sg;
+		num_sg++;
 	}
 	return virtqueue_add_outbuf(sq->vq, sq->sg, num_sg, skb, GFP_ATOMIC);
 }
-- 
2.17.0

^ permalink raw reply related	[relevance 97%]

* [PATCH 4.9 3/3] virtio_net: check return value of skb_to_sgvec in one more location
  2018-04-10  1:21 99% Further fixes for 48a1df65334b Nathan Chancellor
                   ` (7 preceding siblings ...)
  2018-04-10  1:21 97% ` [PATCH 4.9 2/3] virtio_net: " Nathan Chancellor
@ 2018-04-10  1:21 95% ` Nathan Chancellor
  8 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-10  1:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Nathan Chancellor, Jason A . Donenfeld, Sergei Shtylyov,
	Michael S. Tsirkin, Jason Wang, David S . Miller

Kernels that do not have f6b10209b90d ("virtio-net: switch to use
build_skb() for small buffer") will have an extra call to skb_to_sgvec
that is not handled by e2fcad58fd23 ("virtio_net: check return value of
skb_to_sgvec always"). Since the former does not appear to be stable
material, just fix the call up directly.

Cc: Jason A. Donenfeld <Jason@zx2c4.com>
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---

Greg, if you feel this should be squashed into the previous commit, by
all means, feel free. I am not entirely sure if the dev_kfree_skb is
necessary here, I was hoping to get some review.

---
 drivers/net/virtio_net.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 0a2f3ac36be2..472ed6df2221 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -529,7 +529,12 @@ static int add_recvbuf_small(struct virtnet_info *vi, struct receive_queue *rq,
 	hdr = skb_vnet_hdr(skb);
 	sg_init_table(rq->sg, 2);
 	sg_set_buf(rq->sg, hdr, vi->hdr_len);
-	skb_to_sgvec(skb, rq->sg + 1, 0, skb->len);
+
+	err = skb_to_sgvec(skb, rq->sg + 1, 0, skb->len);
+	if (unlikely(err < 0)) {
+		dev_kfree_skb(skb);
+		return err;
+	}
 
 	err = virtqueue_add_inbuf(rq->vq, rq->sg, 2, skb, gfp);
 	if (err < 0)
-- 
2.17.0

^ permalink raw reply related	[relevance 95%]

* Re: [PATCH 4.9] ipsec: check return value of skb_to_sgvec always
  @ 2018-04-10  6:23 99%     ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-10  6:23 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: stable, Jason A. Donenfeld, Steffen Klassert, Herbert Xu,
	David S. Miller

On Mon, Apr 09, 2018 at 10:25:30PM +0200, Greg Kroah-Hartman wrote:
> On Mon, Apr 09, 2018 at 11:05:25AM -0700, Nathan Chancellor wrote:
> > From: "Jason A. Donenfeld" <Jason@zx2c4.com>
> > 
> > commit 3f29770723fe498a5c5f57c3a31a996ebdde03e1 upstream.
> > 
> > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
> > Cc: Steffen Klassert <steffen.klassert@secunet.com>
> > Cc: Herbert Xu <herbert@gondor.apana.org.au>
> > Cc: "David S. Miller" <davem@davemloft.net>
> > Signed-off-by: David S. Miller <davem@davemloft.net>
> > [natechancellor: Adjusted context due to lack of fca11ebde3f0]
> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> > ---
> >  net/ipv4/ah4.c  |  8 ++++++--
> >  net/ipv4/esp4.c | 13 ++++++++-----
> >  net/ipv6/ah6.c  |  8 ++++++--
> >  net/ipv6/esp6.c | 12 ++++++++----
> >  4 files changed, 28 insertions(+), 13 deletions(-)
> 
> Thanks, now there are only 4 build warnings left due to this change,
> I'll go fix them up in the morning...
> 
> greg k-h

Sorry, I should have checked the other call sites of skb_to_sgvec* :/

These are the other two commits, I've sent the backports out in a
separate email thread:

89a5ea996625 ("rxrpc: check return value of skb_to_sgvec always")
e2fcad58fd23 ("virtio_net: check return value of skb_to_sgvec always")

Cheers!
Nathan

(sorry, meant to send this several hours ago then got distracted...)

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 000/190] 4.4.128-stable review
  @ 2018-04-11 20:52 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-11 20:52 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuahkh, patches,
	ben.hutchings, lkft-triage, stable

On Wed, Apr 11, 2018 at 08:34:06PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.128 release.
> There are 190 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri Apr 13 18:34:54 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.128-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
> 

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

Ever since switching to Clang on the OP5 back in December, I haven't
been compiling with GCC at all which was a mistake. So I have started
compiling with Google's GCC 4.9.4, Bootlin's GCC 7.3.0, Google's Clang
5.0, and my own Clang 6.0 and 7.0. All builds completed successfully
with -Werror.

No initial issues in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* ext4 patches for 4.4.y
@ 2018-04-22  7:59 99% Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-04-22  7:59 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: stable, Theodore Ts'o

Hi Greg and Ted,

I've been looking at ext4 history the past couple of days seeing if the
patches that you attempted to apply from 4.17-rc1 were relevant and I
noticed a couple from previous 4.x versions that seem like they should
be applied here, as they are clean picks and tagged for stable:

74dae4278546 ("ext4: fix crashes in dioread_nolock mode")
c755e251357a ("ext4: fix deadlock between inline_data and ext4_expand_extra_isize_ea()")

I've been running them for the day and not had any issues (though I
didn't have any before). If there are any objections, let me know!

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* [PATCH 4.4 1/2] ext4: fix crashes in dioread_nolock mode
@ 2018-04-22  8:11 91% Nathan Chancellor
  2018-04-22  8:11 54% ` [PATCH 4.4 2/2] ext4: fix deadlock between inline_data and ext4_expand_extra_isize_ea() Nathan Chancellor
  0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-04-22  8:11 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable; +Cc: Jan Kara, Theodore Ts'o, Nathan Chancellor

From: Jan Kara <jack@suse.cz>

commit 74dae4278546b897eb81784fdfcce872ddd8b2b8 upstream.

Competing overwrite DIO in dioread_nolock mode will just overwrite
pointer to io_end in the inode. This may result in data corruption or
extent conversion happening from IO completion interrupt because we
don't properly set buffer_defer_completion() when unlocked DIO races
with locked DIO to unwritten extent.

Since unlocked DIO doesn't need io_end for anything, just avoid
allocating it and corrupting pointer from inode for locked DIO.
A cleaner fix would be to avoid these games with io_end pointer from the
inode but that requires more intrusive changes so we leave that for
later.

Cc: stable@vger.kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 fs/ext4/inode.c | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index f0cabc8c96cb..fa99cae9552b 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -3256,29 +3256,29 @@ static ssize_t ext4_ext_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
 	 * case, we allocate an io_end structure to hook to the iocb.
 	 */
 	iocb->private = NULL;
-	ext4_inode_aio_set(inode, NULL);
-	if (!is_sync_kiocb(iocb)) {
-		io_end = ext4_init_io_end(inode, GFP_NOFS);
-		if (!io_end) {
-			ret = -ENOMEM;
-			goto retake_lock;
-		}
-		/*
-		 * Grab reference for DIO. Will be dropped in ext4_end_io_dio()
-		 */
-		iocb->private = ext4_get_io_end(io_end);
-		/*
-		 * we save the io structure for current async direct
-		 * IO, so that later ext4_map_blocks() could flag the
-		 * io structure whether there is a unwritten extents
-		 * needs to be converted when IO is completed.
-		 */
-		ext4_inode_aio_set(inode, io_end);
-	}
-
 	if (overwrite) {
 		get_block_func = ext4_get_block_write_nolock;
 	} else {
+		ext4_inode_aio_set(inode, NULL);
+		if (!is_sync_kiocb(iocb)) {
+			io_end = ext4_init_io_end(inode, GFP_NOFS);
+			if (!io_end) {
+				ret = -ENOMEM;
+				goto retake_lock;
+			}
+			/*
+			 * Grab reference for DIO. Will be dropped in
+			 * ext4_end_io_dio()
+			 */
+			iocb->private = ext4_get_io_end(io_end);
+			/*
+			 * we save the io structure for current async direct
+			 * IO, so that later ext4_map_blocks() could flag the
+			 * io structure whether there is a unwritten extents
+			 * needs to be converted when IO is completed.
+			 */
+			ext4_inode_aio_set(inode, io_end);
+		}
 		get_block_func = ext4_get_block_write;
 		dio_flags = DIO_LOCKING;
 	}
-- 
2.17.0

^ permalink raw reply related	[relevance 91%]

* [PATCH 4.4 2/2] ext4: fix deadlock between inline_data and ext4_expand_extra_isize_ea()
  2018-04-22  8:11 91% [PATCH 4.4 1/2] ext4: fix crashes in dioread_nolock mode Nathan Chancellor
@ 2018-04-22  8:11 54% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22  8:11 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable; +Cc: Theodore Ts'o, Nathan Chancellor

From: Theodore Ts'o <tytso@mit.edu>

commit c755e251357a0cee0679081f08c3f4ba797a8009 upstream.

The xattr_sem deadlock problems fixed in commit 2e81a4eeedca: "ext4:
avoid deadlock when expanding inode size" didn't include the use of
xattr_sem in fs/ext4/inline.c.  With the addition of project quota
which added a new extra inode field, this exposed deadlocks in the
inline_data code similar to the ones fixed by 2e81a4eeedca.

The deadlock can be reproduced via:

   dmesg -n 7
   mke2fs -t ext4 -O inline_data -Fq -I 256 /dev/vdc 32768
   mount -t ext4 -o debug_want_extra_isize=24 /dev/vdc /vdc
   mkdir /vdc/a
   umount /vdc
   mount -t ext4 /dev/vdc /vdc
   echo foo > /vdc/a/foo

and looks like this:

[   11.158815]
[   11.160276] =============================================
[   11.161960] [ INFO: possible recursive locking detected ]
[   11.161960] 4.10.0-rc3-00015-g011b30a8a3cf #160 Tainted: G        W
[   11.161960] ---------------------------------------------
[   11.161960] bash/2519 is trying to acquire lock:
[   11.161960]  (&ei->xattr_sem){++++..}, at: [<c1225a4b>] ext4_expand_extra_isize_ea+0x3d/0x4cd
[   11.161960]
[   11.161960] but task is already holding lock:
[   11.161960]  (&ei->xattr_sem){++++..}, at: [<c1227941>] ext4_try_add_inline_entry+0x3a/0x152
[   11.161960]
[   11.161960] other info that might help us debug this:
[   11.161960]  Possible unsafe locking scenario:
[   11.161960]
[   11.161960]        CPU0
[   11.161960]        ----
[   11.161960]   lock(&ei->xattr_sem);
[   11.161960]   lock(&ei->xattr_sem);
[   11.161960]
[   11.161960]  *** DEADLOCK ***
[   11.161960]
[   11.161960]  May be due to missing lock nesting notation
[   11.161960]
[   11.161960] 4 locks held by bash/2519:
[   11.161960]  #0:  (sb_writers#3){.+.+.+}, at: [<c11a2414>] mnt_want_write+0x1e/0x3e
[   11.161960]  #1:  (&type->i_mutex_dir_key){++++++}, at: [<c119508b>] path_openat+0x338/0x67a
[   11.161960]  #2:  (jbd2_handle){++++..}, at: [<c123314a>] start_this_handle+0x582/0x622
[   11.161960]  #3:  (&ei->xattr_sem){++++..}, at: [<c1227941>] ext4_try_add_inline_entry+0x3a/0x152
[   11.161960]
[   11.161960] stack backtrace:
[   11.161960] CPU: 0 PID: 2519 Comm: bash Tainted: G        W       4.10.0-rc3-00015-g011b30a8a3cf #160
[   11.161960] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.1-1 04/01/2014
[   11.161960] Call Trace:
[   11.161960]  dump_stack+0x72/0xa3
[   11.161960]  __lock_acquire+0xb7c/0xcb9
[   11.161960]  ? kvm_clock_read+0x1f/0x29
[   11.161960]  ? __lock_is_held+0x36/0x66
[   11.161960]  ? __lock_is_held+0x36/0x66
[   11.161960]  lock_acquire+0x106/0x18a
[   11.161960]  ? ext4_expand_extra_isize_ea+0x3d/0x4cd
[   11.161960]  down_write+0x39/0x72
[   11.161960]  ? ext4_expand_extra_isize_ea+0x3d/0x4cd
[   11.161960]  ext4_expand_extra_isize_ea+0x3d/0x4cd
[   11.161960]  ? _raw_read_unlock+0x22/0x2c
[   11.161960]  ? jbd2_journal_extend+0x1e2/0x262
[   11.161960]  ? __ext4_journal_get_write_access+0x3d/0x60
[   11.161960]  ext4_mark_inode_dirty+0x17d/0x26d
[   11.161960]  ? ext4_add_dirent_to_inline.isra.12+0xa5/0xb2
[   11.161960]  ext4_add_dirent_to_inline.isra.12+0xa5/0xb2
[   11.161960]  ext4_try_add_inline_entry+0x69/0x152
[   11.161960]  ext4_add_entry+0xa3/0x848
[   11.161960]  ? __brelse+0x14/0x2f
[   11.161960]  ? _raw_spin_unlock_irqrestore+0x44/0x4f
[   11.161960]  ext4_add_nondir+0x17/0x5b
[   11.161960]  ext4_create+0xcf/0x133
[   11.161960]  ? ext4_mknod+0x12f/0x12f
[   11.161960]  lookup_open+0x39e/0x3fb
[   11.161960]  ? __wake_up+0x1a/0x40
[   11.161960]  ? lock_acquire+0x11e/0x18a
[   11.161960]  path_openat+0x35c/0x67a
[   11.161960]  ? sched_clock_cpu+0xd7/0xf2
[   11.161960]  do_filp_open+0x36/0x7c
[   11.161960]  ? _raw_spin_unlock+0x22/0x2c
[   11.161960]  ? __alloc_fd+0x169/0x173
[   11.161960]  do_sys_open+0x59/0xcc
[   11.161960]  SyS_open+0x1d/0x1f
[   11.161960]  do_int80_syscall_32+0x4f/0x61
[   11.161960]  entry_INT80_32+0x2f/0x2f
[   11.161960] EIP: 0xb76ad469
[   11.161960] EFLAGS: 00000286 CPU: 0
[   11.161960] EAX: ffffffda EBX: 08168ac8 ECX: 00008241 EDX: 000001b6
[   11.161960] ESI: b75e46bc EDI: b7755000 EBP: bfbdb108 ESP: bfbdafc0
[   11.161960]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b

Cc: stable@vger.kernel.org # 3.10 (requires 2e81a4eeedca as a prereq)
Reported-by: George Spelvin <linux@sciencehorizons.net>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 fs/ext4/inline.c | 66 ++++++++++++++++++++++--------------------------
 fs/ext4/xattr.c  | 30 +++++++++-------------
 fs/ext4/xattr.h  | 32 +++++++++++++++++++++++
 3 files changed, 74 insertions(+), 54 deletions(-)

diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
index dad8e7bdf0a6..3006b81c107f 100644
--- a/fs/ext4/inline.c
+++ b/fs/ext4/inline.c
@@ -376,7 +376,7 @@ out:
 static int ext4_prepare_inline_data(handle_t *handle, struct inode *inode,
 				    unsigned int len)
 {
-	int ret, size;
+	int ret, size, no_expand;
 	struct ext4_inode_info *ei = EXT4_I(inode);
 
 	if (!ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA))
@@ -386,15 +386,14 @@ static int ext4_prepare_inline_data(handle_t *handle, struct inode *inode,
 	if (size < len)
 		return -ENOSPC;
 
-	down_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_lock_xattr(inode, &no_expand);
 
 	if (ei->i_inline_off)
 		ret = ext4_update_inline_data(handle, inode, len);
 	else
 		ret = ext4_create_inline_data(handle, inode, len);
 
-	up_write(&EXT4_I(inode)->xattr_sem);
-
+	ext4_write_unlock_xattr(inode, &no_expand);
 	return ret;
 }
 
@@ -523,7 +522,7 @@ static int ext4_convert_inline_data_to_extent(struct address_space *mapping,
 					      struct inode *inode,
 					      unsigned flags)
 {
-	int ret, needed_blocks;
+	int ret, needed_blocks, no_expand;
 	handle_t *handle = NULL;
 	int retries = 0, sem_held = 0;
 	struct page *page = NULL;
@@ -563,7 +562,7 @@ retry:
 		goto out;
 	}
 
-	down_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_lock_xattr(inode, &no_expand);
 	sem_held = 1;
 	/* If some one has already done this for us, just exit. */
 	if (!ext4_has_inline_data(inode)) {
@@ -599,7 +598,7 @@ retry:
 		page_cache_release(page);
 		page = NULL;
 		ext4_orphan_add(handle, inode);
-		up_write(&EXT4_I(inode)->xattr_sem);
+		ext4_write_unlock_xattr(inode, &no_expand);
 		sem_held = 0;
 		ext4_journal_stop(handle);
 		handle = NULL;
@@ -625,7 +624,7 @@ out:
 		page_cache_release(page);
 	}
 	if (sem_held)
-		up_write(&EXT4_I(inode)->xattr_sem);
+		ext4_write_unlock_xattr(inode, &no_expand);
 	if (handle)
 		ext4_journal_stop(handle);
 	brelse(iloc.bh);
@@ -718,7 +717,7 @@ convert:
 int ext4_write_inline_data_end(struct inode *inode, loff_t pos, unsigned len,
 			       unsigned copied, struct page *page)
 {
-	int ret;
+	int ret, no_expand;
 	void *kaddr;
 	struct ext4_iloc iloc;
 
@@ -736,7 +735,7 @@ int ext4_write_inline_data_end(struct inode *inode, loff_t pos, unsigned len,
 		goto out;
 	}
 
-	down_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_lock_xattr(inode, &no_expand);
 	BUG_ON(!ext4_has_inline_data(inode));
 
 	kaddr = kmap_atomic(page);
@@ -746,7 +745,7 @@ int ext4_write_inline_data_end(struct inode *inode, loff_t pos, unsigned len,
 	/* clear page dirty so that writepages wouldn't work for us. */
 	ClearPageDirty(page);
 
-	up_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_unlock_xattr(inode, &no_expand);
 	brelse(iloc.bh);
 out:
 	return copied;
@@ -757,7 +756,7 @@ ext4_journalled_write_inline_data(struct inode *inode,
 				  unsigned len,
 				  struct page *page)
 {
-	int ret;
+	int ret, no_expand;
 	void *kaddr;
 	struct ext4_iloc iloc;
 
@@ -767,11 +766,11 @@ ext4_journalled_write_inline_data(struct inode *inode,
 		return NULL;
 	}
 
-	down_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_lock_xattr(inode, &no_expand);
 	kaddr = kmap_atomic(page);
 	ext4_write_inline_data(inode, &iloc, kaddr, 0, len);
 	kunmap_atomic(kaddr);
-	up_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_unlock_xattr(inode, &no_expand);
 
 	return iloc.bh;
 }
@@ -1255,7 +1254,7 @@ out:
 int ext4_try_add_inline_entry(handle_t *handle, struct ext4_filename *fname,
 			      struct dentry *dentry, struct inode *inode)
 {
-	int ret, inline_size;
+	int ret, inline_size, no_expand;
 	void *inline_start;
 	struct ext4_iloc iloc;
 	struct inode *dir = d_inode(dentry->d_parent);
@@ -1264,7 +1263,7 @@ int ext4_try_add_inline_entry(handle_t *handle, struct ext4_filename *fname,
 	if (ret)
 		return ret;
 
-	down_write(&EXT4_I(dir)->xattr_sem);
+	ext4_write_lock_xattr(dir, &no_expand);
 	if (!ext4_has_inline_data(dir))
 		goto out;
 
@@ -1310,7 +1309,7 @@ int ext4_try_add_inline_entry(handle_t *handle, struct ext4_filename *fname,
 
 out:
 	ext4_mark_inode_dirty(handle, dir);
-	up_write(&EXT4_I(dir)->xattr_sem);
+	ext4_write_unlock_xattr(dir, &no_expand);
 	brelse(iloc.bh);
 	return ret;
 }
@@ -1670,7 +1669,7 @@ int ext4_delete_inline_entry(handle_t *handle,
 			     struct buffer_head *bh,
 			     int *has_inline_data)
 {
-	int err, inline_size;
+	int err, inline_size, no_expand;
 	struct ext4_iloc iloc;
 	void *inline_start;
 
@@ -1678,7 +1677,7 @@ int ext4_delete_inline_entry(handle_t *handle,
 	if (err)
 		return err;
 
-	down_write(&EXT4_I(dir)->xattr_sem);
+	ext4_write_lock_xattr(dir, &no_expand);
 	if (!ext4_has_inline_data(dir)) {
 		*has_inline_data = 0;
 		goto out;
@@ -1713,7 +1712,7 @@ int ext4_delete_inline_entry(handle_t *handle,
 
 	ext4_show_inline_dir(dir, iloc.bh, inline_start, inline_size);
 out:
-	up_write(&EXT4_I(dir)->xattr_sem);
+	ext4_write_unlock_xattr(dir, &no_expand);
 	brelse(iloc.bh);
 	if (err != -ENOENT)
 		ext4_std_error(dir->i_sb, err);
@@ -1812,11 +1811,11 @@ out:
 
 int ext4_destroy_inline_data(handle_t *handle, struct inode *inode)
 {
-	int ret;
+	int ret, no_expand;
 
-	down_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_lock_xattr(inode, &no_expand);
 	ret = ext4_destroy_inline_data_nolock(handle, inode);
-	up_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_unlock_xattr(inode, &no_expand);
 
 	return ret;
 }
@@ -1901,7 +1900,7 @@ out:
 void ext4_inline_data_truncate(struct inode *inode, int *has_inline)
 {
 	handle_t *handle;
-	int inline_size, value_len, needed_blocks;
+	int inline_size, value_len, needed_blocks, no_expand;
 	size_t i_size;
 	void *value = NULL;
 	struct ext4_xattr_ibody_find is = {
@@ -1918,7 +1917,7 @@ void ext4_inline_data_truncate(struct inode *inode, int *has_inline)
 	if (IS_ERR(handle))
 		return;
 
-	down_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_lock_xattr(inode, &no_expand);
 	if (!ext4_has_inline_data(inode)) {
 		*has_inline = 0;
 		ext4_journal_stop(handle);
@@ -1976,7 +1975,7 @@ out_error:
 	up_write(&EXT4_I(inode)->i_data_sem);
 out:
 	brelse(is.iloc.bh);
-	up_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_unlock_xattr(inode, &no_expand);
 	kfree(value);
 	if (inode->i_nlink)
 		ext4_orphan_del(handle, inode);
@@ -1992,7 +1991,7 @@ out:
 
 int ext4_convert_inline_data(struct inode *inode)
 {
-	int error, needed_blocks;
+	int error, needed_blocks, no_expand;
 	handle_t *handle;
 	struct ext4_iloc iloc;
 
@@ -2014,15 +2013,10 @@ int ext4_convert_inline_data(struct inode *inode)
 		goto out_free;
 	}
 
-	down_write(&EXT4_I(inode)->xattr_sem);
-	if (!ext4_has_inline_data(inode)) {
-		up_write(&EXT4_I(inode)->xattr_sem);
-		goto out;
-	}
-
-	error = ext4_convert_inline_data_nolock(handle, inode, &iloc);
-	up_write(&EXT4_I(inode)->xattr_sem);
-out:
+	ext4_write_lock_xattr(inode, &no_expand);
+	if (ext4_has_inline_data(inode))
+		error = ext4_convert_inline_data_nolock(handle, inode, &iloc);
+	ext4_write_unlock_xattr(inode, &no_expand);
 	ext4_journal_stop(handle);
 out_free:
 	brelse(iloc.bh);
diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
index 8d661b3c47b6..c7cad05aed27 100644
--- a/fs/ext4/xattr.c
+++ b/fs/ext4/xattr.c
@@ -1117,16 +1117,14 @@ ext4_xattr_set_handle(handle_t *handle, struct inode *inode, int name_index,
 	struct ext4_xattr_block_find bs = {
 		.s = { .not_found = -ENODATA, },
 	};
-	unsigned long no_expand;
+	int no_expand;
 	int error;
 
 	if (!name)
 		return -EINVAL;
 	if (strlen(name) > 255)
 		return -ERANGE;
-	down_write(&EXT4_I(inode)->xattr_sem);
-	no_expand = ext4_test_inode_state(inode, EXT4_STATE_NO_EXPAND);
-	ext4_set_inode_state(inode, EXT4_STATE_NO_EXPAND);
+	ext4_write_lock_xattr(inode, &no_expand);
 
 	error = ext4_reserve_inode_write(handle, inode, &is.iloc);
 	if (error)
@@ -1187,7 +1185,7 @@ ext4_xattr_set_handle(handle_t *handle, struct inode *inode, int name_index,
 		ext4_xattr_update_super_block(handle, inode->i_sb);
 		inode->i_ctime = ext4_current_time(inode);
 		if (!value)
-			ext4_clear_inode_state(inode, EXT4_STATE_NO_EXPAND);
+			no_expand = 0;
 		error = ext4_mark_iloc_dirty(handle, inode, &is.iloc);
 		/*
 		 * The bh is consumed by ext4_mark_iloc_dirty, even with
@@ -1201,9 +1199,7 @@ ext4_xattr_set_handle(handle_t *handle, struct inode *inode, int name_index,
 cleanup:
 	brelse(is.iloc.bh);
 	brelse(bs.bh);
-	if (no_expand == 0)
-		ext4_clear_inode_state(inode, EXT4_STATE_NO_EXPAND);
-	up_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_unlock_xattr(inode, &no_expand);
 	return error;
 }
 
@@ -1287,12 +1283,11 @@ int ext4_expand_extra_isize_ea(struct inode *inode, int new_extra_isize,
 	int error = 0, tried_min_extra_isize = 0;
 	int s_min_extra_isize = le16_to_cpu(EXT4_SB(inode->i_sb)->s_es->s_min_extra_isize);
 	int isize_diff;	/* How much do we need to grow i_extra_isize */
+	int no_expand;
+
+	if (ext4_write_trylock_xattr(inode, &no_expand) == 0)
+		return 0;
 
-	down_write(&EXT4_I(inode)->xattr_sem);
-	/*
-	 * Set EXT4_STATE_NO_EXPAND to avoid recursion when marking inode dirty
-	 */
-	ext4_set_inode_state(inode, EXT4_STATE_NO_EXPAND);
 retry:
 	isize_diff = new_extra_isize - EXT4_I(inode)->i_extra_isize;
 	if (EXT4_I(inode)->i_extra_isize >= new_extra_isize)
@@ -1486,8 +1481,7 @@ retry:
 	}
 	brelse(bh);
 out:
-	ext4_clear_inode_state(inode, EXT4_STATE_NO_EXPAND);
-	up_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_unlock_xattr(inode, &no_expand);
 	return 0;
 
 cleanup:
@@ -1499,10 +1493,10 @@ cleanup:
 	kfree(bs);
 	brelse(bh);
 	/*
-	 * We deliberately leave EXT4_STATE_NO_EXPAND set here since inode
-	 * size expansion failed.
+	 * Inode size expansion failed; don't try again
 	 */
-	up_write(&EXT4_I(inode)->xattr_sem);
+	no_expand = 1;
+	ext4_write_unlock_xattr(inode, &no_expand);
 	return error;
 }
 
diff --git a/fs/ext4/xattr.h b/fs/ext4/xattr.h
index ddc0957760ba..c000ed398555 100644
--- a/fs/ext4/xattr.h
+++ b/fs/ext4/xattr.h
@@ -101,6 +101,38 @@ extern const struct xattr_handler ext4_xattr_security_handler;
 
 #define EXT4_XATTR_NAME_ENCRYPTION_CONTEXT "c"
 
+/*
+ * The EXT4_STATE_NO_EXPAND is overloaded and used for two purposes.
+ * The first is to signal that there the inline xattrs and data are
+ * taking up so much space that we might as well not keep trying to
+ * expand it.  The second is that xattr_sem is taken for writing, so
+ * we shouldn't try to recurse into the inode expansion.  For this
+ * second case, we need to make sure that we take save and restore the
+ * NO_EXPAND state flag appropriately.
+ */
+static inline void ext4_write_lock_xattr(struct inode *inode, int *save)
+{
+	down_write(&EXT4_I(inode)->xattr_sem);
+	*save = ext4_test_inode_state(inode, EXT4_STATE_NO_EXPAND);
+	ext4_set_inode_state(inode, EXT4_STATE_NO_EXPAND);
+}
+
+static inline int ext4_write_trylock_xattr(struct inode *inode, int *save)
+{
+	if (down_write_trylock(&EXT4_I(inode)->xattr_sem) == 0)
+		return 0;
+	*save = ext4_test_inode_state(inode, EXT4_STATE_NO_EXPAND);
+	ext4_set_inode_state(inode, EXT4_STATE_NO_EXPAND);
+	return 1;
+}
+
+static inline void ext4_write_unlock_xattr(struct inode *inode, int *save)
+{
+	if (*save == 0)
+		ext4_clear_inode_state(inode, EXT4_STATE_NO_EXPAND);
+	up_write(&EXT4_I(inode)->xattr_sem);
+}
+
 extern ssize_t ext4_listxattr(struct dentry *, char *, size_t);
 
 extern int ext4_xattr_get(struct inode *, int, const char *, void *, size_t);
-- 
2.17.0

^ permalink raw reply related	[relevance 54%]

* Re: ext4 patches for 4.4.y
  @ 2018-04-22  8:13 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22  8:13 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: stable, Theodore Ts'o

On Sun, Apr 22, 2018 at 10:04:40AM +0200, Greg Kroah-Hartman wrote:
> On Sun, Apr 22, 2018 at 12:59:27AM -0700, Nathan Chancellor wrote:
> > Hi Greg and Ted,
> > 
> > I've been looking at ext4 history the past couple of days seeing if the
> > patches that you attempted to apply from 4.17-rc1 were relevant and I
> > noticed a couple from previous 4.x versions that seem like they should
> > be applied here, as they are clean picks and tagged for stable:
> > 
> > 74dae4278546 ("ext4: fix crashes in dioread_nolock mode")
> > c755e251357a ("ext4: fix deadlock between inline_data and ext4_expand_extra_isize_ea()")
> > 
> > I've been running them for the day and not had any issues (though I
> > didn't have any before). If there are any objections, let me know!
> 
> Neither of them apply to the 4.4.y tree, can you send me backports that
> do work?
> 
> thanks,
> 
> greg k-h

Done, thanks!

^ permalink raw reply	[relevance 99%]

* [PATCH 4.4] ext4: bugfix for mmaped pages in mpage_release_unused_pages()
@ 2018-04-22  9:45 94% Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22  9:45 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: wangguang, wangguang, Theodore Ts'o, Nathan Chancellor

From: wangguang <wang.guang55@zte.com.cn>

commit 4e800c0359d9a53e6bf0ab216954971b2515247f upstream.

Pages clear buffers after ext4 delayed block allocation failed,
However, it does not clean its pte_dirty flag.
if the pages unmap ,in cording to the pte_dirty ,
unmap_page_range may try to call __set_page_dirty,

which may lead to the bugon at
mpage_prepare_extent_to_map:head = page_buffers(page);.

This patch just call clear_page_dirty_for_io to clean pte_dirty
at mpage_release_unused_pages for pages mmaped.

Steps to reproduce the bug:

(1) mmap a file in ext4
	addr = (char *)mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED,
	       	            fd, 0);
	memset(addr, 'i', 4096);

(2) return EIO at

	ext4_writepages->mpage_map_and_submit_extent->mpage_map_one_extent

which causes this log message to be print:

                ext4_msg(sb, KERN_CRIT,
                        "Delayed block allocation failed for "
                        "inode %lu at logical offset %llu with"
                        " max blocks %u with error %d",
                        inode->i_ino,
                        (unsigned long long)map->m_lblk,
                        (unsigned)map->m_len, -err);

(3)Unmap the addr cause warning at

	__set_page_dirty:WARN_ON_ONCE(warn && !PageUptodate(page));

(4) wait for a minute,then bugon happen.

Cc: stable@vger.kernel.org
Signed-off-by: wangguang <wangguang03@zte.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
[@nathanchance: Resolved conflict from lack of 09cbfeaf1a5a6]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
One more bug fix I came across, sorry I forgot to send it with the other
two patches!
---
 fs/ext4/inode.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index f0cabc8c96cb..3bddd47660d8 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -1515,6 +1515,8 @@ static void mpage_release_unused_pages(struct mpage_da_data *mpd,
 			BUG_ON(!PageLocked(page));
 			BUG_ON(PageWriteback(page));
 			if (invalidate) {
+				if (page_mapped(page))
+					clear_page_dirty_for_io(page);
 				block_invalidatepage(page, 0, PAGE_CACHE_SIZE);
 				ClearPageUptodate(page);
 			}
-- 
2.17.0

^ permalink raw reply related	[relevance 94%]

* Re: FAILED: patch "[PATCH] mm/filemap.c: fix NULL pointer in page_cache_tree_insert()" failed to apply to 4.4-stable tree
  @ 2018-04-22  9:52 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22  9:52 UTC (permalink / raw)
  To: gregkh
  Cc: mawilcox, akpm, cfries, hannes, jack, mhocko, minchan, stable, torvalds

On Sun, Apr 22, 2018 at 11:33:42AM +0200, gregkh@linuxfoundation.org wrote:
> 
> The patch below does not apply to the 4.4-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@vger.kernel.org>.
> 
> thanks,
> 
> greg k-h
> 
> ------------------ original commit in Linus's tree ------------------
> 
> From abc1be13fd113ddef5e2d807a466286b864caed3 Mon Sep 17 00:00:00 2001
> From: Matthew Wilcox <mawilcox@microsoft.com>
> Date: Fri, 20 Apr 2018 14:56:20 -0700
> Subject: [PATCH] mm/filemap.c: fix NULL pointer in page_cache_tree_insert()
> 
> f2fs specifies the __GFP_ZERO flag for allocating some of its pages.
> Unfortunately, the page cache also uses the mapping's GFP flags for
> allocating radix tree nodes.  It always masked off the __GFP_HIGHMEM
> flag, and masks off __GFP_ZERO in some paths, but not all.  That causes
> radix tree nodes to be allocated with a NULL list_head, which causes
> backtraces like:
> 
>   __list_del_entry+0x30/0xd0
>   list_lru_del+0xac/0x1ac
>   page_cache_tree_insert+0xd8/0x110
> 
> The __GFP_DMA and __GFP_DMA32 flags would also be able to sneak through
> if they are ever used.  Fix them all by using GFP_RECLAIM_MASK at the
> innermost location, and remove it from earlier in the callchain.
> 
> Link: http://lkml.kernel.org/r/20180411060320.14458-2-willy@infradead.org
> Fixes: 449dd6984d0e ("mm: keep page cache radix tree nodes in check")
> Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
> Reported-by: Chris Fries <cfries@google.com>
> Debugged-by: Minchan Kim <minchan@kernel.org>
> Acked-by: Johannes Weiner <hannes@cmpxchg.org>
> Acked-by: Michal Hocko <mhocko@suse.com>
> Reviewed-by: Jan Kara <jack@suse.cz>
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> 
> diff --git a/mm/filemap.c b/mm/filemap.c
> index 9276bdb2343c..0604cb02e6f3 100644
> --- a/mm/filemap.c
> +++ b/mm/filemap.c
> @@ -786,7 +786,7 @@ int replace_page_cache_page(struct page *old, struct page *new, gfp_t gfp_mask)
>  	VM_BUG_ON_PAGE(!PageLocked(new), new);
>  	VM_BUG_ON_PAGE(new->mapping, new);
>  
> -	error = radix_tree_preload(gfp_mask & ~__GFP_HIGHMEM);
> +	error = radix_tree_preload(gfp_mask & GFP_RECLAIM_MASK);
>  	if (!error) {
>  		struct address_space *mapping = old->mapping;
>  		void (*freepage)(struct page *);
> @@ -842,7 +842,7 @@ static int __add_to_page_cache_locked(struct page *page,
>  			return error;
>  	}
>  
> -	error = radix_tree_maybe_preload(gfp_mask & ~__GFP_HIGHMEM);
> +	error = radix_tree_maybe_preload(gfp_mask & GFP_RECLAIM_MASK);
>  	if (error) {
>  		if (!huge)
>  			mem_cgroup_cancel_charge(page, memcg, false);
> @@ -1585,8 +1585,7 @@ struct page *pagecache_get_page(struct address_space *mapping, pgoff_t offset,
>  		if (fgp_flags & FGP_ACCESSED)
>  			__SetPageReferenced(page);
>  
> -		err = add_to_page_cache_lru(page, mapping, offset,
> -				gfp_mask & GFP_RECLAIM_MASK);
> +		err = add_to_page_cache_lru(page, mapping, offset, gfp_mask);
>  		if (unlikely(err)) {
>  			put_page(page);
>  			page = NULL;
> @@ -2387,7 +2386,7 @@ static int page_cache_read(struct file *file, pgoff_t offset, gfp_t gfp_mask)
>  		if (!page)
>  			return -ENOMEM;
>  
> -		ret = add_to_page_cache_lru(page, mapping, offset, gfp_mask & GFP_KERNEL);
> +		ret = add_to_page_cache_lru(page, mapping, offset, gfp_mask);
>  		if (ret == 0)
>  			ret = mapping->a_ops->readpage(file, page);
>  		else if (ret == -EEXIST)
> 

It looks like c20cd45eb017 ("mm: allow GFP_{FS,IO} for page_cache_read
page cache allocation") came in during 4.5 and reorganized a few things
around the last section.

If you pick that commit then this one, it will be clean (just tested on
4.4.128).

Nathan

^ permalink raw reply	[relevance 99%]

* [PATCH 4.4] writeback: safer lock nesting
@ 2018-04-22 10:07 61% Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-04-22 10:07 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Greg Thelen, Johannes Weiner, Tejun Heo, Nicholas Piggin,
	Andrew Morton, Linus Torvalds, Nathan Chancellor

From: Greg Thelen <gthelen@google.com>

commit 2e898e4c0a3897ccd434adac5abb8330194f527b upstream.

lock_page_memcg()/unlock_page_memcg() use spin_lock_irqsave/restore() if
the page's memcg is undergoing move accounting, which occurs when a
process leaves its memcg for a new one that has
memory.move_charge_at_immigrate set.

unlocked_inode_to_wb_begin,end() use spin_lock_irq/spin_unlock_irq() if
the given inode is switching writeback domains.  Switches occur when
enough writes are issued from a new domain.

This existing pattern is thus suspicious:
    lock_page_memcg(page);
    unlocked_inode_to_wb_begin(inode, &locked);
    ...
    unlocked_inode_to_wb_end(inode, locked);
    unlock_page_memcg(page);

If both inode switch and process memcg migration are both in-flight then
unlocked_inode_to_wb_end() will unconditionally enable interrupts while
still holding the lock_page_memcg() irq spinlock.  This suggests the
possibility of deadlock if an interrupt occurs before unlock_page_memcg().

    truncate
    __cancel_dirty_page
    lock_page_memcg
    unlocked_inode_to_wb_begin
    unlocked_inode_to_wb_end
    <interrupts mistakenly enabled>
                                    <interrupt>
                                    end_page_writeback
                                    test_clear_page_writeback
                                    lock_page_memcg
                                    <deadlock>
    unlock_page_memcg

Due to configuration limitations this deadlock is not currently possible
because we don't mix cgroup writeback (a cgroupv2 feature) and
memory.move_charge_at_immigrate (a cgroupv1 feature).

If the kernel is hacked to always claim inode switching and memcg
moving_account, then this script triggers lockup in less than a minute:

  cd /mnt/cgroup/memory
  mkdir a b
  echo 1 > a/memory.move_charge_at_immigrate
  echo 1 > b/memory.move_charge_at_immigrate
  (
    echo $BASHPID > a/cgroup.procs
    while true; do
      dd if=/dev/zero of=/mnt/big bs=1M count=256
    done
  ) &
  while true; do
    sync
  done &
  sleep 1h &
  SLEEP=$!
  while true; do
    echo $SLEEP > a/cgroup.procs
    echo $SLEEP > b/cgroup.procs
  done

The deadlock does not seem possible, so it's debatable if there's any
reason to modify the kernel.  I suggest we should to prevent future
surprises.  And Wang Long said "this deadlock occurs three times in our
environment", so there's more reason to apply this, even to stable.
Stable 4.4 has minor conflicts applying this patch.  For a clean 4.4 patch
see "[PATCH for-4.4] writeback: safer lock nesting"
https://lkml.org/lkml/2018/4/11/146

Wang Long said "this deadlock occurs three times in our environment"

[gthelen@google.com: v4]
  Link: http://lkml.kernel.org/r/20180411084653.254724-1-gthelen@google.com
[akpm@linux-foundation.org: comment tweaks, struct initialization simplification]
Change-Id: Ibb773e8045852978f6207074491d262f1b3fb613
Link: http://lkml.kernel.org/r/20180410005908.167976-1-gthelen@google.com
Fixes: 682aa8e1a6a1 ("writeback: implement unlocked_inode_to_wb transaction and use it for stat updates")
Signed-off-by: Greg Thelen <gthelen@google.com>
Reported-by: Wang Long <wanglong19@meituan.com>
Acked-by: Wang Long <wanglong19@meituan.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: <stable@vger.kernel.org>	[v4.2+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[natechancellor: Applied to 4.4 based on Greg's backport on lkml.org]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 fs/fs-writeback.c                |  7 ++++---
 include/linux/backing-dev-defs.h |  5 +++++
 include/linux/backing-dev.h      | 31 +++++++++++++++++--------------
 mm/page-writeback.c              | 18 +++++++++---------
 4 files changed, 35 insertions(+), 26 deletions(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 22b30249fbcb..0fe667875852 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -747,11 +747,12 @@ int inode_congested(struct inode *inode, int cong_bits)
 	 */
 	if (inode && inode_to_wb_is_valid(inode)) {
 		struct bdi_writeback *wb;
-		bool locked, congested;
+		struct wb_lock_cookie lock_cookie = {};
+		bool congested;
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &lock_cookie);
 		congested = wb_congested(wb, cong_bits);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &lock_cookie);
 		return congested;
 	}
 
diff --git a/include/linux/backing-dev-defs.h b/include/linux/backing-dev-defs.h
index 140c29635069..a307c37c2e6c 100644
--- a/include/linux/backing-dev-defs.h
+++ b/include/linux/backing-dev-defs.h
@@ -191,6 +191,11 @@ static inline void set_bdi_congested(struct backing_dev_info *bdi, int sync)
 	set_wb_congested(bdi->wb.congested, sync);
 }
 
+struct wb_lock_cookie {
+	bool locked;
+	unsigned long flags;
+};
+
 #ifdef CONFIG_CGROUP_WRITEBACK
 
 /**
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
index 89d3de3e096b..361274ce5815 100644
--- a/include/linux/backing-dev.h
+++ b/include/linux/backing-dev.h
@@ -366,7 +366,7 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
 /**
  * unlocked_inode_to_wb_begin - begin unlocked inode wb access transaction
  * @inode: target inode
- * @lockedp: temp bool output param, to be passed to the end function
+ * @cookie: output param, to be passed to the end function
  *
  * The caller wants to access the wb associated with @inode but isn't
  * holding inode->i_lock, mapping->tree_lock or wb->list_lock.  This
@@ -374,12 +374,12 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
  * association doesn't change until the transaction is finished with
  * unlocked_inode_to_wb_end().
  *
- * The caller must call unlocked_inode_to_wb_end() with *@lockdep
- * afterwards and can't sleep during transaction.  IRQ may or may not be
- * disabled on return.
+ * The caller must call unlocked_inode_to_wb_end() with *@cookie afterwards and
+ * can't sleep during the transaction.  IRQs may or may not be disabled on
+ * return.
  */
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	rcu_read_lock();
 
@@ -387,10 +387,10 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 	 * Paired with store_release in inode_switch_wb_work_fn() and
 	 * ensures that we see the new wb if we see cleared I_WB_SWITCH.
 	 */
-	*lockedp = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
+	cookie->locked = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
 
-	if (unlikely(*lockedp))
-		spin_lock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_lock_irqsave(&inode->i_mapping->tree_lock, cookie->flags);
 
 	/*
 	 * Protected by either !I_WB_SWITCH + rcu_read_lock() or tree_lock.
@@ -402,12 +402,14 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 /**
  * unlocked_inode_to_wb_end - end inode wb access transaction
  * @inode: target inode
- * @locked: *@lockedp from unlocked_inode_to_wb_begin()
+ * @cookie: @cookie from unlocked_inode_to_wb_begin()
  */
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
-	if (unlikely(locked))
-		spin_unlock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_unlock_irqrestore(&inode->i_mapping->tree_lock,
+				       cookie->flags);
 
 	rcu_read_unlock();
 }
@@ -454,12 +456,13 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
 }
 
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	return inode_to_wb(inode);
 }
 
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
 }
 
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 6d0dbde4503b..3309dbda7ffa 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -2510,13 +2510,13 @@ void account_page_redirty(struct page *page)
 	if (mapping && mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		current->nr_dirtied--;
 		dec_zone_page_state(page, NR_DIRTIED);
 		dec_wb_stat(wb, WB_DIRTIED);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 	}
 }
 EXPORT_SYMBOL(account_page_redirty);
@@ -2622,15 +2622,15 @@ void cancel_dirty_page(struct page *page)
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
 		struct mem_cgroup *memcg;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		memcg = mem_cgroup_begin_page_stat(page);
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 
 		if (TestClearPageDirty(page))
 			account_page_cleaned(page, mapping, memcg, wb);
 
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		mem_cgroup_end_page_stat(memcg);
 	} else {
 		ClearPageDirty(page);
@@ -2663,7 +2663,7 @@ int clear_page_dirty_for_io(struct page *page)
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
 		struct mem_cgroup *memcg;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		/*
 		 * Yes, Virginia, this is indeed insane.
@@ -2701,14 +2701,14 @@ int clear_page_dirty_for_io(struct page *page)
 		 * exclusion.
 		 */
 		memcg = mem_cgroup_begin_page_stat(page);
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		if (TestClearPageDirty(page)) {
 			mem_cgroup_dec_page_stat(memcg, MEM_CGROUP_STAT_DIRTY);
 			dec_zone_page_state(page, NR_FILE_DIRTY);
 			dec_wb_stat(wb, WB_RECLAIMABLE);
 			ret = 1;
 		}
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		mem_cgroup_end_page_stat(memcg);
 		return ret;
 	}
-- 
2.17.0

^ permalink raw reply related	[relevance 61%]

* [PATCH 4.4] fanotify: fix logic of events on child
@ 2018-04-22 10:14 88% Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22 10:14 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable; +Cc: Amir Goldstein, Jan Kara, Nathan Chancellor

From: Amir Goldstein <amir73il@gmail.com>

commit 54a307ba8d3cd00a3902337ffaae28f436eeb1a4 upstream.

When event on child inodes are sent to the parent inode mark and
parent inode mark was not marked with FAN_EVENT_ON_CHILD, the event
will not be delivered to the listener process. However, if the same
process also has a mount mark, the event to the parent inode will be
delivered regadless of the mount mark mask.

This behavior is incorrect in the case where the mount mark mask does
not contain the specific event type. For example, the process adds
a mark on a directory with mask FAN_MODIFY (without FAN_EVENT_ON_CHILD)
and a mount mark with mask FAN_CLOSE_NOWRITE (without FAN_ONDIR).

A modify event on a file inside that directory (and inside that mount)
should not create a FAN_MODIFY event, because neither of the marks
requested to get that event on the file.

Fixes: 1968f5eed54c ("fanotify: use both marks when possible")
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
[natechancellor: Fix small conflict due to lack of 3cd5eca8d7a2f]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 fs/notify/fanotify/fanotify.c | 34 +++++++++++++++-------------------
 1 file changed, 15 insertions(+), 19 deletions(-)

diff --git a/fs/notify/fanotify/fanotify.c b/fs/notify/fanotify/fanotify.c
index e0e5f7c3c99f..8a459b179183 100644
--- a/fs/notify/fanotify/fanotify.c
+++ b/fs/notify/fanotify/fanotify.c
@@ -92,7 +92,7 @@ static bool fanotify_should_send_event(struct fsnotify_mark *inode_mark,
 				       u32 event_mask,
 				       void *data, int data_type)
 {
-	__u32 marks_mask, marks_ignored_mask;
+	__u32 marks_mask = 0, marks_ignored_mask = 0;
 	struct path *path = data;
 
 	pr_debug("%s: inode_mark=%p vfsmnt_mark=%p mask=%x data=%p"
@@ -108,24 +108,20 @@ static bool fanotify_should_send_event(struct fsnotify_mark *inode_mark,
 	    !d_can_lookup(path->dentry))
 		return false;
 
-	if (inode_mark && vfsmnt_mark) {
-		marks_mask = (vfsmnt_mark->mask | inode_mark->mask);
-		marks_ignored_mask = (vfsmnt_mark->ignored_mask | inode_mark->ignored_mask);
-	} else if (inode_mark) {
-		/*
-		 * if the event is for a child and this inode doesn't care about
-		 * events on the child, don't send it!
-		 */
-		if ((event_mask & FS_EVENT_ON_CHILD) &&
-		    !(inode_mark->mask & FS_EVENT_ON_CHILD))
-			return false;
-		marks_mask = inode_mark->mask;
-		marks_ignored_mask = inode_mark->ignored_mask;
-	} else if (vfsmnt_mark) {
-		marks_mask = vfsmnt_mark->mask;
-		marks_ignored_mask = vfsmnt_mark->ignored_mask;
-	} else {
-		BUG();
+	/*
+	 * if the event is for a child and this inode doesn't care about
+	 * events on the child, don't send it!
+	 */
+	if (inode_mark &&
+	    (!(event_mask & FS_EVENT_ON_CHILD) ||
+	     (inode_mark->mask & FS_EVENT_ON_CHILD))) {
+		marks_mask |= inode_mark->mask;
+		marks_ignored_mask |= inode_mark->ignored_mask;
+	}
+
+	if (vfsmnt_mark) {
+		marks_mask |= vfsmnt_mark->mask;
+		marks_ignored_mask |= vfsmnt_mark->ignored_mask;
 	}
 
 	if (d_is_dir(path->dentry) &&
-- 
2.17.0

^ permalink raw reply related	[relevance 88%]

* Re: [PATCH 4.4] writeback: safer lock nesting
  @ 2018-04-22 10:16 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22 10:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: stable, Greg Thelen, Johannes Weiner, Tejun Heo, Nicholas Piggin,
	Andrew Morton, Linus Torvalds

On Sun, Apr 22, 2018 at 12:15:43PM +0200, Greg Kroah-Hartman wrote:
> On Sun, Apr 22, 2018 at 03:07:59AM -0700, Nathan Chancellor wrote:
> > From: Greg Thelen <gthelen@google.com>
> > 
> > commit 2e898e4c0a3897ccd434adac5abb8330194f527b upstream.
> > 
> > lock_page_memcg()/unlock_page_memcg() use spin_lock_irqsave/restore() if
> > the page's memcg is undergoing move accounting, which occurs when a
> > process leaves its memcg for a new one that has
> > memory.move_charge_at_immigrate set.
> > 
> > unlocked_inode_to_wb_begin,end() use spin_lock_irq/spin_unlock_irq() if
> > the given inode is switching writeback domains.  Switches occur when
> > enough writes are issued from a new domain.
> > 
> > This existing pattern is thus suspicious:
> >     lock_page_memcg(page);
> >     unlocked_inode_to_wb_begin(inode, &locked);
> >     ...
> >     unlocked_inode_to_wb_end(inode, locked);
> >     unlock_page_memcg(page);
> > 
> > If both inode switch and process memcg migration are both in-flight then
> > unlocked_inode_to_wb_end() will unconditionally enable interrupts while
> > still holding the lock_page_memcg() irq spinlock.  This suggests the
> > possibility of deadlock if an interrupt occurs before unlock_page_memcg().
> > 
> >     truncate
> >     __cancel_dirty_page
> >     lock_page_memcg
> >     unlocked_inode_to_wb_begin
> >     unlocked_inode_to_wb_end
> >     <interrupts mistakenly enabled>
> >                                     <interrupt>
> >                                     end_page_writeback
> >                                     test_clear_page_writeback
> >                                     lock_page_memcg
> >                                     <deadlock>
> >     unlock_page_memcg
> > 
> > Due to configuration limitations this deadlock is not currently possible
> > because we don't mix cgroup writeback (a cgroupv2 feature) and
> > memory.move_charge_at_immigrate (a cgroupv1 feature).
> > 
> > If the kernel is hacked to always claim inode switching and memcg
> > moving_account, then this script triggers lockup in less than a minute:
> > 
> >   cd /mnt/cgroup/memory
> >   mkdir a b
> >   echo 1 > a/memory.move_charge_at_immigrate
> >   echo 1 > b/memory.move_charge_at_immigrate
> >   (
> >     echo $BASHPID > a/cgroup.procs
> >     while true; do
> >       dd if=/dev/zero of=/mnt/big bs=1M count=256
> >     done
> >   ) &
> >   while true; do
> >     sync
> >   done &
> >   sleep 1h &
> >   SLEEP=$!
> >   while true; do
> >     echo $SLEEP > a/cgroup.procs
> >     echo $SLEEP > b/cgroup.procs
> >   done
> > 
> > The deadlock does not seem possible, so it's debatable if there's any
> > reason to modify the kernel.  I suggest we should to prevent future
> > surprises.  And Wang Long said "this deadlock occurs three times in our
> > environment", so there's more reason to apply this, even to stable.
> > Stable 4.4 has minor conflicts applying this patch.  For a clean 4.4 patch
> > see "[PATCH for-4.4] writeback: safer lock nesting"
> > https://lkml.org/lkml/2018/4/11/146
> > 
> > Wang Long said "this deadlock occurs three times in our environment"
> > 
> > [gthelen@google.com: v4]
> >   Link: http://lkml.kernel.org/r/20180411084653.254724-1-gthelen@google.com
> > [akpm@linux-foundation.org: comment tweaks, struct initialization simplification]
> > Change-Id: Ibb773e8045852978f6207074491d262f1b3fb613
> > Link: http://lkml.kernel.org/r/20180410005908.167976-1-gthelen@google.com
> > Fixes: 682aa8e1a6a1 ("writeback: implement unlocked_inode_to_wb transaction and use it for stat updates")
> > Signed-off-by: Greg Thelen <gthelen@google.com>
> > Reported-by: Wang Long <wanglong19@meituan.com>
> > Acked-by: Wang Long <wanglong19@meituan.com>
> > Acked-by: Michal Hocko <mhocko@suse.com>
> > Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
> > Cc: Johannes Weiner <hannes@cmpxchg.org>
> > Cc: Tejun Heo <tj@kernel.org>
> > Cc: Nicholas Piggin <npiggin@gmail.com>
> > Cc: <stable@vger.kernel.org>	[v4.2+]
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> > Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> > [natechancellor: Applied to 4.4 based on Greg's backport on lkml.org]
> 
> I need a working patch for 4.9.y, 4.14.y and 4.16.y first before I can
> apply this one :(
> 
> thanks,
> 
> greg k-h

Will do it now, thanks!

^ permalink raw reply	[relevance 99%]

* Backport of 2e898e4c0a38 for 4.4, 4.9, 4.14, and 4.16
@ 2018-04-22 10:36 99% Nathan Chancellor
  2018-04-22 10:36 61% ` [PATCH 4.14/4.16] writeback: safer lock nesting Nathan Chancellor
                   ` (2 more replies)
  0 siblings, 3 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22 10:36 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable

Hi Greg,

As promised, here is the backport of 2e898e4c0a38 ("writeback: safer
lock nesting") for 4.4, 4.9, 4.14, and 4.16, all on top of their latest
versions upstream. Let me know if there are any issues!

Nathan

^ permalink raw reply	[relevance 99%]

* [PATCH 4.14/4.16] writeback: safer lock nesting
  2018-04-22 10:36 99% Backport of 2e898e4c0a38 for 4.4, 4.9, 4.14, and 4.16 Nathan Chancellor
@ 2018-04-22 10:36 61% ` Nathan Chancellor
    2018-04-22 10:36 61% ` [PATCH 4.4] " Nathan Chancellor
  2018-04-22 10:36 61% ` [PATCH 4.9] " Nathan Chancellor
  2 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-04-22 10:36 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Greg Thelen, Johannes Weiner, Tejun Heo, Nicholas Piggin,
	Andrew Morton, Linus Torvalds, Nathan Chancellor

From: Greg Thelen <gthelen@google.com>

commit 2e898e4c0a3897ccd434adac5abb8330194f527b upstream.

lock_page_memcg()/unlock_page_memcg() use spin_lock_irqsave/restore() if
the page's memcg is undergoing move accounting, which occurs when a
process leaves its memcg for a new one that has
memory.move_charge_at_immigrate set.

unlocked_inode_to_wb_begin,end() use spin_lock_irq/spin_unlock_irq() if
the given inode is switching writeback domains.  Switches occur when
enough writes are issued from a new domain.

This existing pattern is thus suspicious:
    lock_page_memcg(page);
    unlocked_inode_to_wb_begin(inode, &locked);
    ...
    unlocked_inode_to_wb_end(inode, locked);
    unlock_page_memcg(page);

If both inode switch and process memcg migration are both in-flight then
unlocked_inode_to_wb_end() will unconditionally enable interrupts while
still holding the lock_page_memcg() irq spinlock.  This suggests the
possibility of deadlock if an interrupt occurs before unlock_page_memcg().

    truncate
    __cancel_dirty_page
    lock_page_memcg
    unlocked_inode_to_wb_begin
    unlocked_inode_to_wb_end
    <interrupts mistakenly enabled>
                                    <interrupt>
                                    end_page_writeback
                                    test_clear_page_writeback
                                    lock_page_memcg
                                    <deadlock>
    unlock_page_memcg

Due to configuration limitations this deadlock is not currently possible
because we don't mix cgroup writeback (a cgroupv2 feature) and
memory.move_charge_at_immigrate (a cgroupv1 feature).

If the kernel is hacked to always claim inode switching and memcg
moving_account, then this script triggers lockup in less than a minute:

  cd /mnt/cgroup/memory
  mkdir a b
  echo 1 > a/memory.move_charge_at_immigrate
  echo 1 > b/memory.move_charge_at_immigrate
  (
    echo $BASHPID > a/cgroup.procs
    while true; do
      dd if=/dev/zero of=/mnt/big bs=1M count=256
    done
  ) &
  while true; do
    sync
  done &
  sleep 1h &
  SLEEP=$!
  while true; do
    echo $SLEEP > a/cgroup.procs
    echo $SLEEP > b/cgroup.procs
  done

The deadlock does not seem possible, so it's debatable if there's any
reason to modify the kernel.  I suggest we should to prevent future
surprises.  And Wang Long said "this deadlock occurs three times in our
environment", so there's more reason to apply this, even to stable.
Stable 4.4 has minor conflicts applying this patch.  For a clean 4.4 patch
see "[PATCH for-4.4] writeback: safer lock nesting"
https://lkml.org/lkml/2018/4/11/146

Wang Long said "this deadlock occurs three times in our environment"

[gthelen@google.com: v4]
  Link: http://lkml.kernel.org/r/20180411084653.254724-1-gthelen@google.com
[akpm@linux-foundation.org: comment tweaks, struct initialization simplification]
Change-Id: Ibb773e8045852978f6207074491d262f1b3fb613
Link: http://lkml.kernel.org/r/20180410005908.167976-1-gthelen@google.com
Fixes: 682aa8e1a6a1 ("writeback: implement unlocked_inode_to_wb transaction and use it for stat updates")
Signed-off-by: Greg Thelen <gthelen@google.com>
Reported-by: Wang Long <wanglong19@meituan.com>
Acked-by: Wang Long <wanglong19@meituan.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: <stable@vger.kernel.org>	[v4.2+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[natechancellor: Adjust context due to lack of b93b016313b3b]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 fs/fs-writeback.c                |  7 ++++---
 include/linux/backing-dev-defs.h |  5 +++++
 include/linux/backing-dev.h      | 30 ++++++++++++++++--------------
 mm/page-writeback.c              | 18 +++++++++---------
 4 files changed, 34 insertions(+), 26 deletions(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index d4d04fee568a..40c34a0ef58a 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -745,11 +745,12 @@ int inode_congested(struct inode *inode, int cong_bits)
 	 */
 	if (inode && inode_to_wb_is_valid(inode)) {
 		struct bdi_writeback *wb;
-		bool locked, congested;
+		struct wb_lock_cookie lock_cookie = {};
+		bool congested;
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &lock_cookie);
 		congested = wb_congested(wb, cong_bits);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &lock_cookie);
 		return congested;
 	}
 
diff --git a/include/linux/backing-dev-defs.h b/include/linux/backing-dev-defs.h
index bfe86b54f6c1..0bd432a4d7bd 100644
--- a/include/linux/backing-dev-defs.h
+++ b/include/linux/backing-dev-defs.h
@@ -223,6 +223,11 @@ static inline void set_bdi_congested(struct backing_dev_info *bdi, int sync)
 	set_wb_congested(bdi->wb.congested, sync);
 }
 
+struct wb_lock_cookie {
+	bool locked;
+	unsigned long flags;
+};
+
 #ifdef CONFIG_CGROUP_WRITEBACK
 
 /**
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
index 3e4ce54d84ab..43e5aef01930 100644
--- a/include/linux/backing-dev.h
+++ b/include/linux/backing-dev.h
@@ -346,7 +346,7 @@ static inline struct bdi_writeback *inode_to_wb(const struct inode *inode)
 /**
  * unlocked_inode_to_wb_begin - begin unlocked inode wb access transaction
  * @inode: target inode
- * @lockedp: temp bool output param, to be passed to the end function
+ * @cookie: output param, to be passed to the end function
  *
  * The caller wants to access the wb associated with @inode but isn't
  * holding inode->i_lock, mapping->tree_lock or wb->list_lock.  This
@@ -354,12 +354,12 @@ static inline struct bdi_writeback *inode_to_wb(const struct inode *inode)
  * association doesn't change until the transaction is finished with
  * unlocked_inode_to_wb_end().
  *
- * The caller must call unlocked_inode_to_wb_end() with *@lockdep
- * afterwards and can't sleep during transaction.  IRQ may or may not be
- * disabled on return.
+ * The caller must call unlocked_inode_to_wb_end() with *@cookie afterwards and
+ * can't sleep during the transaction.  IRQs may or may not be disabled on
+ * return.
  */
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	rcu_read_lock();
 
@@ -367,10 +367,10 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 	 * Paired with store_release in inode_switch_wb_work_fn() and
 	 * ensures that we see the new wb if we see cleared I_WB_SWITCH.
 	 */
-	*lockedp = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
+	cookie->locked = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
 
-	if (unlikely(*lockedp))
-		spin_lock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_lock_irqsave(&inode->i_mapping->tree_lock, *flags);
 
 	/*
 	 * Protected by either !I_WB_SWITCH + rcu_read_lock() or tree_lock.
@@ -382,12 +382,13 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 /**
  * unlocked_inode_to_wb_end - end inode wb access transaction
  * @inode: target inode
- * @locked: *@lockedp from unlocked_inode_to_wb_begin()
+ * @cookie: @cookie from unlocked_inode_to_wb_begin()
  */
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
-	if (unlikely(locked))
-		spin_unlock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_unlock_irqrestore(&inode->i_mapping->tree_lock, flags);
 
 	rcu_read_unlock();
 }
@@ -434,12 +435,13 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
 }
 
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	return inode_to_wb(inode);
 }
 
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
 }
 
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 586f31261c83..8369572e1f7d 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -2501,13 +2501,13 @@ void account_page_redirty(struct page *page)
 	if (mapping && mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		current->nr_dirtied--;
 		dec_node_page_state(page, NR_DIRTIED);
 		dec_wb_stat(wb, WB_DIRTIED);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 	}
 }
 EXPORT_SYMBOL(account_page_redirty);
@@ -2613,15 +2613,15 @@ void __cancel_dirty_page(struct page *page)
 	if (mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		lock_page_memcg(page);
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 
 		if (TestClearPageDirty(page))
 			account_page_cleaned(page, mapping, wb);
 
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		unlock_page_memcg(page);
 	} else {
 		ClearPageDirty(page);
@@ -2653,7 +2653,7 @@ int clear_page_dirty_for_io(struct page *page)
 	if (mapping && mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		/*
 		 * Yes, Virginia, this is indeed insane.
@@ -2690,14 +2690,14 @@ int clear_page_dirty_for_io(struct page *page)
 		 * always locked coming in here, so we get the desired
 		 * exclusion.
 		 */
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		if (TestClearPageDirty(page)) {
 			dec_lruvec_page_state(page, NR_FILE_DIRTY);
 			dec_zone_page_state(page, NR_ZONE_WRITE_PENDING);
 			dec_wb_stat(wb, WB_RECLAIMABLE);
 			ret = 1;
 		}
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		return ret;
 	}
 	return TestClearPageDirty(page);
-- 
2.17.0

^ permalink raw reply related	[relevance 61%]

* [PATCH 4.4] writeback: safer lock nesting
  2018-04-22 10:36 99% Backport of 2e898e4c0a38 for 4.4, 4.9, 4.14, and 4.16 Nathan Chancellor
  2018-04-22 10:36 61% ` [PATCH 4.14/4.16] writeback: safer lock nesting Nathan Chancellor
@ 2018-04-22 10:36 61% ` Nathan Chancellor
  2018-04-22 10:36 61% ` [PATCH 4.9] " Nathan Chancellor
  2 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22 10:36 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Greg Thelen, Johannes Weiner, Tejun Heo, Nicholas Piggin,
	Andrew Morton, Linus Torvalds, Nathan Chancellor

From: Greg Thelen <gthelen@google.com>

commit 2e898e4c0a3897ccd434adac5abb8330194f527b upstream.

lock_page_memcg()/unlock_page_memcg() use spin_lock_irqsave/restore() if
the page's memcg is undergoing move accounting, which occurs when a
process leaves its memcg for a new one that has
memory.move_charge_at_immigrate set.

unlocked_inode_to_wb_begin,end() use spin_lock_irq/spin_unlock_irq() if
the given inode is switching writeback domains.  Switches occur when
enough writes are issued from a new domain.

This existing pattern is thus suspicious:
    lock_page_memcg(page);
    unlocked_inode_to_wb_begin(inode, &locked);
    ...
    unlocked_inode_to_wb_end(inode, locked);
    unlock_page_memcg(page);

If both inode switch and process memcg migration are both in-flight then
unlocked_inode_to_wb_end() will unconditionally enable interrupts while
still holding the lock_page_memcg() irq spinlock.  This suggests the
possibility of deadlock if an interrupt occurs before unlock_page_memcg().

    truncate
    __cancel_dirty_page
    lock_page_memcg
    unlocked_inode_to_wb_begin
    unlocked_inode_to_wb_end
    <interrupts mistakenly enabled>
                                    <interrupt>
                                    end_page_writeback
                                    test_clear_page_writeback
                                    lock_page_memcg
                                    <deadlock>
    unlock_page_memcg

Due to configuration limitations this deadlock is not currently possible
because we don't mix cgroup writeback (a cgroupv2 feature) and
memory.move_charge_at_immigrate (a cgroupv1 feature).

If the kernel is hacked to always claim inode switching and memcg
moving_account, then this script triggers lockup in less than a minute:

  cd /mnt/cgroup/memory
  mkdir a b
  echo 1 > a/memory.move_charge_at_immigrate
  echo 1 > b/memory.move_charge_at_immigrate
  (
    echo $BASHPID > a/cgroup.procs
    while true; do
      dd if=/dev/zero of=/mnt/big bs=1M count=256
    done
  ) &
  while true; do
    sync
  done &
  sleep 1h &
  SLEEP=$!
  while true; do
    echo $SLEEP > a/cgroup.procs
    echo $SLEEP > b/cgroup.procs
  done

The deadlock does not seem possible, so it's debatable if there's any
reason to modify the kernel.  I suggest we should to prevent future
surprises.  And Wang Long said "this deadlock occurs three times in our
environment", so there's more reason to apply this, even to stable.
Stable 4.4 has minor conflicts applying this patch.  For a clean 4.4 patch
see "[PATCH for-4.4] writeback: safer lock nesting"
https://lkml.org/lkml/2018/4/11/146

Wang Long said "this deadlock occurs three times in our environment"

[gthelen@google.com: v4]
  Link: http://lkml.kernel.org/r/20180411084653.254724-1-gthelen@google.com
[akpm@linux-foundation.org: comment tweaks, struct initialization simplification]
Change-Id: Ibb773e8045852978f6207074491d262f1b3fb613
Link: http://lkml.kernel.org/r/20180410005908.167976-1-gthelen@google.com
Fixes: 682aa8e1a6a1 ("writeback: implement unlocked_inode_to_wb transaction and use it for stat updates")
Signed-off-by: Greg Thelen <gthelen@google.com>
Reported-by: Wang Long <wanglong19@meituan.com>
Acked-by: Wang Long <wanglong19@meituan.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: <stable@vger.kernel.org>	[v4.2+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[natechancellor: Applied to 4.4 based on Greg's backport on lkml.org]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 fs/fs-writeback.c                |  7 ++++---
 include/linux/backing-dev-defs.h |  5 +++++
 include/linux/backing-dev.h      | 31 +++++++++++++++++--------------
 mm/page-writeback.c              | 18 +++++++++---------
 4 files changed, 35 insertions(+), 26 deletions(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 22b30249fbcb..0fe667875852 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -747,11 +747,12 @@ int inode_congested(struct inode *inode, int cong_bits)
 	 */
 	if (inode && inode_to_wb_is_valid(inode)) {
 		struct bdi_writeback *wb;
-		bool locked, congested;
+		struct wb_lock_cookie lock_cookie = {};
+		bool congested;
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &lock_cookie);
 		congested = wb_congested(wb, cong_bits);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &lock_cookie);
 		return congested;
 	}
 
diff --git a/include/linux/backing-dev-defs.h b/include/linux/backing-dev-defs.h
index 140c29635069..a307c37c2e6c 100644
--- a/include/linux/backing-dev-defs.h
+++ b/include/linux/backing-dev-defs.h
@@ -191,6 +191,11 @@ static inline void set_bdi_congested(struct backing_dev_info *bdi, int sync)
 	set_wb_congested(bdi->wb.congested, sync);
 }
 
+struct wb_lock_cookie {
+	bool locked;
+	unsigned long flags;
+};
+
 #ifdef CONFIG_CGROUP_WRITEBACK
 
 /**
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
index 89d3de3e096b..361274ce5815 100644
--- a/include/linux/backing-dev.h
+++ b/include/linux/backing-dev.h
@@ -366,7 +366,7 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
 /**
  * unlocked_inode_to_wb_begin - begin unlocked inode wb access transaction
  * @inode: target inode
- * @lockedp: temp bool output param, to be passed to the end function
+ * @cookie: output param, to be passed to the end function
  *
  * The caller wants to access the wb associated with @inode but isn't
  * holding inode->i_lock, mapping->tree_lock or wb->list_lock.  This
@@ -374,12 +374,12 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
  * association doesn't change until the transaction is finished with
  * unlocked_inode_to_wb_end().
  *
- * The caller must call unlocked_inode_to_wb_end() with *@lockdep
- * afterwards and can't sleep during transaction.  IRQ may or may not be
- * disabled on return.
+ * The caller must call unlocked_inode_to_wb_end() with *@cookie afterwards and
+ * can't sleep during the transaction.  IRQs may or may not be disabled on
+ * return.
  */
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	rcu_read_lock();
 
@@ -387,10 +387,10 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 	 * Paired with store_release in inode_switch_wb_work_fn() and
 	 * ensures that we see the new wb if we see cleared I_WB_SWITCH.
 	 */
-	*lockedp = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
+	cookie->locked = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
 
-	if (unlikely(*lockedp))
-		spin_lock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_lock_irqsave(&inode->i_mapping->tree_lock, cookie->flags);
 
 	/*
 	 * Protected by either !I_WB_SWITCH + rcu_read_lock() or tree_lock.
@@ -402,12 +402,14 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 /**
  * unlocked_inode_to_wb_end - end inode wb access transaction
  * @inode: target inode
- * @locked: *@lockedp from unlocked_inode_to_wb_begin()
+ * @cookie: @cookie from unlocked_inode_to_wb_begin()
  */
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
-	if (unlikely(locked))
-		spin_unlock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_unlock_irqrestore(&inode->i_mapping->tree_lock,
+				       cookie->flags);
 
 	rcu_read_unlock();
 }
@@ -454,12 +456,13 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
 }
 
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	return inode_to_wb(inode);
 }
 
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
 }
 
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 6d0dbde4503b..3309dbda7ffa 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -2510,13 +2510,13 @@ void account_page_redirty(struct page *page)
 	if (mapping && mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		current->nr_dirtied--;
 		dec_zone_page_state(page, NR_DIRTIED);
 		dec_wb_stat(wb, WB_DIRTIED);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 	}
 }
 EXPORT_SYMBOL(account_page_redirty);
@@ -2622,15 +2622,15 @@ void cancel_dirty_page(struct page *page)
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
 		struct mem_cgroup *memcg;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		memcg = mem_cgroup_begin_page_stat(page);
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 
 		if (TestClearPageDirty(page))
 			account_page_cleaned(page, mapping, memcg, wb);
 
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		mem_cgroup_end_page_stat(memcg);
 	} else {
 		ClearPageDirty(page);
@@ -2663,7 +2663,7 @@ int clear_page_dirty_for_io(struct page *page)
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
 		struct mem_cgroup *memcg;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		/*
 		 * Yes, Virginia, this is indeed insane.
@@ -2701,14 +2701,14 @@ int clear_page_dirty_for_io(struct page *page)
 		 * exclusion.
 		 */
 		memcg = mem_cgroup_begin_page_stat(page);
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		if (TestClearPageDirty(page)) {
 			mem_cgroup_dec_page_stat(memcg, MEM_CGROUP_STAT_DIRTY);
 			dec_zone_page_state(page, NR_FILE_DIRTY);
 			dec_wb_stat(wb, WB_RECLAIMABLE);
 			ret = 1;
 		}
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		mem_cgroup_end_page_stat(memcg);
 		return ret;
 	}
-- 
2.17.0

^ permalink raw reply related	[relevance 61%]

* [PATCH 4.9] writeback: safer lock nesting
  2018-04-22 10:36 99% Backport of 2e898e4c0a38 for 4.4, 4.9, 4.14, and 4.16 Nathan Chancellor
  2018-04-22 10:36 61% ` [PATCH 4.14/4.16] writeback: safer lock nesting Nathan Chancellor
  2018-04-22 10:36 61% ` [PATCH 4.4] " Nathan Chancellor
@ 2018-04-22 10:36 61% ` Nathan Chancellor
  2 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22 10:36 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Greg Thelen, Johannes Weiner, Tejun Heo, Nicholas Piggin,
	Andrew Morton, Linus Torvalds, Nathan Chancellor

From: Greg Thelen <gthelen@google.com>

commit 2e898e4c0a3897ccd434adac5abb8330194f527b upstream.

lock_page_memcg()/unlock_page_memcg() use spin_lock_irqsave/restore() if
the page's memcg is undergoing move accounting, which occurs when a
process leaves its memcg for a new one that has
memory.move_charge_at_immigrate set.

unlocked_inode_to_wb_begin,end() use spin_lock_irq/spin_unlock_irq() if
the given inode is switching writeback domains.  Switches occur when
enough writes are issued from a new domain.

This existing pattern is thus suspicious:
    lock_page_memcg(page);
    unlocked_inode_to_wb_begin(inode, &locked);
    ...
    unlocked_inode_to_wb_end(inode, locked);
    unlock_page_memcg(page);

If both inode switch and process memcg migration are both in-flight then
unlocked_inode_to_wb_end() will unconditionally enable interrupts while
still holding the lock_page_memcg() irq spinlock.  This suggests the
possibility of deadlock if an interrupt occurs before unlock_page_memcg().

    truncate
    __cancel_dirty_page
    lock_page_memcg
    unlocked_inode_to_wb_begin
    unlocked_inode_to_wb_end
    <interrupts mistakenly enabled>
                                    <interrupt>
                                    end_page_writeback
                                    test_clear_page_writeback
                                    lock_page_memcg
                                    <deadlock>
    unlock_page_memcg

Due to configuration limitations this deadlock is not currently possible
because we don't mix cgroup writeback (a cgroupv2 feature) and
memory.move_charge_at_immigrate (a cgroupv1 feature).

If the kernel is hacked to always claim inode switching and memcg
moving_account, then this script triggers lockup in less than a minute:

  cd /mnt/cgroup/memory
  mkdir a b
  echo 1 > a/memory.move_charge_at_immigrate
  echo 1 > b/memory.move_charge_at_immigrate
  (
    echo $BASHPID > a/cgroup.procs
    while true; do
      dd if=/dev/zero of=/mnt/big bs=1M count=256
    done
  ) &
  while true; do
    sync
  done &
  sleep 1h &
  SLEEP=$!
  while true; do
    echo $SLEEP > a/cgroup.procs
    echo $SLEEP > b/cgroup.procs
  done

The deadlock does not seem possible, so it's debatable if there's any
reason to modify the kernel.  I suggest we should to prevent future
surprises.  And Wang Long said "this deadlock occurs three times in our
environment", so there's more reason to apply this, even to stable.
Stable 4.4 has minor conflicts applying this patch.  For a clean 4.4 patch
see "[PATCH for-4.4] writeback: safer lock nesting"
https://lkml.org/lkml/2018/4/11/146

Wang Long said "this deadlock occurs three times in our environment"

[gthelen@google.com: v4]
  Link: http://lkml.kernel.org/r/20180411084653.254724-1-gthelen@google.com
[akpm@linux-foundation.org: comment tweaks, struct initialization simplification]
Change-Id: Ibb773e8045852978f6207074491d262f1b3fb613
Link: http://lkml.kernel.org/r/20180410005908.167976-1-gthelen@google.com
Fixes: 682aa8e1a6a1 ("writeback: implement unlocked_inode_to_wb transaction and use it for stat updates")
Signed-off-by: Greg Thelen <gthelen@google.com>
Reported-by: Wang Long <wanglong19@meituan.com>
Acked-by: Wang Long <wanglong19@meituan.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: <stable@vger.kernel.org>	[v4.2+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[natechancellor: Adjust context due to lack of b93b016313b3b]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 fs/fs-writeback.c                |  7 ++++---
 include/linux/backing-dev-defs.h |  5 +++++
 include/linux/backing-dev.h      | 30 ++++++++++++++++--------------
 mm/page-writeback.c              | 18 +++++++++---------
 4 files changed, 34 insertions(+), 26 deletions(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 0703a1179847..3d8b35f28a9b 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -745,11 +745,12 @@ int inode_congested(struct inode *inode, int cong_bits)
 	 */
 	if (inode && inode_to_wb_is_valid(inode)) {
 		struct bdi_writeback *wb;
-		bool locked, congested;
+		struct wb_lock_cookie lock_cookie = {};
+		bool congested;
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &lock_cookie);
 		congested = wb_congested(wb, cong_bits);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &lock_cookie);
 		return congested;
 	}
 
diff --git a/include/linux/backing-dev-defs.h b/include/linux/backing-dev-defs.h
index c357f27d5483..32728ff8095c 100644
--- a/include/linux/backing-dev-defs.h
+++ b/include/linux/backing-dev-defs.h
@@ -191,6 +191,11 @@ static inline void set_bdi_congested(struct backing_dev_info *bdi, int sync)
 	set_wb_congested(bdi->wb.congested, sync);
 }
 
+struct wb_lock_cookie {
+	bool locked;
+	unsigned long flags;
+};
+
 #ifdef CONFIG_CGROUP_WRITEBACK
 
 /**
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
index 43b93a947e61..608a82922f04 100644
--- a/include/linux/backing-dev.h
+++ b/include/linux/backing-dev.h
@@ -366,7 +366,7 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
 /**
  * unlocked_inode_to_wb_begin - begin unlocked inode wb access transaction
  * @inode: target inode
- * @lockedp: temp bool output param, to be passed to the end function
+ * @cookie: output param, to be passed to the end function
  *
  * The caller wants to access the wb associated with @inode but isn't
  * holding inode->i_lock, mapping->tree_lock or wb->list_lock.  This
@@ -374,12 +374,12 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
  * association doesn't change until the transaction is finished with
  * unlocked_inode_to_wb_end().
  *
- * The caller must call unlocked_inode_to_wb_end() with *@lockdep
- * afterwards and can't sleep during transaction.  IRQ may or may not be
- * disabled on return.
+ * The caller must call unlocked_inode_to_wb_end() with *@cookie afterwards and
+ * can't sleep during the transaction.  IRQs may or may not be disabled on
+ * return.
  */
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	rcu_read_lock();
 
@@ -387,10 +387,10 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 	 * Paired with store_release in inode_switch_wb_work_fn() and
 	 * ensures that we see the new wb if we see cleared I_WB_SWITCH.
 	 */
-	*lockedp = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
+	cookie->locked = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
 
-	if (unlikely(*lockedp))
-		spin_lock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_lock_irqsave(&inode->i_mapping->tree_lock, *flags);
 
 	/*
 	 * Protected by either !I_WB_SWITCH + rcu_read_lock() or tree_lock.
@@ -402,12 +402,13 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 /**
  * unlocked_inode_to_wb_end - end inode wb access transaction
  * @inode: target inode
- * @locked: *@lockedp from unlocked_inode_to_wb_begin()
+ * @cookie: @cookie from unlocked_inode_to_wb_begin()
  */
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
-	if (unlikely(locked))
-		spin_unlock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_unlock_irqrestore(&inode->i_mapping->tree_lock, flags);
 
 	rcu_read_unlock();
 }
@@ -454,12 +455,13 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
 }
 
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	return inode_to_wb(inode);
 }
 
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
 }
 
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 439cc63ad903..807236aed275 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -2506,13 +2506,13 @@ void account_page_redirty(struct page *page)
 	if (mapping && mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		current->nr_dirtied--;
 		dec_node_page_state(page, NR_DIRTIED);
 		dec_wb_stat(wb, WB_DIRTIED);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 	}
 }
 EXPORT_SYMBOL(account_page_redirty);
@@ -2618,15 +2618,15 @@ void cancel_dirty_page(struct page *page)
 	if (mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		lock_page_memcg(page);
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 
 		if (TestClearPageDirty(page))
 			account_page_cleaned(page, mapping, wb);
 
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		unlock_page_memcg(page);
 	} else {
 		ClearPageDirty(page);
@@ -2658,7 +2658,7 @@ int clear_page_dirty_for_io(struct page *page)
 	if (mapping && mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		/*
 		 * Yes, Virginia, this is indeed insane.
@@ -2695,7 +2695,7 @@ int clear_page_dirty_for_io(struct page *page)
 		 * always locked coming in here, so we get the desired
 		 * exclusion.
 		 */
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		if (TestClearPageDirty(page)) {
 			mem_cgroup_dec_page_stat(page, MEM_CGROUP_STAT_DIRTY);
 			dec_node_page_state(page, NR_FILE_DIRTY);
@@ -2703,7 +2703,7 @@ int clear_page_dirty_for_io(struct page *page)
 			dec_wb_stat(wb, WB_RECLAIMABLE);
 			ret = 1;
 		}
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		return ret;
 	}
 	return TestClearPageDirty(page);
-- 
2.17.0

^ permalink raw reply related	[relevance 61%]

* Re: [PATCH 4.14/4.16] writeback: safer lock nesting
  @ 2018-04-22 10:47 99%     ` Nathan Chancellor
  2018-04-22 11:17 99%     ` Nathan Chancellor
  1 sibling, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22 10:47 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: stable, Greg Thelen, Johannes Weiner, Tejun Heo, Nicholas Piggin,
	Andrew Morton, Linus Torvalds

On Sun, Apr 22, 2018 at 12:42:57PM +0200, Greg Kroah-Hartman wrote:
> On Sun, Apr 22, 2018 at 03:36:32AM -0700, Nathan Chancellor wrote:
> > From: Greg Thelen <gthelen@google.com>
> > 
> > commit 2e898e4c0a3897ccd434adac5abb8330194f527b upstream.
> > 
> > lock_page_memcg()/unlock_page_memcg() use spin_lock_irqsave/restore() if
> > the page's memcg is undergoing move accounting, which occurs when a
> > process leaves its memcg for a new one that has
> > memory.move_charge_at_immigrate set.
> > 
> > unlocked_inode_to_wb_begin,end() use spin_lock_irq/spin_unlock_irq() if
> > the given inode is switching writeback domains.  Switches occur when
> > enough writes are issued from a new domain.
> > 
> > This existing pattern is thus suspicious:
> >     lock_page_memcg(page);
> >     unlocked_inode_to_wb_begin(inode, &locked);
> >     ...
> >     unlocked_inode_to_wb_end(inode, locked);
> >     unlock_page_memcg(page);
> > 
> > If both inode switch and process memcg migration are both in-flight then
> > unlocked_inode_to_wb_end() will unconditionally enable interrupts while
> > still holding the lock_page_memcg() irq spinlock.  This suggests the
> > possibility of deadlock if an interrupt occurs before unlock_page_memcg().
> > 
> >     truncate
> >     __cancel_dirty_page
> >     lock_page_memcg
> >     unlocked_inode_to_wb_begin
> >     unlocked_inode_to_wb_end
> >     <interrupts mistakenly enabled>
> >                                     <interrupt>
> >                                     end_page_writeback
> >                                     test_clear_page_writeback
> >                                     lock_page_memcg
> >                                     <deadlock>
> >     unlock_page_memcg
> > 
> > Due to configuration limitations this deadlock is not currently possible
> > because we don't mix cgroup writeback (a cgroupv2 feature) and
> > memory.move_charge_at_immigrate (a cgroupv1 feature).
> > 
> > If the kernel is hacked to always claim inode switching and memcg
> > moving_account, then this script triggers lockup in less than a minute:
> > 
> >   cd /mnt/cgroup/memory
> >   mkdir a b
> >   echo 1 > a/memory.move_charge_at_immigrate
> >   echo 1 > b/memory.move_charge_at_immigrate
> >   (
> >     echo $BASHPID > a/cgroup.procs
> >     while true; do
> >       dd if=/dev/zero of=/mnt/big bs=1M count=256
> >     done
> >   ) &
> >   while true; do
> >     sync
> >   done &
> >   sleep 1h &
> >   SLEEP=$!
> >   while true; do
> >     echo $SLEEP > a/cgroup.procs
> >     echo $SLEEP > b/cgroup.procs
> >   done
> > 
> > The deadlock does not seem possible, so it's debatable if there's any
> > reason to modify the kernel.  I suggest we should to prevent future
> > surprises.  And Wang Long said "this deadlock occurs three times in our
> > environment", so there's more reason to apply this, even to stable.
> > Stable 4.4 has minor conflicts applying this patch.  For a clean 4.4 patch
> > see "[PATCH for-4.4] writeback: safer lock nesting"
> > https://lkml.org/lkml/2018/4/11/146
> > 
> > Wang Long said "this deadlock occurs three times in our environment"
> > 
> > [gthelen@google.com: v4]
> >   Link: http://lkml.kernel.org/r/20180411084653.254724-1-gthelen@google.com
> > [akpm@linux-foundation.org: comment tweaks, struct initialization simplification]
> > Change-Id: Ibb773e8045852978f6207074491d262f1b3fb613
> > Link: http://lkml.kernel.org/r/20180410005908.167976-1-gthelen@google.com
> > Fixes: 682aa8e1a6a1 ("writeback: implement unlocked_inode_to_wb transaction and use it for stat updates")
> > Signed-off-by: Greg Thelen <gthelen@google.com>
> > Reported-by: Wang Long <wanglong19@meituan.com>
> > Acked-by: Wang Long <wanglong19@meituan.com>
> > Acked-by: Michal Hocko <mhocko@suse.com>
> > Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
> > Cc: Johannes Weiner <hannes@cmpxchg.org>
> > Cc: Tejun Heo <tj@kernel.org>
> > Cc: Nicholas Piggin <npiggin@gmail.com>
> > Cc: <stable@vger.kernel.org>	[v4.2+]
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> > Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> > [natechancellor: Adjust context due to lack of b93b016313b3b]
> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> 
> I tried a "simple" backport like this as well, and it too blew up when
> building :(
> 
> This patch dies with:
> 
> $ make M=mm
>   CC      mm/filemap.o
> In file included from ./include/linux/kernel.h:13:0,
>                  from ./include/linux/list.h:9,
>                  from ./include/linux/wait.h:7,
>                  from ./include/linux/wait_bit.h:8,
>                  from ./include/linux/fs.h:6,
>                  from ./include/linux/dax.h:5,
>                  from mm/filemap.c:14:
> ./include/linux/backing-dev.h: In function ‘unlocked_inode_to_wb_begin’:
> ./include/linux/backing-dev.h:373:52: error: ‘flags’ undeclared (first use in this function); did you mean ‘class’?
>    spin_lock_irqsave(&inode->i_mapping->tree_lock, *flags);
>                                                     ^
> ./include/linux/typecheck.h:11:9: note: in definition of macro ‘typecheck’
>   typeof(x) __dummy2; \
>          ^
> ./include/linux/spinlock.h:340:2: note: in expansion of macro ‘raw_spin_lock_irqsave’
>   raw_spin_lock_irqsave(spinlock_check(lock), flags); \
>   ^~~~~~~~~~~~~~~~~~~~~
> ./include/linux/backing-dev.h:373:3: note: in expansion of macro ‘spin_lock_irqsave’
>    spin_lock_irqsave(&inode->i_mapping->tree_lock, *flags);
>    ^~~~~~~~~~~~~~~~~
> ./include/linux/backing-dev.h:373:52: note: each undeclared identifier is reported only once for each function it appears in
>    spin_lock_irqsave(&inode->i_mapping->tree_lock, *flags);
>                                                     ^
> ./include/linux/typecheck.h:11:9: note: in definition of macro ‘typecheck’
>   typeof(x) __dummy2; \
>          ^
> ./include/linux/spinlock.h:340:2: note: in expansion of macro ‘raw_spin_lock_irqsave’
>   raw_spin_lock_irqsave(spinlock_check(lock), flags); \
>   ^~~~~~~~~~~~~~~~~~~~~
> ./include/linux/backing-dev.h:373:3: note: in expansion of macro ‘spin_lock_irqsave’
>    spin_lock_irqsave(&inode->i_mapping->tree_lock, *flags);
>    ^~~~~~~~~~~~~~~~~
> ./include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
>   (void)(&__dummy == &__dummy2); \
>                   ^
> ./include/linux/spinlock.h:221:3: note: in expansion of macro ‘typecheck’
>    typecheck(unsigned long, flags); \
>    ^~~~~~~~~
> ./include/linux/spinlock.h:340:2: note: in expansion of macro ‘raw_spin_lock_irqsave’
>   raw_spin_lock_irqsave(spinlock_check(lock), flags); \
>   ^~~~~~~~~~~~~~~~~~~~~
> ./include/linux/backing-dev.h:373:3: note: in expansion of macro ‘spin_lock_irqsave’
>    spin_lock_irqsave(&inode->i_mapping->tree_lock, *flags);
>    ^~~~~~~~~~~~~~~~~
> In file included from mm/filemap.c:29:0:
> ./include/linux/backing-dev.h: In function ‘unlocked_inode_to_wb_end’:
> ./include/linux/backing-dev.h:391:56: error: ‘flags’ undeclared (first use in this function); did you mean ‘class’?
>    spin_unlock_irqrestore(&inode->i_mapping->tree_lock, flags);
>                                                         ^~~~~
>                                                         class
> make[1]: *** [scripts/Makefile.build:325: mm/filemap.o] Error 1
> make: *** [Makefile:1561: _module_mm] Error 2
> 
> 
> Can you test-build your patches?  :)
> 
> thanks,
> 
> greg k-h

Yes, sorry, I normally do but it seemed like an easy resolution :(

I'll fix this up and resend, sorry for the noise!

Nathan

^ permalink raw reply	[relevance 99%]

* [PATCH 4.14/4.16 v2] writeback: safer lock nesting
@ 2018-04-22 11:15 61% Nathan Chancellor
  2018-04-22 11:15 61% ` [PATCH 4.4 " Nathan Chancellor
  2018-04-22 11:15 61% ` [PATCH 4.9 " Nathan Chancellor
  0 siblings, 2 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22 11:15 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Greg Thelen, Johannes Weiner, Tejun Heo, Nicholas Piggin,
	Andrew Morton, Linus Torvalds, Nathan Chancellor

From: Greg Thelen <gthelen@google.com>

commit 2e898e4c0a3897ccd434adac5abb8330194f527b upstream.

lock_page_memcg()/unlock_page_memcg() use spin_lock_irqsave/restore() if
the page's memcg is undergoing move accounting, which occurs when a
process leaves its memcg for a new one that has
memory.move_charge_at_immigrate set.

unlocked_inode_to_wb_begin,end() use spin_lock_irq/spin_unlock_irq() if
the given inode is switching writeback domains.  Switches occur when
enough writes are issued from a new domain.

This existing pattern is thus suspicious:
    lock_page_memcg(page);
    unlocked_inode_to_wb_begin(inode, &locked);
    ...
    unlocked_inode_to_wb_end(inode, locked);
    unlock_page_memcg(page);

If both inode switch and process memcg migration are both in-flight then
unlocked_inode_to_wb_end() will unconditionally enable interrupts while
still holding the lock_page_memcg() irq spinlock.  This suggests the
possibility of deadlock if an interrupt occurs before unlock_page_memcg().

    truncate
    __cancel_dirty_page
    lock_page_memcg
    unlocked_inode_to_wb_begin
    unlocked_inode_to_wb_end
    <interrupts mistakenly enabled>
                                    <interrupt>
                                    end_page_writeback
                                    test_clear_page_writeback
                                    lock_page_memcg
                                    <deadlock>
    unlock_page_memcg

Due to configuration limitations this deadlock is not currently possible
because we don't mix cgroup writeback (a cgroupv2 feature) and
memory.move_charge_at_immigrate (a cgroupv1 feature).

If the kernel is hacked to always claim inode switching and memcg
moving_account, then this script triggers lockup in less than a minute:

  cd /mnt/cgroup/memory
  mkdir a b
  echo 1 > a/memory.move_charge_at_immigrate
  echo 1 > b/memory.move_charge_at_immigrate
  (
    echo $BASHPID > a/cgroup.procs
    while true; do
      dd if=/dev/zero of=/mnt/big bs=1M count=256
    done
  ) &
  while true; do
    sync
  done &
  sleep 1h &
  SLEEP=$!
  while true; do
    echo $SLEEP > a/cgroup.procs
    echo $SLEEP > b/cgroup.procs
  done

The deadlock does not seem possible, so it's debatable if there's any
reason to modify the kernel.  I suggest we should to prevent future
surprises.  And Wang Long said "this deadlock occurs three times in our
environment", so there's more reason to apply this, even to stable.
Stable 4.4 has minor conflicts applying this patch.  For a clean 4.4 patch
see "[PATCH for-4.4] writeback: safer lock nesting"
https://lkml.org/lkml/2018/4/11/146

Wang Long said "this deadlock occurs three times in our environment"

[gthelen@google.com: v4]
  Link: http://lkml.kernel.org/r/20180411084653.254724-1-gthelen@google.com
[akpm@linux-foundation.org: comment tweaks, struct initialization simplification]
Change-Id: Ibb773e8045852978f6207074491d262f1b3fb613
Link: http://lkml.kernel.org/r/20180410005908.167976-1-gthelen@google.com
Fixes: 682aa8e1a6a1 ("writeback: implement unlocked_inode_to_wb transaction and use it for stat updates")
Signed-off-by: Greg Thelen <gthelen@google.com>
Reported-by: Wang Long <wanglong19@meituan.com>
Acked-by: Wang Long <wanglong19@meituan.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: <stable@vger.kernel.org>	[v4.2+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[natechancellor: Adjust context due to lack of b93b016313b3b]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 fs/fs-writeback.c                |  7 ++++---
 include/linux/backing-dev-defs.h |  5 +++++
 include/linux/backing-dev.h      | 30 ++++++++++++++++--------------
 mm/page-writeback.c              | 18 +++++++++---------
 4 files changed, 34 insertions(+), 26 deletions(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index d4d04fee568a..40c34a0ef58a 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -745,11 +745,12 @@ int inode_congested(struct inode *inode, int cong_bits)
 	 */
 	if (inode && inode_to_wb_is_valid(inode)) {
 		struct bdi_writeback *wb;
-		bool locked, congested;
+		struct wb_lock_cookie lock_cookie = {};
+		bool congested;
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &lock_cookie);
 		congested = wb_congested(wb, cong_bits);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &lock_cookie);
 		return congested;
 	}
 
diff --git a/include/linux/backing-dev-defs.h b/include/linux/backing-dev-defs.h
index bfe86b54f6c1..0bd432a4d7bd 100644
--- a/include/linux/backing-dev-defs.h
+++ b/include/linux/backing-dev-defs.h
@@ -223,6 +223,11 @@ static inline void set_bdi_congested(struct backing_dev_info *bdi, int sync)
 	set_wb_congested(bdi->wb.congested, sync);
 }
 
+struct wb_lock_cookie {
+	bool locked;
+	unsigned long flags;
+};
+
 #ifdef CONFIG_CGROUP_WRITEBACK
 
 /**
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
index 3e4ce54d84ab..82e8b73117d1 100644
--- a/include/linux/backing-dev.h
+++ b/include/linux/backing-dev.h
@@ -346,7 +346,7 @@ static inline struct bdi_writeback *inode_to_wb(const struct inode *inode)
 /**
  * unlocked_inode_to_wb_begin - begin unlocked inode wb access transaction
  * @inode: target inode
- * @lockedp: temp bool output param, to be passed to the end function
+ * @cookie: output param, to be passed to the end function
  *
  * The caller wants to access the wb associated with @inode but isn't
  * holding inode->i_lock, mapping->tree_lock or wb->list_lock.  This
@@ -354,12 +354,12 @@ static inline struct bdi_writeback *inode_to_wb(const struct inode *inode)
  * association doesn't change until the transaction is finished with
  * unlocked_inode_to_wb_end().
  *
- * The caller must call unlocked_inode_to_wb_end() with *@lockdep
- * afterwards and can't sleep during transaction.  IRQ may or may not be
- * disabled on return.
+ * The caller must call unlocked_inode_to_wb_end() with *@cookie afterwards and
+ * can't sleep during the transaction.  IRQs may or may not be disabled on
+ * return.
  */
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	rcu_read_lock();
 
@@ -367,10 +367,10 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 	 * Paired with store_release in inode_switch_wb_work_fn() and
 	 * ensures that we see the new wb if we see cleared I_WB_SWITCH.
 	 */
-	*lockedp = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
+	cookie->locked = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
 
-	if (unlikely(*lockedp))
-		spin_lock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_lock_irqsave(&inode->i_mapping->tree_lock, cookie->flags);
 
 	/*
 	 * Protected by either !I_WB_SWITCH + rcu_read_lock() or tree_lock.
@@ -382,12 +382,13 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 /**
  * unlocked_inode_to_wb_end - end inode wb access transaction
  * @inode: target inode
- * @locked: *@lockedp from unlocked_inode_to_wb_begin()
+ * @cookie: @cookie from unlocked_inode_to_wb_begin()
  */
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
-	if (unlikely(locked))
-		spin_unlock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_unlock_irqrestore(&inode->i_mapping->tree_lock, cookie->flags);
 
 	rcu_read_unlock();
 }
@@ -434,12 +435,13 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
 }
 
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	return inode_to_wb(inode);
 }
 
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
 }
 
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 586f31261c83..8369572e1f7d 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -2501,13 +2501,13 @@ void account_page_redirty(struct page *page)
 	if (mapping && mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		current->nr_dirtied--;
 		dec_node_page_state(page, NR_DIRTIED);
 		dec_wb_stat(wb, WB_DIRTIED);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 	}
 }
 EXPORT_SYMBOL(account_page_redirty);
@@ -2613,15 +2613,15 @@ void __cancel_dirty_page(struct page *page)
 	if (mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		lock_page_memcg(page);
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 
 		if (TestClearPageDirty(page))
 			account_page_cleaned(page, mapping, wb);
 
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		unlock_page_memcg(page);
 	} else {
 		ClearPageDirty(page);
@@ -2653,7 +2653,7 @@ int clear_page_dirty_for_io(struct page *page)
 	if (mapping && mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		/*
 		 * Yes, Virginia, this is indeed insane.
@@ -2690,14 +2690,14 @@ int clear_page_dirty_for_io(struct page *page)
 		 * always locked coming in here, so we get the desired
 		 * exclusion.
 		 */
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		if (TestClearPageDirty(page)) {
 			dec_lruvec_page_state(page, NR_FILE_DIRTY);
 			dec_zone_page_state(page, NR_ZONE_WRITE_PENDING);
 			dec_wb_stat(wb, WB_RECLAIMABLE);
 			ret = 1;
 		}
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		return ret;
 	}
 	return TestClearPageDirty(page);
-- 
2.17.0

^ permalink raw reply related	[relevance 61%]

* [PATCH 4.4 v2] writeback: safer lock nesting
  2018-04-22 11:15 61% [PATCH 4.14/4.16 v2] " Nathan Chancellor
@ 2018-04-22 11:15 61% ` Nathan Chancellor
  2018-04-22 11:15 61% ` [PATCH 4.9 " Nathan Chancellor
  1 sibling, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22 11:15 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Greg Thelen, Johannes Weiner, Tejun Heo, Nicholas Piggin,
	Andrew Morton, Linus Torvalds, Nathan Chancellor

From: Greg Thelen <gthelen@google.com>

commit 2e898e4c0a3897ccd434adac5abb8330194f527b upstream.

lock_page_memcg()/unlock_page_memcg() use spin_lock_irqsave/restore() if
the page's memcg is undergoing move accounting, which occurs when a
process leaves its memcg for a new one that has
memory.move_charge_at_immigrate set.

unlocked_inode_to_wb_begin,end() use spin_lock_irq/spin_unlock_irq() if
the given inode is switching writeback domains.  Switches occur when
enough writes are issued from a new domain.

This existing pattern is thus suspicious:
    lock_page_memcg(page);
    unlocked_inode_to_wb_begin(inode, &locked);
    ...
    unlocked_inode_to_wb_end(inode, locked);
    unlock_page_memcg(page);

If both inode switch and process memcg migration are both in-flight then
unlocked_inode_to_wb_end() will unconditionally enable interrupts while
still holding the lock_page_memcg() irq spinlock.  This suggests the
possibility of deadlock if an interrupt occurs before unlock_page_memcg().

    truncate
    __cancel_dirty_page
    lock_page_memcg
    unlocked_inode_to_wb_begin
    unlocked_inode_to_wb_end
    <interrupts mistakenly enabled>
                                    <interrupt>
                                    end_page_writeback
                                    test_clear_page_writeback
                                    lock_page_memcg
                                    <deadlock>
    unlock_page_memcg

Due to configuration limitations this deadlock is not currently possible
because we don't mix cgroup writeback (a cgroupv2 feature) and
memory.move_charge_at_immigrate (a cgroupv1 feature).

If the kernel is hacked to always claim inode switching and memcg
moving_account, then this script triggers lockup in less than a minute:

  cd /mnt/cgroup/memory
  mkdir a b
  echo 1 > a/memory.move_charge_at_immigrate
  echo 1 > b/memory.move_charge_at_immigrate
  (
    echo $BASHPID > a/cgroup.procs
    while true; do
      dd if=/dev/zero of=/mnt/big bs=1M count=256
    done
  ) &
  while true; do
    sync
  done &
  sleep 1h &
  SLEEP=$!
  while true; do
    echo $SLEEP > a/cgroup.procs
    echo $SLEEP > b/cgroup.procs
  done

The deadlock does not seem possible, so it's debatable if there's any
reason to modify the kernel.  I suggest we should to prevent future
surprises.  And Wang Long said "this deadlock occurs three times in our
environment", so there's more reason to apply this, even to stable.
Stable 4.4 has minor conflicts applying this patch.  For a clean 4.4 patch
see "[PATCH for-4.4] writeback: safer lock nesting"
https://lkml.org/lkml/2018/4/11/146

Wang Long said "this deadlock occurs three times in our environment"

[gthelen@google.com: v4]
  Link: http://lkml.kernel.org/r/20180411084653.254724-1-gthelen@google.com
[akpm@linux-foundation.org: comment tweaks, struct initialization simplification]
Change-Id: Ibb773e8045852978f6207074491d262f1b3fb613
Link: http://lkml.kernel.org/r/20180410005908.167976-1-gthelen@google.com
Fixes: 682aa8e1a6a1 ("writeback: implement unlocked_inode_to_wb transaction and use it for stat updates")
Signed-off-by: Greg Thelen <gthelen@google.com>
Reported-by: Wang Long <wanglong19@meituan.com>
Acked-by: Wang Long <wanglong19@meituan.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: <stable@vger.kernel.org>	[v4.2+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[natechancellor: Applied to 4.4 based on Greg's backport on lkml.org]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 fs/fs-writeback.c                |  7 ++++---
 include/linux/backing-dev-defs.h |  5 +++++
 include/linux/backing-dev.h      | 31 +++++++++++++++++--------------
 mm/page-writeback.c              | 18 +++++++++---------
 4 files changed, 35 insertions(+), 26 deletions(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 22b30249fbcb..0fe667875852 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -747,11 +747,12 @@ int inode_congested(struct inode *inode, int cong_bits)
 	 */
 	if (inode && inode_to_wb_is_valid(inode)) {
 		struct bdi_writeback *wb;
-		bool locked, congested;
+		struct wb_lock_cookie lock_cookie = {};
+		bool congested;
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &lock_cookie);
 		congested = wb_congested(wb, cong_bits);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &lock_cookie);
 		return congested;
 	}
 
diff --git a/include/linux/backing-dev-defs.h b/include/linux/backing-dev-defs.h
index 140c29635069..a307c37c2e6c 100644
--- a/include/linux/backing-dev-defs.h
+++ b/include/linux/backing-dev-defs.h
@@ -191,6 +191,11 @@ static inline void set_bdi_congested(struct backing_dev_info *bdi, int sync)
 	set_wb_congested(bdi->wb.congested, sync);
 }
 
+struct wb_lock_cookie {
+	bool locked;
+	unsigned long flags;
+};
+
 #ifdef CONFIG_CGROUP_WRITEBACK
 
 /**
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
index 89d3de3e096b..361274ce5815 100644
--- a/include/linux/backing-dev.h
+++ b/include/linux/backing-dev.h
@@ -366,7 +366,7 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
 /**
  * unlocked_inode_to_wb_begin - begin unlocked inode wb access transaction
  * @inode: target inode
- * @lockedp: temp bool output param, to be passed to the end function
+ * @cookie: output param, to be passed to the end function
  *
  * The caller wants to access the wb associated with @inode but isn't
  * holding inode->i_lock, mapping->tree_lock or wb->list_lock.  This
@@ -374,12 +374,12 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
  * association doesn't change until the transaction is finished with
  * unlocked_inode_to_wb_end().
  *
- * The caller must call unlocked_inode_to_wb_end() with *@lockdep
- * afterwards and can't sleep during transaction.  IRQ may or may not be
- * disabled on return.
+ * The caller must call unlocked_inode_to_wb_end() with *@cookie afterwards and
+ * can't sleep during the transaction.  IRQs may or may not be disabled on
+ * return.
  */
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	rcu_read_lock();
 
@@ -387,10 +387,10 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 	 * Paired with store_release in inode_switch_wb_work_fn() and
 	 * ensures that we see the new wb if we see cleared I_WB_SWITCH.
 	 */
-	*lockedp = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
+	cookie->locked = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
 
-	if (unlikely(*lockedp))
-		spin_lock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_lock_irqsave(&inode->i_mapping->tree_lock, cookie->flags);
 
 	/*
 	 * Protected by either !I_WB_SWITCH + rcu_read_lock() or tree_lock.
@@ -402,12 +402,14 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 /**
  * unlocked_inode_to_wb_end - end inode wb access transaction
  * @inode: target inode
- * @locked: *@lockedp from unlocked_inode_to_wb_begin()
+ * @cookie: @cookie from unlocked_inode_to_wb_begin()
  */
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
-	if (unlikely(locked))
-		spin_unlock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_unlock_irqrestore(&inode->i_mapping->tree_lock,
+				       cookie->flags);
 
 	rcu_read_unlock();
 }
@@ -454,12 +456,13 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
 }
 
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	return inode_to_wb(inode);
 }
 
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
 }
 
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 6d0dbde4503b..3309dbda7ffa 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -2510,13 +2510,13 @@ void account_page_redirty(struct page *page)
 	if (mapping && mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		current->nr_dirtied--;
 		dec_zone_page_state(page, NR_DIRTIED);
 		dec_wb_stat(wb, WB_DIRTIED);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 	}
 }
 EXPORT_SYMBOL(account_page_redirty);
@@ -2622,15 +2622,15 @@ void cancel_dirty_page(struct page *page)
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
 		struct mem_cgroup *memcg;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		memcg = mem_cgroup_begin_page_stat(page);
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 
 		if (TestClearPageDirty(page))
 			account_page_cleaned(page, mapping, memcg, wb);
 
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		mem_cgroup_end_page_stat(memcg);
 	} else {
 		ClearPageDirty(page);
@@ -2663,7 +2663,7 @@ int clear_page_dirty_for_io(struct page *page)
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
 		struct mem_cgroup *memcg;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		/*
 		 * Yes, Virginia, this is indeed insane.
@@ -2701,14 +2701,14 @@ int clear_page_dirty_for_io(struct page *page)
 		 * exclusion.
 		 */
 		memcg = mem_cgroup_begin_page_stat(page);
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		if (TestClearPageDirty(page)) {
 			mem_cgroup_dec_page_stat(memcg, MEM_CGROUP_STAT_DIRTY);
 			dec_zone_page_state(page, NR_FILE_DIRTY);
 			dec_wb_stat(wb, WB_RECLAIMABLE);
 			ret = 1;
 		}
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		mem_cgroup_end_page_stat(memcg);
 		return ret;
 	}
-- 
2.17.0

^ permalink raw reply related	[relevance 61%]

* [PATCH 4.9 v2] writeback: safer lock nesting
  2018-04-22 11:15 61% [PATCH 4.14/4.16 v2] " Nathan Chancellor
  2018-04-22 11:15 61% ` [PATCH 4.4 " Nathan Chancellor
@ 2018-04-22 11:15 61% ` Nathan Chancellor
  1 sibling, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22 11:15 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable
  Cc: Greg Thelen, Johannes Weiner, Tejun Heo, Nicholas Piggin,
	Andrew Morton, Linus Torvalds, Nathan Chancellor

From: Greg Thelen <gthelen@google.com>

commit 2e898e4c0a3897ccd434adac5abb8330194f527b upstream.

lock_page_memcg()/unlock_page_memcg() use spin_lock_irqsave/restore() if
the page's memcg is undergoing move accounting, which occurs when a
process leaves its memcg for a new one that has
memory.move_charge_at_immigrate set.

unlocked_inode_to_wb_begin,end() use spin_lock_irq/spin_unlock_irq() if
the given inode is switching writeback domains.  Switches occur when
enough writes are issued from a new domain.

This existing pattern is thus suspicious:
    lock_page_memcg(page);
    unlocked_inode_to_wb_begin(inode, &locked);
    ...
    unlocked_inode_to_wb_end(inode, locked);
    unlock_page_memcg(page);

If both inode switch and process memcg migration are both in-flight then
unlocked_inode_to_wb_end() will unconditionally enable interrupts while
still holding the lock_page_memcg() irq spinlock.  This suggests the
possibility of deadlock if an interrupt occurs before unlock_page_memcg().

    truncate
    __cancel_dirty_page
    lock_page_memcg
    unlocked_inode_to_wb_begin
    unlocked_inode_to_wb_end
    <interrupts mistakenly enabled>
                                    <interrupt>
                                    end_page_writeback
                                    test_clear_page_writeback
                                    lock_page_memcg
                                    <deadlock>
    unlock_page_memcg

Due to configuration limitations this deadlock is not currently possible
because we don't mix cgroup writeback (a cgroupv2 feature) and
memory.move_charge_at_immigrate (a cgroupv1 feature).

If the kernel is hacked to always claim inode switching and memcg
moving_account, then this script triggers lockup in less than a minute:

  cd /mnt/cgroup/memory
  mkdir a b
  echo 1 > a/memory.move_charge_at_immigrate
  echo 1 > b/memory.move_charge_at_immigrate
  (
    echo $BASHPID > a/cgroup.procs
    while true; do
      dd if=/dev/zero of=/mnt/big bs=1M count=256
    done
  ) &
  while true; do
    sync
  done &
  sleep 1h &
  SLEEP=$!
  while true; do
    echo $SLEEP > a/cgroup.procs
    echo $SLEEP > b/cgroup.procs
  done

The deadlock does not seem possible, so it's debatable if there's any
reason to modify the kernel.  I suggest we should to prevent future
surprises.  And Wang Long said "this deadlock occurs three times in our
environment", so there's more reason to apply this, even to stable.
Stable 4.4 has minor conflicts applying this patch.  For a clean 4.4 patch
see "[PATCH for-4.4] writeback: safer lock nesting"
https://lkml.org/lkml/2018/4/11/146

Wang Long said "this deadlock occurs three times in our environment"

[gthelen@google.com: v4]
  Link: http://lkml.kernel.org/r/20180411084653.254724-1-gthelen@google.com
[akpm@linux-foundation.org: comment tweaks, struct initialization simplification]
Change-Id: Ibb773e8045852978f6207074491d262f1b3fb613
Link: http://lkml.kernel.org/r/20180410005908.167976-1-gthelen@google.com
Fixes: 682aa8e1a6a1 ("writeback: implement unlocked_inode_to_wb transaction and use it for stat updates")
Signed-off-by: Greg Thelen <gthelen@google.com>
Reported-by: Wang Long <wanglong19@meituan.com>
Acked-by: Wang Long <wanglong19@meituan.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: <stable@vger.kernel.org>	[v4.2+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[natechancellor: Adjust context due to lack of b93b016313b3b]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 fs/fs-writeback.c                |  7 ++++---
 include/linux/backing-dev-defs.h |  5 +++++
 include/linux/backing-dev.h      | 30 ++++++++++++++++--------------
 mm/page-writeback.c              | 18 +++++++++---------
 4 files changed, 34 insertions(+), 26 deletions(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 0703a1179847..3d8b35f28a9b 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -745,11 +745,12 @@ int inode_congested(struct inode *inode, int cong_bits)
 	 */
 	if (inode && inode_to_wb_is_valid(inode)) {
 		struct bdi_writeback *wb;
-		bool locked, congested;
+		struct wb_lock_cookie lock_cookie = {};
+		bool congested;
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &lock_cookie);
 		congested = wb_congested(wb, cong_bits);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &lock_cookie);
 		return congested;
 	}
 
diff --git a/include/linux/backing-dev-defs.h b/include/linux/backing-dev-defs.h
index c357f27d5483..32728ff8095c 100644
--- a/include/linux/backing-dev-defs.h
+++ b/include/linux/backing-dev-defs.h
@@ -191,6 +191,11 @@ static inline void set_bdi_congested(struct backing_dev_info *bdi, int sync)
 	set_wb_congested(bdi->wb.congested, sync);
 }
 
+struct wb_lock_cookie {
+	bool locked;
+	unsigned long flags;
+};
+
 #ifdef CONFIG_CGROUP_WRITEBACK
 
 /**
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
index 43b93a947e61..63f17b106a4a 100644
--- a/include/linux/backing-dev.h
+++ b/include/linux/backing-dev.h
@@ -366,7 +366,7 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
 /**
  * unlocked_inode_to_wb_begin - begin unlocked inode wb access transaction
  * @inode: target inode
- * @lockedp: temp bool output param, to be passed to the end function
+ * @cookie: output param, to be passed to the end function
  *
  * The caller wants to access the wb associated with @inode but isn't
  * holding inode->i_lock, mapping->tree_lock or wb->list_lock.  This
@@ -374,12 +374,12 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
  * association doesn't change until the transaction is finished with
  * unlocked_inode_to_wb_end().
  *
- * The caller must call unlocked_inode_to_wb_end() with *@lockdep
- * afterwards and can't sleep during transaction.  IRQ may or may not be
- * disabled on return.
+ * The caller must call unlocked_inode_to_wb_end() with *@cookie afterwards and
+ * can't sleep during the transaction.  IRQs may or may not be disabled on
+ * return.
  */
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	rcu_read_lock();
 
@@ -387,10 +387,10 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 	 * Paired with store_release in inode_switch_wb_work_fn() and
 	 * ensures that we see the new wb if we see cleared I_WB_SWITCH.
 	 */
-	*lockedp = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
+	cookie->locked = smp_load_acquire(&inode->i_state) & I_WB_SWITCH;
 
-	if (unlikely(*lockedp))
-		spin_lock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_lock_irqsave(&inode->i_mapping->tree_lock, cookie->flags);
 
 	/*
 	 * Protected by either !I_WB_SWITCH + rcu_read_lock() or tree_lock.
@@ -402,12 +402,13 @@ unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
 /**
  * unlocked_inode_to_wb_end - end inode wb access transaction
  * @inode: target inode
- * @locked: *@lockedp from unlocked_inode_to_wb_begin()
+ * @cookie: @cookie from unlocked_inode_to_wb_begin()
  */
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
-	if (unlikely(locked))
-		spin_unlock_irq(&inode->i_mapping->tree_lock);
+	if (unlikely(cookie->locked))
+		spin_unlock_irqrestore(&inode->i_mapping->tree_lock, cookie->flags);
 
 	rcu_read_unlock();
 }
@@ -454,12 +455,13 @@ static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
 }
 
 static inline struct bdi_writeback *
-unlocked_inode_to_wb_begin(struct inode *inode, bool *lockedp)
+unlocked_inode_to_wb_begin(struct inode *inode, struct wb_lock_cookie *cookie)
 {
 	return inode_to_wb(inode);
 }
 
-static inline void unlocked_inode_to_wb_end(struct inode *inode, bool locked)
+static inline void unlocked_inode_to_wb_end(struct inode *inode,
+					    struct wb_lock_cookie *cookie)
 {
 }
 
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 439cc63ad903..807236aed275 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -2506,13 +2506,13 @@ void account_page_redirty(struct page *page)
 	if (mapping && mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		current->nr_dirtied--;
 		dec_node_page_state(page, NR_DIRTIED);
 		dec_wb_stat(wb, WB_DIRTIED);
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 	}
 }
 EXPORT_SYMBOL(account_page_redirty);
@@ -2618,15 +2618,15 @@ void cancel_dirty_page(struct page *page)
 	if (mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		lock_page_memcg(page);
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 
 		if (TestClearPageDirty(page))
 			account_page_cleaned(page, mapping, wb);
 
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		unlock_page_memcg(page);
 	} else {
 		ClearPageDirty(page);
@@ -2658,7 +2658,7 @@ int clear_page_dirty_for_io(struct page *page)
 	if (mapping && mapping_cap_account_dirty(mapping)) {
 		struct inode *inode = mapping->host;
 		struct bdi_writeback *wb;
-		bool locked;
+		struct wb_lock_cookie cookie = {};
 
 		/*
 		 * Yes, Virginia, this is indeed insane.
@@ -2695,7 +2695,7 @@ int clear_page_dirty_for_io(struct page *page)
 		 * always locked coming in here, so we get the desired
 		 * exclusion.
 		 */
-		wb = unlocked_inode_to_wb_begin(inode, &locked);
+		wb = unlocked_inode_to_wb_begin(inode, &cookie);
 		if (TestClearPageDirty(page)) {
 			mem_cgroup_dec_page_stat(page, MEM_CGROUP_STAT_DIRTY);
 			dec_node_page_state(page, NR_FILE_DIRTY);
@@ -2703,7 +2703,7 @@ int clear_page_dirty_for_io(struct page *page)
 			dec_wb_stat(wb, WB_RECLAIMABLE);
 			ret = 1;
 		}
-		unlocked_inode_to_wb_end(inode, locked);
+		unlocked_inode_to_wb_end(inode, &cookie);
 		return ret;
 	}
 	return TestClearPageDirty(page);
-- 
2.17.0

^ permalink raw reply related	[relevance 61%]

* Re: [PATCH 4.14/4.16] writeback: safer lock nesting
    2018-04-22 10:47 99%     ` Nathan Chancellor
@ 2018-04-22 11:17 99%     ` Nathan Chancellor
  1 sibling, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22 11:17 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: stable, Greg Thelen, Johannes Weiner, Tejun Heo, Nicholas Piggin,
	Andrew Morton, Linus Torvalds

On Sun, Apr 22, 2018 at 12:42:57PM +0200, Greg Kroah-Hartman wrote:
> On Sun, Apr 22, 2018 at 03:36:32AM -0700, Nathan Chancellor wrote:
> > From: Greg Thelen <gthelen@google.com>
> > 
> > commit 2e898e4c0a3897ccd434adac5abb8330194f527b upstream.
> > 
> > lock_page_memcg()/unlock_page_memcg() use spin_lock_irqsave/restore() if
> > the page's memcg is undergoing move accounting, which occurs when a
> > process leaves its memcg for a new one that has
> > memory.move_charge_at_immigrate set.
> > 
> > unlocked_inode_to_wb_begin,end() use spin_lock_irq/spin_unlock_irq() if
> > the given inode is switching writeback domains.  Switches occur when
> > enough writes are issued from a new domain.
> > 
> > This existing pattern is thus suspicious:
> >     lock_page_memcg(page);
> >     unlocked_inode_to_wb_begin(inode, &locked);
> >     ...
> >     unlocked_inode_to_wb_end(inode, locked);
> >     unlock_page_memcg(page);
> > 
> > If both inode switch and process memcg migration are both in-flight then
> > unlocked_inode_to_wb_end() will unconditionally enable interrupts while
> > still holding the lock_page_memcg() irq spinlock.  This suggests the
> > possibility of deadlock if an interrupt occurs before unlock_page_memcg().
> > 
> >     truncate
> >     __cancel_dirty_page
> >     lock_page_memcg
> >     unlocked_inode_to_wb_begin
> >     unlocked_inode_to_wb_end
> >     <interrupts mistakenly enabled>
> >                                     <interrupt>
> >                                     end_page_writeback
> >                                     test_clear_page_writeback
> >                                     lock_page_memcg
> >                                     <deadlock>
> >     unlock_page_memcg
> > 
> > Due to configuration limitations this deadlock is not currently possible
> > because we don't mix cgroup writeback (a cgroupv2 feature) and
> > memory.move_charge_at_immigrate (a cgroupv1 feature).
> > 
> > If the kernel is hacked to always claim inode switching and memcg
> > moving_account, then this script triggers lockup in less than a minute:
> > 
> >   cd /mnt/cgroup/memory
> >   mkdir a b
> >   echo 1 > a/memory.move_charge_at_immigrate
> >   echo 1 > b/memory.move_charge_at_immigrate
> >   (
> >     echo $BASHPID > a/cgroup.procs
> >     while true; do
> >       dd if=/dev/zero of=/mnt/big bs=1M count=256
> >     done
> >   ) &
> >   while true; do
> >     sync
> >   done &
> >   sleep 1h &
> >   SLEEP=$!
> >   while true; do
> >     echo $SLEEP > a/cgroup.procs
> >     echo $SLEEP > b/cgroup.procs
> >   done
> > 
> > The deadlock does not seem possible, so it's debatable if there's any
> > reason to modify the kernel.  I suggest we should to prevent future
> > surprises.  And Wang Long said "this deadlock occurs three times in our
> > environment", so there's more reason to apply this, even to stable.
> > Stable 4.4 has minor conflicts applying this patch.  For a clean 4.4 patch
> > see "[PATCH for-4.4] writeback: safer lock nesting"
> > https://lkml.org/lkml/2018/4/11/146
> > 
> > Wang Long said "this deadlock occurs three times in our environment"
> > 
> > [gthelen@google.com: v4]
> >   Link: http://lkml.kernel.org/r/20180411084653.254724-1-gthelen@google.com
> > [akpm@linux-foundation.org: comment tweaks, struct initialization simplification]
> > Change-Id: Ibb773e8045852978f6207074491d262f1b3fb613
> > Link: http://lkml.kernel.org/r/20180410005908.167976-1-gthelen@google.com
> > Fixes: 682aa8e1a6a1 ("writeback: implement unlocked_inode_to_wb transaction and use it for stat updates")
> > Signed-off-by: Greg Thelen <gthelen@google.com>
> > Reported-by: Wang Long <wanglong19@meituan.com>
> > Acked-by: Wang Long <wanglong19@meituan.com>
> > Acked-by: Michal Hocko <mhocko@suse.com>
> > Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
> > Cc: Johannes Weiner <hannes@cmpxchg.org>
> > Cc: Tejun Heo <tj@kernel.org>
> > Cc: Nicholas Piggin <npiggin@gmail.com>
> > Cc: <stable@vger.kernel.org>	[v4.2+]
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> > Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> > [natechancellor: Adjust context due to lack of b93b016313b3b]
> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> 
> I tried a "simple" backport like this as well, and it too blew up when
> building :(
> 
> This patch dies with:
> 
> $ make M=mm
>   CC      mm/filemap.o
> In file included from ./include/linux/kernel.h:13:0,
>                  from ./include/linux/list.h:9,
>                  from ./include/linux/wait.h:7,
>                  from ./include/linux/wait_bit.h:8,
>                  from ./include/linux/fs.h:6,
>                  from ./include/linux/dax.h:5,
>                  from mm/filemap.c:14:
> ./include/linux/backing-dev.h: In function ‘unlocked_inode_to_wb_begin’:
> ./include/linux/backing-dev.h:373:52: error: ‘flags’ undeclared (first use in this function); did you mean ‘class’?
>    spin_lock_irqsave(&inode->i_mapping->tree_lock, *flags);
>                                                     ^
> ./include/linux/typecheck.h:11:9: note: in definition of macro ‘typecheck’
>   typeof(x) __dummy2; \
>          ^
> ./include/linux/spinlock.h:340:2: note: in expansion of macro ‘raw_spin_lock_irqsave’
>   raw_spin_lock_irqsave(spinlock_check(lock), flags); \
>   ^~~~~~~~~~~~~~~~~~~~~
> ./include/linux/backing-dev.h:373:3: note: in expansion of macro ‘spin_lock_irqsave’
>    spin_lock_irqsave(&inode->i_mapping->tree_lock, *flags);
>    ^~~~~~~~~~~~~~~~~
> ./include/linux/backing-dev.h:373:52: note: each undeclared identifier is reported only once for each function it appears in
>    spin_lock_irqsave(&inode->i_mapping->tree_lock, *flags);
>                                                     ^
> ./include/linux/typecheck.h:11:9: note: in definition of macro ‘typecheck’
>   typeof(x) __dummy2; \
>          ^
> ./include/linux/spinlock.h:340:2: note: in expansion of macro ‘raw_spin_lock_irqsave’
>   raw_spin_lock_irqsave(spinlock_check(lock), flags); \
>   ^~~~~~~~~~~~~~~~~~~~~
> ./include/linux/backing-dev.h:373:3: note: in expansion of macro ‘spin_lock_irqsave’
>    spin_lock_irqsave(&inode->i_mapping->tree_lock, *flags);
>    ^~~~~~~~~~~~~~~~~
> ./include/linux/typecheck.h:12:18: warning: comparison of distinct pointer types lacks a cast
>   (void)(&__dummy == &__dummy2); \
>                   ^
> ./include/linux/spinlock.h:221:3: note: in expansion of macro ‘typecheck’
>    typecheck(unsigned long, flags); \
>    ^~~~~~~~~
> ./include/linux/spinlock.h:340:2: note: in expansion of macro ‘raw_spin_lock_irqsave’
>   raw_spin_lock_irqsave(spinlock_check(lock), flags); \
>   ^~~~~~~~~~~~~~~~~~~~~
> ./include/linux/backing-dev.h:373:3: note: in expansion of macro ‘spin_lock_irqsave’
>    spin_lock_irqsave(&inode->i_mapping->tree_lock, *flags);
>    ^~~~~~~~~~~~~~~~~
> In file included from mm/filemap.c:29:0:
> ./include/linux/backing-dev.h: In function ‘unlocked_inode_to_wb_end’:
> ./include/linux/backing-dev.h:391:56: error: ‘flags’ undeclared (first use in this function); did you mean ‘class’?
>    spin_unlock_irqrestore(&inode->i_mapping->tree_lock, flags);
>                                                         ^~~~~
>                                                         class
> make[1]: *** [scripts/Makefile.build:325: mm/filemap.o] Error 1
> make: *** [Makefile:1561: _module_mm] Error 2
> 
> 
> Can you test-build your patches?  :)
> 
> thanks,
> 
> greg k-h

Sigh I don't know what happened but I was looking at an old version of
the patch for reference :/

I just send v2 and I have verified everything builds properly just using
the x86_64_defconfig.

Again really sorry about all the noice!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.16 000/196] 4.16.4-stable review
  @ 2018-04-22 20:25 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22 20:25 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Greg Kroah-Hartman, linux-kernel, torvalds, akpm, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Sun, Apr 22, 2018 at 01:13:53PM -0700, Guenter Roeck wrote:
> On 04/22/2018 06:50 AM, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 4.16.4 release.
> > There are 196 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 Tue Apr 24 13:50:16 UTC 2018.
> > Anything received after that time might be too late.
> > 
> 
> 
> Build results:
> 	total: 143 pass: 141 fail: 2
> Failed builds:
> 	powerpc:defconfig
> 	powerpc:allmodconfig
> Qemu test results:
> 	total: 139 pass: 133 fail: 6
> Failed tests:
> 	powerpc:mac99:ppc64_book3s_defconfig:initrd:nosmp
> 	powerpc:mac99:ppc64_book3s_defconfig:initrd:smp4
> 	powerpc:mac99:ppc64_book3s_defconfig:rootfs:smp4
> 	powerpc:pseries:pseries_defconfig:initrd
> 	powerpc:pseries:pseries_defconfig:rootfs
> 	powerpc:powernv:powernv_defconfig:initrd
> 
> arch/powerpc/platforms/powernv/opal-nvram.c: In function 'opal_nvram_write':
> arch/powerpc/platforms/powernv/opal-nvram.c:61:11: error: 'OPAL_BUSY_DELAY_MS'
> 
> This problem affects _all_ pending releases.
> 
> Guenter

Looks like 3b8070335f75 ("powerpc/powernv: Fix OPAL NVRAM driver
OPAL_BUSY loops") has a dependency commit that was missed: 34dd25de9fe3
("powerpc/powernv: define a standard delay for OPAL_BUSY type retry
loops").

Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/97] 4.4.129-stable review
  @ 2018-04-22 20:44 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-22 20:44 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Sun, Apr 22, 2018 at 03:52:38PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.129 release.
> There are 97 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 Tue Apr 24 13:52:47 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.129-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
> 

Merged, compiled, and flashed onto my Pixel 2 XL and OnePlus 5.

No initial issues in general usage or dmesg; all images build clean with
GCC 4.9.4, GCC 7.3.0, Clang 5.0, Clang 6.0, and Clang 7.0.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.14 000/183] 4.14.37-stable review
  @ 2018-04-25 18:08 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-25 18:08 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Wed, Apr 25, 2018 at 12:33:40PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.14.37 release.
> There are 183 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri Apr 27 10:32:04 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.14.37-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.14.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled, and installed onto my Raspberry Pi 3.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [GIT PULL] commits for Linux 4.4
  @ 2018-04-27  4:50 99% ` Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-04-27  4:50 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Greg KH, stable

On Fri, Apr 27, 2018 at 02:01:20AM +0000, Sasha Levin wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> Hi Greg,
> 
> Pleae pull commits for Linux 4.4 .
> 
> I've sent a review request for all commits over a week ago and all
> comments were addressed.
> 
> 
> Thanks,
> Sasha
> 

For what it's worth, commit 87a00850c711 ("pinctrl: msm: Use dynamic
GPIO numbering") completely breaks touchscreen input on my Pixel 2 XL.

I'm happy to carry the revert in my tree given it is probably a correct
change in mainline but I figured I would let you guys know so you can
make that decision.

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [GIT PULL] commits for Linux 4.4
  @ 2018-04-27  7:35 99%     ` Nathan Chancellor
      0 siblings, 2 replies; 200+ results
From: Nathan Chancellor @ 2018-04-27  7:35 UTC (permalink / raw)
  To: Greg KH; +Cc: Sasha Levin, stable, Timur Tabi, Bjorn Andersson, Linus Walleij

On Fri, Apr 27, 2018 at 09:05:21AM +0200, Greg KH wrote:
> On Thu, Apr 26, 2018 at 09:50:25PM -0700, Nathan Chancellor wrote:
> > On Fri, Apr 27, 2018 at 02:01:20AM +0000, Sasha Levin wrote:
> > > -----BEGIN PGP SIGNED MESSAGE-----
> > > Hash: SHA512
> > > 
> > > Hi Greg,
> > > 
> > > Pleae pull commits for Linux 4.4 .
> > > 
> > > I've sent a review request for all commits over a week ago and all
> > > comments were addressed.
> > > 
> > > 
> > > Thanks,
> > > Sasha
> > > 
> > 
> > For what it's worth, commit 87a00850c711 ("pinctrl: msm: Use dynamic
> > GPIO numbering") completely breaks touchscreen input on my Pixel 2 XL.
> 
> That's not good.  Have you reported this to the gpio developers and
> authors of that patch?
> 

I have not although I've gone ahead and CC'd them on this email.

> > I'm happy to carry the revert in my tree given it is probably a correct
> > change in mainline but I figured I would let you guys know so you can
> > make that decision.
> 
> Ah, do you think this is a userspace issue with your device and not a
> kernel problem?  That implies that this patch isn't ok and should be
> reverted upstream.
> 

I don't think this is a userspace regression. My guess is certain 
out of tree drivers expect a static base value, based on the wording
of the commit message. Unfortunately, his is all a little bit over
my head at the moment. I will try to study up on it tomorrow. I just
wanted to report the regression as soon as I uncovered it (I'd be
lying if I said I liked reporting bugs heh).

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [GIT PULL] commits for Linux 4.4
  @ 2018-04-27 18:04 99%         ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-27 18:04 UTC (permalink / raw)
  To: Timur Tabi; +Cc: Greg KH, Sasha Levin, stable, Bjorn Andersson, Linus Walleij

On Fri, Apr 27, 2018 at 03:40:50AM -0500, Timur Tabi wrote:
> On 4/27/18 2:35 AM, Nathan Chancellor wrote:
> > > That's not good.  Have you reported this to the gpio developers and
> > > authors of that patch?
> > > 
> > I have not although I've gone ahead and CC'd them on this email.
> > 
> > > > I'm happy to carry the revert in my tree given it is probably a correct
> > > > change in mainline but I figured I would let you guys know so you can
> > > > make that decision.
> > > Ah, do you think this is a userspace issue with your device and not a
> > > kernel problem?  That implies that this patch isn't ok and should be
> > > reverted upstream.
> > > 
> > I don't think this is a userspace regression. My guess is certain
> > out of tree drivers expect a static base value, based on the wording
> > of the commit message. Unfortunately, his is all a little bit over
> > my head at the moment. I will try to study up on it tomorrow. I just
> > wanted to report the regression as soon as I uncovered it (I'd be
> > lying if I said I liked reporting bugs heh).
> 
> Apparently, user-space should no longer be depending on any base value.
> Instead, gpiolib should be used.  I'm guessing that the Pixel 2 XL does not
> use gpiolib, since gpiolib didn't exist until Linux 4.8.
> 
> So I think that this patch should be reverted in 4.4.
> 
> When the patch was submitted, I proposed an alternative that would preserve
> existing platforms but still support gpiolib and newer systems with multiple
> TLMMs:
> 
> 	https://lkml.org/lkml/2018/2/7/360
> 
> I thought it was a good compromise, but it was rejected.
> 
> -- 
> Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
> Technologies, Inc.  Qualcomm Technologies, Inc. is a member of the
> Code Aurora Forum, a Linux Foundation Collaborative Project.

Thank you very much for the quick response and explanation. Makes
perfect. Glad we caught it before it even made it into an RC release.

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/50] 4.4.130-stable review
  @ 2018-04-27 18:57 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-27 18:57 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Apr 27, 2018 at 03:58:02PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.130 release.
> There are 50 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 Sun Apr 29 13:56:42 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.130-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
> 

Merged, compiled, and installed onto my Pixel 2 XL and OnePlus 5.

No initial issues noticed in either dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.14 00/80] 4.14.38-stable review
  @ 2018-04-27 19:33 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-27 19:33 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Apr 27, 2018 at 03:57:53PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.14.38 release.
> There are 80 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 Sun Apr 29 13:57:13 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.14.38-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.14.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled, and installed on my Raspberry Pi 3.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [GIT PULL] commits for Linux 4.4
  @ 2018-04-30 17:34 99%         ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-30 17:34 UTC (permalink / raw)
  To: Bjorn Andersson; +Cc: Greg KH, Sasha Levin, stable, Timur Tabi, Linus Walleij

On Mon, Apr 30, 2018 at 10:21:11AM -0700, Bjorn Andersson wrote:
> On Fri 27 Apr 00:35 PDT 2018, Nathan Chancellor wrote:
> 
> > On Fri, Apr 27, 2018 at 09:05:21AM +0200, Greg KH wrote:
> > > On Thu, Apr 26, 2018 at 09:50:25PM -0700, Nathan Chancellor wrote:
> > > > On Fri, Apr 27, 2018 at 02:01:20AM +0000, Sasha Levin wrote:
> > > > > -----BEGIN PGP SIGNED MESSAGE-----
> > > > > Hash: SHA512
> > > > > 
> > > > > Hi Greg,
> > > > > 
> > > > > Pleae pull commits for Linux 4.4 .
> > > > > 
> > > > > I've sent a review request for all commits over a week ago and all
> > > > > comments were addressed.
> > > > > 
> > > > > 
> > > > > Thanks,
> > > > > Sasha
> > > > > 
> > > > 
> > > > For what it's worth, commit 87a00850c711 ("pinctrl: msm: Use dynamic
> > > > GPIO numbering") completely breaks touchscreen input on my Pixel 2 XL.
> > > 
> > > That's not good.  Have you reported this to the gpio developers and
> > > authors of that patch?
> > > 
> > 
> > I have not although I've gone ahead and CC'd them on this email.
> > 
> 
> Pixel 2XL is based on the Snapdragon 835, a DeviceTree-only platform; as
> such any GPIOs would be referenced by the touch driver using
> gpio-controller and pin offset.
> 
> 
> What kind of touchscreen is this? Is there a driver for it available
> somewhere to look at?
> 
> Regards,
> Bjorn

Hi Bjorn,

Here is the touchscreen driver: https://android.googlesource.com/kernel/msm/+/android-msm-wahoo-4.4-oreo-m2/drivers/input/touchscreen/stm/

Here are the device tree files: https://android.googlesource.com/kernel/msm/+/android-msm-wahoo-4.4-oreo-m2/arch/arm64/boot/dts/lge/

Do note that Timur stated in a later thread this patch is probably not
suitable for stable but I'd be happy for a second opinion!

Cheers,
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/44] 4.4.131-stable review
  @ 2018-04-30 23:55 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-04-30 23:55 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Apr 30, 2018 at 12:24:11PM -0700, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.131 release.
> There are 44 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 Wed May  2 19:09:34 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.131-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
> 

Merged, compiled, and installed onto my Pixel 2 XL and OnePlus 5.

No build warnings from GCC 4.9.4, GCC 7.3.0, and Clang 5 through 7.

No initial issues in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.14 00/91] 4.14.39-stable review
  @ 2018-05-01  0:54 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-01  0:54 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Apr 30, 2018 at 12:23:42PM -0700, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.14.39 release.
> There are 91 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 Wed May  2 18:39:37 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.14.39-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.14.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled, and installed onto my Raspberry Pi 3.

No initial issues in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* [PATCH] staging: greybus: Remove unused local variable
@ 2018-05-06  6:50 99% Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-06  6:50 UTC (permalink / raw)
  To: greybus-dev
  Cc: devel, Greg Kroah-Hartman, Johan Hovold, linux-kernel, Nathan Chancellor

Fixes the following W=1 warning: variable ‘intf_id’ set but
not used [-Wunused-but-set-variable]

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/greybus/svc.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c
index a874fed761a1..a2bb7e1a3db3 100644
--- a/drivers/staging/greybus/svc.c
+++ b/drivers/staging/greybus/svc.c
@@ -1137,7 +1137,6 @@ static int gb_svc_intf_reset_recv(struct gb_operation *op)
 	struct gb_svc *svc = gb_connection_get_data(op->connection);
 	struct gb_message *request = op->request;
 	struct gb_svc_intf_reset_request *reset;
-	u8 intf_id;
 
 	if (request->payload_size < sizeof(*reset)) {
 		dev_warn(&svc->dev, "short reset request received (%zu < %zu)\n",
@@ -1146,8 +1145,6 @@ static int gb_svc_intf_reset_recv(struct gb_operation *op)
 	}
 	reset = request->payload;
 
-	intf_id = reset->intf_id;
-
 	/* FIXME Reset the interface here */
 
 	return 0;
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 99%]

* [PATCH 1/3] staging: wilc1000: Remove unused variables
@ 2018-05-06  7:33 91% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-06  7:33 UTC (permalink / raw)
  To: devel
  Cc: Greg Kroah-Hartman, Aditya Shankar, Ganesh Krishna,
	linux-wireless, linux-kernel, Nathan Chancellor

GCC warns these variables are all set but never used so remove them.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/wilc1000/host_interface.c         | 12 ------------
 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c |  6 ------
 2 files changed, 18 deletions(-)

diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c
index 28edd904b33a..3fd4c8e62da6 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -1432,13 +1432,7 @@ static s32 handle_rcvd_gnrl_async_info(struct wilc_vif *vif,
 {
 	s32 result = 0;
 	u8 msg_type = 0;
-	u8 msg_id = 0;
-	u16 msg_len = 0;
-	u16 wid_id = (u16)WID_NIL;
-	u8 wid_len  = 0;
 	u8 mac_status;
-	u8 mac_status_reason_code;
-	u8 mac_status_additional_info;
 	struct host_if_drv *hif_drv = vif->hif_drv;
 
 	if (!rcvd_info->buffer) {
@@ -1472,13 +1466,7 @@ static s32 handle_rcvd_gnrl_async_info(struct wilc_vif *vif,
 			return -EFAULT;
 		}
 
-		msg_id = rcvd_info->buffer[1];
-		msg_len = MAKE_WORD16(rcvd_info->buffer[2], rcvd_info->buffer[3]);
-		wid_id = MAKE_WORD16(rcvd_info->buffer[4], rcvd_info->buffer[5]);
-		wid_len = rcvd_info->buffer[6];
 		mac_status  = rcvd_info->buffer[7];
-		mac_status_reason_code = rcvd_info->buffer[8];
-		mac_status_additional_info = rcvd_info->buffer[9];
 		if (hif_drv->hif_state == HOST_IF_WAITING_CONN_RESP) {
 			host_int_parse_assoc_resp_info(vif, mac_status);
 		} else if ((mac_status == MAC_STATUS_DISCONNECTED) &&
diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
index 8be3c4c57579..76b4afaef423 100644
--- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
+++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
@@ -917,12 +917,10 @@ static int add_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
 	const u8 *tx_mic = NULL;
 	u8 mode = NO_ENCRYPT;
 	u8 op_mode;
-	struct wilc *wl;
 	struct wilc_vif *vif;
 
 	priv = wiphy_priv(wiphy);
 	vif = netdev_priv(netdev);
-	wl = vif->wilc;
 
 	switch (params->cipher) {
 	case WLAN_CIPHER_SUITE_WEP40:
@@ -1885,12 +1883,10 @@ static int start_ap(struct wiphy *wiphy, struct net_device *dev,
 		    struct cfg80211_ap_settings *settings)
 {
 	struct cfg80211_beacon_data *beacon = &settings->beacon;
-	struct wilc_priv *priv;
 	s32 ret = 0;
 	struct wilc *wl;
 	struct wilc_vif *vif;
 
-	priv = wiphy_priv(wiphy);
 	vif = netdev_priv(dev);
 	wl = vif->wilc;
 
@@ -2016,14 +2012,12 @@ static int change_station(struct wiphy *wiphy, struct net_device *dev,
 			  const u8 *mac, struct station_parameters *params)
 {
 	s32 ret = 0;
-	struct wilc_priv *priv;
 	struct add_sta_param sta_params = { {0} };
 	struct wilc_vif *vif;
 
 	if (!wiphy)
 		return -EFAULT;
 
-	priv = wiphy_priv(wiphy);
 	vif = netdev_priv(dev);
 
 	if (vif->iftype == AP_MODE || vif->iftype == GO_MODE) {
-- 
2.17.0

^ permalink raw reply related	[relevance 92%]

* [PATCH 1/3] staging: wilc1000: Remove unused variables
@ 2018-05-06  7:33 91% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-06  7:33 UTC (permalink / raw)
  To: devel
  Cc: Greg Kroah-Hartman, linux-wireless, linux-kernel, Ganesh Krishna,
	Aditya Shankar, Nathan Chancellor

GCC warns these variables are all set but never used so remove them.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/wilc1000/host_interface.c         | 12 ------------
 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c |  6 ------
 2 files changed, 18 deletions(-)

diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c
index 28edd904b33a..3fd4c8e62da6 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -1432,13 +1432,7 @@ static s32 handle_rcvd_gnrl_async_info(struct wilc_vif *vif,
 {
 	s32 result = 0;
 	u8 msg_type = 0;
-	u8 msg_id = 0;
-	u16 msg_len = 0;
-	u16 wid_id = (u16)WID_NIL;
-	u8 wid_len  = 0;
 	u8 mac_status;
-	u8 mac_status_reason_code;
-	u8 mac_status_additional_info;
 	struct host_if_drv *hif_drv = vif->hif_drv;
 
 	if (!rcvd_info->buffer) {
@@ -1472,13 +1466,7 @@ static s32 handle_rcvd_gnrl_async_info(struct wilc_vif *vif,
 			return -EFAULT;
 		}
 
-		msg_id = rcvd_info->buffer[1];
-		msg_len = MAKE_WORD16(rcvd_info->buffer[2], rcvd_info->buffer[3]);
-		wid_id = MAKE_WORD16(rcvd_info->buffer[4], rcvd_info->buffer[5]);
-		wid_len = rcvd_info->buffer[6];
 		mac_status  = rcvd_info->buffer[7];
-		mac_status_reason_code = rcvd_info->buffer[8];
-		mac_status_additional_info = rcvd_info->buffer[9];
 		if (hif_drv->hif_state == HOST_IF_WAITING_CONN_RESP) {
 			host_int_parse_assoc_resp_info(vif, mac_status);
 		} else if ((mac_status == MAC_STATUS_DISCONNECTED) &&
diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
index 8be3c4c57579..76b4afaef423 100644
--- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
+++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
@@ -917,12 +917,10 @@ static int add_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
 	const u8 *tx_mic = NULL;
 	u8 mode = NO_ENCRYPT;
 	u8 op_mode;
-	struct wilc *wl;
 	struct wilc_vif *vif;
 
 	priv = wiphy_priv(wiphy);
 	vif = netdev_priv(netdev);
-	wl = vif->wilc;
 
 	switch (params->cipher) {
 	case WLAN_CIPHER_SUITE_WEP40:
@@ -1885,12 +1883,10 @@ static int start_ap(struct wiphy *wiphy, struct net_device *dev,
 		    struct cfg80211_ap_settings *settings)
 {
 	struct cfg80211_beacon_data *beacon = &settings->beacon;
-	struct wilc_priv *priv;
 	s32 ret = 0;
 	struct wilc *wl;
 	struct wilc_vif *vif;
 
-	priv = wiphy_priv(wiphy);
 	vif = netdev_priv(dev);
 	wl = vif->wilc;
 
@@ -2016,14 +2012,12 @@ static int change_station(struct wiphy *wiphy, struct net_device *dev,
 			  const u8 *mac, struct station_parameters *params)
 {
 	s32 ret = 0;
-	struct wilc_priv *priv;
 	struct add_sta_param sta_params = { {0} };
 	struct wilc_vif *vif;
 
 	if (!wiphy)
 		return -EFAULT;
 
-	priv = wiphy_priv(wiphy);
 	vif = netdev_priv(dev);
 
 	if (vif->iftype == AP_MODE || vif->iftype == GO_MODE) {
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 91%]

* [PATCH 2/3] staging: wilc1000: Remove useless function
  2018-05-06  7:33 91% ` Nathan Chancellor
@ 2018-05-06  7:33 92%   ` Nathan Chancellor
  -1 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-06  7:33 UTC (permalink / raw)
  To: devel
  Cc: Greg Kroah-Hartman, Aditya Shankar, Ganesh Krishna,
	linux-wireless, linux-kernel, Nathan Chancellor

GCC warns that 'wid' is unused in wilc_remove_key and it's correct; the
variable is only local. Get rid of the function (since it just returns
zero) and shuffle the remaining code into one if statement.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/wilc1000/host_interface.c         | 12 ------------
 drivers/staging/wilc1000/host_interface.h         |  1 -
 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c | 14 +++++---------
 3 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c
index 3fd4c8e62da6..b5f3829e9903 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -2606,18 +2606,6 @@ static void timer_connect_cb(struct timer_list *t)
 	wilc_enqueue_cmd(&msg);
 }
 
-s32 wilc_remove_key(struct host_if_drv *hif_drv, const u8 *sta_addr)
-{
-	struct wid wid;
-
-	wid.id = (u16)WID_REMOVE_KEY;
-	wid.type = WID_STR;
-	wid.val = (s8 *)sta_addr;
-	wid.size = 6;
-
-	return 0;
-}
-
 int wilc_remove_wep_key(struct wilc_vif *vif, u8 index)
 {
 	int result = 0;
diff --git a/drivers/staging/wilc1000/host_interface.h b/drivers/staging/wilc1000/host_interface.h
index 7a26f341e0ba..08b3ba7df8b4 100644
--- a/drivers/staging/wilc1000/host_interface.h
+++ b/drivers/staging/wilc1000/host_interface.h
@@ -303,7 +303,6 @@ struct add_sta_param {
 };
 
 struct wilc_vif;
-s32 wilc_remove_key(struct host_if_drv *hif_drv, const u8 *sta_addr);
 int wilc_remove_wep_key(struct wilc_vif *vif, u8 index);
 int wilc_set_wep_default_keyid(struct wilc_vif *vif, u8 index);
 int wilc_add_wep_key_bss_sta(struct wilc_vif *vif, const u8 *key, u8 len,
diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
index 76b4afaef423..b499fb987395 100644
--- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
+++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
@@ -1054,15 +1054,11 @@ static int del_key(struct wiphy *wiphy, struct net_device *netdev,
 		}
 	}
 
-	if (key_index >= 0 && key_index <= 3) {
-		if (priv->wep_key_len[key_index]) {
-			memset(priv->wep_key[key_index], 0,
-			       priv->wep_key_len[key_index]);
-			priv->wep_key_len[key_index] = 0;
-			wilc_remove_wep_key(vif, key_index);
-		}
-	} else {
-		wilc_remove_key(priv->hif_drv, mac_addr);
+	if (key_index >= 0 && key_index <= 3 && priv->wep_key_len[key_index]) {
+		memset(priv->wep_key[key_index], 0,
+		       priv->wep_key_len[key_index]);
+		priv->wep_key_len[key_index] = 0;
+		wilc_remove_wep_key(vif, key_index);
 	}
 
 	return 0;
-- 
2.17.0

^ permalink raw reply related	[relevance 92%]

* [PATCH 2/3] staging: wilc1000: Remove useless function
@ 2018-05-06  7:33 92%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-06  7:33 UTC (permalink / raw)
  To: devel
  Cc: Greg Kroah-Hartman, linux-wireless, linux-kernel, Ganesh Krishna,
	Aditya Shankar, Nathan Chancellor

GCC warns that 'wid' is unused in wilc_remove_key and it's correct; the
variable is only local. Get rid of the function (since it just returns
zero) and shuffle the remaining code into one if statement.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/wilc1000/host_interface.c         | 12 ------------
 drivers/staging/wilc1000/host_interface.h         |  1 -
 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c | 14 +++++---------
 3 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c
index 3fd4c8e62da6..b5f3829e9903 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -2606,18 +2606,6 @@ static void timer_connect_cb(struct timer_list *t)
 	wilc_enqueue_cmd(&msg);
 }
 
-s32 wilc_remove_key(struct host_if_drv *hif_drv, const u8 *sta_addr)
-{
-	struct wid wid;
-
-	wid.id = (u16)WID_REMOVE_KEY;
-	wid.type = WID_STR;
-	wid.val = (s8 *)sta_addr;
-	wid.size = 6;
-
-	return 0;
-}
-
 int wilc_remove_wep_key(struct wilc_vif *vif, u8 index)
 {
 	int result = 0;
diff --git a/drivers/staging/wilc1000/host_interface.h b/drivers/staging/wilc1000/host_interface.h
index 7a26f341e0ba..08b3ba7df8b4 100644
--- a/drivers/staging/wilc1000/host_interface.h
+++ b/drivers/staging/wilc1000/host_interface.h
@@ -303,7 +303,6 @@ struct add_sta_param {
 };
 
 struct wilc_vif;
-s32 wilc_remove_key(struct host_if_drv *hif_drv, const u8 *sta_addr);
 int wilc_remove_wep_key(struct wilc_vif *vif, u8 index);
 int wilc_set_wep_default_keyid(struct wilc_vif *vif, u8 index);
 int wilc_add_wep_key_bss_sta(struct wilc_vif *vif, const u8 *key, u8 len,
diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
index 76b4afaef423..b499fb987395 100644
--- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
+++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
@@ -1054,15 +1054,11 @@ static int del_key(struct wiphy *wiphy, struct net_device *netdev,
 		}
 	}
 
-	if (key_index >= 0 && key_index <= 3) {
-		if (priv->wep_key_len[key_index]) {
-			memset(priv->wep_key[key_index], 0,
-			       priv->wep_key_len[key_index]);
-			priv->wep_key_len[key_index] = 0;
-			wilc_remove_wep_key(vif, key_index);
-		}
-	} else {
-		wilc_remove_key(priv->hif_drv, mac_addr);
+	if (key_index >= 0 && key_index <= 3 && priv->wep_key_len[key_index]) {
+		memset(priv->wep_key[key_index], 0,
+		       priv->wep_key_len[key_index]);
+		priv->wep_key_len[key_index] = 0;
+		wilc_remove_wep_key(vif, key_index);
 	}
 
 	return 0;
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 92%]

* [PATCH 3/3] staging: wilc1000: Remove unnecessary array index check
  2018-05-06  7:33 91% ` Nathan Chancellor
@ 2018-05-06  7:33 99%   ` Nathan Chancellor
  -1 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-06  7:33 UTC (permalink / raw)
  To: devel
  Cc: Greg Kroah-Hartman, linux-wireless, linux-kernel, Ganesh Krishna,
	Aditya Shankar, Nathan Chancellor

This statment triggers GCC's -Wtype-limit since key_index is an
unsigned integer so it cannot be less than zero.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
index b499fb987395..e0015ca6c21a 100644
--- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
+++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
@@ -1054,7 +1054,7 @@ static int del_key(struct wiphy *wiphy, struct net_device *netdev,
 		}
 	}
 
-	if (key_index >= 0 && key_index <= 3 && priv->wep_key_len[key_index]) {
+	if (key_index <= 3 && priv->wep_key_len[key_index]) {
 		memset(priv->wep_key[key_index], 0,
 		       priv->wep_key_len[key_index]);
 		priv->wep_key_len[key_index] = 0;
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 99%]

* [PATCH 3/3] staging: wilc1000: Remove unnecessary array index check
@ 2018-05-06  7:33 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-06  7:33 UTC (permalink / raw)
  To: devel
  Cc: Greg Kroah-Hartman, Aditya Shankar, Ganesh Krishna,
	linux-wireless, linux-kernel, Nathan Chancellor

This statment triggers GCC's -Wtype-limit since key_index is an
unsigned integer so it cannot be less than zero.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
index b499fb987395..e0015ca6c21a 100644
--- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
+++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
@@ -1054,7 +1054,7 @@ static int del_key(struct wiphy *wiphy, struct net_device *netdev,
 		}
 	}
 
-	if (key_index >= 0 && key_index <= 3 && priv->wep_key_len[key_index]) {
+	if (key_index <= 3 && priv->wep_key_len[key_index]) {
 		memset(priv->wep_key[key_index], 0,
 		       priv->wep_key_len[key_index]);
 		priv->wep_key_len[key_index] = 0;
-- 
2.17.0

^ permalink raw reply related	[relevance 99%]

* [PATCH 1/7] staging: ks7010: Replace license boilerplate with SPDX identifiers
@ 2018-05-06 22:02 70% Nathan Chancellor
  2018-05-06 22:02 95% ` [PATCH 2/7] staging: ks7010: Remove unused variables Nathan Chancellor
                   ` (6 more replies)
  0 siblings, 7 replies; 200+ results
From: Nathan Chancellor @ 2018-05-06 22:02 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Nathan Chancellor, linux-kernel

This satisfies a checkpatch.pl warning and is the preferred method for
notating the license due to its lack of ambiguity.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/ks7010/ks7010_sdio.c   | 5 +----
 drivers/staging/ks7010/ks7010_sdio.h   | 5 +----
 drivers/staging/ks7010/ks_hostif.c     | 5 +----
 drivers/staging/ks7010/ks_hostif.h     | 5 +----
 drivers/staging/ks7010/ks_wlan.h       | 5 +----
 drivers/staging/ks7010/ks_wlan_ioctl.h | 5 +----
 drivers/staging/ks7010/ks_wlan_net.c   | 5 +----
 drivers/staging/ks7010/michael_mic.c   | 5 +----
 drivers/staging/ks7010/michael_mic.h   | 5 +----
 9 files changed, 9 insertions(+), 36 deletions(-)

diff --git a/drivers/staging/ks7010/ks7010_sdio.c b/drivers/staging/ks7010/ks7010_sdio.c
index b29f48c421cc..6a5565d479ac 100644
--- a/drivers/staging/ks7010/ks7010_sdio.c
+++ b/drivers/staging/ks7010/ks7010_sdio.c
@@ -1,13 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  *   Driver for KeyStream, KS7010 based SDIO cards.
  *
  *   Copyright (C) 2006-2008 KeyStream Corp.
  *   Copyright (C) 2009 Renesas Technology Corp.
  *   Copyright (C) 2016 Sang Engineering, Wolfram Sang
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2 as
- *   published by the Free Software Foundation.
  */
 
 #include <linux/atomic.h>
diff --git a/drivers/staging/ks7010/ks7010_sdio.h b/drivers/staging/ks7010/ks7010_sdio.h
index 95ac86b94a7c..831b2f105f58 100644
--- a/drivers/staging/ks7010/ks7010_sdio.h
+++ b/drivers/staging/ks7010/ks7010_sdio.h
@@ -1,12 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  *   Driver for KeyStream, KS7010 based SDIO cards.
  *
  *   Copyright (C) 2006-2008 KeyStream Corp.
  *   Copyright (C) 2009 Renesas Technology Corp.
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2 as
- *   published by the Free Software Foundation.
  */
 #ifndef _KS7010_SDIO_H
 #define _KS7010_SDIO_H
diff --git a/drivers/staging/ks7010/ks_hostif.c b/drivers/staging/ks7010/ks_hostif.c
index 9a05374d950e..c0a9a67dc0b4 100644
--- a/drivers/staging/ks7010/ks_hostif.c
+++ b/drivers/staging/ks7010/ks_hostif.c
@@ -1,12 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  *   Driver for KeyStream wireless LAN cards.
  *
  *   Copyright (C) 2005-2008 KeyStream Corp.
  *   Copyright (C) 2009 Renesas Technology Corp.
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2 as
- *   published by the Free Software Foundation.
  */
 
 #include <linux/if_arp.h>
diff --git a/drivers/staging/ks7010/ks_hostif.h b/drivers/staging/ks7010/ks_hostif.h
index 05ff5ca5da19..172d38f17595 100644
--- a/drivers/staging/ks7010/ks_hostif.h
+++ b/drivers/staging/ks7010/ks_hostif.h
@@ -1,12 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  *   Driver for KeyStream wireless LAN
  *
  *   Copyright (c) 2005-2008 KeyStream Corp.
  *   Copyright (C) 2009 Renesas Technology Corp.
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2 as
- *   published by the Free Software Foundation.
  */
 
 #ifndef _KS_HOSTIF_H_
diff --git a/drivers/staging/ks7010/ks_wlan.h b/drivers/staging/ks7010/ks_wlan.h
index 2894b0c3816c..5070af86115f 100644
--- a/drivers/staging/ks7010/ks_wlan.h
+++ b/drivers/staging/ks7010/ks_wlan.h
@@ -1,12 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  *   Driver for KeyStream IEEE802.11 b/g wireless LAN cards.
  *
  *   Copyright (C) 2006-2008 KeyStream Corp.
  *   Copyright (C) 2009 Renesas Technology Corp.
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2 as
- *   published by the Free Software Foundation.
  */
 
 #ifndef _KS_WLAN_H
diff --git a/drivers/staging/ks7010/ks_wlan_ioctl.h b/drivers/staging/ks7010/ks_wlan_ioctl.h
index e45a33291b46..97c7d95de411 100644
--- a/drivers/staging/ks7010/ks_wlan_ioctl.h
+++ b/drivers/staging/ks7010/ks_wlan_ioctl.h
@@ -1,12 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  *   Driver for KeyStream 11b/g wireless LAN
  *
  *   Copyright (c) 2005-2008 KeyStream Corp.
  *   Copyright (C) 2009 Renesas Technology Corp.
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2 as
- *   published by the Free Software Foundation.
  */
 
 #ifndef _KS_WLAN_IOCTL_H
diff --git a/drivers/staging/ks7010/ks_wlan_net.c b/drivers/staging/ks7010/ks_wlan_net.c
index 694decc05c88..e96477937f65 100644
--- a/drivers/staging/ks7010/ks_wlan_net.c
+++ b/drivers/staging/ks7010/ks_wlan_net.c
@@ -1,12 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  *   Driver for KeyStream 11b/g wireless LAN
  *
  *   Copyright (C) 2005-2008 KeyStream Corp.
  *   Copyright (C) 2009 Renesas Technology Corp.
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2 as
- *   published by the Free Software Foundation.
  */
 
 #include <linux/atomic.h>
diff --git a/drivers/staging/ks7010/michael_mic.c b/drivers/staging/ks7010/michael_mic.c
index 2128c8441405..e6bd70846e98 100644
--- a/drivers/staging/ks7010/michael_mic.c
+++ b/drivers/staging/ks7010/michael_mic.c
@@ -1,12 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  *   Driver for KeyStream wireless LAN
  *
  *   Copyright (C) 2005-2008 KeyStream Corp.
  *   Copyright (C) 2009 Renesas Technology Corp.
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2 as
- *   published by the Free Software Foundation.
  */
 
 #include <asm/unaligned.h>
diff --git a/drivers/staging/ks7010/michael_mic.h b/drivers/staging/ks7010/michael_mic.h
index eb22fdd660d9..f0ac164b999b 100644
--- a/drivers/staging/ks7010/michael_mic.h
+++ b/drivers/staging/ks7010/michael_mic.h
@@ -1,12 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  *   Driver for KeyStream wireless LAN
  *
  *   Copyright (C) 2005-2008 KeyStream Corp.
  *   Copyright (C) 2009 Renesas Technology Corp.
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2 as
- *   published by the Free Software Foundation.
  */
 
 /* MichaelMIC routine define */
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 70%]

* [PATCH 2/7] staging: ks7010: Remove unused variables
  2018-05-06 22:02 70% [PATCH 1/7] staging: ks7010: Replace license boilerplate with SPDX identifiers Nathan Chancellor
@ 2018-05-06 22:02 95% ` Nathan Chancellor
  2018-05-07 17:59 99%   ` Nathan Chancellor
  2018-05-06 22:03 99% ` [PATCH 3/7] staging: ks7010: Remove unnecessary limit checks Nathan Chancellor
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-05-06 22:02 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Nathan Chancellor, linux-kernel

GCC warns these variables are all set but never used so remove them.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/ks7010/ks_hostif.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/staging/ks7010/ks_hostif.c b/drivers/staging/ks7010/ks_hostif.c
index c0a9a67dc0b4..4c2f8f710c6e 100644
--- a/drivers/staging/ks7010/ks_hostif.c
+++ b/drivers/staging/ks7010/ks_hostif.c
@@ -354,7 +354,6 @@ void hostif_data_indication(struct ks_wlan_private *priv)
 	unsigned short auth_type;
 	unsigned char temp[256];
 	struct ether_hdr *eth_hdr;
-	unsigned short eth_proto;
 	struct ieee802_1x_hdr *aa1x_hdr;
 	size_t size;
 	int ret;
@@ -369,7 +368,6 @@ void hostif_data_indication(struct ks_wlan_private *priv)
 	get_word(priv);	/* Reserve Area */
 
 	eth_hdr = (struct ether_hdr *)(priv->rxp);
-	eth_proto = ntohs(eth_hdr->h_proto);
 
 	/* source address check */
 	if (ether_addr_equal(&priv->eth_addr[0], eth_hdr->h_source)) {
@@ -464,13 +462,9 @@ void hostif_mib_get_confirm(struct ks_wlan_private *priv)
 	struct net_device *dev = priv->net_dev;
 	u32 mib_status;
 	u32 mib_attribute;
-	u16 mib_val_size;
-	u16 mib_val_type;
 
 	mib_status = get_dword(priv);	/* MIB status */
 	mib_attribute = get_dword(priv);	/* MIB atttibute */
-	mib_val_size = get_word(priv);	/* MIB value size */
-	mib_val_type = get_word(priv);	/* MIB value type */
 
 	if (mib_status) {
 		netdev_err(priv->net_dev, "attribute=%08X, status=%08X\n",
@@ -792,9 +786,6 @@ void hostif_ps_adhoc_set_confirm(struct ks_wlan_private *priv)
 static
 void hostif_infrastructure_set_confirm(struct ks_wlan_private *priv)
 {
-	u16 result_code;
-
-	result_code = get_word(priv);
 	priv->infra_status = 1;	/* infrastructure mode set */
 	hostif_sme_enqueue(priv, SME_MODE_SET_CONFIRM);
 }
@@ -872,14 +863,13 @@ static
 void hostif_phy_information_confirm(struct ks_wlan_private *priv)
 {
 	struct iw_statistics *wstats = &priv->wstats;
-	unsigned char rssi, signal, noise;
+	unsigned char rssi, signal;
 	unsigned char link_speed;
 	unsigned int transmitted_frame_count, received_fragment_count;
 	unsigned int failed_count, fcs_error_count;
 
 	rssi = get_byte(priv);
 	signal = get_byte(priv);
-	noise = get_byte(priv);
 	link_speed = get_byte(priv);
 	transmitted_frame_count = get_dword(priv);
 	received_fragment_count = get_dword(priv);
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 95%]

* [PATCH 3/7] staging: ks7010: Remove unnecessary limit checks
  2018-05-06 22:02 70% [PATCH 1/7] staging: ks7010: Replace license boilerplate with SPDX identifiers Nathan Chancellor
  2018-05-06 22:02 95% ` [PATCH 2/7] staging: ks7010: Remove unused variables Nathan Chancellor
@ 2018-05-06 22:03 99% ` Nathan Chancellor
    2018-05-06 22:03 96% ` [PATCH 4/7] staging: ks7010: Adjust spacing around functions and declarations Nathan Chancellor
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-05-06 22:03 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Nathan Chancellor, linux-kernel

uwrq is an unsigned 32-bit integer, it cannot be less than zero.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/ks7010/ks_wlan_net.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/ks7010/ks_wlan_net.c b/drivers/staging/ks7010/ks_wlan_net.c
index e96477937f65..0c83d6fe270f 100644
--- a/drivers/staging/ks7010/ks_wlan_net.c
+++ b/drivers/staging/ks7010/ks_wlan_net.c
@@ -1928,7 +1928,7 @@ static int ks_wlan_set_beacon_lost(struct net_device *dev,
 	if (priv->sleep_mode == SLP_SLEEP)
 		return -EPERM;
 	/* for SLEEP MODE */
-	if (*uwrq < BEACON_LOST_COUNT_MIN || *uwrq > BEACON_LOST_COUNT_MAX)
+	if (*uwrq > BEACON_LOST_COUNT_MAX)
 		return -EINVAL;
 
 	priv->reg.beacon_lost_count = *uwrq;
@@ -2133,7 +2133,7 @@ static int ks_wlan_set_tx_gain(struct net_device *dev,
 	if (priv->sleep_mode == SLP_SLEEP)
 		return -EPERM;
 	/* for SLEEP MODE */
-	if (*uwrq < 0 || *uwrq > 0xFF)
+	if (*uwrq > 0xFF)
 		return -EINVAL;
 
 	priv->gain.tx_gain = (uint8_t)*uwrq;
@@ -2165,7 +2165,7 @@ static int ks_wlan_set_rx_gain(struct net_device *dev,
 	if (priv->sleep_mode == SLP_SLEEP)
 		return -EPERM;
 	/* for SLEEP MODE */
-	if (*uwrq < 0 || *uwrq > 0xFF)
+	if (*uwrq > 0xFF)
 		return -EINVAL;
 
 	priv->gain.rx_gain = (uint8_t)*uwrq;
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 99%]

* [PATCH 4/7] staging: ks7010: Adjust spacing around functions and declarations
  2018-05-06 22:02 70% [PATCH 1/7] staging: ks7010: Replace license boilerplate with SPDX identifiers Nathan Chancellor
  2018-05-06 22:02 95% ` [PATCH 2/7] staging: ks7010: Remove unused variables Nathan Chancellor
  2018-05-06 22:03 99% ` [PATCH 3/7] staging: ks7010: Remove unnecessary limit checks Nathan Chancellor
@ 2018-05-06 22:03 96% ` Nathan Chancellor
  2018-05-06 22:03 99% ` [PATCH 5/7] staging: ks7010: Remove unnecessary parentheses Nathan Chancellor
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-06 22:03 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Nathan Chancellor, linux-kernel

checkpatch.pl warns about too many or not enough spaces in these
locations. Adjust them accordingly.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/ks7010/ks7010_sdio.c | 1 -
 drivers/staging/ks7010/ks_hostif.c   | 2 +-
 drivers/staging/ks7010/michael_mic.c | 1 -
 3 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/staging/ks7010/ks7010_sdio.c b/drivers/staging/ks7010/ks7010_sdio.c
index 6a5565d479ac..e23173a81f24 100644
--- a/drivers/staging/ks7010/ks7010_sdio.c
+++ b/drivers/staging/ks7010/ks7010_sdio.c
@@ -776,7 +776,6 @@ static int ks7010_upload_firmware(struct ks_sdio_card *card)
 	int ret;
 	const struct firmware *fw_entry = NULL;
 
-
 	sdio_claim_host(card->func);
 
 	/* Firmware running ? */
diff --git a/drivers/staging/ks7010/ks_hostif.c b/drivers/staging/ks7010/ks_hostif.c
index 4c2f8f710c6e..a2833707e0bf 100644
--- a/drivers/staging/ks7010/ks_hostif.c
+++ b/drivers/staging/ks7010/ks_hostif.c
@@ -191,7 +191,6 @@ static u8 read_ie(unsigned char *bp, u8 max, u8 *body)
 	return size;
 }
 
-
 static
 int get_ap_information(struct ks_wlan_private *priv, struct ap_info *ap_info,
 		       struct local_ap *ap)
@@ -2272,6 +2271,7 @@ void hostif_sme_enqueue(struct ks_wlan_private *priv, unsigned short event)
 static inline void hostif_aplist_init(struct ks_wlan_private *priv)
 {
 	size_t size = LOCAL_APLIST_MAX * sizeof(struct local_ap);
+
 	priv->aplist.size = 0;
 	memset(&priv->aplist.ap[0], 0, size);
 }
diff --git a/drivers/staging/ks7010/michael_mic.c b/drivers/staging/ks7010/michael_mic.c
index e6bd70846e98..3acd79615f98 100644
--- a/drivers/staging/ks7010/michael_mic.c
+++ b/drivers/staging/ks7010/michael_mic.c
@@ -11,7 +11,6 @@
 #include <linux/string.h>
 #include "michael_mic.h"
 
-
 // Reset the state to the empty message.
 static inline void michael_clear(struct michael_mic *mic)
 {
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 96%]

* [PATCH 5/7] staging: ks7010: Remove unnecessary parentheses
  2018-05-06 22:02 70% [PATCH 1/7] staging: ks7010: Replace license boilerplate with SPDX identifiers Nathan Chancellor
                   ` (2 preceding siblings ...)
  2018-05-06 22:03 96% ` [PATCH 4/7] staging: ks7010: Adjust spacing around functions and declarations Nathan Chancellor
@ 2018-05-06 22:03 99% ` Nathan Chancellor
  2018-05-06 22:03 99% ` [PATCH 6/7] staging: ks7010: Adjust alignment to open parenthesis Nathan Chancellor
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-06 22:03 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Nathan Chancellor, linux-kernel

Fixes checkpatch.pl warnings.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/ks7010/ks_hostif.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/ks7010/ks_hostif.c b/drivers/staging/ks7010/ks_hostif.c
index a2833707e0bf..094f8c11b4ab 100644
--- a/drivers/staging/ks7010/ks_hostif.c
+++ b/drivers/staging/ks7010/ks_hostif.c
@@ -35,7 +35,7 @@ static inline u8 get_byte(struct ks_wlan_private *priv)
 {
 	u8 data;
 
-	data = *(priv->rxp)++;
+	data = *priv->rxp++;
 	/* length check in advance ! */
 	--(priv->rx_size);
 	return data;
@@ -171,7 +171,7 @@ int get_current_ap(struct ks_wlan_private *priv, struct link_ap_info *ap_info)
 		   "- rate_set_size=%d\n",
 		   ap->bssid[0], ap->bssid[1], ap->bssid[2],
 		   ap->bssid[3], ap->bssid[4], ap->bssid[5],
-		   &(ap->ssid.body[0]),
+		   &ap->ssid.body[0],
 		   ap->rate_set.body[0], ap->rate_set.body[1],
 		   ap->rate_set.body[2], ap->rate_set.body[3],
 		   ap->rate_set.body[4], ap->rate_set.body[5],
@@ -734,7 +734,7 @@ void hostif_scan_indication(struct ks_wlan_private *priv)
 		netdev_dbg(priv->net_dev, " scan_ind_count=%d :: aplist.size=%d\n",
 			priv->scan_ind_count, priv->aplist.size);
 		get_ap_information(priv, (struct ap_info *)(priv->rxp),
-				   &(priv->aplist.ap[priv->scan_ind_count - 1]));
+				   &priv->aplist.ap[priv->scan_ind_count - 1]);
 		priv->aplist.size = priv->scan_ind_count;
 	} else {
 		netdev_dbg(priv->net_dev, " count over :: scan_ind_count=%d\n",
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 99%]

* [PATCH 6/7] staging: ks7010: Adjust alignment to open parenthesis
  2018-05-06 22:02 70% [PATCH 1/7] staging: ks7010: Replace license boilerplate with SPDX identifiers Nathan Chancellor
                   ` (3 preceding siblings ...)
  2018-05-06 22:03 99% ` [PATCH 5/7] staging: ks7010: Remove unnecessary parentheses Nathan Chancellor
@ 2018-05-06 22:03 99% ` Nathan Chancellor
  2018-05-06 22:03 92% ` [PATCH 7/7] staging: ks7010: Move from bool to int in structs Nathan Chancellor
    6 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-06 22:03 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Nathan Chancellor, linux-kernel

Fixes a checkpatch.pl warning.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/ks7010/ks_hostif.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/ks7010/ks_hostif.c b/drivers/staging/ks7010/ks_hostif.c
index 094f8c11b4ab..628171091786 100644
--- a/drivers/staging/ks7010/ks_hostif.c
+++ b/drivers/staging/ks7010/ks_hostif.c
@@ -732,7 +732,7 @@ void hostif_scan_indication(struct ks_wlan_private *priv)
 	priv->scan_ind_count++;
 	if (priv->scan_ind_count < LOCAL_APLIST_MAX + 1) {
 		netdev_dbg(priv->net_dev, " scan_ind_count=%d :: aplist.size=%d\n",
-			priv->scan_ind_count, priv->aplist.size);
+			   priv->scan_ind_count, priv->aplist.size);
 		get_ap_information(priv, (struct ap_info *)(priv->rxp),
 				   &priv->aplist.ap[priv->scan_ind_count - 1]);
 		priv->aplist.size = priv->scan_ind_count;
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 99%]

* [PATCH 7/7] staging: ks7010: Move from bool to int in structs
  2018-05-06 22:02 70% [PATCH 1/7] staging: ks7010: Replace license boilerplate with SPDX identifiers Nathan Chancellor
                   ` (4 preceding siblings ...)
  2018-05-06 22:03 99% ` [PATCH 6/7] staging: ks7010: Adjust alignment to open parenthesis Nathan Chancellor
@ 2018-05-06 22:03 92% ` Nathan Chancellor
      6 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-05-06 22:03 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, Nathan Chancellor, linux-kernel

Fixes checkpatch.pl warnings.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/ks7010/ks_hostif.c   | 4 ++--
 drivers/staging/ks7010/ks_wlan.h     | 4 ++--
 drivers/staging/ks7010/ks_wlan_net.c | 8 ++++----
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/ks7010/ks_hostif.c b/drivers/staging/ks7010/ks_hostif.c
index 628171091786..43090922daff 100644
--- a/drivers/staging/ks7010/ks_hostif.c
+++ b/drivers/staging/ks7010/ks_hostif.c
@@ -475,7 +475,7 @@ void hostif_mib_get_confirm(struct ks_wlan_private *priv)
 	case DOT11_MAC_ADDRESS:
 		hostif_sme_enqueue(priv, SME_GET_MAC_ADDRESS);
 		ether_addr_copy(priv->eth_addr, priv->rxp);
-		priv->mac_address_valid = true;
+		priv->mac_address_valid = 1;
 		ether_addr_copy(dev->dev_addr, priv->eth_addr);
 		netdev_info(dev, "MAC ADDRESS = %pM\n", priv->eth_addr);
 		break;
@@ -582,7 +582,7 @@ void hostif_mib_set_confirm(struct ks_wlan_private *priv)
 		hostif_sme_enqueue(priv, SME_MULTICAST_CONFIRM);
 		break;
 	case LOCAL_CURRENTADDRESS:
-		priv->mac_address_valid = true;
+		priv->mac_address_valid = 1;
 		break;
 	case DOT11_RSN_CONFIG_MULTICAST_CIPHER:
 		hostif_sme_enqueue(priv, SME_RSN_MCAST_CONFIRM);
diff --git a/drivers/staging/ks7010/ks_wlan.h b/drivers/staging/ks7010/ks_wlan.h
index 5070af86115f..ffe0e80277c9 100644
--- a/drivers/staging/ks7010/ks_wlan.h
+++ b/drivers/staging/ks7010/ks_wlan.h
@@ -411,7 +411,7 @@ struct ks_wlan_private {
 	unsigned int need_commit;	/* for ioctl */
 
 	/* DeviceIoControl */
-	bool is_device_open;
+	int is_device_open;
 	atomic_t event_count;
 	atomic_t rec_count;
 	int dev_count;
@@ -423,7 +423,7 @@ struct ks_wlan_private {
 	unsigned char firmware_version[128 + 1];
 	int version_size;
 
-	bool mac_address_valid;	/* Mac Address Status */
+	int mac_address_valid;	/* Mac Address Status */
 
 	int dev_state;
 
diff --git a/drivers/staging/ks7010/ks_wlan_net.c b/drivers/staging/ks7010/ks_wlan_net.c
index 0c83d6fe270f..30c03f5d0ec1 100644
--- a/drivers/staging/ks7010/ks_wlan_net.c
+++ b/drivers/staging/ks7010/ks_wlan_net.c
@@ -2504,7 +2504,7 @@ int ks_wlan_set_mac_address(struct net_device *dev, void *addr)
 	memcpy(dev->dev_addr, mac_addr->sa_data, dev->addr_len);
 	memcpy(priv->eth_addr, mac_addr->sa_data, ETH_ALEN);
 
-	priv->mac_address_valid = false;
+	priv->mac_address_valid = 0;
 	hostif_sme_enqueue(priv, SME_MACADDRESS_SET_REQUEST);
 	netdev_info(dev, "ks_wlan:  MAC ADDRESS = %pM\n", priv->eth_addr);
 	return 0;
@@ -2627,8 +2627,8 @@ int ks_wlan_net_start(struct net_device *dev)
 	/* int rc; */
 
 	priv = netdev_priv(dev);
-	priv->mac_address_valid = false;
-	priv->is_device_open = true;
+	priv->mac_address_valid = 0;
+	priv->is_device_open = 1;
 	priv->need_commit = 0;
 	/* phy information update timer */
 	atomic_set(&update_phyinfo, 0);
@@ -2652,7 +2652,7 @@ int ks_wlan_net_stop(struct net_device *dev)
 {
 	struct ks_wlan_private *priv = netdev_priv(dev);
 
-	priv->is_device_open = false;
+	priv->is_device_open = 0;
 	del_timer_sync(&update_phyinfo_timer);
 
 	if (netif_running(dev))
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 92%]

* [PATCH 1/6] staging: android: Kconfig; Remove excessive hyphens
@ 2018-05-07  1:13 96% Nathan Chancellor
  2018-05-07  1:13 83% ` [PATCH 2/6] staging: android: Clean up license identifiers Nathan Chancellor
                   ` (4 more replies)
  0 siblings, 5 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07  1:13 UTC (permalink / raw)
  To: devel
  Cc: Todd Kjos, Greg Kroah-Hartman, linux-kernel,
	Arve Hjønnevåg, Nathan Chancellor, Martijn Coenen

Fixes the following checkpatch.pl warning:
"prefer 'help' over '---help---' for new help texts"

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/android/Kconfig     | 4 ++--
 drivers/staging/android/ion/Kconfig | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/android/Kconfig b/drivers/staging/android/Kconfig
index 29d891355f7a..17c5587805f5 100644
--- a/drivers/staging/android/Kconfig
+++ b/drivers/staging/android/Kconfig
@@ -6,7 +6,7 @@ config ASHMEM
 	bool "Enable the Anonymous Shared Memory Subsystem"
 	default n
 	depends on SHMEM
-	---help---
+	help
 	  The ashmem subsystem is a new shared memory allocator, similar to
 	  POSIX SHM but with different behavior and sporting a simpler
 	  file-based API.
@@ -18,7 +18,7 @@ config ANDROID_VSOC
 	tristate "Android Virtual SoC support"
 	default n
 	depends on PCI_MSI
-	---help---
+	help
 	  This option adds support for the Virtual SoC driver needed to boot
 	  a 'cuttlefish' Android image inside QEmu. The driver interacts with
 	  a QEmu ivshmem device. If built as a module, it will be called vsoc.
diff --git a/drivers/staging/android/ion/Kconfig b/drivers/staging/android/ion/Kconfig
index 898e9a834ccc..c16dd16afe6a 100644
--- a/drivers/staging/android/ion/Kconfig
+++ b/drivers/staging/android/ion/Kconfig
@@ -3,7 +3,7 @@ menuconfig ION
 	depends on HAVE_MEMBLOCK && HAS_DMA && MMU
 	select GENERIC_ALLOCATOR
 	select DMA_SHARED_BUFFER
-	---help---
+	help
 	  Choose this option to enable the ION Memory Manager,
 	  used by Android to efficiently allocate buffers
 	  from userspace that can be shared between drivers.
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 96%]

* [PATCH 2/6] staging: android: Clean up license identifiers
  2018-05-07  1:13 96% [PATCH 1/6] staging: android: Kconfig; Remove excessive hyphens Nathan Chancellor
@ 2018-05-07  1:13 83% ` Nathan Chancellor
  2018-05-07  1:13 90% ` [PATCH 3/6] staging: android: vsoc: Fix ending '(' warnings in function defintions Nathan Chancellor
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07  1:13 UTC (permalink / raw)
  To: devel
  Cc: Todd Kjos, Greg Kroah-Hartman, linux-kernel,
	Arve Hjønnevåg, Nathan Chancellor, Martijn Coenen

Add the identifiers when missing and fix the ones already present
according to checkpatch.pl.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/android/ashmem.h        |  6 +-----
 drivers/staging/android/uapi/ashmem.h   |  6 +-----
 drivers/staging/android/uapi/vsoc_shm.h | 10 +---------
 drivers/staging/android/vsoc.c          | 11 +----------
 4 files changed, 4 insertions(+), 29 deletions(-)

diff --git a/drivers/staging/android/ashmem.h b/drivers/staging/android/ashmem.h
index 60d7208f110a..1a478173cd21 100644
--- a/drivers/staging/android/ashmem.h
+++ b/drivers/staging/android/ashmem.h
@@ -1,13 +1,9 @@
-// SPDX-License-Identifier: (GPL-2.0 OR Apache-2.0)
+/* SPDX-License-Identifier: GPL-2.0 OR Apache-2.0 */
 /*
  * include/linux/ashmem.h
  *
  * Copyright 2008 Google Inc.
  * Author: Robert Love
- *
- * This file is dual licensed.  It may be redistributed and/or modified
- * under the terms of the Apache 2.0 License OR version 2 of the GNU
- * General Public License.
  */
 
 #ifndef _LINUX_ASHMEM_H
diff --git a/drivers/staging/android/uapi/ashmem.h b/drivers/staging/android/uapi/ashmem.h
index 5b531af6820e..5442e0019dcd 100644
--- a/drivers/staging/android/uapi/ashmem.h
+++ b/drivers/staging/android/uapi/ashmem.h
@@ -1,13 +1,9 @@
-// SPDX-License-Identifier: (GPL-2.0 OR Apache-2.0)
+/* SPDX-License-Identifier: GPL-2.0 OR Apache-2.0 */
 /*
  * drivers/staging/android/uapi/ashmem.h
  *
  * Copyright 2008 Google Inc.
  * Author: Robert Love
- *
- * This file is dual licensed.  It may be redistributed and/or modified
- * under the terms of the Apache 2.0 License OR version 2 of the GNU
- * General Public License.
  */
 
 #ifndef _UAPI_LINUX_ASHMEM_H
diff --git a/drivers/staging/android/uapi/vsoc_shm.h b/drivers/staging/android/uapi/vsoc_shm.h
index 741b1387c25b..6291fb24efb2 100644
--- a/drivers/staging/android/uapi/vsoc_shm.h
+++ b/drivers/staging/android/uapi/vsoc_shm.h
@@ -1,15 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * Copyright (C) 2017 Google, Inc.
  *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
  */
 
 #ifndef _UAPI_LINUX_VSOC_SHM_H
diff --git a/drivers/staging/android/vsoc.c b/drivers/staging/android/vsoc.c
index 954ed2c5d807..6ef7a011d789 100644
--- a/drivers/staging/android/vsoc.c
+++ b/drivers/staging/android/vsoc.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * drivers/android/staging/vsoc.c
  *
@@ -7,16 +8,6 @@
  *
  * Author: ghartman@google.com
  *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- *
  * Based on drivers/char/kvm_ivshmem.c - driver for KVM Inter-VM shared memory
  *         Copyright 2009 Cam Macdonell <cam@cs.ualberta.ca>
  *
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 83%]

* [PATCH 3/6] staging: android: vsoc: Fix ending '(' warnings in function defintions
  2018-05-07  1:13 96% [PATCH 1/6] staging: android: Kconfig; Remove excessive hyphens Nathan Chancellor
  2018-05-07  1:13 83% ` [PATCH 2/6] staging: android: Clean up license identifiers Nathan Chancellor
@ 2018-05-07  1:13 90% ` Nathan Chancellor
  2018-05-07  1:13 99% ` [PATCH 4/6] staging: android: vsoc: Fix ending '(' warnings in do_destroy_fd_scoped_permission Nathan Chancellor
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07  1:13 UTC (permalink / raw)
  To: devel
  Cc: Todd Kjos, Greg Kroah-Hartman, linux-kernel,
	Arve Hjønnevåg, Nathan Chancellor, Martijn Coenen

Fixes checkpatch.pl warnings about lines ending with parentheses.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/android/vsoc.c | 42 +++++++++++++++++-----------------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/drivers/staging/android/vsoc.c b/drivers/staging/android/vsoc.c
index 6ef7a011d789..b5307fa584d3 100644
--- a/drivers/staging/android/vsoc.c
+++ b/drivers/staging/android/vsoc.c
@@ -148,13 +148,13 @@ static int vsoc_release(struct inode *, struct file *);
 static ssize_t vsoc_read(struct file *, char __user *, size_t, loff_t *);
 static ssize_t vsoc_write(struct file *, const char __user *, size_t, loff_t *);
 static loff_t vsoc_lseek(struct file *filp, loff_t offset, int origin);
-static int do_create_fd_scoped_permission(
-	struct vsoc_device_region *region_p,
-	struct fd_scoped_permission_node *np,
-	struct fd_scoped_permission_arg __user *arg);
-static void do_destroy_fd_scoped_permission(
-	struct vsoc_device_region *owner_region_p,
-	struct fd_scoped_permission *perm);
+static int
+do_create_fd_scoped_permission(struct vsoc_device_region *region_p,
+			       struct fd_scoped_permission_node *np,
+			       struct fd_scoped_permission_arg __user *arg);
+static void
+do_destroy_fd_scoped_permission(struct vsoc_device_region *owner_region_p,
+				struct fd_scoped_permission *perm);
 static long do_vsoc_describe_region(struct file *,
 				    struct vsoc_device_region __user *);
 static ssize_t vsoc_get_area(struct file *filp, __u32 *perm_off);
@@ -203,14 +203,14 @@ static inline phys_addr_t shm_off_to_phys_addr(__u32 offset)
  * Convenience functions to obtain the region from the inode or file.
  * Dangerous to call before validating the inode/file.
  */
-static inline struct vsoc_device_region *vsoc_region_from_inode(
-	struct inode *inode)
+static
+inline struct vsoc_device_region *vsoc_region_from_inode(struct inode *inode)
 {
 	return &vsoc_dev.regions[iminor(inode)];
 }
 
-static inline struct vsoc_device_region *vsoc_region_from_filep(
-	struct file *inode)
+static
+inline struct vsoc_device_region *vsoc_region_from_filep(struct file *inode)
 {
 	return vsoc_region_from_inode(file_inode(inode));
 }
@@ -250,10 +250,10 @@ static struct pci_driver vsoc_pci_driver = {
 	.remove = vsoc_remove_device,
 };
 
-static int do_create_fd_scoped_permission(
-	struct vsoc_device_region *region_p,
-	struct fd_scoped_permission_node *np,
-	struct fd_scoped_permission_arg __user *arg)
+static int
+do_create_fd_scoped_permission(struct vsoc_device_region *region_p,
+			       struct fd_scoped_permission_node *np,
+			       struct fd_scoped_permission_arg __user *arg)
 {
 	struct file *managed_filp;
 	s32 managed_fd;
@@ -344,9 +344,9 @@ static int do_create_fd_scoped_permission(
 	return 0;
 }
 
-static void do_destroy_fd_scoped_permission_node(
-	struct vsoc_device_region *owner_region_p,
-	struct fd_scoped_permission_node *node)
+static void
+do_destroy_fd_scoped_permission_node(struct vsoc_device_region *owner_region_p,
+				     struct fd_scoped_permission_node *node)
 {
 	if (node) {
 		do_destroy_fd_scoped_permission(owner_region_p,
@@ -358,9 +358,9 @@ static void do_destroy_fd_scoped_permission_node(
 	}
 }
 
-static void do_destroy_fd_scoped_permission(
-		struct vsoc_device_region *owner_region_p,
-		struct fd_scoped_permission *perm)
+static void
+do_destroy_fd_scoped_permission(struct vsoc_device_region *owner_region_p,
+				struct fd_scoped_permission *perm)
 {
 	atomic_t *owner_ptr = NULL;
 	int prev = 0;
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 90%]

* [PATCH 4/6] staging: android: vsoc: Fix ending '(' warnings in do_destroy_fd_scoped_permission
  2018-05-07  1:13 96% [PATCH 1/6] staging: android: Kconfig; Remove excessive hyphens Nathan Chancellor
  2018-05-07  1:13 83% ` [PATCH 2/6] staging: android: Clean up license identifiers Nathan Chancellor
  2018-05-07  1:13 90% ` [PATCH 3/6] staging: android: vsoc: Fix ending '(' warnings in function defintions Nathan Chancellor
@ 2018-05-07  1:13 99% ` Nathan Chancellor
  2018-05-07  1:13 97% ` [PATCH 5/6] staging: android: vsoc: Fix ending '(' warnings in vsoc_ioctl Nathan Chancellor
  2018-05-07  1:13 95% ` [PATCH 6/6] staging: android: vsoc: Fix ending '(' warnings in vsoc_probe_device Nathan Chancellor
  4 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07  1:13 UTC (permalink / raw)
  To: devel
  Cc: Todd Kjos, Greg Kroah-Hartman, linux-kernel,
	Arve Hjønnevåg, Nathan Chancellor, Martijn Coenen

Fixes checkpatch.pl warnings about lines ending with parentheses.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/android/vsoc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/android/vsoc.c b/drivers/staging/android/vsoc.c
index b5307fa584d3..7e9cf3e4fa04 100644
--- a/drivers/staging/android/vsoc.c
+++ b/drivers/staging/android/vsoc.c
@@ -367,8 +367,8 @@ do_destroy_fd_scoped_permission(struct vsoc_device_region *owner_region_p,
 
 	if (!perm)
 		return;
-	owner_ptr = (atomic_t *)shm_off_to_virtual_addr(
-		owner_region_p->region_begin_offset + perm->owner_offset);
+	owner_ptr = (atomic_t *)shm_off_to_virtual_addr
+		(owner_region_p->region_begin_offset + perm->owner_offset);
 	prev = atomic_xchg(owner_ptr, VSOC_REGION_FREE);
 	if (prev != perm->owned_value)
 		dev_err(&vsoc_dev.dev->dev,
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 99%]

* [PATCH 5/6] staging: android: vsoc: Fix ending '(' warnings in vsoc_ioctl
  2018-05-07  1:13 96% [PATCH 1/6] staging: android: Kconfig; Remove excessive hyphens Nathan Chancellor
                   ` (2 preceding siblings ...)
  2018-05-07  1:13 99% ` [PATCH 4/6] staging: android: vsoc: Fix ending '(' warnings in do_destroy_fd_scoped_permission Nathan Chancellor
@ 2018-05-07  1:13 97% ` Nathan Chancellor
  2018-05-07  1:13 95% ` [PATCH 6/6] staging: android: vsoc: Fix ending '(' warnings in vsoc_probe_device Nathan Chancellor
  4 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07  1:13 UTC (permalink / raw)
  To: devel
  Cc: Todd Kjos, Greg Kroah-Hartman, linux-kernel,
	Arve Hjønnevåg, Nathan Chancellor, Martijn Coenen

Fixes checkpatch.pl warnings about lines ending with parentheses.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/android/vsoc.c | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/android/vsoc.c b/drivers/staging/android/vsoc.c
index 7e9cf3e4fa04..c460740f9561 100644
--- a/drivers/staging/android/vsoc.c
+++ b/drivers/staging/android/vsoc.c
@@ -552,10 +552,10 @@ static long vsoc_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
 			if (!node)
 				return -ENOMEM;
 			INIT_LIST_HEAD(&node->list);
-			rv = do_create_fd_scoped_permission(
-				region_p,
-				node,
-				(struct fd_scoped_permission_arg __user *)arg);
+			rv = do_create_fd_scoped_permission
+				(region_p,
+				 node,
+				 (struct fd_scoped_permission_arg __user *)arg);
 			if (!rv) {
 				mutex_lock(&vsoc_dev.mtx);
 				list_add(&node->list, &vsoc_dev.permissions);
@@ -582,9 +582,7 @@ static long vsoc_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
 		break;
 
 	case VSOC_MAYBE_SEND_INTERRUPT_TO_HOST:
-		if (!atomic_xchg(
-			    reg_data->outgoing_signalled,
-			    1)) {
+		if (!atomic_xchg(reg_data->outgoing_signalled, 1)) {
 			writel(reg_num, vsoc_dev.regs + DOORBELL);
 			return 0;
 		} else {
@@ -595,17 +593,16 @@ static long vsoc_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
 	case VSOC_SEND_INTERRUPT_TO_HOST:
 		writel(reg_num, vsoc_dev.regs + DOORBELL);
 		return 0;
-
 	case VSOC_WAIT_FOR_INCOMING_INTERRUPT:
-		wait_event_interruptible(
-			reg_data->interrupt_wait_queue,
-			(atomic_read(reg_data->incoming_signalled) != 0));
+		wait_event_interruptible
+			(reg_data->interrupt_wait_queue,
+			 (atomic_read(reg_data->incoming_signalled) != 0));
 		break;
 
 	case VSOC_DESCRIBE_REGION:
-		return do_vsoc_describe_region(
-			filp,
-			(struct vsoc_device_region __user *)arg);
+		return do_vsoc_describe_region
+			(filp,
+			 (struct vsoc_device_region __user *)arg);
 
 	case VSOC_SELF_INTERRUPT:
 		atomic_set(reg_data->incoming_signalled, 1);
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 97%]

* [PATCH 6/6] staging: android: vsoc: Fix ending '(' warnings in vsoc_probe_device
  2018-05-07  1:13 96% [PATCH 1/6] staging: android: Kconfig; Remove excessive hyphens Nathan Chancellor
                   ` (3 preceding siblings ...)
  2018-05-07  1:13 97% ` [PATCH 5/6] staging: android: vsoc: Fix ending '(' warnings in vsoc_ioctl Nathan Chancellor
@ 2018-05-07  1:13 95% ` Nathan Chancellor
  4 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07  1:13 UTC (permalink / raw)
  To: devel
  Cc: Todd Kjos, Greg Kroah-Hartman, linux-kernel,
	Arve Hjønnevåg, Nathan Chancellor, Martijn Coenen

Fixes checkpatch.pl warnings about lines ending with parentheses.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/android/vsoc.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/drivers/staging/android/vsoc.c b/drivers/staging/android/vsoc.c
index c460740f9561..806beda1040b 100644
--- a/drivers/staging/android/vsoc.c
+++ b/drivers/staging/android/vsoc.c
@@ -841,8 +841,8 @@ static int vsoc_probe_device(struct pci_dev *pdev,
 	vsoc_dev.regions = (struct vsoc_device_region __force *)
 		((void *)vsoc_dev.layout +
 		 vsoc_dev.layout->vsoc_region_desc_offset);
-	vsoc_dev.msix_entries = kcalloc(
-			vsoc_dev.layout->region_count,
+	vsoc_dev.msix_entries =
+		kcalloc(vsoc_dev.layout->region_count,
 			sizeof(vsoc_dev.msix_entries[0]), GFP_KERNEL);
 	if (!vsoc_dev.msix_entries) {
 		dev_err(&vsoc_dev.dev->dev,
@@ -850,8 +850,8 @@ static int vsoc_probe_device(struct pci_dev *pdev,
 		vsoc_remove_device(pdev);
 		return -ENOSPC;
 	}
-	vsoc_dev.regions_data = kcalloc(
-			vsoc_dev.layout->region_count,
+	vsoc_dev.regions_data =
+		kcalloc(vsoc_dev.layout->region_count,
 			sizeof(vsoc_dev.regions_data[0]), GFP_KERNEL);
 	if (!vsoc_dev.regions_data) {
 		dev_err(&vsoc_dev.dev->dev,
@@ -913,8 +913,8 @@ static int vsoc_probe_device(struct pci_dev *pdev,
 		       name_sz);
 		dev_info(&pdev->dev, "region %d name=%s\n",
 			 i, vsoc_dev.regions_data[i].name);
-		init_waitqueue_head(
-				&vsoc_dev.regions_data[i].interrupt_wait_queue);
+		init_waitqueue_head
+			(&vsoc_dev.regions_data[i].interrupt_wait_queue);
 		init_waitqueue_head(&vsoc_dev.regions_data[i].futex_wait_queue);
 		vsoc_dev.regions_data[i].incoming_signalled =
 			shm_off_to_virtual_addr(region->region_begin_offset) +
@@ -922,11 +922,10 @@ static int vsoc_probe_device(struct pci_dev *pdev,
 		vsoc_dev.regions_data[i].outgoing_signalled =
 			shm_off_to_virtual_addr(region->region_begin_offset) +
 			g_to_h_signal_table->interrupt_signalled_offset;
-		result = request_irq(
-				vsoc_dev.msix_entries[i].vector,
-				vsoc_interrupt, 0,
-				vsoc_dev.regions_data[i].name,
-				vsoc_dev.regions_data + i);
+		result = request_irq(vsoc_dev.msix_entries[i].vector,
+				     vsoc_interrupt, 0,
+				     vsoc_dev.regions_data[i].name,
+				     vsoc_dev.regions_data + i);
 		if (result) {
 			dev_info(&pdev->dev,
 				 "request_irq failed irq=%d vector=%d\n",
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 95%]

* [PATCH 1/2] staging: android: ion: Fix license identifier comment format
@ 2018-05-07  1:18 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07  1:18 UTC (permalink / raw)
  To: devel, dri-devel, linaro-mm-sig
  Cc: Todd Kjos, Greg Kroah-Hartman, linux-kernel,
	Arve Hjønnevåg, Nathan Chancellor, Martijn Coenen,
	Sumit Semwal

checkpatch.pl complains these are invalid because the rules in
Documentation/process/license-rules.rst state that C headers should
have "/* */" style comments.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/android/ion/ion.h  | 2 +-
 drivers/staging/android/uapi/ion.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/android/ion/ion.h b/drivers/staging/android/ion/ion.h
index ea0897812780..16cbd38a7160 100644
--- a/drivers/staging/android/ion/ion.h
+++ b/drivers/staging/android/ion/ion.h
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * drivers/staging/android/ion/ion.h
  *
diff --git a/drivers/staging/android/uapi/ion.h b/drivers/staging/android/uapi/ion.h
index 825d3e95ccd3..5d7009884c13 100644
--- a/drivers/staging/android/uapi/ion.h
+++ b/drivers/staging/android/uapi/ion.h
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * drivers/staging/android/uapi/ion.h
  *
-- 
2.17.0

^ permalink raw reply related	[relevance 99%]

* [PATCH 1/2] staging: android: ion: Fix license identifier comment format
@ 2018-05-07  1:18 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07  1:18 UTC (permalink / raw)
  To: devel, dri-devel, linaro-mm-sig
  Cc: Todd Kjos, Greg Kroah-Hartman, linux-kernel,
	Arve Hjønnevåg, Nathan Chancellor, Martijn Coenen,
	Sumit Semwal

checkpatch.pl complains these are invalid because the rules in
Documentation/process/license-rules.rst state that C headers should
have "/* */" style comments.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Acked-by: Laura Abbott <labbott@redhat.com>
---
 drivers/staging/android/ion/ion.h  | 2 +-
 drivers/staging/android/uapi/ion.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/android/ion/ion.h b/drivers/staging/android/ion/ion.h
index ea0897812780..16cbd38a7160 100644
--- a/drivers/staging/android/ion/ion.h
+++ b/drivers/staging/android/ion/ion.h
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * drivers/staging/android/ion/ion.h
  *
diff --git a/drivers/staging/android/uapi/ion.h b/drivers/staging/android/uapi/ion.h
index 825d3e95ccd3..5d7009884c13 100644
--- a/drivers/staging/android/uapi/ion.h
+++ b/drivers/staging/android/uapi/ion.h
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0
+/* SPDX-License-Identifier: GPL-2.0 */
 /*
  * drivers/staging/android/uapi/ion.h
  *
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 99%]

* [PATCH 2/2] staging: android: ion: Remove unnecessary blank line
  2018-05-07  1:18 99% ` Nathan Chancellor
@ 2018-05-07  1:18 99%   ` Nathan Chancellor
  -1 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07  1:18 UTC (permalink / raw)
  To: devel, dri-devel, linaro-mm-sig
  Cc: Todd Kjos, Greg Kroah-Hartman, linux-kernel,
	Arve Hjønnevåg, Nathan Chancellor, Martijn Coenen,
	Sumit Semwal

Fixes a checkpatch.pl warning.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Acked-by: Laura Abbott <labbott@redhat.com>
---
 drivers/staging/android/ion/ion.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
index 269a431646be..d10b60fe4a29 100644
--- a/drivers/staging/android/ion/ion.c
+++ b/drivers/staging/android/ion/ion.c
@@ -95,7 +95,6 @@ static struct ion_buffer *ion_buffer_create(struct ion_heap *heap,
 		goto err1;
 	}
 
-
 	INIT_LIST_HEAD(&buffer->attachments);
 	mutex_init(&buffer->lock);
 	mutex_lock(&dev->buffer_lock);
-- 
2.17.0

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply related	[relevance 99%]

* [PATCH 2/2] staging: android: ion: Remove unnecessary blank line
@ 2018-05-07  1:18 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07  1:18 UTC (permalink / raw)
  To: devel, dri-devel, linaro-mm-sig
  Cc: Todd Kjos, Greg Kroah-Hartman, linux-kernel,
	Arve Hjønnevåg, Nathan Chancellor, Martijn Coenen,
	Sumit Semwal

Fixes a checkpatch.pl warning.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/android/ion/ion.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
index 269a431646be..d10b60fe4a29 100644
--- a/drivers/staging/android/ion/ion.c
+++ b/drivers/staging/android/ion/ion.c
@@ -95,7 +95,6 @@ static struct ion_buffer *ion_buffer_create(struct ion_heap *heap,
 		goto err1;
 	}
 
-
 	INIT_LIST_HEAD(&buffer->attachments);
 	mutex_init(&buffer->lock);
 	mutex_lock(&dev->buffer_lock);
-- 
2.17.0

^ permalink raw reply related	[relevance 99%]

* Re: [PATCH 1/2] staging: android: ion: Fix license identifier comment format
  @ 2018-05-07 14:40 99%     ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07 14:40 UTC (permalink / raw)
  To: Laura Abbott
  Cc: devel, Todd Kjos, Greg Kroah-Hartman, linux-kernel, dri-devel,
	linaro-mm-sig, Arve Hjønnevåg, Joe Perches,
	Martijn Coenen, Sumit Semwal

On Mon, May 07, 2018 at 06:37:52AM -0700, Laura Abbott wrote:
> On 05/06/2018 06:18 PM, Nathan Chancellor wrote:
> > checkpatch.pl complains these are invalid because the rules in
> > Documentation/process/license-rules.rst state that C headers should
> > have "/* */" style comments.
> > 
> 
> The SPDX markings are special, but I don't see anything from a
> quick read of the SPDX specification that says they have to use //.
> I think this is going to generate a lot of possible noise so it
> might be worth adjusting checkpatch.
> 
> Thanks,
> Laura

Under section 2 of "License identifier syntax" in the license rules
file, it shows the preferred style for each type of file. Apparently
there was some build breakage with // in header files so I assume they
want /* */ for uniformity sake.

Thanks!
Nathan

> 
> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> > ---
> >   drivers/staging/android/ion/ion.h  | 2 +-
> >   drivers/staging/android/uapi/ion.h | 2 +-
> >   2 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/staging/android/ion/ion.h b/drivers/staging/android/ion/ion.h
> > index ea0897812780..16cbd38a7160 100644
> > --- a/drivers/staging/android/ion/ion.h
> > +++ b/drivers/staging/android/ion/ion.h
> > @@ -1,4 +1,4 @@
> > -// SPDX-License-Identifier: GPL-2.0
> > +/* SPDX-License-Identifier: GPL-2.0 */
> >   /*
> >    * drivers/staging/android/ion/ion.h
> >    *
> > diff --git a/drivers/staging/android/uapi/ion.h b/drivers/staging/android/uapi/ion.h
> > index 825d3e95ccd3..5d7009884c13 100644
> > --- a/drivers/staging/android/uapi/ion.h
> > +++ b/drivers/staging/android/uapi/ion.h
> > @@ -1,4 +1,4 @@
> > -// SPDX-License-Identifier: GPL-2.0
> > +/* SPDX-License-Identifier: GPL-2.0 */
> >   /*
> >    * drivers/staging/android/uapi/ion.h
> >    *
> > 
> 
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 1/2] staging: android: ion: Fix license identifier comment format
@ 2018-05-07 14:40 99%     ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07 14:40 UTC (permalink / raw)
  To: Laura Abbott
  Cc: devel, dri-devel, linaro-mm-sig, Greg Kroah-Hartman, Joe Perches,
	Arve Hjønnevåg, Martijn Coenen, Todd Kjos,
	Sumit Semwal, linux-kernel

On Mon, May 07, 2018 at 06:37:52AM -0700, Laura Abbott wrote:
> On 05/06/2018 06:18 PM, Nathan Chancellor wrote:
> > checkpatch.pl complains these are invalid because the rules in
> > Documentation/process/license-rules.rst state that C headers should
> > have "/* */" style comments.
> > 
> 
> The SPDX markings are special, but I don't see anything from a
> quick read of the SPDX specification that says they have to use //.
> I think this is going to generate a lot of possible noise so it
> might be worth adjusting checkpatch.
> 
> Thanks,
> Laura

Under section 2 of "License identifier syntax" in the license rules
file, it shows the preferred style for each type of file. Apparently
there was some build breakage with // in header files so I assume they
want /* */ for uniformity sake.

Thanks!
Nathan

> 
> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> > ---
> >   drivers/staging/android/ion/ion.h  | 2 +-
> >   drivers/staging/android/uapi/ion.h | 2 +-
> >   2 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/staging/android/ion/ion.h b/drivers/staging/android/ion/ion.h
> > index ea0897812780..16cbd38a7160 100644
> > --- a/drivers/staging/android/ion/ion.h
> > +++ b/drivers/staging/android/ion/ion.h
> > @@ -1,4 +1,4 @@
> > -// SPDX-License-Identifier: GPL-2.0
> > +/* SPDX-License-Identifier: GPL-2.0 */
> >   /*
> >    * drivers/staging/android/ion/ion.h
> >    *
> > diff --git a/drivers/staging/android/uapi/ion.h b/drivers/staging/android/uapi/ion.h
> > index 825d3e95ccd3..5d7009884c13 100644
> > --- a/drivers/staging/android/uapi/ion.h
> > +++ b/drivers/staging/android/uapi/ion.h
> > @@ -1,4 +1,4 @@
> > -// SPDX-License-Identifier: GPL-2.0
> > +/* SPDX-License-Identifier: GPL-2.0 */
> >   /*
> >    * drivers/staging/android/uapi/ion.h
> >    *
> > 
> 

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 2/7] staging: ks7010: Remove unused variables
  2018-05-06 22:02 95% ` [PATCH 2/7] staging: ks7010: Remove unused variables Nathan Chancellor
@ 2018-05-07 17:59 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-07 17:59 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, linux-kernel

On Sun, May 06, 2018 at 03:02:59PM -0700, Nathan Chancellor wrote:
> GCC warns these variables are all set but never used so remove them.
> 
> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> ---
>  drivers/staging/ks7010/ks_hostif.c | 12 +-----------
>  1 file changed, 1 insertion(+), 11 deletions(-)
> 
> diff --git a/drivers/staging/ks7010/ks_hostif.c b/drivers/staging/ks7010/ks_hostif.c
> index c0a9a67dc0b4..4c2f8f710c6e 100644
> --- a/drivers/staging/ks7010/ks_hostif.c
> +++ b/drivers/staging/ks7010/ks_hostif.c
> @@ -354,7 +354,6 @@ void hostif_data_indication(struct ks_wlan_private *priv)
>  	unsigned short auth_type;
>  	unsigned char temp[256];
>  	struct ether_hdr *eth_hdr;
> -	unsigned short eth_proto;
>  	struct ieee802_1x_hdr *aa1x_hdr;
>  	size_t size;
>  	int ret;
> @@ -369,7 +368,6 @@ void hostif_data_indication(struct ks_wlan_private *priv)
>  	get_word(priv);	/* Reserve Area */
>  
>  	eth_hdr = (struct ether_hdr *)(priv->rxp);
> -	eth_proto = ntohs(eth_hdr->h_proto);
>  
>  	/* source address check */
>  	if (ether_addr_equal(&priv->eth_addr[0], eth_hdr->h_source)) {
> @@ -464,13 +462,9 @@ void hostif_mib_get_confirm(struct ks_wlan_private *priv)
>  	struct net_device *dev = priv->net_dev;
>  	u32 mib_status;
>  	u32 mib_attribute;
> -	u16 mib_val_size;
> -	u16 mib_val_type;
>  
>  	mib_status = get_dword(priv);	/* MIB status */
>  	mib_attribute = get_dword(priv);	/* MIB atttibute */
> -	mib_val_size = get_word(priv);	/* MIB value size */
> -	mib_val_type = get_word(priv);	/* MIB value type */
>  
>  	if (mib_status) {
>  		netdev_err(priv->net_dev, "attribute=%08X, status=%08X\n",
> @@ -792,9 +786,6 @@ void hostif_ps_adhoc_set_confirm(struct ks_wlan_private *priv)
>  static
>  void hostif_infrastructure_set_confirm(struct ks_wlan_private *priv)
>  {
> -	u16 result_code;
> -
> -	result_code = get_word(priv);
>  	priv->infra_status = 1;	/* infrastructure mode set */
>  	hostif_sme_enqueue(priv, SME_MODE_SET_CONFIRM);
>  }
> @@ -872,14 +863,13 @@ static
>  void hostif_phy_information_confirm(struct ks_wlan_private *priv)
>  {
>  	struct iw_statistics *wstats = &priv->wstats;
> -	unsigned char rssi, signal, noise;
> +	unsigned char rssi, signal;
>  	unsigned char link_speed;
>  	unsigned int transmitted_frame_count, received_fragment_count;
>  	unsigned int failed_count, fcs_error_count;
>  
>  	rssi = get_byte(priv);
>  	signal = get_byte(priv);
> -	noise = get_byte(priv);
>  	link_speed = get_byte(priv);
>  	transmitted_frame_count = get_dword(priv);
>  	received_fragment_count = get_dword(priv);
> -- 
> 2.17.0
> 

On second glance, I did not realize most of these functions involve
pointer semantics. Please do not apply this. I can send a v2 series if
necessary although every other patch is fine.

Thanks,
Nathan
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 7/7] staging: ks7010: Move from bool to int in structs
  @ 2018-05-08 11:42 99%     ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-08 11:42 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: devel, linux-kernel

On Tue, May 08, 2018 at 01:34:31PM +0200, Greg Kroah-Hartman wrote:
> On Sun, May 06, 2018 at 03:03:04PM -0700, Nathan Chancellor wrote:
> > Fixes checkpatch.pl warnings.
> > 
> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> > ---
> >  drivers/staging/ks7010/ks_hostif.c   | 4 ++--
> >  drivers/staging/ks7010/ks_wlan.h     | 4 ++--
> >  drivers/staging/ks7010/ks_wlan_net.c | 8 ++++----
> >  3 files changed, 8 insertions(+), 8 deletions(-)
> > 
> > diff --git a/drivers/staging/ks7010/ks_hostif.c b/drivers/staging/ks7010/ks_hostif.c
> > index 628171091786..43090922daff 100644
> > --- a/drivers/staging/ks7010/ks_hostif.c
> > +++ b/drivers/staging/ks7010/ks_hostif.c
> > @@ -475,7 +475,7 @@ void hostif_mib_get_confirm(struct ks_wlan_private *priv)
> >  	case DOT11_MAC_ADDRESS:
> >  		hostif_sme_enqueue(priv, SME_GET_MAC_ADDRESS);
> >  		ether_addr_copy(priv->eth_addr, priv->rxp);
> > -		priv->mac_address_valid = true;
> > +		priv->mac_address_valid = 1;
> 
> Wait, why?  This should be bool, not an int.  Why would checkpatch say
> this is incorrect?
> 
> confused,
> 
> greg k-h

CHECK: Avoid using bool structure members because of possible alignment issues - see: https://lkml.org/lkml/2017/11/21/384
#417: FILE: drivers/staging/ks7010/ks_wlan.h:417:
+       bool is_device_open;

Introduced by commit a4c4c0492dad ("checkpatch: add a --strict test for
structs with bool member definitions"). If this is wrong, please feel
free to ignore it!

Thanks,
Nathan
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 1/7] staging: ks7010: Replace license boilerplate with SPDX identifiers
  @ 2018-05-08 11:49 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-08 11:49 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: devel, linux-kernel

On Tue, May 08, 2018 at 01:43:13PM +0200, Greg Kroah-Hartman wrote:
> On Sun, May 06, 2018 at 03:02:58PM -0700, Nathan Chancellor wrote:
> > This satisfies a checkpatch.pl warning and is the preferred method for
> > notating the license due to its lack of ambiguity.
> > 
> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> > ---
> >  drivers/staging/ks7010/ks7010_sdio.c   | 5 +----
> >  drivers/staging/ks7010/ks7010_sdio.h   | 5 +----
> >  drivers/staging/ks7010/ks_hostif.c     | 5 +----
> >  drivers/staging/ks7010/ks_hostif.h     | 5 +----
> >  drivers/staging/ks7010/ks_wlan.h       | 5 +----
> >  drivers/staging/ks7010/ks_wlan_ioctl.h | 5 +----
> >  drivers/staging/ks7010/ks_wlan_net.c   | 5 +----
> >  drivers/staging/ks7010/michael_mic.c   | 5 +----
> >  drivers/staging/ks7010/michael_mic.h   | 5 +----
> >  9 files changed, 9 insertions(+), 36 deletions(-)
> 
> This patch does not apply to my staging.git tree :(

Looks like someone beat me to most if not all of my patches (they
weren't pushed out when I did these on Sunday). I will take a look
later today to see if any of them are still relevant.

Thanks!
Nathan
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply	[relevance 99%]

* [PATCH] staging: rtl8723bs: Replace license boilerplate with SPDX identifiers
@ 2018-05-08 11:59  7% Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-08 11:59 UTC (permalink / raw)
  To: devel; +Cc: Greg Kroah-Hartman, linux-kernel, Nathan Chancellor

This satisfies a checkpatch.pl warning and is the preferred method for
notating the license due to its lack of ambiguity.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_ap.c                | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_btcoex.c            | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_cmd.c               | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_debug.c             | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_eeprom.c            | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_efuse.c             | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_ieee80211.c         | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_io.c                | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_ioctl_set.c         | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_mlme.c              | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_mlme_ext.c          | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_odm.c               | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_pwrctrl.c           | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_recv.c              | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_rf.c                | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_security.c          | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_sta_mgt.c           | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_wlan_util.c         | 10 +---------
 drivers/staging/rtl8723bs/core/rtw_xmit.c              | 10 +---------
 drivers/staging/rtl8723bs/hal/Hal8723BPwrSeq.c         | 10 +---------
 drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c        | 10 +---------
 drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h        | 10 +---------
 drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c        | 10 +---------
 drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h        | 10 +---------
 drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h           | 10 +---------
 drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.c       | 10 +---------
 drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.h       | 10 +---------
 drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.c      | 10 +---------
 drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.h      | 10 +---------
 drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c       | 10 +---------
 drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.h       | 10 +---------
 drivers/staging/rtl8723bs/hal/HalPhyRf.c               | 10 +---------
 drivers/staging/rtl8723bs/hal/HalPhyRf.h               | 10 +---------
 drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c         | 10 +---------
 drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h         | 10 +---------
 drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c           | 10 +---------
 drivers/staging/rtl8723bs/hal/Mp_Precomp.h             | 10 +---------
 drivers/staging/rtl8723bs/hal/hal_btcoex.c             | 10 +---------
 drivers/staging/rtl8723bs/hal/hal_com.c                | 10 +---------
 drivers/staging/rtl8723bs/hal/hal_com_phycfg.c         | 10 +---------
 drivers/staging/rtl8723bs/hal/hal_intf.c               | 10 +---------
 drivers/staging/rtl8723bs/hal/hal_phy.c                | 10 +---------
 drivers/staging/rtl8723bs/hal/hal_sdio.c               | 10 +---------
 drivers/staging/rtl8723bs/hal/odm.c                    | 10 +---------
 drivers/staging/rtl8723bs/hal/odm.h                    | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_AntDiv.c             | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_AntDiv.h             | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_CfoTracking.c        | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_CfoTracking.h        | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_DIG.c                | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_DIG.h                | 10 +---------
 .../staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.c   | 10 +---------
 .../staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.h   | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.c     | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h     | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c     | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.h     | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_HWConfig.c           | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_HWConfig.h           | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_NoiseMonitor.c       | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_NoiseMonitor.h       | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_PathDiv.c            | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_PathDiv.h            | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_RTL8723B.c           | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_RTL8723B.h           | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.c     | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.h     | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_RegDefine11N.h       | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_debug.c              | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_debug.h              | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_interface.h          | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_precomp.h            | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_reg.h                | 10 +---------
 drivers/staging/rtl8723bs/hal/odm_types.h              | 10 +---------
 drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c           | 10 +---------
 drivers/staging/rtl8723bs/hal/rtl8723b_dm.c            | 10 +---------
 drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c      | 10 +---------
 drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c        | 10 +---------
 drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c        | 10 +---------
 drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c        | 10 +---------
 drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c         | 10 +---------
 drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c         | 10 +---------
 drivers/staging/rtl8723bs/hal/sdio_halinit.c           | 10 +---------
 drivers/staging/rtl8723bs/hal/sdio_ops.c               | 10 +---------
 drivers/staging/rtl8723bs/include/Hal8192CPhyReg.h     | 10 +---------
 drivers/staging/rtl8723bs/include/Hal8723BPhyCfg.h     | 10 +---------
 drivers/staging/rtl8723bs/include/Hal8723BPhyReg.h     | 10 +---------
 drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h       | 10 +---------
 drivers/staging/rtl8723bs/include/HalVerDef.h          | 10 +---------
 drivers/staging/rtl8723bs/include/autoconf.h           | 10 +---------
 drivers/staging/rtl8723bs/include/basic_types.h        | 10 +---------
 drivers/staging/rtl8723bs/include/cmd_osdep.h          | 10 +---------
 drivers/staging/rtl8723bs/include/drv_conf.h           | 10 +---------
 drivers/staging/rtl8723bs/include/drv_types.h          | 10 +---------
 drivers/staging/rtl8723bs/include/drv_types_sdio.h     | 10 +---------
 drivers/staging/rtl8723bs/include/ethernet.h           | 10 +---------
 drivers/staging/rtl8723bs/include/hal_btcoex.h         | 10 +---------
 drivers/staging/rtl8723bs/include/hal_com.h            | 10 +---------
 drivers/staging/rtl8723bs/include/hal_com_h2c.h        | 10 +---------
 drivers/staging/rtl8723bs/include/hal_com_phycfg.h     | 10 +---------
 drivers/staging/rtl8723bs/include/hal_com_reg.h        | 10 +---------
 drivers/staging/rtl8723bs/include/hal_data.h           | 10 +---------
 drivers/staging/rtl8723bs/include/hal_intf.h           | 10 +---------
 drivers/staging/rtl8723bs/include/hal_pg.h             | 10 +---------
 drivers/staging/rtl8723bs/include/hal_phy.h            | 10 +---------
 drivers/staging/rtl8723bs/include/hal_phy_reg.h        | 10 +---------
 drivers/staging/rtl8723bs/include/hal_sdio.h           | 10 +---------
 drivers/staging/rtl8723bs/include/ieee80211.h          | 10 +---------
 drivers/staging/rtl8723bs/include/ioctl_cfg80211.h     | 10 +---------
 drivers/staging/rtl8723bs/include/mlme_osdep.h         | 10 +---------
 drivers/staging/rtl8723bs/include/osdep_intf.h         | 10 +---------
 drivers/staging/rtl8723bs/include/osdep_service.h      | 10 +---------
 .../staging/rtl8723bs/include/osdep_service_linux.h    | 10 +---------
 drivers/staging/rtl8723bs/include/recv_osdep.h         | 10 +---------
 drivers/staging/rtl8723bs/include/rtl8192c_recv.h      | 10 +---------
 drivers/staging/rtl8723bs/include/rtl8192c_rf.h        | 10 +---------
 drivers/staging/rtl8723bs/include/rtl8723b_cmd.h       | 10 +---------
 drivers/staging/rtl8723bs/include/rtl8723b_dm.h        | 10 +---------
 drivers/staging/rtl8723bs/include/rtl8723b_hal.h       | 10 +---------
 drivers/staging/rtl8723bs/include/rtl8723b_recv.h      | 10 +---------
 drivers/staging/rtl8723bs/include/rtl8723b_rf.h        | 10 +---------
 drivers/staging/rtl8723bs/include/rtl8723b_spec.h      | 10 +---------
 drivers/staging/rtl8723bs/include/rtl8723b_xmit.h      | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_ap.h             | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_beamforming.h    | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_br_ext.h         | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_btcoex.h         | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_byteorder.h      | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_cmd.h            | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_debug.h          | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_eeprom.h         | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_efuse.h          | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_event.h          | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_ht.h             | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_io.h             | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_ioctl.h          | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_ioctl_set.h      | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_mlme.h           | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_mlme_ext.h       | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_mp.h             | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_odm.h            | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_pwrctrl.h        | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_qos.h            | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_recv.h           | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_rf.h             | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_security.h       | 10 +---------
 drivers/staging/rtl8723bs/include/rtw_version.h        |  1 +
 drivers/staging/rtl8723bs/include/rtw_xmit.h           | 10 +---------
 drivers/staging/rtl8723bs/include/sdio_hal.h           | 10 +---------
 drivers/staging/rtl8723bs/include/sdio_ops.h           | 10 +---------
 drivers/staging/rtl8723bs/include/sdio_ops_linux.h     | 10 +---------
 drivers/staging/rtl8723bs/include/sdio_osintf.h        | 10 +---------
 drivers/staging/rtl8723bs/include/sta_info.h           | 10 +---------
 drivers/staging/rtl8723bs/include/wifi.h               | 10 +---------
 drivers/staging/rtl8723bs/include/wlan_bssdef.h        | 10 +---------
 drivers/staging/rtl8723bs/include/xmit_osdep.h         | 10 +---------
 drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c      | 10 +---------
 drivers/staging/rtl8723bs/os_dep/ioctl_linux.c         | 10 +---------
 drivers/staging/rtl8723bs/os_dep/mlme_linux.c          | 10 +---------
 drivers/staging/rtl8723bs/os_dep/os_intfs.c            | 10 +---------
 drivers/staging/rtl8723bs/os_dep/osdep_service.c       | 10 +---------
 drivers/staging/rtl8723bs/os_dep/recv_linux.c          | 10 +---------
 drivers/staging/rtl8723bs/os_dep/rtw_proc.c            | 10 +---------
 drivers/staging/rtl8723bs/os_dep/rtw_proc.h            | 10 +---------
 drivers/staging/rtl8723bs/os_dep/sdio_intf.c           | 10 +---------
 drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c      | 10 +---------
 drivers/staging/rtl8723bs/os_dep/xmit_linux.c          | 10 +---------
 167 files changed, 167 insertions(+), 1494 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c
index 0b530ea7fd81..45c05527a57a 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ap.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ap.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_AP_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_btcoex.c b/drivers/staging/rtl8723bs/core/rtw_btcoex.c
index 79aa02afad01..adac915a2153 100644
--- a/drivers/staging/rtl8723bs/core/rtw_btcoex.c
+++ b/drivers/staging/rtl8723bs/core/rtw_btcoex.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2013 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #include <drv_types.h>
 #include <rtw_debug.h>
diff --git a/drivers/staging/rtl8723bs/core/rtw_cmd.c b/drivers/staging/rtl8723bs/core/rtw_cmd.c
index 9e132f943687..830be63391b7 100644
--- a/drivers/staging/rtl8723bs/core/rtw_cmd.c
+++ b/drivers/staging/rtl8723bs/core/rtw_cmd.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_CMD_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_debug.c b/drivers/staging/rtl8723bs/core/rtw_debug.c
index b5dd244fee8f..f852fde47350 100644
--- a/drivers/staging/rtl8723bs/core/rtw_debug.c
+++ b/drivers/staging/rtl8723bs/core/rtw_debug.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_DEBUG_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_eeprom.c b/drivers/staging/rtl8723bs/core/rtw_eeprom.c
index 35031a7a5dc5..5eea02cfce1f 100644
--- a/drivers/staging/rtl8723bs/core/rtw_eeprom.c
+++ b/drivers/staging/rtl8723bs/core/rtw_eeprom.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_EEPROM_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_efuse.c b/drivers/staging/rtl8723bs/core/rtw_efuse.c
index 44b92ef5db92..bbf6f3fa21ea 100644
--- a/drivers/staging/rtl8723bs/core/rtw_efuse.c
+++ b/drivers/staging/rtl8723bs/core/rtw_efuse.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_EFUSE_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c
index 74750dbce379..0822e440204e 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _IEEE80211_C
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_io.c b/drivers/staging/rtl8723bs/core/rtw_io.c
index 6bd5a4741e79..d341069097e2 100644
--- a/drivers/staging/rtl8723bs/core/rtw_io.c
+++ b/drivers/staging/rtl8723bs/core/rtw_io.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 /*
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
index e5354cec8dd5..35ca825a7e5a 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_IOCTL_SET_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c
index c13e514a655a..cc4f115e082c 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_MLME_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
index 589fab24bb25..a81e13011c49 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_MLME_EXT_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_odm.c b/drivers/staging/rtl8723bs/core/rtw_odm.c
index edbcaeb9f8c2..93e8f17d2574 100644
--- a/drivers/staging/rtl8723bs/core/rtw_odm.c
+++ b/drivers/staging/rtl8723bs/core/rtw_odm.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2013 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include <drv_types.h>
diff --git a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
index 85f7769ecc2d..110bbe340b78 100644
--- a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
+++ b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_PWRCTRL_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index 86f995b8a88b..02f821d42658 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_RECV_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_rf.c b/drivers/staging/rtl8723bs/core/rtw_rf.c
index 07f5577cc073..a5095a4ef690 100644
--- a/drivers/staging/rtl8723bs/core/rtw_rf.c
+++ b/drivers/staging/rtl8723bs/core/rtw_rf.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_RF_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
index aadf67bd0559..612277a555d2 100644
--- a/drivers/staging/rtl8723bs/core/rtw_security.c
+++ b/drivers/staging/rtl8723bs/core/rtw_security.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define  _RTW_SECURITY_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c b/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
index 03dd6848daa1..82716fd5c6f0 100644
--- a/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
+++ b/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_STA_MGT_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
index f6dc26c8bd3d..2b3eb6f8ddc5 100644
--- a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
+++ b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_WLAN_UTIL_C_
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index be54186fb223..aaabffb0a199 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTW_XMIT_C_
 
diff --git a/drivers/staging/rtl8723bs/hal/Hal8723BPwrSeq.c b/drivers/staging/rtl8723bs/hal/Hal8723BPwrSeq.c
index 0376806335d3..57f7f09b3ab9 100644
--- a/drivers/staging/rtl8723bs/hal/Hal8723BPwrSeq.c
+++ b/drivers/staging/rtl8723bs/hal/Hal8723BPwrSeq.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 /*
diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c
index 37f42bfc55ed..eb6e07ef5dad 100644
--- a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c
+++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "Mp_Precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h
index 880bd63d36a5..cdffa391bd9d 100644
--- a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h
+++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 /*  The following is for 8723B 1ANT BT Co-exist definition */
 #define	BT_INFO_8723B_1ANT_B_FTP		BIT7
diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c
index 828bc0d045a0..cb62fc0a0f9c 100644
--- a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c
+++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "Mp_Precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h
index 5a0fed69eda7..df973fcda48c 100644
--- a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h
+++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 /*  The following is for 8723B 2Ant BT Co-exist definition */
 #define	BT_INFO_8723B_2ANT_B_FTP		BIT7
diff --git a/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h b/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h
index 38414dd8adbd..aad86570b59c 100644
--- a/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h
+++ b/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef	__HALBTC_OUT_SRC_H__
 #define __HALBTC_OUT_SRC_H__
diff --git a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.c b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.c
index 951585467ab1..bae59e515348 100644
--- a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.c
+++ b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
 *
 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
 *
-* This program is free software; you can redistribute it and/or modify it
-* under the terms of version 2 of the GNU General Public License as
-* published by the Free Software Foundation.
-*
-* This program is distributed in the hope that it will be useful, but WITHOUT
-* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-* more details.
-*
 ******************************************************************************/
 
 #include <linux/kernel.h>
diff --git a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.h b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.h
index 41fe0ba16914..c1fbe91cd4f3 100644
--- a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.h
+++ b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
 *
 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
 *
-* This program is free software; you can redistribute it and/or modify it
-* under the terms of version 2 of the GNU General Public License as
-* published by the Free Software Foundation.
-*
-* This program is distributed in the hope that it will be useful, but WITHOUT
-* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-* more details.
-*
 ******************************************************************************/
 
 #ifndef __INC_MP_BB_HW_IMG_8723B_H
diff --git a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.c b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.c
index 7f8afa1be1ca..3c8e26aba406 100644
--- a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.c
+++ b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
 *
 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
 *
-* This program is free software; you can redistribute it and/or modify it
-* under the terms of version 2 of the GNU General Public License as
-* published by the Free Software Foundation.
-*
-* This program is distributed in the hope that it will be useful, but WITHOUT
-* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-* more details.
-*
 ******************************************************************************/
 
 #include <linux/kernel.h>
diff --git a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.h b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.h
index ae5dd3ccf939..788fdca1337b 100644
--- a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.h
+++ b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
 *
 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
 *
-* This program is free software; you can redistribute it and/or modify it
-* under the terms of version 2 of the GNU General Public License as
-* published by the Free Software Foundation.
-*
-* This program is distributed in the hope that it will be useful, but WITHOUT
-* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-* more details.
-*
 ******************************************************************************/
 
 #ifndef __INC_MP_MAC_HW_IMG_8723B_H
diff --git a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c
index fadfcbd91858..ba42b4d2a9c4 100644
--- a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c
+++ b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
 *
 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
 *
-* This program is free software; you can redistribute it and/or modify it
-* under the terms of version 2 of the GNU General Public License as
-* published by the Free Software Foundation.
-*
-* This program is distributed in the hope that it will be useful, but WITHOUT
-* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-* more details.
-*
 ******************************************************************************/
 
 #include <linux/kernel.h>
diff --git a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.h b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.h
index 98aa2ba97fa9..36a47437f974 100644
--- a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.h
+++ b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
 *
 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
 *
-* This program is free software; you can redistribute it and/or modify it
-* under the terms of version 2 of the GNU General Public License as
-* published by the Free Software Foundation.
-*
-* This program is distributed in the hope that it will be useful, but WITHOUT
-* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-* more details.
-*
 ******************************************************************************/
 
 #ifndef __INC_MP_RF_HW_IMG_8723B_H
diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf.c b/drivers/staging/rtl8723bs/hal/HalPhyRf.c
index 9adcc3098463..beb4002a40e1 100644
--- a/drivers/staging/rtl8723bs/hal/HalPhyRf.c
+++ b/drivers/staging/rtl8723bs/hal/HalPhyRf.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 /* include "Mp_Precomp.h" */
diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf.h b/drivers/staging/rtl8723bs/hal/HalPhyRf.h
index bd7462d4ed91..3d6f68bc61d7 100644
--- a/drivers/staging/rtl8723bs/hal/HalPhyRf.h
+++ b/drivers/staging/rtl8723bs/hal/HalPhyRf.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
  #ifndef __HAL_PHY_RF_H__
diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
index a99a863be656..2ee25b2471de 100644
--- a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
+++ b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include <drv_types.h>
diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h
index ae4eca144606..a4d5150007be 100644
--- a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h
+++ b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef __HAL_PHY_RF_8723B_H__
diff --git a/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c b/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c
index 334d680b9b1c..c24156873fed 100644
--- a/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c
+++ b/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 /*++
 Copyright (c) Realtek Semiconductor Corp. All rights reserved.
diff --git a/drivers/staging/rtl8723bs/hal/Mp_Precomp.h b/drivers/staging/rtl8723bs/hal/Mp_Precomp.h
index 248b9fb3886a..3ed1142a9896 100644
--- a/drivers/staging/rtl8723bs/hal/Mp_Precomp.h
+++ b/drivers/staging/rtl8723bs/hal/Mp_Precomp.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2013 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __MP_PRECOMP_H__
 #define __MP_PRECOMP_H__
diff --git a/drivers/staging/rtl8723bs/hal/hal_btcoex.c b/drivers/staging/rtl8723bs/hal/hal_btcoex.c
index 7d4df5a8832e..14284b1867f3 100644
--- a/drivers/staging/rtl8723bs/hal/hal_btcoex.c
+++ b/drivers/staging/rtl8723bs/hal/hal_btcoex.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2013 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define __HAL_BTCOEX_C__
 
diff --git a/drivers/staging/rtl8723bs/hal/hal_com.c b/drivers/staging/rtl8723bs/hal/hal_com.c
index 1cef1d77977c..7f8ec55b08f1 100644
--- a/drivers/staging/rtl8723bs/hal/hal_com.c
+++ b/drivers/staging/rtl8723bs/hal/hal_com.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _HAL_COM_C_
 
diff --git a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
index 93d6cc478706..3922d0308a81 100644
--- a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
+++ b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _HAL_COM_PHYCFG_C_
 
diff --git a/drivers/staging/rtl8723bs/hal/hal_intf.c b/drivers/staging/rtl8723bs/hal/hal_intf.c
index 3463f40d6a31..4a4d17b44ba6 100644
--- a/drivers/staging/rtl8723bs/hal/hal_intf.c
+++ b/drivers/staging/rtl8723bs/hal/hal_intf.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #define _HAL_INTF_C_
diff --git a/drivers/staging/rtl8723bs/hal/hal_phy.c b/drivers/staging/rtl8723bs/hal/hal_phy.c
index c0a899df7aaf..ebaefcaf5f2a 100644
--- a/drivers/staging/rtl8723bs/hal/hal_phy.c
+++ b/drivers/staging/rtl8723bs/hal/hal_phy.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _HAL_PHY_C_
 
diff --git a/drivers/staging/rtl8723bs/hal/hal_sdio.c b/drivers/staging/rtl8723bs/hal/hal_sdio.c
index e147c69e7222..2d61b09ebce6 100644
--- a/drivers/staging/rtl8723bs/hal/hal_sdio.c
+++ b/drivers/staging/rtl8723bs/hal/hal_sdio.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _HAL_SDIO_C_
 
diff --git a/drivers/staging/rtl8723bs/hal/odm.c b/drivers/staging/rtl8723bs/hal/odm.c
index ff43bb26950b..7de5161e2ac4 100644
--- a/drivers/staging/rtl8723bs/hal/odm.c
+++ b/drivers/staging/rtl8723bs/hal/odm.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "odm_precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/odm.h b/drivers/staging/rtl8723bs/hal/odm.h
index 1037b88e8f08..a4153a660d32 100644
--- a/drivers/staging/rtl8723bs/hal/odm.h
+++ b/drivers/staging/rtl8723bs/hal/odm.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 
diff --git a/drivers/staging/rtl8723bs/hal/odm_AntDiv.c b/drivers/staging/rtl8723bs/hal/odm_AntDiv.c
index e0b20562ccd6..d5415eecdd7f 100644
--- a/drivers/staging/rtl8723bs/hal/odm_AntDiv.c
+++ b/drivers/staging/rtl8723bs/hal/odm_AntDiv.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 //============================================================
diff --git a/drivers/staging/rtl8723bs/hal/odm_AntDiv.h b/drivers/staging/rtl8723bs/hal/odm_AntDiv.h
index 92cdad55b7a4..c9496d561c91 100644
--- a/drivers/staging/rtl8723bs/hal/odm_AntDiv.h
+++ b/drivers/staging/rtl8723bs/hal/odm_AntDiv.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef	__ODMANTDIV_H__
diff --git a/drivers/staging/rtl8723bs/hal/odm_CfoTracking.c b/drivers/staging/rtl8723bs/hal/odm_CfoTracking.c
index 178aaab3f76c..a73304639226 100644
--- a/drivers/staging/rtl8723bs/hal/odm_CfoTracking.c
+++ b/drivers/staging/rtl8723bs/hal/odm_CfoTracking.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "odm_precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/odm_CfoTracking.h b/drivers/staging/rtl8723bs/hal/odm_CfoTracking.h
index 0c92899d9967..81db63efe286 100644
--- a/drivers/staging/rtl8723bs/hal/odm_CfoTracking.h
+++ b/drivers/staging/rtl8723bs/hal/odm_CfoTracking.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef	__ODMCFOTRACK_H__
diff --git a/drivers/staging/rtl8723bs/hal/odm_DIG.c b/drivers/staging/rtl8723bs/hal/odm_DIG.c
index f02eb63a45ce..a12fdce77eae 100644
--- a/drivers/staging/rtl8723bs/hal/odm_DIG.c
+++ b/drivers/staging/rtl8723bs/hal/odm_DIG.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "odm_precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/odm_DIG.h b/drivers/staging/rtl8723bs/hal/odm_DIG.h
index e27a69126086..f6777e97a24a 100644
--- a/drivers/staging/rtl8723bs/hal/odm_DIG.h
+++ b/drivers/staging/rtl8723bs/hal/odm_DIG.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef __ODMDIG_H__
diff --git a/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.c b/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.c
index 6af017562539..e18c9d65eee2 100644
--- a/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.c
+++ b/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "odm_precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.h b/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.h
index b435cae4ab63..dba19271d526 100644
--- a/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.h
+++ b/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef	__ODMDYNAMICBBPOWERSAVING_H__
diff --git a/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.c b/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.c
index d24e5f712c20..17f90f4cc1ad 100644
--- a/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.c
+++ b/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "odm_precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h b/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h
index 35cdbab6d965..e2d244324ebe 100644
--- a/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h
+++ b/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef	__ODMDYNAMICTXPOWER_H__
diff --git a/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c b/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c
index 8d53cb73cea5..acc64fa8f166 100644
--- a/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c
+++ b/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "odm_precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.h b/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.h
index b0590abe87f0..bc574d2ad065 100644
--- a/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.h
+++ b/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef __ODMEDCATURBOCHECK_H__
diff --git a/drivers/staging/rtl8723bs/hal/odm_HWConfig.c b/drivers/staging/rtl8723bs/hal/odm_HWConfig.c
index 9e161f080c57..ee2c293e4f59 100644
--- a/drivers/staging/rtl8723bs/hal/odm_HWConfig.c
+++ b/drivers/staging/rtl8723bs/hal/odm_HWConfig.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "odm_precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/odm_HWConfig.h b/drivers/staging/rtl8723bs/hal/odm_HWConfig.h
index fdb4f8579ff9..d3af1caaa73c 100644
--- a/drivers/staging/rtl8723bs/hal/odm_HWConfig.h
+++ b/drivers/staging/rtl8723bs/hal/odm_HWConfig.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 
diff --git a/drivers/staging/rtl8723bs/hal/odm_NoiseMonitor.c b/drivers/staging/rtl8723bs/hal/odm_NoiseMonitor.c
index af7b44e29092..6ca799816c08 100644
--- a/drivers/staging/rtl8723bs/hal/odm_NoiseMonitor.c
+++ b/drivers/staging/rtl8723bs/hal/odm_NoiseMonitor.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "odm_precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/odm_NoiseMonitor.h b/drivers/staging/rtl8723bs/hal/odm_NoiseMonitor.h
index 3f650912f4ab..a7f13a85559c 100644
--- a/drivers/staging/rtl8723bs/hal/odm_NoiseMonitor.h
+++ b/drivers/staging/rtl8723bs/hal/odm_NoiseMonitor.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  *****************************************************************************/
 #ifndef	__ODMNOISEMONITOR_H__
 #define __ODMNOISEMONITOR_H__
diff --git a/drivers/staging/rtl8723bs/hal/odm_PathDiv.c b/drivers/staging/rtl8723bs/hal/odm_PathDiv.c
index 2735ebfb6be3..4d22360934f6 100644
--- a/drivers/staging/rtl8723bs/hal/odm_PathDiv.c
+++ b/drivers/staging/rtl8723bs/hal/odm_PathDiv.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "odm_precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/odm_PathDiv.h b/drivers/staging/rtl8723bs/hal/odm_PathDiv.h
index becde2e2a9ee..7a5bc00c3682 100644
--- a/drivers/staging/rtl8723bs/hal/odm_PathDiv.h
+++ b/drivers/staging/rtl8723bs/hal/odm_PathDiv.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef	__ODMPATHDIV_H__
diff --git a/drivers/staging/rtl8723bs/hal/odm_RTL8723B.c b/drivers/staging/rtl8723bs/hal/odm_RTL8723B.c
index 0e4ce2741737..ecf0045fcad9 100644
--- a/drivers/staging/rtl8723bs/hal/odm_RTL8723B.c
+++ b/drivers/staging/rtl8723bs/hal/odm_RTL8723B.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "odm_precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/odm_RTL8723B.h b/drivers/staging/rtl8723bs/hal/odm_RTL8723B.h
index 0700351a2b74..96ef1cc41a96 100644
--- a/drivers/staging/rtl8723bs/hal/odm_RTL8723B.h
+++ b/drivers/staging/rtl8723bs/hal/odm_RTL8723B.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef	__ODM_RTL8723B_H__
 #define __ODM_RTL8723B_H__
diff --git a/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.c b/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.c
index cdc9f38438d1..39f989bf3410 100644
--- a/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.c
+++ b/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "odm_precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.h b/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.h
index a6b3d21e6463..12dfc58a6da0 100644
--- a/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.h
+++ b/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __INC_ODM_REGCONFIG_H_8723B
 #define __INC_ODM_REGCONFIG_H_8723B
diff --git a/drivers/staging/rtl8723bs/hal/odm_RegDefine11N.h b/drivers/staging/rtl8723bs/hal/odm_RegDefine11N.h
index dc20e6165911..f2c0707aad4c 100644
--- a/drivers/staging/rtl8723bs/hal/odm_RegDefine11N.h
+++ b/drivers/staging/rtl8723bs/hal/odm_RegDefine11N.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef	__ODM_REGDEFINE11N_H__
diff --git a/drivers/staging/rtl8723bs/hal/odm_debug.c b/drivers/staging/rtl8723bs/hal/odm_debug.c
index 28cf0a66ff93..b92422c8fb8e 100644
--- a/drivers/staging/rtl8723bs/hal/odm_debug.c
+++ b/drivers/staging/rtl8723bs/hal/odm_debug.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include "odm_precomp.h"
diff --git a/drivers/staging/rtl8723bs/hal/odm_debug.h b/drivers/staging/rtl8723bs/hal/odm_debug.h
index ff131361248c..3e58cb806c8c 100644
--- a/drivers/staging/rtl8723bs/hal/odm_debug.h
+++ b/drivers/staging/rtl8723bs/hal/odm_debug.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef __ODM_DBG_H__
diff --git a/drivers/staging/rtl8723bs/hal/odm_interface.h b/drivers/staging/rtl8723bs/hal/odm_interface.h
index 8ad0a0afca57..63f374f0bda7 100644
--- a/drivers/staging/rtl8723bs/hal/odm_interface.h
+++ b/drivers/staging/rtl8723bs/hal/odm_interface.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 
diff --git a/drivers/staging/rtl8723bs/hal/odm_precomp.h b/drivers/staging/rtl8723bs/hal/odm_precomp.h
index f543bdb31a89..b5b0c0ed02fc 100644
--- a/drivers/staging/rtl8723bs/hal/odm_precomp.h
+++ b/drivers/staging/rtl8723bs/hal/odm_precomp.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef	__ODM_PRECOMP_H__
diff --git a/drivers/staging/rtl8723bs/hal/odm_reg.h b/drivers/staging/rtl8723bs/hal/odm_reg.h
index 2496dcef7a9f..1ec6ffd69dbe 100644
--- a/drivers/staging/rtl8723bs/hal/odm_reg.h
+++ b/drivers/staging/rtl8723bs/hal/odm_reg.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 /*  File Name: odm_reg.h */
 /*  Description: */
diff --git a/drivers/staging/rtl8723bs/hal/odm_types.h b/drivers/staging/rtl8723bs/hal/odm_types.h
index 9e3d072b03db..28f42c9c3dd7 100644
--- a/drivers/staging/rtl8723bs/hal/odm_types.h
+++ b/drivers/staging/rtl8723bs/hal/odm_types.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __ODM_TYPES_H__
 #define __ODM_TYPES_H__
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c b/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
index 69eed62b7c94..9f4a10aaa774 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTL8723B_CMD_C_
 
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
index b16255984f4e..6b6fc835c601 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 /*  Description: */
 /*  This file is for 92CE/92CU dynamic mechanism only */
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
index 0ce9b47d644d..c877408cde50 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2013 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _HAL_INIT_C_
 
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
index e34d133075c0..50428f688859 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTL8723B_PHYCFG_C_
 
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c
index f6aeb2630398..aa45a8421ebe 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 /******************************************************************************
  *
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c
index 14bfbe3be0ca..76c8e6e9e6bc 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTL8723B_REDESC_C_
 
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
index 5d5cd4d01156..85077947b9b8 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTL8723BS_RECV_C_
 
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
index 6281dfa1a3ca..10b3f9733bad 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RTL8723BS_XMIT_C_
 
diff --git a/drivers/staging/rtl8723bs/hal/sdio_halinit.c b/drivers/staging/rtl8723bs/hal/sdio_halinit.c
index 1af77add6af4..3c65a9c02bbd 100644
--- a/drivers/staging/rtl8723bs/hal/sdio_halinit.c
+++ b/drivers/staging/rtl8723bs/hal/sdio_halinit.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _SDIO_HALINIT_C_
 
diff --git a/drivers/staging/rtl8723bs/hal/sdio_ops.c b/drivers/staging/rtl8723bs/hal/sdio_ops.c
index ab2ff53a8e57..d6b93e1f78d8 100644
--- a/drivers/staging/rtl8723bs/hal/sdio_ops.c
+++ b/drivers/staging/rtl8723bs/hal/sdio_ops.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  *******************************************************************************/
 #define _SDIO_OPS_C_
 
diff --git a/drivers/staging/rtl8723bs/include/Hal8192CPhyReg.h b/drivers/staging/rtl8723bs/include/Hal8192CPhyReg.h
index fbb83db4fb60..fb80901f0788 100644
--- a/drivers/staging/rtl8723bs/include/Hal8192CPhyReg.h
+++ b/drivers/staging/rtl8723bs/include/Hal8192CPhyReg.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 /*****************************************************************************
  *
diff --git a/drivers/staging/rtl8723bs/include/Hal8723BPhyCfg.h b/drivers/staging/rtl8723bs/include/Hal8723BPhyCfg.h
index 22250411ed6c..640427f407e3 100644
--- a/drivers/staging/rtl8723bs/include/Hal8723BPhyCfg.h
+++ b/drivers/staging/rtl8723bs/include/Hal8723BPhyCfg.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __INC_HAL8723BPHYCFG_H__
 #define __INC_HAL8723BPHYCFG_H__
diff --git a/drivers/staging/rtl8723bs/include/Hal8723BPhyReg.h b/drivers/staging/rtl8723bs/include/Hal8723BPhyReg.h
index 84a08e0092dd..b0b1ac1090fc 100644
--- a/drivers/staging/rtl8723bs/include/Hal8723BPhyReg.h
+++ b/drivers/staging/rtl8723bs/include/Hal8723BPhyReg.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __INC_HAL8723BPHYREG_H__
 #define __INC_HAL8723BPHYREG_H__
diff --git a/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h b/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h
index 5bb9f5a04734..7040cfc507d8 100644
--- a/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h
+++ b/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __HALPWRSEQCMD_H__
 #define __HALPWRSEQCMD_H__
diff --git a/drivers/staging/rtl8723bs/include/HalVerDef.h b/drivers/staging/rtl8723bs/include/HalVerDef.h
index a9e8609303b9..160f34efbfd5 100644
--- a/drivers/staging/rtl8723bs/include/HalVerDef.h
+++ b/drivers/staging/rtl8723bs/include/HalVerDef.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __HAL_VERSION_DEF_H__
 #define __HAL_VERSION_DEF_H__
diff --git a/drivers/staging/rtl8723bs/include/autoconf.h b/drivers/staging/rtl8723bs/include/autoconf.h
index 09ed29f4efbd..196aca3aed7b 100644
--- a/drivers/staging/rtl8723bs/include/autoconf.h
+++ b/drivers/staging/rtl8723bs/include/autoconf.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 
diff --git a/drivers/staging/rtl8723bs/include/basic_types.h b/drivers/staging/rtl8723bs/include/basic_types.h
index abadea07466d..bab9811aeb5f 100644
--- a/drivers/staging/rtl8723bs/include/basic_types.h
+++ b/drivers/staging/rtl8723bs/include/basic_types.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __BASIC_TYPES_H__
 #define __BASIC_TYPES_H__
diff --git a/drivers/staging/rtl8723bs/include/cmd_osdep.h b/drivers/staging/rtl8723bs/include/cmd_osdep.h
index 3ad3ace86fd4..0749936df032 100644
--- a/drivers/staging/rtl8723bs/include/cmd_osdep.h
+++ b/drivers/staging/rtl8723bs/include/cmd_osdep.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __CMD_OSDEP_H_
 #define __CMD_OSDEP_H_
diff --git a/drivers/staging/rtl8723bs/include/drv_conf.h b/drivers/staging/rtl8723bs/include/drv_conf.h
index 3e1ed0717ed8..7fc88b07a25e 100644
--- a/drivers/staging/rtl8723bs/include/drv_conf.h
+++ b/drivers/staging/rtl8723bs/include/drv_conf.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __DRV_CONF_H__
 #define __DRV_CONF_H__
diff --git a/drivers/staging/rtl8723bs/include/drv_types.h b/drivers/staging/rtl8723bs/include/drv_types.h
index 16b81b1a3f33..c57f290f605a 100644
--- a/drivers/staging/rtl8723bs/include/drv_types.h
+++ b/drivers/staging/rtl8723bs/include/drv_types.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 /*-------------------------------------------------------------------------------
 
diff --git a/drivers/staging/rtl8723bs/include/drv_types_sdio.h b/drivers/staging/rtl8723bs/include/drv_types_sdio.h
index aef9bf71ab25..23bf30ece2df 100644
--- a/drivers/staging/rtl8723bs/include/drv_types_sdio.h
+++ b/drivers/staging/rtl8723bs/include/drv_types_sdio.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __DRV_TYPES_SDIO_H__
 #define __DRV_TYPES_SDIO_H__
diff --git a/drivers/staging/rtl8723bs/include/ethernet.h b/drivers/staging/rtl8723bs/include/ethernet.h
index bd7099497b95..59899ab52aab 100644
--- a/drivers/staging/rtl8723bs/include/ethernet.h
+++ b/drivers/staging/rtl8723bs/include/ethernet.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 /*! \file */
 #ifndef __INC_ETHERNET_H
diff --git a/drivers/staging/rtl8723bs/include/hal_btcoex.h b/drivers/staging/rtl8723bs/include/hal_btcoex.h
index 7ee59c07fbf9..4066b0a1450c 100644
--- a/drivers/staging/rtl8723bs/include/hal_btcoex.h
+++ b/drivers/staging/rtl8723bs/include/hal_btcoex.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2013 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __HAL_BTCOEX_H__
 #define __HAL_BTCOEX_H__
diff --git a/drivers/staging/rtl8723bs/include/hal_com.h b/drivers/staging/rtl8723bs/include/hal_com.h
index 3e9ed3b66632..d1c5b3193043 100644
--- a/drivers/staging/rtl8723bs/include/hal_com.h
+++ b/drivers/staging/rtl8723bs/include/hal_com.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __HAL_COMMON_H__
 #define __HAL_COMMON_H__
diff --git a/drivers/staging/rtl8723bs/include/hal_com_h2c.h b/drivers/staging/rtl8723bs/include/hal_com_h2c.h
index 86b0c42295c2..7dbae5e2050e 100644
--- a/drivers/staging/rtl8723bs/include/hal_com_h2c.h
+++ b/drivers/staging/rtl8723bs/include/hal_com_h2c.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __COMMON_H2C_H__
 #define __COMMON_H2C_H__
diff --git a/drivers/staging/rtl8723bs/include/hal_com_phycfg.h b/drivers/staging/rtl8723bs/include/hal_com_phycfg.h
index bcd81f50581f..c5184315f82f 100644
--- a/drivers/staging/rtl8723bs/include/hal_com_phycfg.h
+++ b/drivers/staging/rtl8723bs/include/hal_com_phycfg.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __HAL_COM_PHYCFG_H__
 #define __HAL_COM_PHYCFG_H__
diff --git a/drivers/staging/rtl8723bs/include/hal_com_reg.h b/drivers/staging/rtl8723bs/include/hal_com_reg.h
index fbf33dba1757..31a187b35810 100644
--- a/drivers/staging/rtl8723bs/include/hal_com_reg.h
+++ b/drivers/staging/rtl8723bs/include/hal_com_reg.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __HAL_COMMON_REG_H__
 #define __HAL_COMMON_REG_H__
diff --git a/drivers/staging/rtl8723bs/include/hal_data.h b/drivers/staging/rtl8723bs/include/hal_data.h
index 74a1db1eac38..7d782659a84f 100644
--- a/drivers/staging/rtl8723bs/include/hal_data.h
+++ b/drivers/staging/rtl8723bs/include/hal_data.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __HAL_DATA_H__
 #define __HAL_DATA_H__
diff --git a/drivers/staging/rtl8723bs/include/hal_intf.h b/drivers/staging/rtl8723bs/include/hal_intf.h
index 276089ad4864..19ceb4aa753e 100644
--- a/drivers/staging/rtl8723bs/include/hal_intf.h
+++ b/drivers/staging/rtl8723bs/include/hal_intf.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __HAL_INTF_H__
 #define __HAL_INTF_H__
diff --git a/drivers/staging/rtl8723bs/include/hal_pg.h b/drivers/staging/rtl8723bs/include/hal_pg.h
index ba2a0b0c5b2f..0b7a8adf5c74 100644
--- a/drivers/staging/rtl8723bs/include/hal_pg.h
+++ b/drivers/staging/rtl8723bs/include/hal_pg.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef __HAL_PG_H__
diff --git a/drivers/staging/rtl8723bs/include/hal_phy.h b/drivers/staging/rtl8723bs/include/hal_phy.h
index 15f192697957..c6b9bf139ef6 100644
--- a/drivers/staging/rtl8723bs/include/hal_phy.h
+++ b/drivers/staging/rtl8723bs/include/hal_phy.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __HAL_PHY_H__
 #define __HAL_PHY_H__
diff --git a/drivers/staging/rtl8723bs/include/hal_phy_reg.h b/drivers/staging/rtl8723bs/include/hal_phy_reg.h
index 518095269497..682cdd6655ab 100644
--- a/drivers/staging/rtl8723bs/include/hal_phy_reg.h
+++ b/drivers/staging/rtl8723bs/include/hal_phy_reg.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __HAL_PHY_REG_H__
 #define __HAL_PHY_REG_H__
diff --git a/drivers/staging/rtl8723bs/include/hal_sdio.h b/drivers/staging/rtl8723bs/include/hal_sdio.h
index 691a02e980a3..3fc8acb430e5 100644
--- a/drivers/staging/rtl8723bs/include/hal_sdio.h
+++ b/drivers/staging/rtl8723bs/include/hal_sdio.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __HAL_SDIO_H_
 #define __HAL_SDIO_H_
diff --git a/drivers/staging/rtl8723bs/include/ieee80211.h b/drivers/staging/rtl8723bs/include/ieee80211.h
index c8e5251c2760..974e922f54fa 100644
--- a/drivers/staging/rtl8723bs/include/ieee80211.h
+++ b/drivers/staging/rtl8723bs/include/ieee80211.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __IEEE80211_H
 #define __IEEE80211_H
diff --git a/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h b/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
index 2d42e0c2deff..931599d8b08a 100644
--- a/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
+++ b/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __IOCTL_CFG80211_H__
 #define __IOCTL_CFG80211_H__
diff --git a/drivers/staging/rtl8723bs/include/mlme_osdep.h b/drivers/staging/rtl8723bs/include/mlme_osdep.h
index 69fd5543a3b1..f0d19637fb0f 100644
--- a/drivers/staging/rtl8723bs/include/mlme_osdep.h
+++ b/drivers/staging/rtl8723bs/include/mlme_osdep.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef	__MLME_OSDEP_H_
 #define __MLME_OSDEP_H_
diff --git a/drivers/staging/rtl8723bs/include/osdep_intf.h b/drivers/staging/rtl8723bs/include/osdep_intf.h
index cd738da3bec9..0ea91a111da3 100644
--- a/drivers/staging/rtl8723bs/include/osdep_intf.h
+++ b/drivers/staging/rtl8723bs/include/osdep_intf.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef __OSDEP_INTF_H_
diff --git a/drivers/staging/rtl8723bs/include/osdep_service.h b/drivers/staging/rtl8723bs/include/osdep_service.h
index e62ed71e1d80..76d619585046 100644
--- a/drivers/staging/rtl8723bs/include/osdep_service.h
+++ b/drivers/staging/rtl8723bs/include/osdep_service.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2013 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __OSDEP_SERVICE_H_
 #define __OSDEP_SERVICE_H_
diff --git a/drivers/staging/rtl8723bs/include/osdep_service_linux.h b/drivers/staging/rtl8723bs/include/osdep_service_linux.h
index 711863d74a01..58d1e1019241 100644
--- a/drivers/staging/rtl8723bs/include/osdep_service_linux.h
+++ b/drivers/staging/rtl8723bs/include/osdep_service_linux.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2013 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __OSDEP_LINUX_SERVICE_H_
 #define __OSDEP_LINUX_SERVICE_H_
diff --git a/drivers/staging/rtl8723bs/include/recv_osdep.h b/drivers/staging/rtl8723bs/include/recv_osdep.h
index a480874a2f2a..6fea0e948271 100644
--- a/drivers/staging/rtl8723bs/include/recv_osdep.h
+++ b/drivers/staging/rtl8723bs/include/recv_osdep.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RECV_OSDEP_H_
 #define __RECV_OSDEP_H_
diff --git a/drivers/staging/rtl8723bs/include/rtl8192c_recv.h b/drivers/staging/rtl8723bs/include/rtl8192c_recv.h
index 3e1be0092df4..c77d172de7d0 100644
--- a/drivers/staging/rtl8723bs/include/rtl8192c_recv.h
+++ b/drivers/staging/rtl8723bs/include/rtl8192c_recv.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef _RTL8192C_RECV_H_
 #define _RTL8192C_RECV_H_
diff --git a/drivers/staging/rtl8723bs/include/rtl8192c_rf.h b/drivers/staging/rtl8723bs/include/rtl8192c_rf.h
index 97900a31b326..ad684add8dd6 100644
--- a/drivers/staging/rtl8723bs/include/rtl8192c_rf.h
+++ b/drivers/staging/rtl8723bs/include/rtl8192c_rf.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef _RTL8192C_RF_H_
 #define _RTL8192C_RF_H_
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h b/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
index 8d610646ad17..ecfd2d383ac2 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTL8723B_CMD_H__
 #define __RTL8723B_CMD_H__
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_dm.h b/drivers/staging/rtl8723bs/include/rtl8723b_dm.h
index cc64b38ead2a..1d2da5286e7c 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_dm.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_dm.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTL8723B_DM_H__
 #define __RTL8723B_DM_H__
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_hal.h b/drivers/staging/rtl8723bs/include/rtl8723b_hal.h
index adaeea115e4d..98408e8e33f2 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_hal.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_hal.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTL8723B_HAL_H__
 #define __RTL8723B_HAL_H__
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_recv.h b/drivers/staging/rtl8723bs/include/rtl8723b_recv.h
index 7218424dae99..31ae83f2557f 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_recv.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_recv.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTL8723B_RECV_H__
 #define __RTL8723B_RECV_H__
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_rf.h b/drivers/staging/rtl8723bs/include/rtl8723b_rf.h
index f5aa1b09a608..1c16183caf9b 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_rf.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_rf.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTL8723B_RF_H__
 #define __RTL8723B_RF_H__
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_spec.h b/drivers/staging/rtl8723bs/include/rtl8723b_spec.h
index 1906ff2038f5..9149fe598545 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_spec.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_spec.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  *******************************************************************************/
 #ifndef __RTL8723B_SPEC_H__
 #define __RTL8723B_SPEC_H__
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h b/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
index 3bea5d5dd82b..23a6069c3e5d 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTL8723B_XMIT_H__
 #define __RTL8723B_XMIT_H__
diff --git a/drivers/staging/rtl8723bs/include/rtw_ap.h b/drivers/staging/rtl8723bs/include/rtw_ap.h
index 3c2d1e912a9d..fd56c9db16a9 100644
--- a/drivers/staging/rtl8723bs/include/rtw_ap.h
+++ b/drivers/staging/rtl8723bs/include/rtw_ap.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_AP_H_
 #define __RTW_AP_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_beamforming.h b/drivers/staging/rtl8723bs/include/rtw_beamforming.h
index 69711e41c50b..031496c8c02c 100644
--- a/drivers/staging/rtl8723bs/include/rtw_beamforming.h
+++ b/drivers/staging/rtl8723bs/include/rtw_beamforming.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_BEAMFORMING_H_
 #define __RTW_BEAMFORMING_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_br_ext.h b/drivers/staging/rtl8723bs/include/rtw_br_ext.h
index c942535a7961..5eaeb3c9a97c 100644
--- a/drivers/staging/rtl8723bs/include/rtw_br_ext.h
+++ b/drivers/staging/rtl8723bs/include/rtw_br_ext.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef _RTW_BR_EXT_H_
 #define _RTW_BR_EXT_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_btcoex.h b/drivers/staging/rtl8723bs/include/rtw_btcoex.h
index 9a5c3f40bddb..53f49c6b2fcd 100644
--- a/drivers/staging/rtl8723bs/include/rtw_btcoex.h
+++ b/drivers/staging/rtl8723bs/include/rtw_btcoex.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2013 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_BTCOEX_H__
 #define __RTW_BTCOEX_H__
diff --git a/drivers/staging/rtl8723bs/include/rtw_byteorder.h b/drivers/staging/rtl8723bs/include/rtw_byteorder.h
index ffbbcec77a0d..f76fbfbed4c7 100644
--- a/drivers/staging/rtl8723bs/include/rtw_byteorder.h
+++ b/drivers/staging/rtl8723bs/include/rtw_byteorder.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef _RTL871X_BYTEORDER_H_
 #define _RTL871X_BYTEORDER_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_cmd.h b/drivers/staging/rtl8723bs/include/rtw_cmd.h
index 286d329b7a4f..1530d0ea1d51 100644
--- a/drivers/staging/rtl8723bs/include/rtw_cmd.h
+++ b/drivers/staging/rtl8723bs/include/rtw_cmd.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_CMD_H_
 #define __RTW_CMD_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_debug.h b/drivers/staging/rtl8723bs/include/rtw_debug.h
index 625e2a39a861..216d9492575e 100644
--- a/drivers/staging/rtl8723bs/include/rtw_debug.h
+++ b/drivers/staging/rtl8723bs/include/rtw_debug.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_DEBUG_H__
 #define __RTW_DEBUG_H__
diff --git a/drivers/staging/rtl8723bs/include/rtw_eeprom.h b/drivers/staging/rtl8723bs/include/rtw_eeprom.h
index 2e292bf9cf51..1fcd79fa1c21 100644
--- a/drivers/staging/rtl8723bs/include/rtw_eeprom.h
+++ b/drivers/staging/rtl8723bs/include/rtw_eeprom.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_EEPROM_H__
 #define __RTW_EEPROM_H__
diff --git a/drivers/staging/rtl8723bs/include/rtw_efuse.h b/drivers/staging/rtl8723bs/include/rtw_efuse.h
index 5d3778a3204b..9d9a5a3e336d 100644
--- a/drivers/staging/rtl8723bs/include/rtw_efuse.h
+++ b/drivers/staging/rtl8723bs/include/rtw_efuse.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_EFUSE_H__
 #define __RTW_EFUSE_H__
diff --git a/drivers/staging/rtl8723bs/include/rtw_event.h b/drivers/staging/rtl8723bs/include/rtw_event.h
index 2bf23de7e516..ee80aa21eb10 100644
--- a/drivers/staging/rtl8723bs/include/rtw_event.h
+++ b/drivers/staging/rtl8723bs/include/rtw_event.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef _RTW_EVENT_H_
 #define _RTW_EVENT_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_ht.h b/drivers/staging/rtl8723bs/include/rtw_ht.h
index 20ca0b7b481c..952c804dd0fd 100644
--- a/drivers/staging/rtl8723bs/include/rtw_ht.h
+++ b/drivers/staging/rtl8723bs/include/rtw_ht.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef _RTW_HT_H_
 #define _RTW_HT_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_io.h b/drivers/staging/rtl8723bs/include/rtw_io.h
index 0341d0d35375..4f8be55da65d 100644
--- a/drivers/staging/rtl8723bs/include/rtw_io.h
+++ b/drivers/staging/rtl8723bs/include/rtw_io.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #ifndef _RTW_IO_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_ioctl.h b/drivers/staging/rtl8723bs/include/rtw_ioctl.h
index c19e179fc426..7179591cb01d 100644
--- a/drivers/staging/rtl8723bs/include/rtw_ioctl.h
+++ b/drivers/staging/rtl8723bs/include/rtw_ioctl.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef _RTW_IOCTL_H_
 #define _RTW_IOCTL_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
index ebf233559f67..f0457e91d00f 100644
--- a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
+++ b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_IOCTL_SET_H_
 #define __RTW_IOCTL_SET_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme.h b/drivers/staging/rtl8723bs/include/rtw_mlme.h
index 2e4f12b54929..1ea9ea0e8d2e 100644
--- a/drivers/staging/rtl8723bs/include/rtw_mlme.h
+++ b/drivers/staging/rtl8723bs/include/rtw_mlme.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_MLME_H_
 #define __RTW_MLME_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
index 6613dea2b283..4c3141882143 100644
--- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
+++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_MLME_EXT_H_
 #define __RTW_MLME_EXT_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_mp.h b/drivers/staging/rtl8723bs/include/rtw_mp.h
index 88ace11e42e9..839084733201 100644
--- a/drivers/staging/rtl8723bs/include/rtw_mp.h
+++ b/drivers/staging/rtl8723bs/include/rtw_mp.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef _RTW_MP_H_
 #define _RTW_MP_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_odm.h b/drivers/staging/rtl8723bs/include/rtw_odm.h
index 961ae2c218f9..263e92cfea96 100644
--- a/drivers/staging/rtl8723bs/include/rtw_odm.h
+++ b/drivers/staging/rtl8723bs/include/rtw_odm.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2013 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_ODM_H__
 #define __RTW_ODM_H__
diff --git a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
index faf91022f54a..3cf0ba3f8f0d 100644
--- a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
+++ b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_PWRCTRL_H_
 #define __RTW_PWRCTRL_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_qos.h b/drivers/staging/rtl8723bs/include/rtw_qos.h
index ce6d9142bc5a..1f28837f6c27 100644
--- a/drivers/staging/rtl8723bs/include/rtw_qos.h
+++ b/drivers/staging/rtl8723bs/include/rtw_qos.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 
diff --git a/drivers/staging/rtl8723bs/include/rtw_recv.h b/drivers/staging/rtl8723bs/include/rtw_recv.h
index d4986f5685c5..1f53c1c7b0da 100644
--- a/drivers/staging/rtl8723bs/include/rtw_recv.h
+++ b/drivers/staging/rtl8723bs/include/rtw_recv.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef _RTW_RECV_H_
 #define _RTW_RECV_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_rf.h b/drivers/staging/rtl8723bs/include/rtw_rf.h
index f9becab7f7ad..d3a8e4b7069a 100644
--- a/drivers/staging/rtl8723bs/include/rtw_rf.h
+++ b/drivers/staging/rtl8723bs/include/rtw_rf.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef	__RTW_RF_H_
 #define __RTW_RF_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_security.h b/drivers/staging/rtl8723bs/include/rtw_security.h
index d5af72b2335d..bea184452edd 100644
--- a/drivers/staging/rtl8723bs/include/rtw_security.h
+++ b/drivers/staging/rtl8723bs/include/rtw_security.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_SECURITY_H_
 #define __RTW_SECURITY_H_
diff --git a/drivers/staging/rtl8723bs/include/rtw_version.h b/drivers/staging/rtl8723bs/include/rtw_version.h
index 628d987c3e86..55e907b097ae 100644
--- a/drivers/staging/rtl8723bs/include/rtw_version.h
+++ b/drivers/staging/rtl8723bs/include/rtw_version.h
@@ -1,2 +1,3 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #define DRIVERVERSION	"v4.3.5.5_12290.20140916_BTCOEX20140507-4E40"
 #define BTCOEXVERSION	"BTCOEX20140507-4E40"
diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h
index 11571649cd2c..a75b668d09a6 100644
--- a/drivers/staging/rtl8723bs/include/rtw_xmit.h
+++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef _RTW_XMIT_H_
 #define _RTW_XMIT_H_
diff --git a/drivers/staging/rtl8723bs/include/sdio_hal.h b/drivers/staging/rtl8723bs/include/sdio_hal.h
index 8fd8bbeda2d8..6fae19dd0cbd 100644
--- a/drivers/staging/rtl8723bs/include/sdio_hal.h
+++ b/drivers/staging/rtl8723bs/include/sdio_hal.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __SDIO_HAL_H__
 #define __SDIO_HAL_H__
diff --git a/drivers/staging/rtl8723bs/include/sdio_ops.h b/drivers/staging/rtl8723bs/include/sdio_ops.h
index 8fffc652cf0c..0f117ff1fbbe 100644
--- a/drivers/staging/rtl8723bs/include/sdio_ops.h
+++ b/drivers/staging/rtl8723bs/include/sdio_ops.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __SDIO_OPS_H__
 #define __SDIO_OPS_H__
diff --git a/drivers/staging/rtl8723bs/include/sdio_ops_linux.h b/drivers/staging/rtl8723bs/include/sdio_ops_linux.h
index bd62caec409f..16a03adbc2cf 100644
--- a/drivers/staging/rtl8723bs/include/sdio_ops_linux.h
+++ b/drivers/staging/rtl8723bs/include/sdio_ops_linux.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __SDIO_OPS_LINUX_H__
 #define __SDIO_OPS_LINUX_H__
diff --git a/drivers/staging/rtl8723bs/include/sdio_osintf.h b/drivers/staging/rtl8723bs/include/sdio_osintf.h
index 86673682fb4f..146b44f95e29 100644
--- a/drivers/staging/rtl8723bs/include/sdio_osintf.h
+++ b/drivers/staging/rtl8723bs/include/sdio_osintf.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __SDIO_OSINTF_H__
 #define __SDIO_OSINTF_H__
diff --git a/drivers/staging/rtl8723bs/include/sta_info.h b/drivers/staging/rtl8723bs/include/sta_info.h
index 84fa116fc5da..b9df42d0677e 100644
--- a/drivers/staging/rtl8723bs/include/sta_info.h
+++ b/drivers/staging/rtl8723bs/include/sta_info.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __STA_INFO_H_
 #define __STA_INFO_H_
diff --git a/drivers/staging/rtl8723bs/include/wifi.h b/drivers/staging/rtl8723bs/include/wifi.h
index d53a4483ea9f..08bc79840b23 100644
--- a/drivers/staging/rtl8723bs/include/wifi.h
+++ b/drivers/staging/rtl8723bs/include/wifi.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef _WIFI_H_
 #define _WIFI_H_
diff --git a/drivers/staging/rtl8723bs/include/wlan_bssdef.h b/drivers/staging/rtl8723bs/include/wlan_bssdef.h
index af78d97980fa..bdb14a84e5a5 100644
--- a/drivers/staging/rtl8723bs/include/wlan_bssdef.h
+++ b/drivers/staging/rtl8723bs/include/wlan_bssdef.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __WLAN_BSSDEF_H__
 #define __WLAN_BSSDEF_H__
diff --git a/drivers/staging/rtl8723bs/include/xmit_osdep.h b/drivers/staging/rtl8723bs/include/xmit_osdep.h
index 46909ff7339c..377b453de199 100644
--- a/drivers/staging/rtl8723bs/include/xmit_osdep.h
+++ b/drivers/staging/rtl8723bs/include/xmit_osdep.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __XMIT_OSDEP_H_
 #define __XMIT_OSDEP_H_
diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
index 75d8a16f54c6..02178e25fbb8 100644
--- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
+++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define  _IOCTL_CFG80211_C_
 
diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c b/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
index b26533983864..39502156f652 100644
--- a/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _IOCTL_LINUX_C_
 
diff --git a/drivers/staging/rtl8723bs/os_dep/mlme_linux.c b/drivers/staging/rtl8723bs/os_dep/mlme_linux.c
index a4ef5789d794..da4bd5292b0a 100644
--- a/drivers/staging/rtl8723bs/os_dep/mlme_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/mlme_linux.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 
diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
index fc5e3d4739c0..ace68f023b49 100644
--- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c
+++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _OS_INTFS_C_
 
diff --git a/drivers/staging/rtl8723bs/os_dep/osdep_service.c b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
index f4221952dd1b..e14d7cc411c9 100644
--- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 
diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
index b43e24c3a23a..67ec336264e5 100644
--- a/drivers/staging/rtl8723bs/os_dep/recv_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/recv_linux.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _RECV_OSDEP_C_
 
diff --git a/drivers/staging/rtl8723bs/os_dep/rtw_proc.c b/drivers/staging/rtl8723bs/os_dep/rtw_proc.c
index 49c8684dc25b..d8e7ad1ed842 100644
--- a/drivers/staging/rtl8723bs/os_dep/rtw_proc.c
+++ b/drivers/staging/rtl8723bs/os_dep/rtw_proc.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2013 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 
 #include <drv_types.h>
diff --git a/drivers/staging/rtl8723bs/os_dep/rtw_proc.h b/drivers/staging/rtl8723bs/os_dep/rtw_proc.h
index f633663fa790..c7e6f62b61ef 100644
--- a/drivers/staging/rtl8723bs/os_dep/rtw_proc.h
+++ b/drivers/staging/rtl8723bs/os_dep/rtw_proc.h
@@ -1,16 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2013 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #ifndef __RTW_PROC_H__
 #define __RTW_PROC_H__
diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
index 99c407ba0874..22191c9584ad 100644
--- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
+++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _HCI_INTF_C_
 
diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c b/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
index 3108a625ada3..43a9d922e3aa 100644
--- a/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  *******************************************************************************/
 #define _SDIO_OPS_LINUX_C_
 
diff --git a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c
index 21e1b811f997..4da0c6f323d1 100644
--- a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c
@@ -1,16 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /******************************************************************************
  *
  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
  ******************************************************************************/
 #define _XMIT_OSDEP_C_
 
-- 
2.17.0

^ permalink raw reply related	[relevance 7%]

* Re: [PATCH 4.14 00/43] 4.14.40-stable review
  @ 2018-05-08 22:11 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-08 22:11 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Tue, May 08, 2018 at 10:10:19AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.14.40 release.
> There are 43 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 Thu May 10 07:39:32 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.14.40-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.14.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled, and installed onto my Raspberry Pi 3.

No issues during initial usage or in dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 3.18 00/23] 3.18.109-stable review
  @ 2018-05-14  8:01 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-14  8:01 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, May 14, 2018 at 08:48:29AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.18.109 release.
> There are 23 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 Wed May 16 06:46:49 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/v3.x/stable-review/patch-3.18.109-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-3.18.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled, and installed on to my Pixel XL.

No initial issues noticed in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/56] 4.4.132-stable review
  @ 2018-05-14  8:09 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-14  8:09 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, May 14, 2018 at 08:48:05AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.132 release.
> There are 56 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 Wed May 16 06:47: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.132-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
> 

Merged, compiled, and installed  on to my Pixel 2 XL and OnePlus 5.

No initial issues noticed in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.14 00/62] 4.14.41-stable review
  @ 2018-05-14  8:28 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-14  8:28 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, May 14, 2018 at 08:48:16AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.14.41 release.
> There are 62 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 Wed May 16 06:47:52 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.14.41-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.14.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled, and installed on to my Raspberry Pi 3.

No initial issues noticed in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 3/7] staging: ks7010: Remove unnecessary limit checks
  @ 2018-05-14 14:06 99%     ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-14 14:06 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: devel, Greg Kroah-Hartman, linux-kernel

On Mon, May 14, 2018 at 04:17:36PM +0300, Dan Carpenter wrote:
> On Sun, May 06, 2018 at 03:03:00PM -0700, Nathan Chancellor wrote:
> > uwrq is an unsigned 32-bit integer, it cannot be less than zero.
> > 
> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> > ---
> >  drivers/staging/ks7010/ks_wlan_net.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/staging/ks7010/ks_wlan_net.c b/drivers/staging/ks7010/ks_wlan_net.c
> > index e96477937f65..0c83d6fe270f 100644
> > --- a/drivers/staging/ks7010/ks_wlan_net.c
> > +++ b/drivers/staging/ks7010/ks_wlan_net.c
> > @@ -1928,7 +1928,7 @@ static int ks_wlan_set_beacon_lost(struct net_device *dev,
> >  	if (priv->sleep_mode == SLP_SLEEP)
> >  		return -EPERM;
> >  	/* for SLEEP MODE */
> > -	if (*uwrq < BEACON_LOST_COUNT_MIN || *uwrq > BEACON_LOST_COUNT_MAX)
> > +	if (*uwrq > BEACON_LOST_COUNT_MAX)
> 
> I believe Smatch is supposed to ignore this sort of code because
> comparing "if (foo < 0 || foo > max) " is pretty readable and idiomatic.
> 
> Presumably this was so we could redefine BEACON_LOST_COUNT_MIN, but it's
> fine to unused code.  The define isn't needed at all, so you can
> delete that as well.
> 
> regards,
> dan carpenter
> 

Hi Dan,

Thanks for the suggestion, I just sent a patch.

This warning came from GCC as a -Wtype-limit warning. I should have put
that in the commit message to be more clear. I will keep this in mind
for the future if I come across any more checks like this with defines.

Thanks!
Nathan Chancellor
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

^ permalink raw reply	[relevance 99%]

* [PATCH] staging: android: ion: Check return value of ion_buffer_kmap_get
@ 2018-05-14 18:50 98% Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-14 18:50 UTC (permalink / raw)
  To: devel
  Cc: Greg Kroah-Hartman, Laura Abbott, Sumit Semwal,
	Arve Hjønnevåg, Martijn Coenen, Todd Kjos, dri-devel,
	linux-kernel, Nathan Chancellor

GCC warns that vaddr is set but unused. Check the return value of
ion_buffer_kmap_get to make vaddr useful and make sure everything
is properly configured before beginning a DMA.

Suggested-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/staging/android/ion/ion.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
index d10b60fe4a29..af682cbde767 100644
--- a/drivers/staging/android/ion/ion.c
+++ b/drivers/staging/android/ion/ion.c
@@ -315,6 +315,7 @@ static int ion_dma_buf_begin_cpu_access(struct dma_buf *dmabuf,
 	struct ion_buffer *buffer = dmabuf->priv;
 	void *vaddr;
 	struct ion_dma_buf_attachment *a;
+	int ret = 0;
 
 	/*
 	 * TODO: Move this elsewhere because we don't always need a vaddr
@@ -322,6 +323,10 @@ static int ion_dma_buf_begin_cpu_access(struct dma_buf *dmabuf,
 	if (buffer->heap->ops->map_kernel) {
 		mutex_lock(&buffer->lock);
 		vaddr = ion_buffer_kmap_get(buffer);
+		if (IS_ERR(vaddr)) {
+			ret = PTR_ERR(vaddr);
+			goto unlock;
+		}
 		mutex_unlock(&buffer->lock);
 	}
 
@@ -330,9 +335,10 @@ static int ion_dma_buf_begin_cpu_access(struct dma_buf *dmabuf,
 		dma_sync_sg_for_cpu(a->dev, a->table->sgl, a->table->nents,
 				    direction);
 	}
-	mutex_unlock(&buffer->lock);
 
-	return 0;
+unlock:
+	mutex_unlock(&buffer->lock);
+	return ret;
 }
 
 static int ion_dma_buf_end_cpu_access(struct dma_buf *dmabuf,
-- 
2.17.0

^ permalink raw reply related	[relevance 98%]

* [PATCH] arm64: vdso32: Use full path to Clang instead of relying on PATH
@ 2018-05-22 21:59 96% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-22 21:59 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon, Kevin Brodsky, Mark Salyzyn, Jeremy Linton
  Cc: linux-arm-kernel, linux-kernel, Nathan Chancellor

Currently, in order to build the compat VDSO with Clang, this format
has to be used:

  PATH=${BIN_FOLDER}:${PATH} make CC=clang

Prior to the addition of this file, this format would also be
acceptable:

  make CC=${BIN_FOLDER}/clang

This is because the vdso32 Makefile uses cc-name instead of CC. After
this path, CC will still evaluate to clang for the first case as
expected but now the second case will use the specified Clang, rather
than the host's copy, which may not be compatible as shown below.

/usr/bin/as: unrecognized option '-mfloat-abi=soft'
clang-6.0: error: assembler command failed with exit code 1

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---

Hi everyone,

I noticed this issue when building the Pixel 2's kernel. Since this
is a supplement to https://patchwork.kernel.org/patch/10186671/, I
was instructed by Mark to push it here. I could not find a public git
tree for this patch, I am not sure if it has been applied or not so I
couldn't add a fixes tag. If there are any other issues, please let me
know!

Nathan

 arch/arm64/kernel/vdso32/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
index 6d44d972e89d..837e877a326b 100644
--- a/arch/arm64/kernel/vdso32/Makefile
+++ b/arch/arm64/kernel/vdso32/Makefile
@@ -5,7 +5,7 @@
 # A mix between the arm64 and arm vDSO Makefiles.
 
 ifeq ($(cc-name),clang)
-  CC_ARM32 := $(cc-name) $(CLANG_TARGET_ARM32) -no-integrated-as
+  CC_ARM32 := $(CC) $(CLANG_TARGET_ARM32) -no-integrated-as
 else
   CC_ARM32 := $(CROSS_COMPILE_ARM32)$(cc-name)
 endif
-- 
2.17.0

^ permalink raw reply related	[relevance 93%]

* [PATCH] arm64: vdso32: Use full path to Clang instead of relying on PATH
@ 2018-05-22 21:59 96% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-22 21:59 UTC (permalink / raw)
  To: linux-arm-kernel

Currently, in order to build the compat VDSO with Clang, this format
has to be used:

  PATH=${BIN_FOLDER}:${PATH} make CC=clang

Prior to the addition of this file, this format would also be
acceptable:

  make CC=${BIN_FOLDER}/clang

This is because the vdso32 Makefile uses cc-name instead of CC. After
this path, CC will still evaluate to clang for the first case as
expected but now the second case will use the specified Clang, rather
than the host's copy, which may not be compatible as shown below.

/usr/bin/as: unrecognized option '-mfloat-abi=soft'
clang-6.0: error: assembler command failed with exit code 1

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---

Hi everyone,

I noticed this issue when building the Pixel 2's kernel. Since this
is a supplement to https://patchwork.kernel.org/patch/10186671/, I
was instructed by Mark to push it here. I could not find a public git
tree for this patch, I am not sure if it has been applied or not so I
couldn't add a fixes tag. If there are any other issues, please let me
know!

Nathan

 arch/arm64/kernel/vdso32/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
index 6d44d972e89d..837e877a326b 100644
--- a/arch/arm64/kernel/vdso32/Makefile
+++ b/arch/arm64/kernel/vdso32/Makefile
@@ -5,7 +5,7 @@
 # A mix between the arm64 and arm vDSO Makefiles.
 
 ifeq ($(cc-name),clang)
-  CC_ARM32 := $(cc-name) $(CLANG_TARGET_ARM32) -no-integrated-as
+  CC_ARM32 := $(CC) $(CLANG_TARGET_ARM32) -no-integrated-as
 else
   CC_ARM32 := $(CROSS_COMPILE_ARM32)$(cc-name)
 endif
-- 
2.17.0

^ permalink raw reply related	[relevance 96%]

* Re: [PATCH 3.18 00/45] 3.18.110-stable review
  @ 2018-05-24 14:42 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-24 14:42 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Thu, May 24, 2018 at 11:38:08AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.18.110 release.
> There are 45 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 Sat May 26 09:30:59 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/v3.x/stable-review/patch-3.18.110-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-3.18.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed on my Pixel XL.

No issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/92] 4.4.133-stable review
  @ 2018-05-24 14:45 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-24 14:45 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Thu, May 24, 2018 at 11:37:37AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.133 release.
> There are 92 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 Sat May 26 09:31:28 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.133-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
> 

Merged, compiled with -Werror, and installed onto my Pixel 2 XL and
OnePlus 5.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.14 000/165] 4.14.44-stable review
  @ 2018-05-24 14:50 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-24 14:50 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Thu, May 24, 2018 at 11:36:46AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.14.44 release.
> There are 165 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 Sat May 26 09:35:46 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.14.44-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.14.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled, and installed onto my Raspberry Pi 3.

No initial issues noticed in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 3.18 000/185] 3.18.111-stable review
  @ 2018-05-28 15:43 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-28 15:43 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, May 28, 2018 at 12:00:41PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.18.111 release.
> There are 185 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 Wed May 30 10:00:18 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/v3.x/stable-review/patch-3.18.111-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-3.18.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my Pixel XL.

No issues noticed in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.14 000/496] 4.14.45-stable review
  @ 2018-05-28 16:06 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-28 16:06 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, May 28, 2018 at 11:56:25AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.14.45 release.
> There are 496 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 Wed May 30 10:00:57 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.14.45-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.14.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled, and installed onto my Raspberry Pi 3.

No initial issues noticed in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 000/268] 4.4.134-stable review
  @ 2018-05-28 16:24 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-28 16:24 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, May 28, 2018 at 11:59:34AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.134 release.
> There are 268 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 Wed May 30 10:00:40 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.134-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
> 

Merged, compiled with -Werror, and installed onto my Pixel 2 XL and
OnePlus 5.

No initial issues noticed in general usage or dmesg.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Kconfig warnings with GCC 8.1.0
@ 2018-05-31  4:18 95% Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-05-31  4:18 UTC (permalink / raw)
  To: Masahiro Yamada, linux-kbuild, linux-kernel

Hi everyone,

My apologies if this has already been reported in some capacity, I
searched the mailing list and patchwork but I didn't see anything.

With GCC 8.1.0, I am starting to see the following warnings from
Kconfig:

  CC    scripts/kconfig/zconf.tab.c
  LEX     scripts/kconfig/zconf.lex.c
  HOSTCC  scripts/kconfig/zconf.tab.o
In file included from scripts/kconfig/zconf.tab.c:2496:
scripts/kconfig/confdata.c: In function ‘conf_write’:
scripts/kconfig/confdata.c:748:22: warning: ‘%s’ directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
  sprintf(newname, "%s%s", dirname, basename);
                      ^~
scripts/kconfig/confdata.c:748:19: note: assuming directive output of 7 bytes
  sprintf(newname, "%s%s", dirname, basename);
                   ^~~~~~
scripts/kconfig/confdata.c:748:2: note: ‘sprintf’ output 1 or more bytes (assuming 4104) into a destination of size 4097
  sprintf(newname, "%s%s", dirname, basename);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scripts/kconfig/confdata.c:751:23: warning: ‘.tmpconfig.’ directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
   sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
                       ^~~~~~~~~~~
scripts/kconfig/confdata.c:751:3: note: ‘sprintf’ output between 13 and 4119 bytes into a destination of size 4097
   sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  HOSTCC  scripts/kconfig/conf.o
  HOSTLD  scripts/kconfig/conf

I am not sure if this is a false positive or not, otherwise I would have
sent a patch. I tested on the latest linux-next with Masahiro's for-next
branch, currently at commit 57282f7da50c ("Merge branch 'kconfig' into
for-next").

Thanks!
Nathan

^ permalink raw reply	[relevance 95%]

* [PATCH] kconfig: Avoid format overflow warning from GCC 8.1
@ 2018-06-02 16:02 95% Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-06-02 16:02 UTC (permalink / raw)
  To: Masahiro Yamada; +Cc: linux-kbuild, linux-kernel, Nathan Chancellor, stable

In file included from scripts/kconfig/zconf.tab.c:2485:
scripts/kconfig/confdata.c: In function ‘conf_write’:
scripts/kconfig/confdata.c:773:22: warning: ‘%s’ directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
  sprintf(newname, "%s%s", dirname, basename);
                      ^~
scripts/kconfig/confdata.c:773:19: note: assuming directive output of 7 bytes
  sprintf(newname, "%s%s", dirname, basename);
                   ^~~~~~
scripts/kconfig/confdata.c:773:2: note: ‘sprintf’ output 1 or more bytes (assuming 4104) into a destination of size 4097
  sprintf(newname, "%s%s", dirname, basename);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scripts/kconfig/confdata.c:776:23: warning: ‘.tmpconfig.’ directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
   sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
                       ^~~~~~~~~~~
scripts/kconfig/confdata.c:776:3: note: ‘sprintf’ output between 13 and 4119 bytes into a destination of size 4097
   sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Increase the size of tmpname and newname to make GCC happy.

Cc: stable@vger.kernel.org
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 scripts/kconfig/confdata.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 5f87ad561b08..39e20974f4a3 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -720,7 +720,7 @@ int conf_write(const char *name)
 	struct menu *menu;
 	const char *basename;
 	const char *str;
-	char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1];
+	char dirname[PATH_MAX+1], tmpname[PATH_MAX+22], newname[PATH_MAX+8];
 	char *env;
 
 	dirname[0] = 0;
-- 
2.17.1

^ permalink raw reply related	[relevance 95%]

* Re: More gcc related patches for stable releases
  @ 2018-06-02 19:50 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-06-02 19:50 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Greg Kroah-Hartman, stable

On Sat, Jun 02, 2018 at 12:07:24PM -0700, Guenter Roeck wrote:
> Hi Greg,
> 
> The following patches are needed in various stable releases to build
> sparc/sparc64 images with gcc 7.3.0.
> 
> v4.4:
> 56962f8b250a Kbuild: change CC_OPTIMIZE_FOR_SIZE definition

Looks like this one got messed up. It's 877417e6ffb9 upstream.

> 
> v4.9 and earlier:
> 0fde7ad71ee3 sparc64: Fix build warnings with gcc 7.
> 
> v4.9:
> 009615ab7fd4 USB: serial: cp210x: use tcflag_t to fix incompatible pointer type
> 
> Thanks,
> Guenter
> 
> 

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/37] 4.4.136-stable review
  @ 2018-06-06  0:30 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-06-06  0:30 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Jun 05, 2018 at 07:01:05PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.136 release.
> There are 37 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 Thu Jun  7 17:00:49 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.136-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
> 

Merged, compiled with -Werror, and installed onto my Pixel 2 XL and
OnePlus 5.

No issues in general usage or dmesg (although I somehow didn't catch the
VTI issue in 4.4.134 so don't know how valuable this is anymore...)

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Apply 2ae89c7a82ea to all active branches
@ 2018-06-07 19:24 99% Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-06-07 19:24 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable

Hi Greg,

Please apply 2ae89c7a82ea ("kconfig: Avoid format overflow warning from
GCC 8.1") to all active branches. I am rather tired of seeing these
warnings every time I need to compile. It will apply cleanly.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* [PATCH] dm bufio: avoid false-positive Wmaybe-uninitialized warning
@ 2018-06-08  5:03 91% Nathan Chancellor
  2018-06-08  5:07 99% ` Nathan Chancellor
  0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-06-08  5:03 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable; +Cc: Arnd Bergmann, Mike Snitzer, Nathan Chancellor

From: Arnd Bergmann <arnd@arndb.de>

commit 590347e4000356f55eb10b03ced2686bd74dab40 upstream.

gcc-6.3 and earlier show a new warning after a seemingly unrelated
change to the arm64 PAGE_KERNEL definition:

In file included from drivers/md/dm-bufio.c:14:0:
drivers/md/dm-bufio.c: In function 'alloc_buffer':
include/linux/sched/mm.h:182:56: warning: 'noio_flag' may be used uninitialized in this function [-Wmaybe-uninitialized]
  current->flags = (current->flags & ~PF_MEMALLOC_NOIO) | flags;
                                                        ^

The same warning happened earlier on linux-3.18 for MIPS and I did a
workaround for that, but now it's come back.

gcc-7 and newer are apparently smart enough to figure this out, and
other architectures don't show it, so the best I could come up with is
to rework the caller slightly in a way that makes it obvious enough to
all arm64 compilers what is happening here.

Fixes: 41acec624087 ("arm64: kpti: Make use of nG dependent on arm64_kernel_unmapped_at_el0()")
Link: https://patchwork.kernel.org/patch/9692829/
Cc: stable@vger.kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[snitzer: moved declarations inside conditional, altered vmalloc return]
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
[nc: Backport to 4.9, adjust context for lack of 19809c2da28a]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/md/dm-bufio.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c
index 3ec647e8b9c6..35fd57fdeba9 100644
--- a/drivers/md/dm-bufio.c
+++ b/drivers/md/dm-bufio.c
@@ -373,9 +373,6 @@ static void __cache_size_refresh(void)
 static void *alloc_buffer_data(struct dm_bufio_client *c, gfp_t gfp_mask,
 			       enum data_mode *data_mode)
 {
-	unsigned noio_flag;
-	void *ptr;
-
 	if (c->block_size <= DM_BUFIO_BLOCK_SIZE_SLAB_LIMIT) {
 		*data_mode = DATA_MODE_SLAB;
 		return kmem_cache_alloc(DM_BUFIO_CACHE(c), gfp_mask);
@@ -399,16 +396,16 @@ static void *alloc_buffer_data(struct dm_bufio_client *c, gfp_t gfp_mask,
 	 * all allocations done by this process (including pagetables) are done
 	 * as if GFP_NOIO was specified.
 	 */
+	if (gfp_mask & __GFP_NORETRY) {
+		unsigned noio_flag = memalloc_noio_save();
+		void *ptr = __vmalloc(c->block_size, gfp_mask | __GFP_HIGHMEM,
+				      PAGE_KERNEL);
 
-	if (gfp_mask & __GFP_NORETRY)
-		noio_flag = memalloc_noio_save();
-
-	ptr = __vmalloc(c->block_size, gfp_mask | __GFP_HIGHMEM, PAGE_KERNEL);
-
-	if (gfp_mask & __GFP_NORETRY)
 		memalloc_noio_restore(noio_flag);
+		return ptr;
+	}
 
-	return ptr;
+	return __vmalloc(c->block_size, gfp_mask | __GFP_HIGHMEM, PAGE_KERNEL);
 }
 
 /*
-- 
2.17.1

^ permalink raw reply related	[relevance 91%]

* Re: [PATCH] dm bufio: avoid false-positive Wmaybe-uninitialized warning
  2018-06-08  5:03 91% [PATCH] dm bufio: avoid false-positive Wmaybe-uninitialized warning Nathan Chancellor
@ 2018-06-08  5:07 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-06-08  5:07 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable; +Cc: Arnd Bergmann, Mike Snitzer

On Thu, Jun 07, 2018 at 10:03:44PM -0700, Nathan Chancellor wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> commit 590347e4000356f55eb10b03ced2686bd74dab40 upstream.
> 
> gcc-6.3 and earlier show a new warning after a seemingly unrelated
> change to the arm64 PAGE_KERNEL definition:
> 
> In file included from drivers/md/dm-bufio.c:14:0:
> drivers/md/dm-bufio.c: In function 'alloc_buffer':
> include/linux/sched/mm.h:182:56: warning: 'noio_flag' may be used uninitialized in this function [-Wmaybe-uninitialized]
>   current->flags = (current->flags & ~PF_MEMALLOC_NOIO) | flags;
>                                                         ^
> 
> The same warning happened earlier on linux-3.18 for MIPS and I did a
> workaround for that, but now it's come back.
> 
> gcc-7 and newer are apparently smart enough to figure this out, and
> other architectures don't show it, so the best I could come up with is
> to rework the caller slightly in a way that makes it obvious enough to
> all arm64 compilers what is happening here.
> 
> Fixes: 41acec624087 ("arm64: kpti: Make use of nG dependent on arm64_kernel_unmapped_at_el0()")
> Link: https://patchwork.kernel.org/patch/9692829/
> Cc: stable@vger.kernel.org
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> [snitzer: moved declarations inside conditional, altered vmalloc return]
> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
> [nc: Backport to 4.9, adjust context for lack of 19809c2da28a]
> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> ---
>  drivers/md/dm-bufio.c | 17 +++++++----------
>  1 file changed, 7 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c
> index 3ec647e8b9c6..35fd57fdeba9 100644
> --- a/drivers/md/dm-bufio.c
> +++ b/drivers/md/dm-bufio.c
> @@ -373,9 +373,6 @@ static void __cache_size_refresh(void)
>  static void *alloc_buffer_data(struct dm_bufio_client *c, gfp_t gfp_mask,
>  			       enum data_mode *data_mode)
>  {
> -	unsigned noio_flag;
> -	void *ptr;
> -
>  	if (c->block_size <= DM_BUFIO_BLOCK_SIZE_SLAB_LIMIT) {
>  		*data_mode = DATA_MODE_SLAB;
>  		return kmem_cache_alloc(DM_BUFIO_CACHE(c), gfp_mask);
> @@ -399,16 +396,16 @@ static void *alloc_buffer_data(struct dm_bufio_client *c, gfp_t gfp_mask,
>  	 * all allocations done by this process (including pagetables) are done
>  	 * as if GFP_NOIO was specified.
>  	 */
> +	if (gfp_mask & __GFP_NORETRY) {
> +		unsigned noio_flag = memalloc_noio_save();
> +		void *ptr = __vmalloc(c->block_size, gfp_mask | __GFP_HIGHMEM,
> +				      PAGE_KERNEL);
>  
> -	if (gfp_mask & __GFP_NORETRY)
> -		noio_flag = memalloc_noio_save();
> -
> -	ptr = __vmalloc(c->block_size, gfp_mask | __GFP_HIGHMEM, PAGE_KERNEL);
> -
> -	if (gfp_mask & __GFP_NORETRY)
>  		memalloc_noio_restore(noio_flag);
> +		return ptr;
> +	}
>  
> -	return ptr;
> +	return __vmalloc(c->block_size, gfp_mask | __GFP_HIGHMEM, PAGE_KERNEL);
>  }
>  
>  /*
> -- 
> 2.17.1
> 

Gah, sorry, forgot to add a prefix. This should only be applied to 4.9,
it's already present in 4.14 and it isn't needed for 4.4.

Cheers!
Nathan

^ permalink raw reply	[relevance 99%]

* [PATCH 4.9] dm bufio: avoid false-positive Wmaybe-uninitialized warning
@ 2018-06-11 16:05 88% Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-06-11 16:05 UTC (permalink / raw)
  To: Greg Kroah-Hartman, stable; +Cc: Arnd Bergmann, Mike Snitzer, Nathan Chancellor

From: Arnd Bergmann <arnd@arndb.de>

commit 590347e4000356f55eb10b03ced2686bd74dab40 upstream.

gcc-6.3 and earlier show a new warning after a seemingly unrelated
change to the arm64 PAGE_KERNEL definition:

In file included from drivers/md/dm-bufio.c:14:0:
drivers/md/dm-bufio.c: In function 'alloc_buffer':
include/linux/sched/mm.h:182:56: warning: 'noio_flag' may be used uninitialized in this function [-Wmaybe-uninitialized]
  current->flags = (current->flags & ~PF_MEMALLOC_NOIO) | flags;
                                                        ^

The same warning happened earlier on linux-3.18 for MIPS and I did a
workaround for that, but now it's come back.

gcc-7 and newer are apparently smart enough to figure this out, and
other architectures don't show it, so the best I could come up with is
to rework the caller slightly in a way that makes it obvious enough to
all arm64 compilers what is happening here.

Fixes: 41acec624087 ("arm64: kpti: Make use of nG dependent on arm64_kernel_unmapped_at_el0()")
Link: https://patchwork.kernel.org/patch/9692829/
Cc: stable@vger.kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[snitzer: moved declarations inside conditional, altered vmalloc return]
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
[nc: Backport to 4.9, adjust context for lack of 19809c2da28a]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---

Hi Greg,

Resending this with a proper prefix and message, in case the other one
fell through the cracks. I came across this warning when building with
Google's stock GCC 4.9 toolchain on the OnePlus 6. Context was adjusted
around lack of commit 19809c2da28a ("mm, vmalloc: use __GFP_HIGHMEM
implicitly") in 4.9. Please apply when you get a chance.

Thanks!
Nathan

 drivers/md/dm-bufio.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c
index 3ec647e8b9c6..35fd57fdeba9 100644
--- a/drivers/md/dm-bufio.c
+++ b/drivers/md/dm-bufio.c
@@ -373,9 +373,6 @@ static void __cache_size_refresh(void)
 static void *alloc_buffer_data(struct dm_bufio_client *c, gfp_t gfp_mask,
 			       enum data_mode *data_mode)
 {
-	unsigned noio_flag;
-	void *ptr;
-
 	if (c->block_size <= DM_BUFIO_BLOCK_SIZE_SLAB_LIMIT) {
 		*data_mode = DATA_MODE_SLAB;
 		return kmem_cache_alloc(DM_BUFIO_CACHE(c), gfp_mask);
@@ -399,16 +396,16 @@ static void *alloc_buffer_data(struct dm_bufio_client *c, gfp_t gfp_mask,
 	 * all allocations done by this process (including pagetables) are done
 	 * as if GFP_NOIO was specified.
 	 */
+	if (gfp_mask & __GFP_NORETRY) {
+		unsigned noio_flag = memalloc_noio_save();
+		void *ptr = __vmalloc(c->block_size, gfp_mask | __GFP_HIGHMEM,
+				      PAGE_KERNEL);
 
-	if (gfp_mask & __GFP_NORETRY)
-		noio_flag = memalloc_noio_save();
-
-	ptr = __vmalloc(c->block_size, gfp_mask | __GFP_HIGHMEM, PAGE_KERNEL);
-
-	if (gfp_mask & __GFP_NORETRY)
 		memalloc_noio_restore(noio_flag);
+		return ptr;
+	}
 
-	return ptr;
+	return __vmalloc(c->block_size, gfp_mask | __GFP_HIGHMEM, PAGE_KERNEL);
 }
 
 /*
-- 
2.17.1

^ permalink raw reply related	[relevance 88%]

* Re: [PATCH 4.9] dm bufio: avoid false-positive Wmaybe-uninitialized warning
  @ 2018-06-12 16:37 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-06-12 16:37 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: stable, Arnd Bergmann, Mike Snitzer

On Tue, Jun 12, 2018 at 06:12:13PM +0200, Greg Kroah-Hartman wrote:
> On Mon, Jun 11, 2018 at 09:05:33AM -0700, Nathan Chancellor wrote:
> > From: Arnd Bergmann <arnd@arndb.de>
> > 
> > commit 590347e4000356f55eb10b03ced2686bd74dab40 upstream.
> > 
> > gcc-6.3 and earlier show a new warning after a seemingly unrelated
> > change to the arm64 PAGE_KERNEL definition:
> > 
> > In file included from drivers/md/dm-bufio.c:14:0:
> > drivers/md/dm-bufio.c: In function 'alloc_buffer':
> > include/linux/sched/mm.h:182:56: warning: 'noio_flag' may be used uninitialized in this function [-Wmaybe-uninitialized]
> >   current->flags = (current->flags & ~PF_MEMALLOC_NOIO) | flags;
> >                                                         ^
> > 
> > The same warning happened earlier on linux-3.18 for MIPS and I did a
> > workaround for that, but now it's come back.
> > 
> > gcc-7 and newer are apparently smart enough to figure this out, and
> > other architectures don't show it, so the best I could come up with is
> > to rework the caller slightly in a way that makes it obvious enough to
> > all arm64 compilers what is happening here.
> > 
> > Fixes: 41acec624087 ("arm64: kpti: Make use of nG dependent on arm64_kernel_unmapped_at_el0()")
> > Link: https://patchwork.kernel.org/patch/9692829/
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > [snitzer: moved declarations inside conditional, altered vmalloc return]
> > Signed-off-by: Mike Snitzer <snitzer@redhat.com>
> > [nc: Backport to 4.9, adjust context for lack of 19809c2da28a]
> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> > ---
> > 
> > Hi Greg,
> > 
> > Resending this with a proper prefix and message, in case the other one
> > fell through the cracks. I came across this warning when building with
> > Google's stock GCC 4.9 toolchain on the OnePlus 6. Context was adjusted
> > around lack of commit 19809c2da28a ("mm, vmalloc: use __GFP_HIGHMEM
> > implicitly") in 4.9. Please apply when you get a chance.
> 
> Now queued up, thanks.  The other one was still in my queue, give me a
> chance to catch up :)
> 
> greg k-h

Sorry, didn't realize you were behind :/

Thanks for the timely response on this one!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 00/31] 4.9.108-stable review
  @ 2018-06-12 17:10 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-06-12 17:10 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Jun 12, 2018 at 06:46:03PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.108 release.
> There are 31 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 Thu Jun 14 16:46:09 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.9.108-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed on to my OnePlus 6.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/24] 4.4.137-stable review
  @ 2018-06-12 18:17 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-06-12 18:17 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Jun 12, 2018 at 06:51:44PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.137 release.
> There are 24 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 Thu Jun 14 16:48:07 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.137-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
> 

Merged, compiled with -Werror, and installed on my Pixel 2 XL and
OnePlus 5.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 3.18 00/21] 3.18.113-stable review
  @ 2018-06-12 18:19 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-06-12 18:19 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Jun 12, 2018 at 06:51:57PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.18.113 release.
> There are 21 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 Thu Jun 14 16:48:15 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/v3.x/stable-review/patch-3.18.113-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-3.18.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed on my Pixel XL.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 00/30] 4.9.109-stable review
  @ 2018-06-14 16:49 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-06-14 16:49 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Thu, Jun 14, 2018 at 04:04:41PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.109 release.
> There are 30 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 Sat Jun 16 13:25:48 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.9.109-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my OnePlus 6.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/24] 4.4.138-stable review
  @ 2018-06-14 16:57 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-06-14 16:57 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Thu, Jun 14, 2018 at 04:04:55PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.138 release.
> There are 24 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 Sat Jun 16 13:27:15 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.138-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
> 

Merged, compiled with -Werror, and installed onto my Pixel 2 XL and
OnePlus 5.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 00/39] 4.9.110-stable review
  @ 2018-06-24 17:44 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-06-24 17:44 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Sun, Jun 24, 2018 at 11:23:47PM +0800, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.110 release.
> There are 39 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 Tue Jun 26 15:23:25 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.9.110-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my OnePlus 6.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 3.18 00/85] 3.18.114-stable review
  @ 2018-07-01 19:37 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-01 19:37 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Sun, Jul 01, 2018 at 06:01:18PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.18.114 release.
> There are 85 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 Tue Jul  3 15:31:04 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/v3.x/stable-review/patch-3.18.114-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-3.18.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my Pixel XL.

No initial issues noticed in dmesg or general usage.

Thanks,
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 000/105] 4.4.139-stable review
  @ 2018-07-01 19:38 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-01 19:38 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Sun, Jul 01, 2018 at 06:01:10PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.139 release.
> There are 105 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 Tue Jul  3 15:31:30 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.139-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
> 

Merged, compiled with -Werror, and installed onto my Pixel 2 XL and
OnePlus 5.

No initial issues noticed in dmesg or general usage.

Thanks,
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 000/101] 4.9.111-stable review
  @ 2018-07-01 19:39 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-01 19:39 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Sun, Jul 01, 2018 at 06:20:46PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.111 release.
> There are 101 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 Tue Jul  3 16:07:40 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.9.111-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my OnePlus 6.

No initial issues noticed in dmesg or general usage.

Thanks,
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 3.18 00/23] 3.18.115-stable review
  @ 2018-07-10 19:09 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-10 19:09 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Jul 10, 2018 at 08:24:33PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.18.115 release.
> There are 23 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 Thu Jul 12 18:22:59 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/v3.x/stable-review/patch-3.18.115-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-3.18.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed on my Pixel XL.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 00/52] 4.9.112-stable review
  @ 2018-07-10 19:09 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-10 19:09 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Jul 10, 2018 at 08:24:28PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.112 release.
> There are 52 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 Thu Jul 12 18:24:30 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.9.112-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed on my OnePlus 6.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/47] 4.4.140-stable review
  @ 2018-07-10 19:10 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-10 19:10 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Jul 10, 2018 at 08:24:24PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.140 release.
> There are 47 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 Thu Jul 12 18:23:24 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.140-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
> 

Merged, compiled with -Werror, and installed on my Pixel 2 XL and
OnePlus 5.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 00/32] 4.9.113-stable review
  @ 2018-07-16 13:55 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-16 13:55 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Jul 16, 2018 at 09:36:08AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.113 release.
> There are 32 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 Wed Jul 18 07:34:43 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.9.113-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my OnePlus 6.

No issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/43] 4.4.141-stable review
  @ 2018-07-16 13:55 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-16 13:55 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Jul 16, 2018 at 09:36:05AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.141 release.
> There are 43 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 Wed Jul 18 07:34:50 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.141-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
> 

Merged, compiled with -Werror, and installed onto my Pixel 2 XL.

No issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.17 00/67] 4.17.7-stable review
  @ 2018-07-16 16:40 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-16 16:40 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Greg Kroah-Hartman, linux-kernel, torvalds, akpm, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Jul 16, 2018 at 09:33:38AM -0700, Guenter Roeck wrote:
> On Mon, Jul 16, 2018 at 09:34:29AM +0200, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 4.17.7 release.
> > There are 67 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 Wed Jul 18 07:34:11 UTC 2018.
> > Anything received after that time might be too late.
> > 
> 
> Build results:
> 	total: 134 pass: 134 fail: 0
> Qemu test results:
> 	total: 171 pass: 159 fail: 12
> Failed tests: 
> 	i386:Broadwell:q35:defconfig:smp:rootfs 
> 	i386:Skylake-Client:q35:defconfig:smp:rootfs 
> 	i386:SandyBridge:q35:defconfig:smp:rootfs
> 	i386:Haswell:pc:defconfig:smp:rootfs 
> 	i386:Nehalem:q35:defconfig:smp:rootfs 
> 	i386:phenom:pc:defconfig:smp:rootfs 
> 	i386:Opteron_G5:q35:defconfig:smp:initrd 
> 	i386:Westmere:q35:defconfig:smp:initrd 
> 	i386:core2duo:q35:defconfig:nosmp:rootfs 
> 	i386:Conroe:pc:defconfig:nosmp:rootfs 
> 	i386:Opteron_G1:pc:defconfig:nosmp:initrd
> 	i386:n270:q35:defconfig:nosmp:rootfs
> 
> All 32-bit i386 boot tests crash.
> 
> [    0.000000] BUG: unable to handle kernel NULL pointer dereference at 00000000
> [    0.000000] *pde = 00000000 
> [    0.000000] Oops: 0002 [#1] SMP
> [    0.000000] Modules linked in:
> [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.17.7-rc1+ #1
> [    0.000000] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.11.1-0-g0551a4be2c-prebuilt.qemu-project.org 04/01/24
> [    0.000000] EIP: zero_resv_unavail+0x9b/0x103
> [    0.000000] EFLAGS: 00200002 CPU: 0
> [    0.000000] EAX: 00000000 EBX: 00000000 ECX: 00000008 EDX: 00000000
> [    0.000000] ESI: c6bc5e90 EDI: 00000000 EBP: c6bc5eac ESP: c6bc5e80
> [    0.000000]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
> [    0.000000] CR0: 80050033 CR2: 00000000 CR3: 06d67000 CR4: 00040690
> [    0.000000] Call Trace:
> [    0.000000]  free_area_init_nodes+0x407/0x44c
> [    0.000000]  zone_sizes_init+0x45/0x5c
> [    0.000000]  paging_init+0xac/0xaf
> [    0.000000]  native_pagetable_init+0xc6/0xce
> [    0.000000]  setup_arch+0x9c6/0xb18
> [    0.000000]  start_kernel+0x4f/0x3d2
> [    0.000000]  ? idt_setup_early_handler+0x2b/0x3e
> [    0.000000]  i386_start_kernel+0x95/0x99
> [    0.000000]  startup_32_smp+0x164/0x168
> 
> Guenter

I think this is caused by 3e3eda67092b ("mm: zero available pages before
memmap init"). A fix for it was posted to the mailing list this morning:
https://lore.kernel.org/lkml/20180716151630.770-1-pasha.tatashin@oracle.com/

Cheers,
Nathan

^ permalink raw reply	[relevance 99%]

* Re: Linux 4.17.7
  @ 2018-07-17 11:11 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-17 11:11 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-kernel, Andrew Morton, torvalds, stable, lwn, Jiri Slaby

On Tue, Jul 17, 2018 at 12:59:29PM +0200, Greg KH wrote:
> NOTE, this kernel release is broken for i386 systems.  If you are
> running such a machine, do NOT update to this release, you will not be
> able to boot properly.
> 
> I did this release anyway with this known problem as there is a fix in
> here for x86-64 systems that was nasty to track down and was affecting
> people.  Given that the huge majority of systems are NOT i386, I felt
> this was a safe release to do at this point in time.
> 
> Once the proper fix for i386 systems has been accepted into Linus's tree
> (it has been posted already), I will pick it up and do a new 4.17.y
> release so that users of those systems can update.
> 

Just a heads up, it was picked up by Linux yesterday but it wasn't
tagged for stable: d1b47a7c9efc ("mm: don't do zero_resv_unavail if
memmap is not allocated").

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 3.18 00/29] 3.18.116-stable review
  @ 2018-07-20 13:33 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-20 13:33 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Jul 20, 2018 at 02:10:55PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.18.116 release.
> There are 29 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 Sun Jul 22 11:51:47 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/v3.x/stable-review/patch-3.18.116-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-3.18.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my Pixel XL.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/31] 4.4.143-stable review
  @ 2018-07-20 13:34 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-20 13:34 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Jul 20, 2018 at 02:13:30PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.143 release.
> There are 31 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 Sun Jul 22 12:13:28 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.143-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
> 

Merged, compiled with -Werror, and installed onto my Pixel 2 XL.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 00/66] 4.9.114-stable review
  @ 2018-07-20 13:34 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-20 13:34 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Jul 20, 2018 at 02:13:17PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.114 release.
> There are 66 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 Sun Jul 22 12:13:47 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.9.114-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my OnePlus 6.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 000/107] 4.4.144-stable review
  @ 2018-07-23 15:11 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-23 15:11 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Jul 23, 2018 at 02:40:54PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.144 release.
> There are 107 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 Wed Jul 25 12:23:53 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.144-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
> 

Merged, compiled with -Werror, and installed onto my Pixel 2 XL.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 00/28] 4.9.115-stable review
  @ 2018-07-23 15:12 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-23 15:12 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Mon, Jul 23, 2018 at 02:25:00PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.115 release.
> There are 28 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 Wed Jul 25 12:24:13 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.9.115-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my OnePlus 6.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 3.18 00/27] 3.18.117-stable review
  @ 2018-07-27 12:21 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-27 12:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Jul 27, 2018 at 12:26:37PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.18.117 release.
> There are 27 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 Sun Jul 29 10:26:38 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/v3.x/stable-review/patch-3.18.117-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-3.18.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my Pixel XL.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 00/33] 4.9.116-stable review
  @ 2018-07-27 12:21 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-27 12:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Jul 27, 2018 at 12:08:41PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.116 release.
> There are 33 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 Sun Jul 29 10:08:17 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.9.116-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my OnePlus 6.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/23] 4.4.145-stable review
  @ 2018-07-27 12:22 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-27 12:22 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Fri, Jul 27, 2018 at 12:09:01PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.145 release.
> There are 23 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 Sun Jul 29 10:08:37 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.145-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
> 

Merged, compiled with -Werror, and installed onto my Pixel 2 XL.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH] kernel.h: Disable -Wreturn-stack-address for _THIS_IP_
  @ 2018-07-30 18:39 93% ` Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-07-30 18:39 UTC (permalink / raw)
  To: Nick Desaulniers
  Cc: akpm, mka, ghackmann, ghackmann, stable, Kees Cook, Ingo Molnar,
	Greg Kroah-Hartman, Josh Poimboeuf, Wei Wang, Masahiro Yamada,
	Randy Dunlap, NeilBrown, linux-kernel

On Mon, Jul 30, 2018 at 10:06:20AM -0700, Nick Desaulniers wrote:
> Starting with Clang-7.0, _THIS_IP_ generates -Wreturn-stack-address
> warnings for almost every translation unit. In general, I'd prefer to
> leave this on (returning the address of a stack allocated variable is in
> general a bad idea) and disable it only at whitelisted call sites.
> 
> We can't do something like:
>  #pragma clang diagnostic push
>  #pragma clang diagnostic ignored "-Wreturn-stack-address"
>  <code>
>  #pragma clang diagnostic pop
> 
> in a GNU Statement Expression or macro, hence we use _Pragma, which is
> its raison d'être: https://gcc.gnu.org/onlinedocs/cpp/Pragmas.html
> 
> Cc: stable@vger.kernel.org # 4.17, 4.14, 4.9, 4.4
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> ---
>  include/linux/kernel.h | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> index 941dc0a5a877..5906f5727f90 100644
> --- a/include/linux/kernel.h
> +++ b/include/linux/kernel.h
> @@ -168,7 +168,15 @@
>  
>  
>  #define _RET_IP_		(unsigned long)__builtin_return_address(0)
> -#define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
> +#define _THIS_IP_  (							\
> +{									\
> +	_Pragma("clang diagnostic push")				\
> +	_Pragma("clang diagnostic ignored \"-Wreturn-stack-address\"")	\
> +	__label__ __here;						\
> +__here: (unsigned long)&&__here;					\
> +	_Pragma("clang diagnostic pop")					\
> +}									\
> +)
>  
>  #ifdef CONFIG_LBDAF
>  # include <asm/div64.h>
> -- 
> 2.18.0.233.g985f88cf7e-goog
> 

This generates a ton of warnings with GCC:

In file included from ./include/linux/spinlock.h:58,
                 from ./include/linux/mmzone.h:8,
                 from ./include/linux/gfp.h:6,
                 from ./include/linux/slab.h:15,
                 from ./include/linux/crypto.h:24,
                 from arch/x86/kernel/asm-offsets.c:9:
./include/linux/bottom_half.h: In function ‘local_bh_disable’:
./include/linux/bottom_half.h:19: error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]
  __local_bh_disable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);

./include/linux/bottom_half.h:19: error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]   
./include/linux/bottom_half.h:19: error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]                             
./include/linux/bottom_half.h: In function ‘local_bh_enable’:
./include/linux/bottom_half.h:32: error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]
  __local_bh_enable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);

./include/linux/bottom_half.h:32: error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]
./include/linux/bottom_half.h:32: error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]
cc1: all warnings being treated as errors
make[1]: *** [Kbuild:56: arch/x86/kernel/asm-offsets.s] Error 1
make: *** [Makefile:1081: prepare0] Error 2

A proper solution is probably going to involve what was done for the
-Wattribute-alias warnings from GCC 8 in commits 8793bb7f4a9d ("kbuild:
add macro for controlling warnings to linux/compiler.h") and
bee20031772a ("disable -Wattribute-alias warning for SYSCALL_DEFINEx()")

I'll take a look at it in a bit unless someone beats me to it.

Thanks!
Nathan

^ permalink raw reply	[relevance 93%]

* Re: [PATCH] kernel.h: Disable -Wreturn-stack-address for _THIS_IP_
  @ 2018-07-30 20:01 99%     ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-30 20:01 UTC (permalink / raw)
  To: Nick Desaulniers
  Cc: Andrew Morton, Matthias Kaehlcke, ghackmann, Greg Hackmann,
	stable, Kees Cook, Ingo Molnar, Greg KH, Josh Poimboeuf,
	Wei Wang, Masahiro Yamada, rdunlap, neilb, LKML

On Mon, Jul 30, 2018 at 12:48:06PM -0700, Nick Desaulniers wrote:
> On Mon, Jul 30, 2018 at 11:39 AM Nathan Chancellor
> <natechancellor@gmail.com> wrote:
> >
> > On Mon, Jul 30, 2018 at 10:06:20AM -0700, Nick Desaulniers wrote:
> > > Starting with Clang-7.0, _THIS_IP_ generates -Wreturn-stack-address
> > > warnings for almost every translation unit. In general, I'd prefer to
> > > leave this on (returning the address of a stack allocated variable is in
> > > general a bad idea) and disable it only at whitelisted call sites.
> > >
> > > We can't do something like:
> > >  #pragma clang diagnostic push
> > >  #pragma clang diagnostic ignored "-Wreturn-stack-address"
> > >  <code>
> > >  #pragma clang diagnostic pop
> > >
> > > in a GNU Statement Expression or macro, hence we use _Pragma, which is
> > > its raison d'être: https://gcc.gnu.org/onlinedocs/cpp/Pragmas.html
> > >
> > > Cc: stable@vger.kernel.org # 4.17, 4.14, 4.9, 4.4
> > > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> > > ---
> > >  include/linux/kernel.h | 10 +++++++++-
> > >  1 file changed, 9 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> > > index 941dc0a5a877..5906f5727f90 100644
> > > --- a/include/linux/kernel.h
> > > +++ b/include/linux/kernel.h
> > > @@ -168,7 +168,15 @@
> > >
> > >
> > >  #define _RET_IP_             (unsigned long)__builtin_return_address(0)
> > > -#define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
> > > +#define _THIS_IP_  (                                                 \
> > > +{                                                                    \
> > > +     _Pragma("clang diagnostic push")                                \
> > > +     _Pragma("clang diagnostic ignored \"-Wreturn-stack-address\"")  \
> > > +     __label__ __here;                                               \
> > > +__here: (unsigned long)&&__here;                                     \
> > > +     _Pragma("clang diagnostic pop")                                 \
> > > +}                                                                    \
> > > +)
> > >
> > >  #ifdef CONFIG_LBDAF
> > >  # include <asm/div64.h>
> > > --
> > > 2.18.0.233.g985f88cf7e-goog
> > >
> >
> > This generates a ton of warnings with GCC:
> >
> > In file included from ./include/linux/spinlock.h:58,
> >                  from ./include/linux/mmzone.h:8,
> >                  from ./include/linux/gfp.h:6,
> >                  from ./include/linux/slab.h:15,
> >                  from ./include/linux/crypto.h:24,
> >                  from arch/x86/kernel/asm-offsets.c:9:
> > ./include/linux/bottom_half.h: In function ‘local_bh_disable’:
> > ./include/linux/bottom_half.h:19: error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]
> >   __local_bh_disable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);
> >
> > ./include/linux/bottom_half.h:19: error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]
> > ./include/linux/bottom_half.h:19: error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]
> > ./include/linux/bottom_half.h: In function ‘local_bh_enable’:
> > ./include/linux/bottom_half.h:32: error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]
> >   __local_bh_enable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);
> >
> > ./include/linux/bottom_half.h:32: error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]
> > ./include/linux/bottom_half.h:32: error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]
> > cc1: all warnings being treated as errors
> > make[1]: *** [Kbuild:56: arch/x86/kernel/asm-offsets.s] Error 1
> > make: *** [Makefile:1081: prepare0] Error 2
> 
> Ah, good catch.  I thought I had tested locally with gcc-8, but it
> seems that it was likely only godbolt.  I do see the errors locally
> when building with gcc-8.
> 
> >
> > A proper solution is probably going to involve what was done for the
> > -Wattribute-alias warnings from GCC 8 in commits 8793bb7f4a9d ("kbuild:
> > add macro for controlling warnings to linux/compiler.h") and
> > bee20031772a ("disable -Wattribute-alias warning for SYSCALL_DEFINEx()")
> >
> > I'll take a look at it in a bit unless someone beats me to it.
> 
> I'll fix this up, triple check with gcc-8, and attribute you in the
> Suggested-by tag.  Thank you for verifying.
> -- 
> Thanks,
> ~Nick Desaulniers

I forgot to mention there is a similar macro that will need this same
fix in arch/arm64/include/asm/processor.h (current_text_addr), if you
want to tackle it in v2. Do CC me on the next series so that I can test,
thank you for doing this!

Cheers,
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH v2 2/2] kernel.h: Disable -Wreturn-stack-address for _THIS_IP_
  @ 2018-07-30 23:25 99%     ` Nathan Chancellor
    1 sibling, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-30 23:25 UTC (permalink / raw)
  To: Nick Desaulniers
  Cc: akpm, arnd, paul.burton, christophe.leroy, shorne,
	yamada.masahiro, keescook, mingo, gregkh, tglx, rdunlap, bp,
	neilb, linux-kernel, aryabinin, dwmw, sandipan, linux,
	paullawrence, andreyknvl, will.deacon, ghackmann, stable,
	ghackmann, mka, jpoimboe, wvw, avagin

On Mon, Jul 30, 2018 at 02:34:12PM -0700, Nick Desaulniers wrote:
> Starting with Clang-7.0, _THIS_IP_ generates -Wreturn-stack-address
> warnings for almost every translation unit. In general, I'd prefer to
> leave this on (returning the address of a stack allocated variable is in
> general a bad idea) and disable it only at whitelisted call sites.
> 
> We can't do something like:
>  #pragma clang diagnostic push
>  #pragma clang diagnostic ignored "-Wreturn-stack-address"
>  <code>
>  #pragma clang diagnostic pop
> 
> in a GNU Statement Expression or macro, hence we use _Pragma, which is
> its raison d'être: https://gcc.gnu.org/onlinedocs/cpp/Pragmas.html
> 
> We also can't use compiler specific pragma's without triggering
> -Werror=unknown-pragmas in other compilers, so use __diag.
> 
> Cc: stable@vger.kernel.org # 4.17, 4.14, 4.9, 4.4
> Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

Tested-and-reviewed-by: Nathan Chancellor <natechancellor@gmail.com>

> ---
>  include/linux/kernel.h | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> index 941dc0a5a877..909bb771c0ca 100644
> --- a/include/linux/kernel.h
> +++ b/include/linux/kernel.h
> @@ -168,7 +168,15 @@
>  
>  
>  #define _RET_IP_		(unsigned long)__builtin_return_address(0)
> -#define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
> +#define _THIS_IP_  (							\
> +{									\
> +	__label__ __here;						\
> +	__diag_push()							\
> +	__diag_ignore(CLANG, 7, "-Wreturn-stack-address", "")		\
> +__here: (unsigned long)&&__here;					\
> +	__diag_pop()							\
> +}									\
> +)
>  
>  #ifdef CONFIG_LBDAF
>  # include <asm/div64.h>
> -- 
> 2.18.0.345.g5c9ce644c3-goog
> 

^ permalink raw reply	[relevance 99%]

* Re: [PATCH v2 1/2] compiler-clang.h: Add CLANG_VERSION and __diag macros
  @ 2018-07-30 23:25 99%   ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-30 23:25 UTC (permalink / raw)
  To: Nick Desaulniers
  Cc: akpm, arnd, paul.burton, christophe.leroy, shorne,
	yamada.masahiro, keescook, mingo, gregkh, tglx, rdunlap, bp,
	neilb, linux-kernel, aryabinin, dwmw, sandipan, linux,
	paullawrence, andreyknvl, will.deacon, ghackmann, stable,
	ghackmann, mka, jpoimboe, wvw, avagin

On Mon, Jul 30, 2018 at 02:34:11PM -0700, Nick Desaulniers wrote:
> These are needed for doing proper version checks, though feature
> detection via __has_attribute,  __has_builtin, and __has_feature should
> be preferred, see:
> https://clang.llvm.org/docs/LanguageExtensions.html#feature-checking-macros
> 
> Also adds __diag support, for generating compiler version specific
> _Pragma()'s.
> 
> __diag support based on commit 8793bb7f4a9d ("kbuild: add macro for
> controlling warnings to linux/compiler.h")
> 
> Cc: stable@vger.kernel.org # 4.17, 4.14, 4.9, 4.4
> Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

Tested-and-reviewed-by: Nathan Chancellor <natechancellor@gmail.com>

> ---
>  include/linux/compiler-clang.h | 19 +++++++++++++++++++
>  include/linux/compiler_types.h |  4 ++++
>  2 files changed, 23 insertions(+)
> 
> diff --git a/include/linux/compiler-clang.h b/include/linux/compiler-clang.h
> index 7087446c24c8..9442e07a361e 100644
> --- a/include/linux/compiler-clang.h
> +++ b/include/linux/compiler-clang.h
> @@ -7,6 +7,10 @@
>   * for Clang compiler
>   */
>  
> +#define CLANG_VERSION (__clang_major__ * 10000	\
> +		       + __clang_minor__ * 100	\
> +		       + __clang_patchlevel__)
> +

I know this was done to be consistent with GCC_VERSION but certain
toolchains may set the patch level to the SVN revision (at least that's
what it appears to be) like AOSP's clang-4053586, which would make
CLANG_VERSION 350080. For this particular warning, it doesn't matter
since Clang has supported it since 2011 and Clang 5.0 isn't supported
in this tree anyways but maybe relying on just __clang_major__ below
is more ideal.

Other than that, patch functions just as it should.

>  #ifdef uninitialized_var
>  #undef uninitialized_var
>  #define uninitialized_var(x) x = *(&(x))
> @@ -46,3 +50,18 @@
>      __has_builtin(__builtin_sub_overflow)
>  #define COMPILER_HAS_GENERIC_BUILTIN_OVERFLOW 1
>  #endif
> +
> +#define __diag_str1(s) #s
> +#define __diag_str(s) __diag_str1(s)
> +#define __diag(s) _Pragma(__diag_str(clang diagnostic s))
> +#define __diag_CLANG_ignore ignored
> +#define __diag_CLANG_warn warning
> +#define __diag_CLANG_error error
> +#define __diag_CLANG(version, severity, s) \
> +	__diag_CLANG_ ## version(__diag_CLANG_ ## severity s)
> +
> +#if CLANG_VERSION >= 70000
> +#define __diag_CLANG_7(s) __diag(s)
> +#else
> +#define __diag_CLANG_7(s)
> +#endif
> diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
> index a8ba6b04152c..a04e6bd63476 100644
> --- a/include/linux/compiler_types.h
> +++ b/include/linux/compiler_types.h
> @@ -279,6 +279,10 @@ struct ftrace_likely_data {
>  #define __diag_GCC(version, severity, string)
>  #endif
>  
> +#ifndef __diag_CLANG
> +#define __diag_CLANG(version, severity, string)
> +#endif
> +
>  #define __diag_push()	__diag(push)
>  #define __diag_pop()	__diag(pop)
>  
> -- 
> 2.18.0.345.g5c9ce644c3-goog
> 

^ permalink raw reply	[relevance 99%]

* Re: [PATCH v2 2/2] kernel.h: Disable -Wreturn-stack-address for _THIS_IP_
@ 2018-07-30 23:25 99%     ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-30 23:25 UTC (permalink / raw)
  To: Nick Desaulniers
  Cc: akpm, arnd, paul.burton, christophe.leroy, shorne,
	yamada.masahiro, keescook, mingo, gregkh, tglx, rdunlap, bp,
	neilb, linux-kernel, aryabinin, dwmw, sandipan, linux,
	paullawrence, andreyknvl, will.deacon, ghackmann, stable,
	ghackmann, mka, jpoimboe, wvw, avagin

On Mon, Jul 30, 2018 at 02:34:12PM -0700, Nick Desaulniers wrote:
> Starting with Clang-7.0, _THIS_IP_ generates -Wreturn-stack-address
> warnings for almost every translation unit. In general, I'd prefer to
> leave this on (returning the address of a stack allocated variable is in
> general a bad idea) and disable it only at whitelisted call sites.
> 
> We can't do something like:
>  #pragma clang diagnostic push
>  #pragma clang diagnostic ignored "-Wreturn-stack-address"
>  <code>
>  #pragma clang diagnostic pop
> 
> in a GNU Statement Expression or macro, hence we use _Pragma, which is
> its raison d'�tre: https://gcc.gnu.org/onlinedocs/cpp/Pragmas.html
> 
> We also can't use compiler specific pragma's without triggering
> -Werror=unknown-pragmas in other compilers, so use __diag.
> 
> Cc: stable@vger.kernel.org # 4.17, 4.14, 4.9, 4.4
> Suggested-by: Nathan Chancellor <natechancellor@gmail.com>
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

Tested-and-reviewed-by: Nathan Chancellor <natechancellor@gmail.com>

> ---
>  include/linux/kernel.h | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> index 941dc0a5a877..909bb771c0ca 100644
> --- a/include/linux/kernel.h
> +++ b/include/linux/kernel.h
> @@ -168,7 +168,15 @@
>  
>  
>  #define _RET_IP_		(unsigned long)__builtin_return_address(0)
> -#define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
> +#define _THIS_IP_  (							\
> +{									\
> +	__label__ __here;						\
> +	__diag_push()							\
> +	__diag_ignore(CLANG, 7, "-Wreturn-stack-address", "")		\
> +__here: (unsigned long)&&__here;					\
> +	__diag_pop()							\
> +}									\
> +)
>  
>  #ifdef CONFIG_LBDAF
>  # include <asm/div64.h>
> -- 
> 2.18.0.345.g5c9ce644c3-goog
> 

^ permalink raw reply	[relevance 99%]

* Re: [PATCH v2 2/2] kernel.h: Disable -Wreturn-stack-address for _THIS_IP_
  @ 2018-07-31 17:02 99%       ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-07-31 17:02 UTC (permalink / raw)
  To: Nick Desaulniers
  Cc: lkp, kbuild-all, Andrew Morton, Arnd Bergmann, paul.burton,
	christophe.leroy, shorne, Masahiro Yamada, Kees Cook,
	Ingo Molnar, Greg KH, Thomas Gleixner, rdunlap, bp, neilb, LKML,
	Andrey Ryabinin, dwmw, sandipan, linux, Paul Lawrence,
	Andrey Konovalov, Will Deacon, ghackmann, stable, Greg Hackmann,
	Matthias Kaehlcke, Josh Poimboeuf, Wei Wang, avagin

On Tue, Jul 31, 2018 at 09:48:57AM -0700, Nick Desaulniers wrote:
> Does anyone understand this error?  The code looks just fine to me,
> and the source file doesn't conflict with any of the macros I've added
> (certainly not in any way that could cause an indentation error as
> reported here).

Unfortunately, I've been trying to work through it this morning and I
can't understand it either. lock_map_acquire_read's defintion does
include _THIS_IP_ and adding curly braces to the if statement fixes it
but that doesn't explain why it's happening.

Maybe this is a GCC bug/issue?

Cheers,
Nathan

> On Tue, Jul 31, 2018 at 3:27 AM kbuild test robot <lkp@intel.com> wrote:
> >
> > Hi Nick,
> >
> > Thank you for the patch! Perhaps something to improve:
> >
> > [auto build test WARNING on linus/master]
> > [also build test WARNING on v4.18-rc7 next-20180727]
> > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
> >
> > url:    https://github.com/0day-ci/linux/commits/Nick-Desaulniers/compiler-clang-h-Add-CLANG_VERSION-and-__diag-macros/20180731-161932
> > config: x86_64-fedora-25 (attached as .config)
> > compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
> > reproduce:
> >         # save the attached .config to linux build tree
> >         make ARCH=x86_64
> >
> > All warnings (new ones prefixed by >>):
> >
> >    drivers/net//wireless/intel/iwlwifi/iwl-trans.c: In function 'iwl_trans_send_cmd':
> > >> drivers/net//wireless/intel/iwlwifi/iwl-trans.c:137:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
> >      if (!(cmd->flags & CMD_ASYNC))
> >      ^~
> >    drivers/net//wireless/intel/iwlwifi/iwl-trans.c:138:1: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
> >       lock_map_acquire_read(&trans->sync_cmd_lockdep_map);
> >     ^ ~
> >
> > vim +/if +137 drivers/net//wireless/intel/iwlwifi/iwl-trans.c
> >
> > 92fe8343 Emmanuel Grumbach 2015-12-01  116
> > 92fe8343 Emmanuel Grumbach 2015-12-01  117  int iwl_trans_send_cmd(struct iwl_trans *trans, struct iwl_host_cmd *cmd)
> > 92fe8343 Emmanuel Grumbach 2015-12-01  118  {
> > 92fe8343 Emmanuel Grumbach 2015-12-01  119      int ret;
> > 92fe8343 Emmanuel Grumbach 2015-12-01  120
> > 92fe8343 Emmanuel Grumbach 2015-12-01  121      if (unlikely(!(cmd->flags & CMD_SEND_IN_RFKILL) &&
> > 326477e4 Johannes Berg     2017-04-25  122                   test_bit(STATUS_RFKILL_OPMODE, &trans->status)))
> > 92fe8343 Emmanuel Grumbach 2015-12-01  123              return -ERFKILL;
> > 92fe8343 Emmanuel Grumbach 2015-12-01  124
> > 92fe8343 Emmanuel Grumbach 2015-12-01  125      if (unlikely(test_bit(STATUS_FW_ERROR, &trans->status)))
> > 92fe8343 Emmanuel Grumbach 2015-12-01  126              return -EIO;
> > 92fe8343 Emmanuel Grumbach 2015-12-01  127
> > 92fe8343 Emmanuel Grumbach 2015-12-01  128      if (unlikely(trans->state != IWL_TRANS_FW_ALIVE)) {
> > 92fe8343 Emmanuel Grumbach 2015-12-01  129              IWL_ERR(trans, "%s bad state = %d\n", __func__, trans->state);
> > 92fe8343 Emmanuel Grumbach 2015-12-01  130              return -EIO;
> > 92fe8343 Emmanuel Grumbach 2015-12-01  131      }
> > 92fe8343 Emmanuel Grumbach 2015-12-01  132
> > 92fe8343 Emmanuel Grumbach 2015-12-01  133      if (WARN_ON((cmd->flags & CMD_WANT_ASYNC_CALLBACK) &&
> > 92fe8343 Emmanuel Grumbach 2015-12-01  134                  !(cmd->flags & CMD_ASYNC)))
> > 92fe8343 Emmanuel Grumbach 2015-12-01  135              return -EINVAL;
> > 92fe8343 Emmanuel Grumbach 2015-12-01  136
> > 92fe8343 Emmanuel Grumbach 2015-12-01 @137      if (!(cmd->flags & CMD_ASYNC))
> > 92fe8343 Emmanuel Grumbach 2015-12-01  138              lock_map_acquire_read(&trans->sync_cmd_lockdep_map);
> > 92fe8343 Emmanuel Grumbach 2015-12-01  139
> > 5b88792c Sara Sharon       2016-08-15  140      if (trans->wide_cmd_header && !iwl_cmd_groupid(cmd->id))
> > 5b88792c Sara Sharon       2016-08-15  141              cmd->id = DEF_ID(cmd->id);
> > 5b88792c Sara Sharon       2016-08-15  142
> > 92fe8343 Emmanuel Grumbach 2015-12-01  143      ret = trans->ops->send_cmd(trans, cmd);
> > 92fe8343 Emmanuel Grumbach 2015-12-01  144
> > 92fe8343 Emmanuel Grumbach 2015-12-01  145      if (!(cmd->flags & CMD_ASYNC))
> > 92fe8343 Emmanuel Grumbach 2015-12-01  146              lock_map_release(&trans->sync_cmd_lockdep_map);
> > 92fe8343 Emmanuel Grumbach 2015-12-01  147
> > 0ec971fd Johannes Berg     2017-04-10  148      if (WARN_ON((cmd->flags & CMD_WANT_SKB) && !ret && !cmd->resp_pkt))
> > 0ec971fd Johannes Berg     2017-04-10  149              return -EIO;
> > 0ec971fd Johannes Berg     2017-04-10  150
> > 92fe8343 Emmanuel Grumbach 2015-12-01  151      return ret;
> > 92fe8343 Emmanuel Grumbach 2015-12-01  152  }
> > 92fe8343 Emmanuel Grumbach 2015-12-01  153  IWL_EXPORT_SYMBOL(iwl_trans_send_cmd);
> > 39bdb17e Sharon Dvir       2015-10-15  154
> >
> > :::::: The code at line 137 was first introduced by commit
> > :::::: 92fe83430b899b786c837e5b716a328220d47ae5 iwlwifi: uninline iwl_trans_send_cmd
> >
> > :::::: TO: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
> > :::::: CC: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
> >
> > ---
> > 0-DAY kernel test infrastructure                Open Source Technology Center
> > https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
> 
> 
> 
> -- 
> Thanks,
> ~Nick Desaulniers

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 000/144] 4.9.117-stable review
  @ 2018-08-01 17:52 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-08-01 17:52 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Wed, Aug 01, 2018 at 06:50:27PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.117 release.
> There are 144 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri Aug  3 16:49:15 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.9.117-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my OnePlus 6.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH] inet/connection_sock: prefer _THIS_IP_ to current_text_addr
  @ 2018-08-02  4:58 98%   ` Nathan Chancellor
  2018-08-02  5:08 99%     ` Nathan Chancellor
  0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-08-02  4:58 UTC (permalink / raw)
  To: David Miller; +Cc: ndesaulniers, netdev, linux-kernel

On Wed, Aug 01, 2018 at 06:42:08PM -0700, David Miller wrote:
> From: Nick Desaulniers <ndesaulniers@google.com>
> Date: Wed,  1 Aug 2018 14:57:59 -0700
> 
> > -			 sk, what, when, current_text_addr());
> > +			 sk, what, when, (void *)_THIS_IP_);
> 
> Is a fugly macro in all caps really better than a function()?
> 
> I'm really surprised that _THIS_IP_ is being chosen over
> current_text_addr(), seriously.

Hi Dave,

current_text_addr is only used in five places in the entire kernel and
this is the only non-architecture specific use.

include/net/inet_connection_sock.h:227:			 sk, what, when, current_text_addr());
arch/sh/include/asm/kexec.h:64:		newregs->pc = (unsigned long)current_text_addr();
arch/sh/kernel/dwarf.c:602:		pc = (unsigned long)current_text_addr();
arch/x86/include/asm/kexec.h:135:		newregs->ip = (unsigned long)current_text_addr();
arch/parisc/kernel/unwind.c:442:	r.iaoq[0] = (unsigned long) current_text_addr();

We're trying to merge it with _THIS_IP_ before for most architectures,
it is defined nearly identically to _THIS_IP_:

#define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })

#define current_text_addr() ({ __label__ _l; _l: &&_l; })

* arc
* arm
* arm64
* h8300
* hexagon
* m68k
* mips
* nds32
* nios2
* openrisc
* powerpc
* riscv
* unicore32
* xtensa

Ultimately, we're trying to turn off a new Clang warning in _THIS_IP_
which requires some changes to work around what is believed to be a GCC
bug (see https://lore.kernel.org/patchwork/patch/969101/).

I guess the alternative to this patch is to just define current_text_addr
as _THIS_IP_ for all of those architectures, I am not sure how that
filters into Nick's plan (I think the goal of this was to try and avoid
getting all of the architecture folks involved).

Thanks for your time!
Nathan

^ permalink raw reply	[relevance 98%]

* Re: [PATCH] inet/connection_sock: prefer _THIS_IP_ to current_text_addr
  2018-08-02  4:58 98%   ` Nathan Chancellor
@ 2018-08-02  5:08 99%     ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-08-02  5:08 UTC (permalink / raw)
  To: David Miller; +Cc: ndesaulniers, netdev, linux-kernel

On Wed, Aug 01, 2018 at 09:58:25PM -0700, Nathan Chancellor wrote:
> On Wed, Aug 01, 2018 at 06:42:08PM -0700, David Miller wrote:
> > From: Nick Desaulniers <ndesaulniers@google.com>
> > Date: Wed,  1 Aug 2018 14:57:59 -0700
> > 
> > > -			 sk, what, when, current_text_addr());
> > > +			 sk, what, when, (void *)_THIS_IP_);
> > 
> > Is a fugly macro in all caps really better than a function()?
> > 
> > I'm really surprised that _THIS_IP_ is being chosen over
> > current_text_addr(), seriously.
> 
> Hi Dave,

Sorry for the second email so quick after the first, needed to clarify
two things.

> 
> current_text_addr is only used in five places in the entire kernel and
> this is the only non-architecture specific use.
> 
> include/net/inet_connection_sock.h:227:			 sk, what, when, current_text_addr());
> arch/sh/include/asm/kexec.h:64:		newregs->pc = (unsigned long)current_text_addr();
> arch/sh/kernel/dwarf.c:602:		pc = (unsigned long)current_text_addr();
> arch/x86/include/asm/kexec.h:135:		newregs->ip = (unsigned long)current_text_addr();
> arch/parisc/kernel/unwind.c:442:	r.iaoq[0] = (unsigned long) current_text_addr();
> 
> We're trying to merge it with _THIS_IP_ before for most architectures,

because for most...

> it is defined nearly identically to _THIS_IP_:
> 
> #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
> 
> #define current_text_addr() ({ __label__ _l; _l: &&_l; })
> 
> * arc
> * arm
> * arm64
> * h8300
> * hexagon
> * m68k
> * mips
> * nds32
> * nios2
> * openrisc
> * powerpc
> * riscv
> * unicore32
> * xtensa
> 
> Ultimately, we're trying to turn off a new Clang warning in _THIS_IP_
> which requires some changes to work around what is believed to be a GCC
> bug (see https://lore.kernel.org/patchwork/patch/969101/).

and I should have mentioned that current_text_addr suffers from the
exact same issue so we're trying not to duplicate it 14 times across
the kernel.

> I guess the alternative to this patch is to just define current_text_addr
> as _THIS_IP_ for all of those architectures, I am not sure how that
> filters into Nick's plan (I think the goal of this was to try and avoid
> getting all of the architecture folks involved).
> 
> Thanks for your time!
> Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH] wg-quick: use resolvectl if present to set dns
  @ 2018-08-04  0:01 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-08-04  0:01 UTC (permalink / raw)
  To: j; +Cc: wireguard

On Wed, Aug 01, 2018 at 02:04:25PM +0200, j@mailb.org wrote:
> 
> only use resolvconf is available, fall back to resolvectl if present
> otherwise. don't set dns if both are missing.
> 
> ---
>  src/tools/wg-quick/linux.bash | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> 

> diff --git a/src/tools/wg-quick/linux.bash b/src/tools/wg-quick/linux.bash
> index 3f1976b..f86f0c8 100755
> --- a/src/tools/wg-quick/linux.bash
> +++ b/src/tools/wg-quick/linux.bash
> @@ -151,13 +151,21 @@ resolvconf_iface_prefix() {
>  HAVE_SET_DNS=0
>  set_dns() {
>  	[[ ${#DNS[@]} -gt 0 ]] || return 0
> -	printf 'nameserver %s\n' "${DNS[@]}" | cmd resolvconf -a "$(resolvconf_iface_prefix)$INTERFACE" -m 0 -x
> +	if [ -x /usr/bin/resolvconf ]; then
> +		printf 'nameserver %s\n' "${DNS[@]}" | cmd resolvconf -a "$(resolvconf_iface_prefix)$INTERFACE" -m 0 -x
> +	elif [ -x /usr/bin/resolvectl ]; then
> +		cmd resolvectl dns $INTERFACE "${DNS[@]}"
> +	fi
>  	HAVE_SET_DNS=1
>  }
>  
>  unset_dns() {
>  	[[ ${#DNS[@]} -gt 0 ]] || return 0
> -	cmd resolvconf -d "$(resolvconf_iface_prefix)$INTERFACE"
> +	if [ -x /usr/bin/resolvconf ]; then
> +		cmd resolvconf -d "$(resolvconf_iface_prefix)$INTERFACE"
> +	elif [ -x /usr/bin/resolvectl ]; then
> +		cmd resolvectl revert $INTERFACE
> +	fi
>  }
>  
>  add_route() {
> 

> _______________________________________________
> WireGuard mailing list
> WireGuard@lists.zx2c4.com
> https://lists.zx2c4.com/mailman/listinfo/wireguard

I'd argue a better way to check if a command is available is the command
built-in:

if command -v resolvconf >/dev/null; then
    do stuff
fi

The user may have resolvconf available in PATH but not in that location.

Jason can comment on if this makes sense, I don't use wg-quick on Linux.

Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 000/124] 4.4.146-stable review
    @ 2018-08-04  9:29 99% ` Nathan Chancellor
  1 sibling, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-08-04  9:29 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Sat, Aug 04, 2018 at 10:59:49AM +0200, Greg Kroah-Hartman wrote:
> 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
> 

Merged, compiled with -Werror, and installed onto my Pixel 2 XL.

No issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 00/32] 4.9.118-stable review
  @ 2018-08-04  9:30 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-08-04  9:30 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Sat, Aug 04, 2018 at 11:00:50AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.118 release.
> There are 32 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:35 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.9.118-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my OnePlus 6.

No issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
  @ 2018-08-04 18:07 99%   ` Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-08-04 18:07 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, stable, David S. Miller, Herbert Xu,
	Steffen Klassert, netdev, Dmitry Safonov

On Sat, Aug 04, 2018 at 11:01:35AM +0200, Greg Kroah-Hartman wrote:
> 4.4-stable review patch.  If anyone has any objections, please let me know.
> 
> ------------------
> 
> From: Dmitry Safonov <dima@arista.com>
> 
> [ 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)
> 
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Herbert Xu <herbert@gondor.apana.org.au>
> Cc: Steffen Klassert <steffen.klassert@secunet.com>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Dmitry Safonov <dima@arista.com>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>  net/netlink/af_netlink.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> --- a/net/netlink/af_netlink.c
> +++ b/net/netlink/af_netlink.c
> @@ -983,6 +983,7 @@ static int netlink_bind(struct socket *s
>  		if (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

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
  @ 2018-08-04 22:49  5%       ` Nathan Chancellor
    0 siblings, 1 reply; 200+ results
From: Nathan Chancellor @ 2018-08-04 22:49 UTC (permalink / raw)
  To: Dmitry Safonov
  Cc: Greg Kroah-Hartman, linux-kernel, stable, David S. Miller,
	Herbert Xu, Steffen Klassert, netdev

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

On Sat, Aug 04, 2018 at 11:33:27PM +0100, Dmitry Safonov wrote:
> On Sat, 2018-08-04 at 11:07 -0700, Nathan Chancellor wrote:
> > Hi Greg,
> 
> Hi Nathan,
> 
> > 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.
> 
> Sorry for breaking your use-case,
> 

No apologies necessary, thank you for the quick response!

> > 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.

> 
> -- 
> Thanks,
>              Dmitry

> diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
> index 7d860a22e5fb..0cddc35e1e87 100644
> --- a/net/netlink/af_netlink.c
> +++ b/net/netlink/af_netlink.c
> @@ -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) {

Cheers!
Nathan

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

[    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 <maxk@qualcomm.com>
[    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: dm-devel@redhat.com
[    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 <Jason@zx2c4.com>. 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/android.hidl.allocator@1.0-service.rc...
[    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/android.hardware.audio@2.0-service.rc...
[    1.703178] init: Parsing file /vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service.fpc.rc...
[    1.703523] init: Parsing file /vendor/etc/init/android.hardware.bluetooth@1.0-service-qti.rc...
[    1.703907] init: Parsing file /vendor/etc/init/android.hardware.boot@1.0-service.rc...
[    1.704266] init: Parsing file /vendor/etc/init/android.hardware.camera.provider@2.4-service.rc...
[    1.704611] init: Parsing file /vendor/etc/init/android.hardware.cas@1.0-service.rc...
[    1.704968] init: Parsing file /vendor/etc/init/android.hardware.configstore@1.1-service.rc...
[    1.705314] init: Parsing file /vendor/etc/init/android.hardware.contexthub@1.0-service.rc...
[    1.705657] init: Parsing file /vendor/etc/init/android.hardware.drm@1.0-service.rc...
[    1.706031] init: Parsing file /vendor/etc/init/android.hardware.drm@1.1-service.clearkey.rc...
[    1.706389] init: Parsing file /vendor/etc/init/android.hardware.drm@1.1-service.widevine.rc...
[    1.706759] init: Parsing file /vendor/etc/init/android.hardware.dumpstate@1.0-service.wahoo.rc...
[    1.707245] init: Parsing file /vendor/etc/init/android.hardware.gatekeeper@1.0-service-qti.rc...
[    1.707595] init: Parsing file /vendor/etc/init/android.hardware.gnss@1.0-service-qti.rc...
[    1.707937] init: Parsing file /vendor/etc/init/android.hardware.graphics.allocator@2.0-service.rc...
[    1.708333] init: Parsing file /vendor/etc/init/android.hardware.graphics.composer@2.1-service.rc...
[    1.708705] init: Parsing file /vendor/etc/init/android.hardware.health@2.0-service.wahoo.rc...
[    1.709066] init: Parsing file /vendor/etc/init/android.hardware.keymaster@3.0-service-qti.rc...
[    1.709407] init: Parsing file /vendor/etc/init/android.hardware.light@2.0-service.rc...
[    1.709853] init: Parsing file /vendor/etc/init/android.hardware.media.omx@1.0-service.rc...
[    1.710205] init: Parsing file /vendor/etc/init/android.hardware.memtrack@1.0-service.rc...
[    1.710566] init: Parsing file /vendor/etc/init/android.hardware.nfc@1.1-service.rc...
[    1.710908] init: Parsing file /vendor/etc/init/android.hardware.oemlock@1.0-service.rc...
[    1.711292] init: Parsing file /vendor/etc/init/android.hardware.power@1.2-service.wahoo-libperfmgr.rc...
[    1.711666] init: Parsing file /vendor/etc/init/android.hardware.sensors@1.0-service.rc...
[    1.712038] init: Parsing file /vendor/etc/init/android.hardware.usb@1.1-service.wahoo.rc...
[    1.712389] init: Parsing file /vendor/etc/init/android.hardware.vibrator@1.2-service.wahoo.rc...
[    1.712729] init: Parsing file /vendor/etc/init/android.hardware.vr@1.0-service.wahoo.rc...
[    1.713093] init: Parsing file /vendor/etc/init/android.hardware.wifi@1.0-service.rc...
[    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/android.hardware.dumpstate@1.0-service.wahoo.rc:7)
[    5.333638] init: processing action (boot) from (/vendor/etc/init/android.hardware.usb@1.1-service.wahoo.rc: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/android.hardware.drm@1.1-service.widevine.rc: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 'android.hardware.camera.provider@2.4::ICameraProvider/legacy/0' from pid: 606 (/system/bin/hwservicemanager)
[    5.880832] init: Could not find service hosting interface android.hardware.camera.provider@2.4::ICameraProvider/legacy/0
[    5.887693] init: Received control message 'interface_start' for 'android.hardware.camera.provider@2.4::ICameraProvider/legacy/0' from pid: 606 (/system/bin/hwservicemanager)
[    5.887719] init: Could not find service hosting interface android.hardware.camera.provider@2.4::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 'android.frameworks.sensorservice@1.0::ISensorManager/default' from pid: 606 (/system/bin/hwservicemanager)
[    7.839669] init: Could not find service hosting interface android.frameworks.sensorservice@1.0::ISensorManager/default
[    7.840355] init: Received control message 'interface_start' for 'android.frameworks.sensorservice@1.0::ISensorManager/default' from pid: 606 (/system/bin/hwservicemanager)
[    7.840403] init: Could not find service hosting interface android.frameworks.sensorservice@1.0::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]

^ permalink raw reply	[relevance 5%]

* Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups
  @ 2018-08-04 23:21 99%           ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-08-04 23:21 UTC (permalink / raw)
  To: Dmitry Safonov
  Cc: Greg Kroah-Hartman, linux-kernel, stable, David S. Miller,
	Herbert Xu, Steffen Klassert, netdev

On Sun, Aug 05, 2018 at 12:12:02AM +0100, Dmitry Safonov wrote:
> On Sat, 2018-08-04 at 15:49 -0700, Nathan Chancellor wrote:
> > 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.
> 
> -- 
> Thanks,
>              Dmitry

> diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
> index 7d860a22e5fb..b78bb7dc06fe 100644
> --- a/net/netlink/af_netlink.c
> +++ b/net/netlink/af_netlink.c
> @@ -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:

Tested-by: Nathan Chancellor <natechancellor@gmail.com>

Thanks for the quick response!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 00/17] 4.9.119-stable review
  @ 2018-08-07 22:32 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-08-07 22:32 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Aug 07, 2018 at 08:51:36PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.119 release.
> There are 17 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 Thu Aug  9 17:23:30 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.9.119-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my OnePlus 6.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.4 00/12] 4.4.147-stable review
  @ 2018-08-07 22:33 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-08-07 22:33 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Aug 07, 2018 at 08:52:04PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.4.147 release.
> There are 12 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 Thu Aug  9 17:23:34 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.147-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
> 

Merged, compiled with -Werror, and installed onto my Pixel 2 XL.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 3.18 00/85] 3.18.118-stable review
  @ 2018-08-07 22:33 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-08-07 22:33 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Aug 07, 2018 at 08:51:02PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.18.118 release.
> There are 85 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 Thu Aug  9 17:23:43 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/v3.x/stable-review/patch-3.18.118-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-3.18.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my Pixel XL.

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

* Re: [PATCH 4.9 000/107] 4.9.120-stable review
  @ 2018-08-14 18:58 99% ` Nathan Chancellor
  0 siblings, 0 replies; 200+ results
From: Nathan Chancellor @ 2018-08-14 18:58 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable

On Tue, Aug 14, 2018 at 07:16:23PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.9.120 release.
> There are 107 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 Thu Aug 16 17:14:53 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.9.120-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Merged, compiled with -Werror, and installed onto my OnePlus 6, which is
my daily driver while my Pixel 2 XL is in for another screen RMA...

No initial issues noticed in dmesg or general usage.

Thanks!
Nathan

^ permalink raw reply	[relevance 99%]

Results 1-200 of ~2565   | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2017-09-07 14:48     Patch "workqueue: Fix flag collision" has been added to the 4.4-stable tree gregkh
2017-09-08  1:57 99% ` Nathan Chancellor
2017-09-10  9:48 99% [PATCH] init/Kconfig: Fix module signing document location Nathan Chancellor
2017-11-16 17:42     [PATCH 4.4 00/28] 4.4.99-stable review Greg Kroah-Hartman
2017-11-17  8:16 99% ` natechancellor
2017-11-19 14:32     [PATCH 4.4 00/59] 4.4.100-stable review Greg Kroah-Hartman
2017-11-19 19:48 99% ` Nathan Chancellor
2017-11-19 19:48 99%   ` Nathan Chancellor
2017-11-20 19:27       ` Greg Kroah-Hartman
2017-11-20 19:43 99%     ` Nathan Chancellor
2017-11-22 17:03           ` Greg Kroah-Hartman
2017-11-22 17:45 99%         ` Nathan Chancellor
2017-11-22 10:11     [PATCH 4.4 00/16] 4.4.101-stable review Greg Kroah-Hartman
2017-11-22 15:29 99% ` Nathan Chancellor
2017-11-22 17:05       ` Greg Kroah-Hartman
2017-11-22 17:38 99%     ` Nathan Chancellor
2017-11-28 10:22     [PATCH 4.4 00/96] 4.4.103-stable review Greg Kroah-Hartman
2017-11-28 18:27 99% ` Nathan Chancellor
2017-12-04 15:59     [PATCH 4.4 00/27] 4.4.104-stable review Greg Kroah-Hartman
2017-12-04 16:48 99% ` Nathan Chancellor
2017-12-04 16:48 99%   ` Nathan Chancellor
2017-12-07 13:06     [PATCH 4.4 00/49] 4.4.105-stable review Greg Kroah-Hartman
2017-12-07 15:23 99% ` Nathan Chancellor
2017-12-11 22:17     Patch "efi/esrt: Use memunmap() instead of kfree() to free the remapping" has been added to the 4.4-stable tree gregkh
2017-12-12  1:52 99% ` Nathan Chancellor
2017-12-12 12:43     [PATCH 4.9 000/148] 4.9.69-stable review Greg Kroah-Hartman
2017-12-13  0:22     ` Guenter Roeck
2017-12-13  0:30 99%   ` Nathan Chancellor
2017-12-15  9:43     [PATCH 4.4 000/105] 4.4.106-stable review Greg Kroah-Hartman
2017-12-15 10:01 99% ` Nathan Chancellor
2017-12-15 10:01 99%   ` Nathan Chancellor
2017-12-18 15:47     [PATCH 4.4 000/115] 4.4.107-stable review Greg Kroah-Hartman
2017-12-18 18:17 99% ` Nathan Chancellor
2017-12-22  8:45     [PATCH 4.4 00/78] 4.4.108-stable review Greg Kroah-Hartman
2017-12-22 15:48 99% ` Nathan Chancellor
2018-01-01 14:24     [PATCH 4.4 00/63] 4.4.109-stable review Greg Kroah-Hartman
2018-01-01 17:29 99% ` Nathan Chancellor
2018-01-03 20:11     [PATCH 4.4 00/37] 4.4.110-stable review Greg Kroah-Hartman
2018-01-03 22:08 99% ` Nathan Chancellor
2018-01-08 12:59     [PATCH 4.4 00/22] 4.4.111-stable review Greg Kroah-Hartman
2018-01-08 14:25 99% ` Nathan Chancellor
2018-01-08 14:25 99%   ` Nathan Chancellor
2018-01-15 12:33     [PATCH 4.4 00/87] 4.4.112-stable review Greg Kroah-Hartman
2018-01-15 16:39 99% ` Nathan Chancellor
2018-01-15 16:39 99%   ` Nathan Chancellor
2018-01-22  8:39     [PATCH 4.4 00/53] 4.4.113-stable review Greg Kroah-Hartman
2018-01-22 13:09 99% ` Nathan Chancellor
2018-01-29 12:56     [PATCH 4.4 00/74] 4.4.114-stable review Greg Kroah-Hartman
2018-01-29 21:30 99% ` Nathan Chancellor
2018-02-02 16:57     [PATCH 4.4 00/67] 4.4.115-stable review Greg Kroah-Hartman
2018-02-02 18:40 99% ` Nathan Chancellor
2018-02-15 15:15     [PATCH 4.4 000/108] 4.4.116-stable review Greg Kroah-Hartman
2018-02-16  2:45 99% ` Nathan Chancellor
2018-02-21 12:44     [PATCH 4.4 00/33] 4.4.117-stable review Greg Kroah-Hartman
2018-02-21 14:46 99% ` Nathan Chancellor
2018-02-23 18:23     [PATCH 4.4 000/193] 4.4.118-stable review Greg Kroah-Hartman
2018-02-23 18:23     ` [PATCH 4.4 002/193] net: replace dst_cache ip6_tunnel implementation with the generic one Greg Kroah-Hartman
2018-02-23 23:00 99%   ` Nathan Chancellor
2018-02-24  8:35         ` Greg Kroah-Hartman
2018-02-24 15:37 99%       ` Nathan Chancellor
2018-02-26 12:59         ` Greg Kroah-Hartman
2018-02-26 16:03 99%       ` Nathan Chancellor
2018-02-23 18:24     ` [PATCH 4.4 013/193] staging: android: ion: Add __GFP_NOWARN for system contig heap Greg Kroah-Hartman
2018-02-23 20:46 99%   ` Nathan Chancellor
2018-02-23 23:13 99% ` [PATCH 4.4 000/193] 4.4.118-stable review Nathan Chancellor
2018-02-26 20:16     [PATCH 4.4 00/22] 4.4.119-stable review Greg Kroah-Hartman
2018-02-27  0:08 99% ` Nathan Chancellor
2018-03-02  8:50     [PATCH 4.4 00/34] 4.4.120-stable review Greg Kroah-Hartman
2018-03-02 12:22 99% ` Nathan Chancellor
2018-03-07 21:40     [PATCH] staging: android: ashmem: Remove deadlock Paul Lawrence
2018-03-07 21:48 99% ` Nathan Chancellor
2018-03-10  0:18     [PATCH 4.4 00/36] 4.4.121-stable review Greg Kroah-Hartman
2018-03-10  0:50 99% ` Nathan Chancellor
2018-03-10  1:03       ` Greg Kroah-Hartman
2018-03-10  1:07 99%     ` Nathan Chancellor
2018-03-16 15:22     [PATCH 4.4 00/63] 4.4.122-stable review Greg Kroah-Hartman
2018-03-16 18:05 99% ` Nathan Chancellor
2018-03-19 18:04     [PATCH 4.4 000/134] 4.4.123-stable review Greg Kroah-Hartman
2018-03-19 20:57 99% ` Nathan Chancellor
2018-03-20 13:32     ` Guenter Roeck
2018-03-21  5:29 99%   ` Nathan Chancellor
2018-03-23  9:53     [PATCH 4.4 00/97] 4.4.124-stable review Greg Kroah-Hartman
2018-03-23 15:01 99% ` Nathan Chancellor
2018-03-27 16:27     [PATCH 4.4 00/43] 4.4.125-stable review Greg Kroah-Hartman
2018-03-27 16:27     ` [PATCH 4.4 20/43] mm/vmalloc: add interfaces to free unmapped page table Greg Kroah-Hartman
2018-03-27 20:17       ` Dan Rue
2018-03-27 20:31 99%     ` Nathan Chancellor
2018-03-27 20:40           ` Kani, Toshi
2018-03-27 20:47 99%         ` Nathan Chancellor
2018-03-28  6:32               ` gregkh
2018-03-28  6:47 92%             ` Nathan Chancellor
2018-03-27 18:24 99% ` [PATCH 4.4 00/43] 4.4.125-stable review Nathan Chancellor
2018-03-28 21:59     Regression in v4.4.124 due to 'genirq: Use irqd_get_trigger_type to compare ..' Guenter Roeck
2018-03-29  6:32     ` Greg Kroah-Hartman
2018-03-29 17:54       ` Guenter Roeck
2018-03-29 20:28         ` Guenter Roeck
2018-03-29 21:07 99%       ` Nathan Chancellor
2018-03-29 18:00     [PATCH 4.4 00/20] 4.4.126-stable review Greg Kroah-Hartman
2018-03-29 19:17 99% ` Nathan Chancellor
2018-04-01  6:57 99% [PATCH] phy: tegra: Remote self cast in tegra_xusb_port_find_lane Nathan Chancellor
2018-04-01 10:44 96% Clang warning fixes for 4.4 and 4.9 Nathan Chancellor
2018-04-03 10:28     ` Greg Kroah-Hartman
2018-04-03 12:46 99%   ` Nathan Chancellor
2018-04-03 13:09     ` Greg Kroah-Hartman
2018-04-03 13:21 99%   ` Nathan Chancellor
2018-04-01 11:04 99% [PATCH v2] phy: tegra: Remove self cast in tegra_xusb_port_find_lane Nathan Chancellor
2018-04-03 10:49     ` Thierry Reding
2018-04-03 12:39 99%   ` Nathan Chancellor
2018-04-05  6:24     [GIT PULL] commits for Linux 3.18 Sasha Levin
2018-04-05  7:02     ` Harsh Shandilya
2018-04-05  7:40 99%   ` Nathan Chancellor
2018-04-09 15:12         ` Greg KH
2018-04-09 16:14 99%       ` Nathan Chancellor
2018-04-06 13:23     [PATCH 4.4 00/72] 4.4.127-stable review Greg Kroah-Hartman
2018-04-06 16:25 99% ` Nathan Chancellor
2018-04-09 18:05 99% Backport of 3f29770723fe Nathan Chancellor
2018-04-09 18:05 79% ` [PATCH 3.18] ipsec: check return value of skb_to_sgvec always Nathan Chancellor
2018-04-09 18:05 79% ` [PATCH 4.4] " Nathan Chancellor
2018-04-09 18:05 79% ` [PATCH 4.9] " Nathan Chancellor
2018-04-09 20:25       ` Greg Kroah-Hartman
2018-04-10  6:23 99%     ` Nathan Chancellor
2018-04-10  1:21 99% Further fixes for 48a1df65334b Nathan Chancellor
2018-04-10  1:21 94% ` [PATCH 3.18 1/3] rxrpc: check return value of skb_to_sgvec always Nathan Chancellor
2018-04-10  1:21 97% ` [PATCH 3.18 2/3] virtio_net: " Nathan Chancellor
2018-04-10  1:21 95% ` [PATCH 3.18 3/3] virtio_net: check return value of skb_to_sgvec in one more location Nathan Chancellor
2018-04-10  1:21 94% ` [PATCH 4.4 1/3] rxrpc: check return value of skb_to_sgvec always Nathan Chancellor
2018-04-10  1:21 96% ` [PATCH 4.4 2/3] virtio_net: " Nathan Chancellor
2018-04-10  1:21 95% ` [PATCH 4.4 3/3] virtio_net: check return value of skb_to_sgvec in one more location Nathan Chancellor
2018-04-10  1:21 95% ` [PATCH 4.9 1/3] rxrpc: check return value of skb_to_sgvec always Nathan Chancellor
2018-04-10  1:21 97% ` [PATCH 4.9 2/3] virtio_net: " Nathan Chancellor
2018-04-10  1:21 95% ` [PATCH 4.9 3/3] virtio_net: check return value of skb_to_sgvec in one more location Nathan Chancellor
2018-04-11 18:34     [PATCH 4.4 000/190] 4.4.128-stable review Greg Kroah-Hartman
2018-04-11 20:52 99% ` Nathan Chancellor
2018-04-22  7:59 99% ext4 patches for 4.4.y Nathan Chancellor
2018-04-22  8:04     ` Greg Kroah-Hartman
2018-04-22  8:13 99%   ` Nathan Chancellor
2018-04-22  8:11 91% [PATCH 4.4 1/2] ext4: fix crashes in dioread_nolock mode Nathan Chancellor
2018-04-22  8:11 54% ` [PATCH 4.4 2/2] ext4: fix deadlock between inline_data and ext4_expand_extra_isize_ea() Nathan Chancellor
2018-04-22  9:33     FAILED: patch "[PATCH] mm/filemap.c: fix NULL pointer in page_cache_tree_insert()" failed to apply to 4.4-stable tree gregkh
2018-04-22  9:52 99% ` Nathan Chancellor
2018-04-22  9:45 94% [PATCH 4.4] ext4: bugfix for mmaped pages in mpage_release_unused_pages() Nathan Chancellor
2018-04-22 10:07 61% [PATCH 4.4] writeback: safer lock nesting Nathan Chancellor
2018-04-22 10:15     ` Greg Kroah-Hartman
2018-04-22 10:16 99%   ` Nathan Chancellor
2018-04-22 10:14 88% [PATCH 4.4] fanotify: fix logic of events on child Nathan Chancellor
2018-04-22 10:36 99% Backport of 2e898e4c0a38 for 4.4, 4.9, 4.14, and 4.16 Nathan Chancellor
2018-04-22 10:36 61% ` [PATCH 4.14/4.16] writeback: safer lock nesting Nathan Chancellor
2018-04-22 10:42       ` Greg Kroah-Hartman
2018-04-22 10:47 99%     ` Nathan Chancellor
2018-04-22 11:17 99%     ` Nathan Chancellor
2018-04-22 10:36 61% ` [PATCH 4.4] " Nathan Chancellor
2018-04-22 10:36 61% ` [PATCH 4.9] " Nathan Chancellor
2018-04-22 11:15 61% [PATCH 4.14/4.16 v2] " Nathan Chancellor
2018-04-22 11:15 61% ` [PATCH 4.4 " Nathan Chancellor
2018-04-22 11:15 61% ` [PATCH 4.9 " Nathan Chancellor
2018-04-22 13:50     [PATCH 4.16 000/196] 4.16.4-stable review Greg Kroah-Hartman
2018-04-22 20:13     ` Guenter Roeck
2018-04-22 20:25 99%   ` Nathan Chancellor
2018-04-22 13:52     [PATCH 4.4 00/97] 4.4.129-stable review Greg Kroah-Hartman
2018-04-22 20:44 99% ` Nathan Chancellor
2018-04-25 10:33     [PATCH 4.14 000/183] 4.14.37-stable review Greg Kroah-Hartman
2018-04-25 18:08 99% ` Nathan Chancellor
2018-04-27  2:01     [GIT PULL] commits for Linux 4.4 Sasha Levin
2018-04-27  4:50 99% ` Nathan Chancellor
2018-04-27  7:05       ` Greg KH
2018-04-27  7:35 99%     ` Nathan Chancellor
2018-04-27  8:40           ` Timur Tabi
2018-04-27 18:04 99%         ` Nathan Chancellor
2018-04-30 17:21           ` Bjorn Andersson
2018-04-30 17:34 99%         ` Nathan Chancellor
2018-04-27 13:57     [PATCH 4.14 00/80] 4.14.38-stable review Greg Kroah-Hartman
2018-04-27 19:33 99% ` Nathan Chancellor
2018-04-27 13:58     [PATCH 4.4 00/50] 4.4.130-stable review Greg Kroah-Hartman
2018-04-27 18:57 99% ` Nathan Chancellor
2018-04-30 19:23     [PATCH 4.14 00/91] 4.14.39-stable review Greg Kroah-Hartman
2018-05-01  0:54 99% ` Nathan Chancellor
2018-04-30 19:24     [PATCH 4.4 00/44] 4.4.131-stable review Greg Kroah-Hartman
2018-04-30 23:55 99% ` Nathan Chancellor
2018-05-06  6:50 99% [PATCH] staging: greybus: Remove unused local variable Nathan Chancellor
2018-05-06  7:33 92% [PATCH 1/3] staging: wilc1000: Remove unused variables Nathan Chancellor
2018-05-06  7:33 91% ` Nathan Chancellor
2018-05-06  7:33 92% ` [PATCH 2/3] staging: wilc1000: Remove useless function Nathan Chancellor
2018-05-06  7:33 92%   ` Nathan Chancellor
2018-05-06  7:33 99% ` [PATCH 3/3] staging: wilc1000: Remove unnecessary array index check Nathan Chancellor
2018-05-06  7:33 99%   ` Nathan Chancellor
2018-05-06 22:02 70% [PATCH 1/7] staging: ks7010: Replace license boilerplate with SPDX identifiers Nathan Chancellor
2018-05-06 22:02 95% ` [PATCH 2/7] staging: ks7010: Remove unused variables Nathan Chancellor
2018-05-07 17:59 99%   ` Nathan Chancellor
2018-05-06 22:03 99% ` [PATCH 3/7] staging: ks7010: Remove unnecessary limit checks Nathan Chancellor
2018-05-14 13:17       ` Dan Carpenter
2018-05-14 14:06 99%     ` Nathan Chancellor
2018-05-06 22:03 96% ` [PATCH 4/7] staging: ks7010: Adjust spacing around functions and declarations Nathan Chancellor
2018-05-06 22:03 99% ` [PATCH 5/7] staging: ks7010: Remove unnecessary parentheses Nathan Chancellor
2018-05-06 22:03 99% ` [PATCH 6/7] staging: ks7010: Adjust alignment to open parenthesis Nathan Chancellor
2018-05-06 22:03 92% ` [PATCH 7/7] staging: ks7010: Move from bool to int in structs Nathan Chancellor
2018-05-08 11:34       ` Greg Kroah-Hartman
2018-05-08 11:42 99%     ` Nathan Chancellor
2018-05-08 11:43     ` [PATCH 1/7] staging: ks7010: Replace license boilerplate with SPDX identifiers Greg Kroah-Hartman
2018-05-08 11:49 99%   ` Nathan Chancellor
2018-05-07  1:13 96% [PATCH 1/6] staging: android: Kconfig; Remove excessive hyphens Nathan Chancellor
2018-05-07  1:13 83% ` [PATCH 2/6] staging: android: Clean up license identifiers Nathan Chancellor
2018-05-07  1:13 90% ` [PATCH 3/6] staging: android: vsoc: Fix ending '(' warnings in function defintions Nathan Chancellor
2018-05-07  1:13 99% ` [PATCH 4/6] staging: android: vsoc: Fix ending '(' warnings in do_destroy_fd_scoped_permission Nathan Chancellor
2018-05-07  1:13 97% ` [PATCH 5/6] staging: android: vsoc: Fix ending '(' warnings in vsoc_ioctl Nathan Chancellor
2018-05-07  1:13 95% ` [PATCH 6/6] staging: android: vsoc: Fix ending '(' warnings in vsoc_probe_device Nathan Chancellor
2018-05-07  1:18 99% [PATCH 1/2] staging: android: ion: Fix license identifier comment format Nathan Chancellor
2018-05-07  1:18 99% ` Nathan Chancellor
2018-05-07  1:18 99% ` [PATCH 2/2] staging: android: ion: Remove unnecessary blank line Nathan Chancellor
2018-05-07  1:18 99%   ` Nathan Chancellor
2018-05-07 13:37     ` [PATCH 1/2] staging: android: ion: Fix license identifier comment format Laura Abbott
2018-05-07 14:40 99%   ` Nathan Chancellor
2018-05-07 14:40 99%     ` Nathan Chancellor
2018-05-08  8:10     [PATCH 4.14 00/43] 4.14.40-stable review Greg Kroah-Hartman
2018-05-08 22:11 99% ` Nathan Chancellor
2018-05-08 11:59  7% [PATCH] staging: rtl8723bs: Replace license boilerplate with SPDX identifiers Nathan Chancellor
2018-05-14  6:48     [PATCH 4.4 00/56] 4.4.132-stable review Greg Kroah-Hartman
2018-05-14  8:09 99% ` Nathan Chancellor
2018-05-14  6:48     [PATCH 4.14 00/62] 4.14.41-stable review Greg Kroah-Hartman
2018-05-14  8:28 99% ` Nathan Chancellor
2018-05-14  6:48     [PATCH 3.18 00/23] 3.18.109-stable review Greg Kroah-Hartman
2018-05-14  8:01 99% ` Nathan Chancellor
2018-05-14 18:50 98% [PATCH] staging: android: ion: Check return value of ion_buffer_kmap_get Nathan Chancellor
2018-05-22 21:59 93% [PATCH] arm64: vdso32: Use full path to Clang instead of relying on PATH Nathan Chancellor
2018-05-22 21:59 96% ` Nathan Chancellor
2018-05-24  9:36     [PATCH 4.14 000/165] 4.14.44-stable review Greg Kroah-Hartman
2018-05-24 14:50 99% ` Nathan Chancellor
2018-05-24  9:37     [PATCH 4.4 00/92] 4.4.133-stable review Greg Kroah-Hartman
2018-05-24 14:45 99% ` Nathan Chancellor
2018-05-24  9:38     [PATCH 3.18 00/45] 3.18.110-stable review Greg Kroah-Hartman
2018-05-24 14:42 99% ` Nathan Chancellor
2018-05-28  9:56     [PATCH 4.14 000/496] 4.14.45-stable review Greg Kroah-Hartman
2018-05-28 16:06 99% ` Nathan Chancellor
2018-05-28  9:59     [PATCH 4.4 000/268] 4.4.134-stable review Greg Kroah-Hartman
2018-05-28 16:24 99% ` Nathan Chancellor
2018-05-28 10:00     [PATCH 3.18 000/185] 3.18.111-stable review Greg Kroah-Hartman
2018-05-28 15:43 99% ` Nathan Chancellor
2018-05-31  4:18 95% Kconfig warnings with GCC 8.1.0 Nathan Chancellor
2018-06-02 16:02 95% [PATCH] kconfig: Avoid format overflow warning from GCC 8.1 Nathan Chancellor
2018-06-02 19:07     More gcc related patches for stable releases Guenter Roeck
2018-06-02 19:50 99% ` Nathan Chancellor
2018-06-05 17:01     [PATCH 4.4 00/37] 4.4.136-stable review Greg Kroah-Hartman
2018-06-06  0:30 99% ` Nathan Chancellor
2018-06-07 19:24 99% Apply 2ae89c7a82ea to all active branches Nathan Chancellor
2018-06-08  5:03 91% [PATCH] dm bufio: avoid false-positive Wmaybe-uninitialized warning Nathan Chancellor
2018-06-08  5:07 99% ` Nathan Chancellor
2018-06-11 16:05 88% [PATCH 4.9] " Nathan Chancellor
2018-06-12 16:12     ` Greg Kroah-Hartman
2018-06-12 16:37 99%   ` Nathan Chancellor
2018-06-12 16:46     [PATCH 4.9 00/31] 4.9.108-stable review Greg Kroah-Hartman
2018-06-12 17:10 99% ` Nathan Chancellor
2018-06-12 16:51     [PATCH 4.4 00/24] 4.4.137-stable review Greg Kroah-Hartman
2018-06-12 18:17 99% ` Nathan Chancellor
2018-06-12 16:51     [PATCH 3.18 00/21] 3.18.113-stable review Greg Kroah-Hartman
2018-06-12 18:19 99% ` Nathan Chancellor
2018-06-14 14:04     [PATCH 4.9 00/30] 4.9.109-stable review Greg Kroah-Hartman
2018-06-14 16:49 99% ` Nathan Chancellor
2018-06-14 14:04     [PATCH 4.4 00/24] 4.4.138-stable review Greg Kroah-Hartman
2018-06-14 16:57 99% ` Nathan Chancellor
2018-06-24 15:23     [PATCH 4.9 00/39] 4.9.110-stable review Greg Kroah-Hartman
2018-06-24 17:44 99% ` Nathan Chancellor
2018-07-01 16:01     [PATCH 4.4 000/105] 4.4.139-stable review Greg Kroah-Hartman
2018-07-01 19:38 99% ` Nathan Chancellor
2018-07-01 16:01     [PATCH 3.18 00/85] 3.18.114-stable review Greg Kroah-Hartman
2018-07-01 19:37 99% ` Nathan Chancellor
2018-07-01 16:20     [PATCH 4.9 000/101] 4.9.111-stable review Greg Kroah-Hartman
2018-07-01 19:39 99% ` Nathan Chancellor
2018-07-10 18:24     [PATCH 4.4 00/47] 4.4.140-stable review Greg Kroah-Hartman
2018-07-10 19:10 99% ` Nathan Chancellor
2018-07-10 18:24     [PATCH 4.9 00/52] 4.9.112-stable review Greg Kroah-Hartman
2018-07-10 19:09 99% ` Nathan Chancellor
2018-07-10 18:24     [PATCH 3.18 00/23] 3.18.115-stable review Greg Kroah-Hartman
2018-07-10 19:09 99% ` Nathan Chancellor
2018-07-16  7:34     [PATCH 4.17 00/67] 4.17.7-stable review Greg Kroah-Hartman
2018-07-16 16:33     ` Guenter Roeck
2018-07-16 16:40 99%   ` Nathan Chancellor
2018-07-16  7:36     [PATCH 4.4 00/43] 4.4.141-stable review Greg Kroah-Hartman
2018-07-16 13:55 99% ` Nathan Chancellor
2018-07-16  7:36     [PATCH 4.9 00/32] 4.9.113-stable review Greg Kroah-Hartman
2018-07-16 13:55 99% ` Nathan Chancellor
2018-07-17 10:59     Linux 4.17.7 Greg KH
2018-07-17 11:11 99% ` Nathan Chancellor
2018-07-20 12:10     [PATCH 3.18 00/29] 3.18.116-stable review Greg Kroah-Hartman
2018-07-20 13:33 99% ` Nathan Chancellor
2018-07-20 12:13     [PATCH 4.9 00/66] 4.9.114-stable review Greg Kroah-Hartman
2018-07-20 13:34 99% ` Nathan Chancellor
2018-07-20 12:13     [PATCH 4.4 00/31] 4.4.143-stable review Greg Kroah-Hartman
2018-07-20 13:34 99% ` Nathan Chancellor
2018-07-23 12:25     [PATCH 4.9 00/28] 4.9.115-stable review Greg Kroah-Hartman
2018-07-23 15:12 99% ` Nathan Chancellor
2018-07-23 12:40     [PATCH 4.4 000/107] 4.4.144-stable review Greg Kroah-Hartman
2018-07-23 15:11 99% ` Nathan Chancellor
2018-07-27 10:08     [PATCH 4.9 00/33] 4.9.116-stable review Greg Kroah-Hartman
2018-07-27 12:21 99% ` Nathan Chancellor
2018-07-27 10:09     [PATCH 4.4 00/23] 4.4.145-stable review Greg Kroah-Hartman
2018-07-27 12:22 99% ` Nathan Chancellor
2018-07-27 10:26     [PATCH 3.18 00/27] 3.18.117-stable review Greg Kroah-Hartman
2018-07-27 12:21 99% ` Nathan Chancellor
2018-07-30 17:06     [PATCH] kernel.h: Disable -Wreturn-stack-address for _THIS_IP_ Nick Desaulniers
2018-07-30 18:39 93% ` Nathan Chancellor
2018-07-30 19:48       ` Nick Desaulniers
2018-07-30 20:01 99%     ` Nathan Chancellor
2018-07-30 21:34     [PATCH v2 0/2] CLANG_VERSION and __diag macros Nick Desaulniers
2018-07-30 21:34     ` [PATCH v2 1/2] compiler-clang.h: Add " Nick Desaulniers
2018-07-30 23:25 99%   ` Nathan Chancellor
2018-07-30 21:34     ` [PATCH v2 2/2] kernel.h: Disable -Wreturn-stack-address for _THIS_IP_ Nick Desaulniers
2018-07-30 23:25 99%   ` Nathan Chancellor
2018-07-30 23:25 99%     ` Nathan Chancellor
2018-07-31 10:27       ` kbuild test robot
2018-07-31 16:48         ` Nick Desaulniers
2018-07-31 17:02 99%       ` Nathan Chancellor
2018-08-01 12:04     [PATCH] wg-quick: use resolvectl if present to set dns j
2018-08-04  0:01 99% ` Nathan Chancellor
2018-08-01 16:50     [PATCH 4.9 000/144] 4.9.117-stable review Greg Kroah-Hartman
2018-08-01 17:52 99% ` Nathan Chancellor
2018-08-01 21:57     [PATCH] inet/connection_sock: prefer _THIS_IP_ to current_text_addr Nick Desaulniers
2018-08-02  1:42     ` David Miller
2018-08-02  4:58 98%   ` Nathan Chancellor
2018-08-02  5:08 99%     ` Nathan Chancellor
2018-08-04  8:59     [PATCH 4.4 000/124] 4.4.146-stable review Greg Kroah-Hartman
2018-08-04  9:01     ` [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups Greg Kroah-Hartman
2018-08-04 18:07 99%   ` Nathan Chancellor
2018-08-04 22:33         ` Dmitry Safonov
2018-08-04 22:49  5%       ` Nathan Chancellor
2018-08-04 23:12             ` Dmitry Safonov
2018-08-04 23:21 99%           ` Nathan Chancellor
2018-08-04  9:29 99% ` [PATCH 4.4 000/124] 4.4.146-stable review Nathan Chancellor
2018-08-04  9:00     [PATCH 4.9 00/32] 4.9.118-stable review Greg Kroah-Hartman
2018-08-04  9:30 99% ` Nathan Chancellor
2018-08-07 18:51     [PATCH 3.18 00/85] 3.18.118-stable review Greg Kroah-Hartman
2018-08-07 22:33 99% ` Nathan Chancellor
2018-08-07 18:51     [PATCH 4.9 00/17] 4.9.119-stable review Greg Kroah-Hartman
2018-08-07 22:32 99% ` Nathan Chancellor
2018-08-07 18:52     [PATCH 4.4 00/12] 4.4.147-stable review Greg Kroah-Hartman
2018-08-07 22:33 99% ` Nathan Chancellor
2018-08-14 17:16     [PATCH 4.9 000/107] 4.9.120-stable review Greg Kroah-Hartman
2018-08-14 18:58 99% ` Nathan Chancellor

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