commit 183348489d36bbe1ace1364830425009e98bcc25
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Sep 26 08:39:43 2018 +0200

    Linux 4.18.10

commit 52b7326483715cce64474aab0367e0428a59ae90
Author: Brijesh Singh <brijesh.singh@amd.com>
Date:   Wed Aug 15 16:11:25 2018 -0500

    crypto: ccp - add timeout support in the SEV command
    
    commit 3702a0585e64d70d5bf73bf3e943b8d6005b72c1 upstream.
    
    Currently, the CCP driver assumes that the SEV command issued to the PSP
    will always return (i.e. it will never hang).  But recently, firmware bugs
    have shown that a command can hang.  Since of the SEV commands are used
    in probe routines, this can cause boot hangs and/or loss of virtualization
    capabilities.
    
    To protect against firmware bugs, add a timeout in the SEV command
    execution flow.  If a command does not complete within the specified
    timeout then return -ETIMEOUT and stop the driver from executing any
    further commands since the state of the SEV firmware is unknown.
    
    Cc: Tom Lendacky <thomas.lendacky@amd.com>
    Cc: Gary Hook <Gary.Hook@amd.com>
    Cc: Herbert Xu <herbert@gondor.apana.org.au>
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    [Brijesh: Backported to 4.18..4.19 - offset change in few hunks]
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d6c9bc66491803a802b84d9da091ef2261ba637b
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Jul 11 15:29:31 2018 +0300

    mei: bus: type promotion bug in mei_nfc_if_version()
    
    commit b40b3e9358fbafff6a4ba0f4b9658f6617146f9c upstream.
    
    We accidentally removed the check for negative returns
    without considering the issue of type promotion.
    The "if_version_length" variable is type size_t so if __mei_cl_recv()
    returns a negative then "bytes_recv" is type promoted
    to a high positive value and treated as success.
    
    Cc: <stable@vger.kernel.org>
    Fixes: 582ab27a063a ("mei: bus: fix received data size check in NFC fixup")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 920b0e3c5e24067a2eaf70ac83cbce8d2e81b610
Author: Mikko Perttunen <mperttunen@nvidia.com>
Date:   Fri Jun 29 17:38:14 2018 +0300

    clk: tegra: bpmp: Don't crash when a clock fails to register
    
    [ Upstream commit f7b3182232c82bb9769e2d5471d702bae2972d2b ]
    
    When registering clocks, we just skip any that fail to register
    (leaving a NULL hole in the clock table). However, our of_xlate
    function still tries to dereference each entry while looking for
    the clock with the requested id, causing a crash if any clocks
    failed to register. Add a check to of_xlate to skip any NULL
    clocks.
    
    Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
    Acked-by: Jon Hunter <jonathanh@nvidia.com>
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fdf0d6477376fb1951c67edb4db6bfd1ce0f685a
Author: Douglas Anderson <dianders@chromium.org>
Date:   Mon Jul 2 15:59:39 2018 -0700

    pinctrl: qcom: spmi-gpio: Fix pmic_gpio_config_get() to be compliant
    
    [ Upstream commit 1cf86bc21257a330e3af51f2a4e885f1a705f6a5 ]
    
    If you do this on an sdm845 board:
      grep "" /sys/kernel/debug/pinctrl/*spmi:pmic*/pinconf-groups
    
    ...it looks like nonsense.  For every pin you see listed:
      input bias disabled, input bias high impedance, input bias pull down, input bias pull up, ...
    
    That's because pmic_gpio_config_get() isn't complying with the rules
    that pinconf_generic_dump_one() expects.  Specifically for boolean
    parameters (anything with a "struct pin_config_item" where has_arg is
    false) the function expects that the function should return its value
    not through the "config" parameter but should return "0" if the value
    is set and "-EINVAL" if the value isn't set.
    
    Let's fix this.
    
    >From a quick sample of other pinctrl drivers, it appears to be
    tradition to also return 1 through the config parameter for these
    boolean parameters when they exist.  I'm not one to knock tradition,
    so I'll follow tradition and return 1 in these cases.  While I'm at
    it, I'll also continue searching for four leaf clovers, kocking on
    wood three times, and trying not to break mirrors.
    
    NOTE: This also fixes an apparent typo for reading
    PIN_CONFIG_BIAS_DISABLE where the old driver was accidentally
    using "=" instead of "==" and thus was setting some internal
    state when you tried to query PIN_CONFIG_BIAS_DISABLE.  Oops.
    
    Fixes: eadff3024472 ("pinctrl: Qualcomm SPMI PMIC GPIO pin controller driver")
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5d10592e292f91b22f4bc94fce6411a7e5942ba3
Author: Douglas Anderson <dianders@chromium.org>
Date:   Mon Jul 2 15:59:38 2018 -0700

    pinctrl: msm: Fix msm_config_group_get() to be compliant
    
    [ Upstream commit 05e0c828955c1cab58dd71a04539442e5375d917 ]
    
    If you do this on an sdm845 board:
      cat /sys/kernel/debug/pinctrl/3400000.pinctrl/pinconf-groups
    
    ...it looks like nonsense.  For every pin you see listed:
      input bias bus hold, input bias disabled, input bias pull down, input bias pull up
    
    That's because msm_config_group_get() isn't complying with the rules
    that pinconf_generic_dump_one() expects.  Specifically for boolean
    parameters (anything with a "struct pin_config_item" where has_arg is
    false) the function expects that the function should return its value
    not through the "config" parameter but should return "0" if the value
    is set and "-EINVAL" if the value isn't set.
    
    Let's fix this.
    
    >From a quick sample of other pinctrl drivers, it appears to be
    tradition to also return 1 through the config parameter for these
    boolean parameters when they exist.  I'm not one to knock tradition,
    so I'll follow tradition and return 1 in these cases.  While I'm at
    it, I'll also continue searching for four leaf clovers, kocking on
    wood three times, and trying not to break mirrors.
    
    Fixes: f365be092572 ("pinctrl: Add Qualcomm TLMM driver")
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bbcdd75166d97a095f0c2b6e2c30e9ae5f41595f
Author: Ming Lei <ming.lei@redhat.com>
Date:   Mon Jun 25 19:31:49 2018 +0800

    blk-mq: avoid to synchronize rcu inside blk_cleanup_queue()
    
    [ Upstream commit 1311326cf4755c7ffefd20f576144ecf46d9906b ]
    
    SCSI probing may synchronously create and destroy a lot of request_queues
    for non-existent devices. Any synchronize_rcu() in queue creation or
    destroy path may introduce long latency during booting, see detailed
    description in comment of blk_register_queue().
    
    This patch removes one synchronize_rcu() inside blk_cleanup_queue()
    for this case, commit c2856ae2f315d75(blk-mq: quiesce queue before freeing queue)
    needs synchronize_rcu() for implementing blk_mq_quiesce_queue(), but
    when queue isn't initialized, it isn't necessary to do that since
    only pass-through requests are involved, no original issue in
    scsi_execute() at all.
    
    Without this patch and previous one, it may take more 20+ seconds for
    virtio-scsi to complete disk probe. With the two patches, the time becomes
    less than 100ms.
    
    Fixes: c2856ae2f315d75 ("blk-mq: quiesce queue before freeing queue")
    Reported-by: Andrew Jones <drjones@redhat.com>
    Cc: Omar Sandoval <osandov@fb.com>
    Cc: Bart Van Assche <bart.vanassche@wdc.com>
    Cc: linux-scsi@vger.kernel.org
    Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Tested-by: Andrew Jones <drjones@redhat.com>
    Signed-off-by: Ming Lei <ming.lei@redhat.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 864e90ed4a8f4a37b20effa5c06b7b5902ebcab9
Author: Ming Lei <ming.lei@redhat.com>
Date:   Mon Jul 2 17:35:59 2018 +0800

    blk-mq: only attempt to merge bio if there is rq in sw queue
    
    [ Upstream commit b04f50ab8a74129b3041a2836c33c916be3c6667 ]
    
    Only attempt to merge bio iff the ctx->rq_list isn't empty, because:
    
    1) for high-performance SSD, most of times dispatch may succeed, then
    there may be nothing left in ctx->rq_list, so don't try to merge over
    sw queue if it is empty, then we can save one acquiring of ctx->lock
    
    2) we can't expect good merge performance on per-cpu sw queue, and missing
    one merge on sw queue won't be a big deal since tasks can be scheduled from
    one CPU to another.
    
    Cc: Laurence Oberman <loberman@redhat.com>
    Cc: Omar Sandoval <osandov@fb.com>
    Cc: Bart Van Assche <bart.vanassche@wdc.com>
    Tested-by: Kashyap Desai <kashyap.desai@broadcom.com>
    Reported-by: Kashyap Desai <kashyap.desai@broadcom.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Ming Lei <ming.lei@redhat.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 83459da8e319f5625ad4a089c926b5dc5bafb6fe
Author: Jann Horn <jannh@google.com>
Date:   Fri Jul 6 22:48:03 2018 +0200

    IB/mlx5: fix uaccess beyond "count" in debugfs read/write handlers
    
    [ Upstream commit 60e6627f12a78203a093ca05b7bca15627747d81 ]
    
    In general, accessing userspace memory beyond the length of the supplied
    buffer in VFS read/write handlers can lead to both kernel memory corruption
    (via kernel_read()/kernel_write(), which can e.g. be triggered via
    sys_splice()) and privilege escalation inside userspace.
    
    In this case, the affected files are in debugfs (and should therefore only
    be accessible to root), and the read handlers check that *pos is zero
    (meaning that at least sys_splice() can't trigger kernel memory
    corruption). Because of the root requirement, this is not a security fix,
    but rather a cleanup.
    
    For the read handlers, fix it by using simple_read_from_buffer() instead
    of custom logic. Add min() calls to the write handlers.
    
    Fixes: 4a2da0b8c078 ("IB/mlx5: Add debug control parameters for congestion control")
    Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
    Signed-off-by: Jann Horn <jannh@google.com>
    Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 53a1ee238c841adbbf8e666a3106a9aa26abdfaa
Author: Randy Dunlap <rdunlap@infradead.org>
Date:   Fri Jul 6 20:49:19 2018 -0700

    block/DAC960.c: fix defined but not used build warnings
    
    [ Upstream commit 3993e501bf853cce85c5114a704b86b8f486790c ]
    
    Fix build warnings in DAC960.c when CONFIG_PROC_FS is not enabled
    by marking the unused functions as __maybe_unused.
    
    ../drivers/block/DAC960.c:6429:12: warning: 'dac960_proc_show' defined but not used [-Wunused-function]
    ../drivers/block/DAC960.c:6449:12: warning: 'dac960_initial_status_proc_show' defined but not used [-Wunused-function]
    ../drivers/block/DAC960.c:6456:12: warning: 'dac960_current_status_proc_show' defined but not used [-Wunused-function]
    
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: linux-block@vger.kernel.org
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dc78a980f995ede4d33243f9d7c75c4512328077
Author: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Date:   Mon Jul 9 10:01:07 2018 -0500

    staging: fsl-dpaa2/eth: Fix DMA mapping direction
    
    [ Upstream commit 466bcdc1fa303be175c45d054bb00effc575033a ]
    
    We are using DMA_FROM_DEVICE when mapping RX frame buffers,
    but DMA_BIDIRECTIONAL for unmap. Fix the direction for DMA
    unmapping operation.
    
    Fixes: 87eb55e418b7 ("staging: fsl-dpaa2/eth: Fix potential endless loop")
    
    Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8d425fae2cf61f6f8ee1b9afc8ba8f062e24c9ab
Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Date:   Mon Jul 2 18:18:03 2018 +0900

    dmaengine: sh: rcar-dmac: avoid to write CHCR.TE to 1 if TCR is set to 0
    
    [ Upstream commit 538603c6026ce769eec633bb79349f5f287519c7 ]
    
    This patch fixes an issue that unexpected retransfering happens
    if TCR is set to 0 before rcar_dmac_sync_tcr() writes DE bit to
    the CHCR register. For example, sh-sci driver can reproduce this
    issue like below:
    
     In rx_timer_fn():              /* CHCR DE bit may be set to 1 */
      dmaengine_tx_status()
       rcar_dmac_tx_status()
        rcar_dmac_chan_get_residue()
         rcar_dmac_sync_tcr()       /* TCR is possible to be set to 0 */
    
    According to the description of commit 73a47bd0da66 ("dmaengine:
    rcar-dmac: use TCRB instead of TCR for residue"), "this buffered data
    will be transferred if CHCR::DE bit was cleared". So, this patch
    doesn't need to check TCRB register.
    
    Fixes: 73a47bd0da66 ("dmaengine: rcar-dmac: use TCRB instead of TCR for residue")
    Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 93b100ddda3be284be160e9ccba28c7f8f21ab73
Author: Harry Wentland <harry.wentland@amd.com>
Date:   Mon Jul 9 13:48:12 2018 -0400

    drm/amd/pp: Send khz clock values to DC for smu7/8
    
    [ Upstream commit c3cb424a086921f6bb0449b10d998352a756d6d5 ]
    
    The previous change wasn't covering smu 7 and 8 and therefore DC was
    seeing wrong clock values.
    
    This fixes an issue where the pipes seem to hang with a 4k DP and 1080p
    HDMI display.
    
    Fixes: c3df50abc84b ("drm/amd/pp: Convert clock unit to KHz as defined")
    Signed-off-by: Harry Wentland <harry.wentland@amd.com>
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Cc:rex.zhu@amd.com
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0cbb058be904a4f05130d95ddd964aee75aee4b1
Author: Suzuki K Poulose <suzuki.poulose@arm.com>
Date:   Tue Jul 10 09:58:03 2018 +0100

    arm64: perf: Disable PMU while processing counter overflows
    
    [ Upstream commit 3cce50dfec4a5b0414c974190940f47dd32c6dee ]
    
    The arm64 PMU updates the event counters and reprograms the
    counters in the overflow IRQ handler without disabling the
    PMU. This could potentially cause skews in for group counters,
    where the overflowed counters may potentially loose some event
    counts, while they are reprogrammed. To prevent this, disable
    the PMU while we process the counter overflows and enable it
    right back when we are done.
    
    This patch also moves the PMU stop/start routines to avoid a
    forward declaration.
    
    Suggested-by: Mark Rutland <mark.rutland@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Acked-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b89c077eff7cfae83eb8fff6a7a494eeed7e74df
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Jul 4 12:38:09 2018 +0300

    drm/panel: type promotion bug in s6e8aa0_read_mtp_id()
    
    [ Upstream commit cd0e0ca69109d025b1a1b6609f70682db62138b0 ]
    
    The ARRAY_SIZE() macro is type size_t.  If s6e8aa0_dcs_read() returns a
    negative error code, then "ret < ARRAY_SIZE(id)" is false because the
    negative error code is type promoted to a high positive value.
    
    Fixes: 02051ca06371 ("drm/panel: add S6E8AA0 driver")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
    Signed-off-by: Thierry Reding <treding@nvidia.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180704093807.s3lqsb2v6dg2k43d@kili.mountain
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 252cdf1f5db53caeead07ce423064b686705fc70
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Thu Jul 5 00:59:31 2018 +0200

    ASoC: rt5651: Fix workqueue cancel vs irq free race on remove
    
    [ Upstream commit 8d2d7bcdc1645dc243f7735278675b083c0e506c ]
    
    On removal we must free the IRQ *before* cancelling the jack-detect work,
    so that the jack-detect work cannot be rescheduled by the IRQ.
    
    Before this commit we were cancelling the jack-detect work from the
    driver remove callback, while relying on devm to free the IRQ, which
    happens after the remove callback.
    
    This is the wrong order. This commit uses a devm-action to register
    a devm callback which cancels the work, before requesting the IRQ
    (devm tears things down in reverse order). This also allows us to
    remove the now empty remove driver callback.
    
    Cc: Carlo Caione <carlo@endlessm.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6c9e72d66dbff4221818f39f11649c4999746213
Author: John Stultz <john.stultz@linaro.org>
Date:   Tue May 29 19:12:18 2018 -0700

    selftest: timers: Tweak raw_skew to SKIP when ADJ_OFFSET/other clock adjustments are in progress
    
    [ Upstream commit 1416270f4a1ae83ea84156ceba19a66a8f88be1f ]
    
    In the past we've warned when ADJ_OFFSET was in progress, usually
    caused by ntpd or some other time adjusting daemon running in non
    steady sate, which can cause the skew calculations to be
    incorrect.
    
    Thus, this patch checks to see if the clock was being adjusted
    when we fail so that we don't cause false negatives.
    
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Miroslav Lichvar <mlichvar@redhat.com>
    Cc: Richard Cochran <richardcochran@gmail.com>
    Cc: Prarit Bhargava <prarit@redhat.com>
    Cc: Stephen Boyd <sboyd@kernel.org>
    Cc: Shuah Khan <shuah@kernel.org>
    Cc: linux-kselftest@vger.kernel.org
    Suggested-by: Miroslav Lichvar <mlichvar@redhat.com>
    Signed-off-by: John Stultz <john.stultz@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6e36e98ecb0a9b19d8b39c016036bc10caadf404
Author: Sibi Sankar <sibis@codeaurora.org>
Date:   Mon Jul 9 20:42:20 2018 +0530

    remoteproc: qcom: q6v5-pil: fix modem hang on SDM845 after axis2 clk unvote
    
    [ Upstream commit 7cbb540a3a68e4d4a8bef2d9451afb1635b5d2d3 ]
    
    GCC_MSS_AXIS2 clock is used for disabling boot IMEM (a part of
    AP boot up). With Boot IMEM disable now a part TZ/ATF, AXIS2
    clock is no longer required post AP boot up and expected to
    remain untouched. However if the clock is turned ON after Q6
    is brought out of reset and later turned off, it results in
    modem hang. When Q6 attempts a power collapse the internal
    handshaking to check if AXIS2 is idle never goes through since
    it is turned off preventing the RSC from getting triggered,
    leaving modem in a funky state. Hence removing AXIS2 clk
    enable/disable from the driver.
    
    Reported-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 435962f3beaa3e11d399f51a652ddd7aae20fb81
Author: James Smart <jsmart2021@gmail.com>
Date:   Tue Jun 26 08:24:24 2018 -0700

    scsi: lpfc: Fix panic if driver unloaded when port is offline
    
    [ Upstream commit d580c6137476ab307a66e278cf7dbc666230f714 ]
    
    System crashes when the lpfc module is unloaded after making the port
    offline
    
    The nvme queue pointers were freed during port offline, but were later
    accessed in pci remove path.
    
    Validate the pointers in pci remove path before accessing them.
    
    Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
    Signed-off-by: James Smart <james.smart@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 074263d61eed6ef04237db54504b3ee2e6bbcbe8
Author: James Smart <jsmart2021@gmail.com>
Date:   Tue Jun 26 08:24:28 2018 -0700

    scsi: lpfc: Fix NVME Target crash in defer rcv logic
    
    [ Upstream commit 6871e8144f935a1f08e7fc6269c894861ce494aa ]
    
    Kernel occasionally crashed with the following
    ops on NVME Target:
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000058
      IP: [<ffffffffa042ee50>] lpfc_nvmet_defer_rcv+0x50/0x70 [lpfc]
    
    Callback routine was called for deferred rcv when it should be treated as a
    normal rcv.
    
    Added code in callback routine to detect this condition and log a message,
    then bail.
    
    Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
    Signed-off-by: James Smart <james.smart@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 84159b84f331d2c1a0ff72ab561e3d04a497116d
Author: Hannes Reinecke <hare@suse.de>
Date:   Wed Jul 4 13:59:16 2018 +0200

    scsi: libfc: fixup 'sleeping function called from invalid context'
    
    [ Upstream commit fa519f701d27198a2858bb108fc18ea9d8c106a7 ]
    
    fc_rport_login() will be calling mutex_lock() while running inside an
    RCU-protected section, triggering the warning 'sleeping function called
    from invalid context'.  To fix this we can drop the rcu functions here
    altogether as the disc mutex protecting the list itself is already held,
    preventing any list manipulation.
    
    Fixes: a407c593398c ("scsi: libfc: Fixup disc_mutex handling")
    Signed-off-by: Hannes Reinecke <hare@suse.com>
    Acked-by: Johannes Thumshirn <jth@kernel.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f7ee7f7b06180ddcabb46f6e557560692e7d9d2f
Author: Timo Wischer <twischer@de.adit-jv.com>
Date:   Tue Jul 10 17:28:45 2018 +0200

    ALSA: pcm: Fix snd_interval_refine first/last with open min/max
    
    [ Upstream commit ff2d6acdf6f13d9f8fdcd890844c6d7535ac1f10 ]
    
    Without this commit the following intervals [x y), (x y) were be
    replaced to (y-1 y) by snd_interval_refine_last(). This was also done
    if y-1 is part of the previous interval.
    With this changes it will be replaced with [y-1 y) in case of y-1 is
    part of the previous interval. A similar behavior will be used for
    snd_interval_refine_first().
    
    This commit adapts the changes for alsa-lib of commit
    9bb985c ("pcm: snd_interval_refine_first/last: exclude value only if
    also excluded before")
    
    Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0fce3c91ba6827cca00d9d11b380aa5588685fd8
Author: Li Zhijian <lizhijian@cn.fujitsu.com>
Date:   Wed Jul 11 10:08:00 2018 +0800

    selftests/android: initialize heap_type to avoid compiling warning
    
    [ Upstream commit cc7c673032fc7427087e74b75f732b43db38a256 ]
    
    Initialize heap_type to ION_HEAP_TYPE_SYSTEM to avoid "used uninitialized"
    compiler warning. heap_type gets used after initialization, this change is
    to just keep the compiler happy.
    
    root@vm-lkp-nex04-8G-7 ~/linux-v4.18-rc2/tools/testing/selftests/android# make
    make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
    make[1]: Entering directory '/root/linux-v4.18-rc2/tools/testing/selftests/android/ion'
    gcc  -I. -I../../../../../drivers/staging/android/uapi/ -I../../../../../usr/include/ -Wall -O2 -g    ionapp_export.c ipcsocket.c ionutils.c   -o ionapp_export
    ionapp_export.c: In function 'main':
    ionapp_export.c:91:2: warning: 'heap_type' may be used uninitialized in
    this function [-Wmaybe-uninitialized]
      printf("heap_type: %ld, heap_size: %ld\n", heap_type, heap_size);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    CC: Shuah Khan <shuah@kernel.org>
    CC: Pintu Agarwal <pintu.ping@gmail.com>
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 330e11b03099aa197d0f2fa3b7739411807d0454
Author: Shuah Khan (Samsung OSG) <shuah@kernel.org>
Date:   Fri Jun 22 11:43:23 2018 -0600

    selftests: vDSO - fix to return KSFT_SKIP when test couldn't be run
    
    [ Upstream commit d2d49495b5c0dffee5c4da5ea12ac0da6679bd08 ]
    
    Fix to return KSFT_SKIP when test couldn't be run because AT_SYSINFO_EHDR
    isn't found and gettimeofday isn't defined.
    
    Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 04ea31a181d3db645d4ecb5cc1b8f7bf7e7950cc
Author: Zhouyang Jia <jiazhouyang09@gmail.com>
Date:   Tue Jun 12 12:40:03 2018 +0800

    rtc: bq4802: add error handling for devm_ioremap
    
    [ Upstream commit 7874b919866ba91bac253fa219d3d4c82bb944df ]
    
    When devm_ioremap fails, the lack of error-handling code may
    cause unexpected results.
    
    This patch adds error-handling code after calling devm_ioremap.
    
    Signed-off-by: Zhouyang Jia <jiazhouyang09@gmail.com>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1950f800faa1981d48535322ee68e9131d4ddff4
Author: Wei Lu <wei.lu2@amd.com>
Date:   Wed Jul 11 22:32:47 2018 -0400

    drm/amdkfd: Fix error codes in kfd_get_process
    
    [ Upstream commit e47cb828eb3fca3e8999a0b9aa053dda18552071 ]
    
    Return ERR_PTR(-EINVAL) if kfd_get_process fails to find the process.
    This fixes kernel oopses when a child process calls KFD ioctls with
    a file descriptor inherited from the parent process.
    
    Signed-off-by: Wei Lu <wei.lu2@amd.com>
    Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
    Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
    Acked-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4841f051b32c4ff0029dd84bdd9456b8b09dd1be
Author: Shaoyun Liu <Shaoyun.Liu@amd.com>
Date:   Wed Jul 11 22:33:01 2018 -0400

    drm/amdkfd: Fix kernel queue 64 bit doorbell offset calculation
    
    [ Upstream commit 951df6d9cfd07f205f1905bf3b27d994612e0614 ]
    
    The bitmap index calculation should reverse the logic used on allocation
    so it will clear the same bit used on allocation
    
    Signed-off-by: Shaoyun Liu <Shaoyun.Liu@amd.com>
    Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
    Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
    Acked-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b1373b80f9ec6a387c1818052e139e52f0f868e0
Author: Peter Rosin <peda@axentia.se>
Date:   Wed Jun 20 07:17:56 2018 +0200

    input: rohm_bu21023: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
    
    [ Upstream commit 193c2a07cfaacb9249ab0e3d34bce32490879355 ]
    
    Locking the root adapter for __i2c_transfer will deadlock if the
    device sits behind a mux-locked I2C mux. Switch to the finer-grained
    i2c_lock_bus with the I2C_LOCK_SEGMENT flag. If the device does not
    sit behind a mux-locked mux, the two locking variants are equivalent.
    
    Signed-off-by: Peter Rosin <peda@axentia.se>
    Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ae8247766d568036fb6843a9934d5462ccab23ea
Author: Peter Rosin <peda@axentia.se>
Date:   Wed Jun 20 07:18:02 2018 +0200

    mfd: 88pm860x-i2c: switch to i2c_lock_bus(..., I2C_LOCK_SEGMENT)
    
    [ Upstream commit 8c8f74f327a76604a499fad8c54c15e1c0ee8051 ]
    
    Locking the root adapter for __i2c_transfer will deadlock if the
    device sits behind a mux-locked I2C mux. Switch to the finer-grained
    i2c_lock_bus with the I2C_LOCK_SEGMENT flag. If the device does not
    sit behind a mux-locked mux, the two locking variants are equivalent.
    
    Signed-off-by: Peter Rosin <peda@axentia.se>
    Acked-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f40d90dd556713bc2247b1b4d8362c04cdf4428a
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Mon Jun 18 16:47:34 2018 +0200

    rcutorture: Use monotonic timestamp for stall detection
    
    [ Upstream commit 622be33fcbc93e9b672b99ed338369eb5e843ac3 ]
    
    The get_seconds() call is deprecated because it overflows on 32-bit
    architectures. The algorithm in rcu_torture_stall() can deal with
    the overflow, but another problem here is that using a CLOCK_REALTIME
    stamp can lead to a false-positive stall warning when a settimeofday()
    happens concurrently.
    
    Using ktime_get_seconds() instead avoids those issues and will never
    overflow. The added cast to 'unsigned long' however is necessary to
    make ULONG_CMP_LT() work correctly.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7961182ace132e1e7590a8a5fa5774c0e55917f8
Author: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date:   Thu Jul 12 13:54:12 2018 +0200

    net: mvpp2: make sure we use single queue mode on PPv2.1
    
    [ Upstream commit 1e27a628e3f444f53ab8099dfb31c5156e38d112 ]
    
    The PPv2 driver defines 2 "queue_modes" :
     - QDIST_SINGLE_MODE, where each port share one rx queue vector
       between all CPUs
     - QDIST_MULTI_MODE, where each port has one rx queue vector per CPU.
    
    Multi queue mode isn't available on PPv2.1, make sure we fallback to
    single mode when running on this revision.
    
    Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 466ec0c2ba2d4f2029f1a01d0fe2f140a9e08406
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Wed Jul 11 21:32:43 2018 +0200

    net: gemini: Allow multiple ports to instantiate
    
    [ Upstream commit 60cc7767b901dd1e3f70755c3d2505556ba487c2 ]
    
    The code was not tested with two ports actually in use at
    the same time. (I blame this on lack of actual hardware using
    that feature.) Now after locating a system using both ports,
    add necessary fix to make both ports come up.
    
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 382ca1b7ca794a9f24624a8cf91c09f59dc34ea3
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Mon Jul 9 21:47:27 2018 +0300

    gpiolib: Mark gpio_suffixes array with __maybe_unused
    
    [ Upstream commit b23ec59926faf05b0c43680d05671c484e810ac4 ]
    
    Since we put static variable to a header file it's copied to each module
    that includes the header. But not all of them are actually used it.
    
    Mark gpio_suffixes array with __maybe_unused to hide a compiler warning:
    
    In file included from
    drivers/gpio/gpiolib-legacy.c:6:0:
    drivers/gpio/gpiolib.h:95:27: warning: ‘gpio_suffixes’ defined but not used [-Wunused-const-variable=]
     static const char * const gpio_suffixes[] = { "gpios", "gpio" };
                               ^~~~~~~~~~~~~
    In file included from drivers/gpio/gpiolib-devprop.c:17:0:
    drivers/gpio/gpiolib.h:95:27: warning: ‘gpio_suffixes’ defined but not used [-Wunused-const-variable=]
     static const char * const gpio_suffixes[] = { "gpios", "gpio" };
                               ^~~~~~~~~~~~~
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a35951e982eb4a67413e391abf1f272ed0a680ab
Author: Wei Yongjun <weiyongjun1@huawei.com>
Date:   Wed Jul 11 13:19:38 2018 +0000

    gpio: pxa: Fix potential NULL dereference
    
    [ Upstream commit 9506755633d0b32ef76f67c345000178e9b0dfc4 ]
    
    platform_get_resource() may fail and return NULL, so we should
    better check it's return value to avoid a NULL pointer dereference
    a bit later in the code.
    
    This is detected by Coccinelle semantic patch.
    
    @@
    expression pdev, res, n, t, e, e1, e2;
    @@
    
    res = platform_get_resource(pdev, t, n);
    + if (!res)
    +   return -EINVAL;
    ... when != res == NULL
    e = devm_ioremap(e1, res->start, e2);
    
    Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
    Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c6bc7c725409914efdbed0bff00065513c9d619d
Author: Tuomas Tynkkynen <tuomas@tuxera.com>
Date:   Fri Jul 13 00:54:17 2018 +0300

    staging: bcm2835-audio: Don't leak workqueue if open fails
    
    [ Upstream commit 678c5b119307c40f9a17152512f9c949d0ec7292 ]
    
    Currently, if bcm2835_audio_open() fails partway, the allocated
    workqueue is leaked. Avoid that.
    
    While at it, propagate the return value of
    bcm2835_audio_open_connection() on failure instead of returning -1.
    
    Signed-off-by: Tuomas Tynkkynen <tuomas@tuxera.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 28929ceced7d250aaa6384c0650e1580937ffe84
Author: Matias Bjørling <mb@lightnvm.io>
Date:   Fri Jul 13 10:48:38 2018 +0200

    lightnvm: pblk: enable line minor version detection
    
    [ Upstream commit 99b8dad1b6e52721904220322a947f7b75056303 ]
    
    When recovering a line, an extra check was added when debugging was
    active, such that minor version where also checked. Unfortunately,
    this used the ifdef NVM_DEBUG, which is not correct.
    
    Instead use the proper DEBUG def, and now that it compiles, also fix
    the variable.
    
    Signed-off-by: Matias Bjørling <mb@lightnvm.io>
    Fixes: d0ab0b1ab991f ("lightnvm: pblk: check data lines version on recovery")
    Reviewed-by: Javier González <javier@cnexlabs.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7785ada57436def5a43295f6f9c552cfea4ce497
Author: Hans Holmberg <hans.holmberg@cnexlabs.com>
Date:   Fri Jul 13 10:48:45 2018 +0200

    lightnvm: pblk: assume that chunks are closed on 1.2 devices
    
    [ Upstream commit f6352103d2e0ad2d2066725eb19bfdfb8763239b ]
    
    We can't know if a block is closed or not on 1.2 devices, so assume
    closed state to make sure that blocks are erased before writing.
    
    Fixes: 32ef9412c114 ("lightnvm: pblk: implement get log report chunk")
    Signed-off-by: Hans Holmberg <hans.holmberg@cnexlabs.com>
    Signed-off-by: Matias Bjørling <mb@lightnvm.io>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 070b164edc30857ea78d1e23ae9b468568f1a090
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Fri Jul 13 18:05:57 2018 +0300

    ASoC: qdsp6: q6afe-dai: fix a range check in of_q6afe_parse_dai_data()
    
    [ Upstream commit b8110a87b75f948d978c06e130cc68026645c4a1 ]
    
    The main thing is that the data->priv[] array has AFE_PORT_MAX elements
    so the > condition should be >=.  But we may as well check for negative
    values as well just to be safe.
    
    Fixes: 24c4cbcfac09 ("ASoC: qdsp6: q6afe: Add q6afe dai driver")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b0442208f62f77b100b55f114f128f54e01dd07a
Author: Eric Yang <Eric.Yang2@amd.com>
Date:   Tue Jun 12 18:37:12 2018 -0400

    drm/amd/display: support access ddc for mst branch
    
    [ Upstream commit 0a14544661fad1606cc96aece30b2950fd9c4c81 ]
    
    [Why]
    Megachip dockings accesses ddc line through display driver when
    installing FW. Previously, we would fail every transaction because
    link attached to mst branch did not have their ddc transaction type
    set.
    
    [How]
    Set ddc transaction type when mst branch is connected.
    
    Signed-off-by: Eric Yang <Eric.Yang2@amd.com>
    Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 67a281a8bee9a368ba0a06211f11095c71093e0f
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Wed Jun 13 14:31:18 2018 -0700

    tools/testing/nvdimm: Fix support for emulating controller temperature
    
    [ Upstream commit e5d772fbe7685aae0dff99f3b54158a0ec32155e ]
    
    In addition to populating the value the payload also needs to set the
    "controller temperature valid" flag.
    
    Fixes: cdd77d3e1930 ("nfit, libnvdimm: deprecate the generic SMART ioctl")
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 22df0497e1046903ff0199f2041e7e4bc7935805
Author: Jaegeuk Kim <jaegeuk@kernel.org>
Date:   Fri Jul 6 16:47:34 2018 -0700

    f2fs: do checkpoint in kill_sb
    
    [ Upstream commit 1cb50f87e10696e8cc61fb62d0d948e11b0e6dc1 ]
    
    When unmounting f2fs in force mode, we can get it stuck by io_schedule()
    by some pending IOs in meta_inode.
    
    io_schedule+0xd/0x30
    wait_on_page_bit_common+0xc6/0x130
    __filemap_fdatawait_range+0xbd/0x100
    filemap_fdatawait_keep_errors+0x15/0x40
    sync_inodes_sb+0x1cf/0x240
    sync_filesystem+0x52/0x90
    generic_shutdown_super+0x1d/0x110
    kill_f2fs_super+0x28/0x80 [f2fs]
    deactivate_locked_super+0x35/0x60
    cleanup_mnt+0x36/0x70
    task_work_run+0x79/0xa0
    exit_to_usermode_loop+0x62/0x70
    do_syscall_64+0xdb/0xf0
    entry_SYSCALL_64_after_hwframe+0x44/0xa9
    0xffffffffffffffff
    
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6e530bf7d202a72b63dca3d67c0a14d0f6908f51
Author: Suzuki K Poulose <suzuki.poulose@arm.com>
Date:   Wed Jul 11 13:40:14 2018 -0600

    coresight: ETM: Add support for Arm Cortex-A73 and Cortex-A35
    
    [ Upstream commit 5cedd22370a0a460b663c06de1fc10b4ba3c5d0b ]
    
    Add ETM PIDs of the Arm cortex-A CPUs to the white list of ETMs.
    While at it add a helper macro to make it easier to add the new
    entries.
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8da6cd5019984fedd7506638545aa67d03c7087b
Author: Robin Murphy <robin.murphy@arm.com>
Date:   Wed Jul 11 13:40:35 2018 -0600

    coresight: tpiu: Fix disabling timeouts
    
    [ Upstream commit ccff2dfaceaca4517432f5c149594215fe9098cc ]
    
    Probing the TPIU driver under UBSan triggers an out-of-bounds shift
    warning in coresight_timeout():
    
    ...
    [    5.677530] UBSAN: Undefined behaviour in drivers/hwtracing/coresight/coresight.c:929:16
    [    5.685542] shift exponent 64 is too large for 64-bit type 'long unsigned int'
    ...
    
    On closer inspection things are exponentially out of whack because we're
    passing a bitmask where a bit number should be. Amusingly, it seems that
    both calls will find their expected values by sheer luck and appear to
    succeed: 1 << FFCR_FON_MAN ends up at bit 64 which whilst undefined
    evaluates as zero in practice, while 1 << FFSR_FT_STOPPED finds bit 2
    (TCPresent) which apparently is usually tied high.
    
    Following the examples of other drivers, define separate FOO and FOO_BIT
    macros for masks vs. indices, and put things right.
    
    CC: Robert Walker <robert.walker@arm.com>
    CC: Mike Leach <mike.leach@linaro.org>
    CC: Mathieu Poirier <mathieu.poirier@linaro.org>
    Fixes: 11595db8e17f ("coresight: Fix disabling of CoreSight TPIU")
    Signed-off-by: Robin Murphy <robin.murphy@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d0fb01bb8ed9b2c9b4e9c70480da7d80e5faf4fb
Author: Suzuki K Poulose <suzuki.poulose@arm.com>
Date:   Wed Jul 11 13:40:28 2018 -0600

    coresight: Handle errors in finding input/output ports
    
    [ Upstream commit fe470f5f7f684ed15bc49b6183a64237547910ff ]
    
    If we fail to find the input / output port for a LINK component
    while enabling a path, we should fail gracefully rather than
    assuming port "0".
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
    Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b3cf69dd8a2b696c35407879dbcc7e33969b39b4
Author: Quentin Perret <quentin.perret@arm.com>
Date:   Tue Jun 12 12:22:15 2018 +0100

    sched/fair: Fix util_avg of new tasks for asymmetric systems
    
    [ Upstream commit 8fe5c5a937d0f4e84221631833a2718afde52285 ]
    
    When a new task wakes-up for the first time, its initial utilization
    is set to half of the spare capacity of its CPU. The current
    implementation of post_init_entity_util_avg() uses SCHED_CAPACITY_SCALE
    directly as a capacity reference. As a result, on a big.LITTLE system, a
    new task waking up on an idle little CPU will be given ~512 of util_avg,
    even if the CPU's capacity is significantly less than that.
    
    Fix this by computing the spare capacity with arch_scale_cpu_capacity().
    
    Signed-off-by: Quentin Perret <quentin.perret@arm.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: Vincent Guittot <vincent.guittot@linaro.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: dietmar.eggemann@arm.com
    Cc: morten.rasmussen@arm.com
    Cc: patrick.bellasi@arm.com
    Link: http://lkml.kernel.org/r/20180612112215.25448-1-quentin.perret@arm.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a9093ae701970ab9f896c7053dd49233ff28592c
Author: Julia Lawall <Julia.Lawall@lip6.fr>
Date:   Thu Jul 12 22:29:55 2018 +0100

    parport: sunbpp: fix error return code
    
    [ Upstream commit faa1a47388b33623e4d504c23569188907b039a0 ]
    
    Return an error code on failure.  Change leading spaces to tab on the
    first if.
    
    Problem found using Coccinelle.
    
    Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
    Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cc55678dd2f8cdbbec8c8403710cc2ffb209f422
Author: Boris Pismenny <borisp@mellanox.com>
Date:   Fri Jul 13 14:33:44 2018 +0300

    tls: Fix zerocopy_from_iter iov handling
    
    [ Upstream commit 4718799817c5a30ae723eda21f3a6c7d8701b1a4 ]
    
    zerocopy_from_iter iterates over the message, but it doesn't revert the
    updates made by the iov iteration. This patch fixes it. Now, the iov can
    be used after calling zerocopy_from_iter.
    
    Fixes: 3c4d75591 ("tls: kernel TLS support")
    Signed-off-by: Boris Pismenny <borisp@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 88b8d17d3ab0dc62da11a19fc39b3b2bca21912a
Author: Thierry Reding <treding@nvidia.com>
Date:   Wed May 30 16:06:25 2018 +0200

    drm/nouveau: tegra: Detach from ARM DMA/IOMMU mapping
    
    [ Upstream commit b59fb482b52269977ee5de205308e5b236a03917 ]
    
    Depending on the kernel configuration, early ARM architecture setup code
    may have attached the GPU to a DMA/IOMMU mapping that transparently uses
    the IOMMU to back the DMA API. Tegra requires special handling for IOMMU
    backed buffers (a special bit in the GPU's MMU page tables indicates the
    memory path to take: via the SMMU or directly to the memory controller).
    Transparently backing DMA memory with an IOMMU prevents Nouveau from
    properly handling such memory accesses and causes memory access faults.
    
    As a side-note: buffers other than those allocated in instance memory
    don't need to be physically contiguous from the GPU's perspective since
    the GPU can map them into contiguous buffers using its own MMU. Mapping
    these buffers through the IOMMU is unnecessary and will even lead to
    performance degradation because of the additional translation. One
    exception to this are compressible buffers which need large pages. In
    order to enable these large pages, multiple small pages will have to be
    combined into one large (I/O virtually contiguous) mapping via the
    IOMMU. However, that is a topic outside the scope of this fix and isn't
    currently supported. An implementation will want to explicitly create
    these large pages in the Nouveau driver, so detaching from a DMA/IOMMU
    mapping would still be required.
    
    Signed-off-by: Thierry Reding <treding@nvidia.com>
    Acked-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Robin Murphy <robin.murphy@arm.com>
    Tested-by: Nicolas Chauvet <kwizart@gmail.com>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e293c3e0e60b9d6dca3fc98bbbe39c218c6db37a
Author: Karol Herbst <karolherbst@gmail.com>
Date:   Sat Jul 14 12:52:09 2018 +0200

    drm/nouveau/debugfs: Wake up GPU before doing any reclocking
    
    [ Upstream commit eaeb9010bb4bcdc20e58254fa42f3fe730a7f908 ]
    
    Fixes various reclocking related issues on prime systems.
    
    Signed-off-by: Karol Herbst <karolherbst@gmail.com>
    Signed-off-by: Martin Peres <martin.peres@free.fr>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3c266a692dda685eefde82c3a5520f998e8d8154
Author: Lyude Paul <lyude@redhat.com>
Date:   Thu Jul 12 13:02:52 2018 -0400

    drm/nouveau: Fix runtime PM leak in drm_open()
    
    [ Upstream commit 922a8c82fafdec99688bbaea6c5889f562a42cdc ]
    
    Noticed this as I was skimming through, if we fail to allocate memory
    for cli we'll end up returning without dropping the runtime PM ref we
    got. Additionally, we'll even return the wrong return code! (ret most
    likely will == 0 here, we want -ENOMEM).
    
    Signed-off-by: Lyude Paul <lyude@redhat.com>
    Reviewed-by: Lukas Wunner <lukas@wunner.de>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5d421dae2364226a737ec3f5951b11b99b82cce1
Author: Stefan Agner <stefan@agner.ch>
Date:   Thu Jul 5 14:18:19 2018 +0200

    mmc: sdhci: do not try to use 3.3V signaling if not supported
    
    [ Upstream commit 1b5190c2e74c47ebe4bcecf7a072358ad9f1feaa ]
    
    For eMMC devices it is valid to only support 1.8V signaling. When
    vqmmc is set to a fixed 1.8V regulator the stack tries to set 3.3V
    initially and prints the following warning:
       mmc1: Switching to 3.3V signalling voltage failed
    
    Clear the MMC_SIGNAL_VOLTAGE_330 flag in case 3.3V is signaling is
    not available. This prevents the stack from even trying to use
    3.3V signaling and avoids the above warning.
    
    Signed-off-by: Stefan Agner <stefan@agner.ch>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 566b4caf114363b57a7dc9f83d88fa509d49dc76
Author: Stefan Agner <stefan@agner.ch>
Date:   Thu Jul 12 09:39:02 2018 +0200

    mmc: tegra: prevent HS200 on Tegra 3
    
    [ Upstream commit 127407e36f4fe3a1d5e8b9998b479956ce83a7dc ]
    
    The stack assumes that SDHC controller which support SD3.0 (SDR104) do
    support HS200. This is not the case for Tegra 3, which does support SD
    3.0
    but only supports eMMC spec 4.41.
    
    Use SDHCI_QUIRK2_BROKEN_HS200 to indicate that the controller does not
    support HS200.
    
    Note that commit 156e14b126ff ("mmc: sdhci: fix caps2 for HS200") added
    the tie between SD3.0 (SDR104) and HS200. I don't think that this is
    necessarly true. It is fully legitimate to support SD3.0 and not support
    HS200. The quirk naming suggests something is broken in the controller,
    but this is not the case: The controller simply does not support HS200.
    
    Fixes: 7ad2ed1dfcbe ("mmc: tegra: enable UHS-I modes")
    Signed-off-by: Stefan Agner <stefan@agner.ch>
    Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5f366ee1f1ff8a14f4f53c28fa3f42669fc40f1f
Author: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Date:   Wed Jul 4 14:34:20 2018 +0300

    mmc: sdhci-of-esdhc: set proper dma mask for ls104x chips
    
    [ Upstream commit 5552d7ad596c3fea953f40fef74170ce0760c04d ]
    
    SDHCI controller in ls1043a and ls1046a generate 40-bit wide addresses
    when doing DMA. Make sure that the corresponding dma mask is correctly
    configured.
    
    Context: when enabling smmu on these chips the following problem is
    encountered: the smmu input address size is 48 bits so the dma mappings
    for sdhci end up 48-bit wide. However, on these chips sdhci only use
    40-bits of that address size when doing dma.
    So you end up with a 48-bit address translation in smmu but the device
    generates transactions with clipped 40-bit addresses, thus smmu context
    faults are triggered. Setting up the correct dma mask fixes this
    situation.
    
    Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 442f4d1e9aa62a0b8149bc43501f44300e9f3274
Author: Johan Hovold <johan@kernel.org>
Date:   Sun Jul 15 15:39:33 2018 +0200

    tty: fix termios input-speed encoding
    
    [ Upstream commit fada18c48d774b9e837928ecdce6a5d5fdd11ee7 ]
    
    Make sure to clear the CIBAUD bits before OR-ing the new mask when
    encoding the termios input baud rate.
    
    This could otherwise lead to an incorrect input rate being reported back
    and incidentally set on subsequent termios updates.
    
    Fixes: edc6afc54968 ("[PATCH] tty: switch to ktermios and new framework")
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 859a99742a95c440aa339723cf0b36b970f4f12c
Author: Johan Hovold <johan@kernel.org>
Date:   Sun Jul 15 15:39:34 2018 +0200

    tty: fix termios input-speed encoding when using BOTHER
    
    [ Upstream commit 1cee38f0363a88db374e50b232ca17b9a4c12fa0 ]
    
    When the termios CIBAUD bits are left unset (i.e. B0), we use the same
    output and input speed and should leave CIBAUD unchanged.
    
    When the user requests a rate using BOTHER and c_ospeed which the driver
    cannot set exactly, the driver can report back the actual baud rate
    using tty_termios_encode_baud_rate(). If this rate is close enough to a
    standard rate however, we could end up setting CIBAUD to a Bfoo value
    despite the user having left it unset.
    
    This in turn could lead to an unexpected input rate being set on
    subsequent termios updates.
    
    Fix this by using a zero tolerance value also for the input rate when
    CIBAUD is clear so that the matching logic works as expected.
    
    Fixes: 78137e3b34e1 ("[PATCH] tty: improve encode_baud_rate logic")
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 24d7347116baec6f515601891717a692e6d41e8d
Author: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Date:   Fri Jul 13 16:58:54 2018 +0200

    serial: 8250: of: Correct of_platform_serial_setup() error handling
    
    [ Upstream commit b29330d829042512fabb2bfa3bbfa32df1115594 ]
    
    Don't dispose IRQ mapping before it has been created.
    
    Fixes: aa9594740 ("serial: 8250_of: Add IO space support")
    Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cc04d14157b8abcba1ed4eca41da3361a02d2472
Author: Russell King <rmk+kernel@armlinux.org.uk>
Date:   Sat Jul 14 16:01:06 2018 +0100

    ASoC: hdmi-codec: fix routing
    
    [ Upstream commit d30e23d69981a4b665f5ce8711335df986576389 ]
    
    Commit 943fa0228252 ("ASoC: hdmi-codec: Use different name for playback
    streams") broke hdmi-codec's routing between it's output "TX" widget
    and the S/PDIF or I2S streams by renaming the streams.
    
    Whether an error occurs or not is dependent on whether there is another
    widget called "Playback" registered by some other component - if there
    is, that widget will be (incorrectly) bound to the HDMI codec's "TX"
    output widget.  If we end up connecting "TX" incorrectly, it can result
    in components not being started, causing no audio output.
    
    Since the I2S and S/PDIF streams now have different names, we can't
    use a static route at component level to describe the relationship, so
    arrange to dynamically create the route when the DAI driver is probed.
    
    Fixes: 943fa0228252 ("ASoC: hdmi-codec: Use different name for playback streams")
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 179dbd5fc4f1e3fcb227ca8ee819e3c032dbe6bb
Author: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Date:   Thu May 3 18:29:36 2018 +0200

    gpu: ipu-v3: csi: pass back mbus_code_to_bus_cfg error codes
    
    [ Upstream commit d36d0e6309dd8137cf438cbb680e72eb63c81425 ]
    
    mbus_code_to_bus_cfg() can fail on unknown mbus codes; pass back the
    error to the caller.
    
    Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
    Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
    [p.zabel@pengutronix.de - renamed rc to ret for consistency]
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b720a10bf407963b966f9334d1c4ce859a54ebbc
Author: Rick Farrington <ricardo.farrington@cavium.com>
Date:   Fri Jul 13 12:50:21 2018 -0700

    liquidio: fix hang when re-binding VF host drv after running DPDK VF driver
    
    [ Upstream commit ac13d6d8eaded15c67265eafc32f439ea3a0ac4a ]
    
    When configuring SLI_PKTn_OUTPUT_CONTROL, VF driver was assuming that IPTR
    mode was disabled by reset, which was not true.  Since DPDK driver had
    set IPTR mode previously, the VF driver (which uses buf-ptr-only mode) was
    not properly handling DROQ packets (i.e. it saw zero-length packets).
    
    This represented an invalid hardware configuration which the driver could
    not handle.
    
    Signed-off-by: Rick Farrington <ricardo.farrington@cavium.com>
    Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit af62ca55dc1ff9911992b5c3cd1726873d267cb6
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Thu Jul 12 11:28:23 2018 +0200

    ARM: hisi: check of_iomap and fix missing of_node_put
    
    [ Upstream commit 81646a3d39ef14749301374a3a0b8311384cd412 ]
    
    of_find_compatible_node() returns a device node with refcount incremented
    and thus needs an explicit of_node_put(). Further relying on an unchecked
    of_iomap() which can return NULL is problematic here, after all ctrl_base
    is critical enough for hix5hd2_set_cpu() to call BUG() if not available
    so a check seems mandated here.
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    0002 Fixes: commit 06cc5c1d4d73 ("ARM: hisi: enable hix5hd2 SoC")
    Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c55e49df537135633324ea7421e369cabbbce2b7
Author: Huazhong Tan <tanhuazhong@huawei.com>
Date:   Mon Jul 16 16:36:23 2018 +0100

    net: hns3: Fix return value error in hns3_reset_notify_down_enet
    
    [ Upstream commit 6b1385cc251ae9f26b720fa5c8c00bf19af336ae ]
    
    When doing reset, netdev has not been brought up is not an error,
    it means that we do not need do the stop operation, so just return
    zero.
    
    Fixes: 76ad4f0ee747 ("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC")
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7c3197ac7034354b6b4cf2b63184436b479336de
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Thu Jul 12 11:28:22 2018 +0200

    ARM: hisi: fix error handling and missing of_node_put
    
    [ Upstream commit 9f30b5ae0585ca5234fe979294b8f897299dec99 ]
    
    of_iomap() can return NULL which seems critical here and thus should be
    explicitly flagged so that the cause of system halting can be understood.
    As of_find_compatible_node() is returning a device node with refcount
    incremented it must be explicitly decremented here.
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Fixes: commit 7fda91e73155 ("ARM: hisi: enable smp for HiP01")
    Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 34330aee69489fc643ad8fb5a68fa20c78b9fd10
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Thu Jul 12 11:28:24 2018 +0200

    ARM: hisi: handle of_iomap and fix missing of_node_put
    
    [ Upstream commit d396cb185c0337aae5664b250cdd9a73f6eb1503 ]
    
    Relying on an unchecked of_iomap() which can return NULL is problematic
    here, an explicit check seems mandatory. Also the call to
    of_find_compatible_node() returns a device node with refcount incremented
    therefor an explicit of_node_put() is needed here.
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Fixes: commit 22bae4290457 ("ARM: hi3xxx: add hotplug support")
    Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cef4231adf5557b19d719cde6cda4087f1db8f07
Author: Yunsheng Lin <linyunsheng@huawei.com>
Date:   Mon Jul 16 16:36:25 2018 +0100

    net: hns3: Fix for reset_level default assignment probelm
    
    [ Upstream commit 82b5321460005ac5d34996e17f5a51a4004a1e14 ]
    
    handle->reset_level is assigned to HNAE3_NONE_RESET when client is
    initialized, if a tx timeout happens right after initialization,
    then handle->reset_level is not resetted to HNAE3_FUNC_RESET in
    hclge_reset_event, which will cause reset event not properly
    handled problem.
    
    This patch fixes it by setting handle->reset_level properly when
    client is initialized.
    
    Fixes: 6d4c3981a8d8 ("net: hns3: Changes to make enet watchdog timeout func common for PF/VF")
    Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4d23263a5a8e20b2bf509052ea2b0fadc9d7c840
Author: Huazhong Tan <tanhuazhong@huawei.com>
Date:   Mon Jul 16 16:36:20 2018 +0100

    net: hns3: Reset net device with rtnl_lock
    
    [ Upstream commit 6d4fab39533f1bcd933d82d1667ceea93e4de260 ]
    
    Since current locking was not covering certain code where
    netdev was being accessed or manipulated, this patch fixes
    it.
    
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ddf5261f9068f68907ce4e511eae84c0655eafce
Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Date:   Mon Jul 16 23:25:07 2018 +0800

    efi/esrt: Only call efi_mem_reserve() for boot services memory
    
    [ Upstream commit 61f0d55569463a1af897117ff47d202b0ccb2e24 ]
    
    The following commit:
    
      7e1550b8f208 ("efi: Drop type and attribute checks in efi_mem_desc_lookup()")
    
    refactored the implementation of efi_mem_desc_lookup() so that the type
    check is moved to the callers, one of which is the x86 version of
    efi_arch_mem_reserve(), where we added a modified check that only takes
    EFI_BOOT_SERVICES_DATA regions into account.
    
    This is reasonable, since it is the only memory type that requires this,
    but doing so uncovered some unexpected behavior in the ESRT code, which
    permits the ESRT table to reside in other types of memory than what the
    UEFI spec mandates (i.e., EFI_BOOT_SERVICES_DATA), and unconditionally
    calls efi_mem_reserve() on the region in question. This may result in
    errors such as
    
      esrt: Reserving ESRT space from 0x000000009c810318 to 0x000000009c810350.
      efi: Failed to lookup EFI memory descriptor for 0x000000009c810318
    
    when the ESRT table is not in EFI_BOOT_SERVICES_DATA memory, but we try
    to reserve it nonetheless.
    
    So make the call to efi_mem_reserve() conditional on the memory type.
    
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Jones <pjones@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-efi@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c1424ee6462bcc47d52e8c678dd8f23fb4f77008
Author: Andrea Parri <andrea.parri@amarulasolutions.com>
Date:   Mon Jul 16 11:06:01 2018 -0700

    sched/core: Use smp_mb() in wake_woken_function()
    
    [ Upstream commit 76e079fefc8f62bd9b2cd2950814d1ee806e31a5 ]
    
    wake_woken_function() synchronizes with wait_woken() as follows:
    
      [wait_woken]                       [wake_woken_function]
    
      entry->flags &= ~wq_flag_woken;    condition = true;
      smp_mb();                          smp_wmb();
      if (condition)                     wq_entry->flags |= wq_flag_woken;
         break;
    
    This commit replaces the above smp_wmb() with an smp_mb() in order to
    guarantee that either wait_woken() sees the wait condition being true
    or the store to wq_entry->flags in woken_wake_function() follows the
    store in wait_woken() in the coherence order (so that the former can
    eventually be observed by wait_woken()).
    
    The commit also fixes a comment associated to set_current_state() in
    wait_woken(): the comment pairs the barrier in set_current_state() to
    the above smp_wmb(), while the actual pairing involves the barrier in
    set_current_state() and the barrier executed by the try_to_wake_up()
    in wake_woken_function().
    
    Signed-off-by: Andrea Parri <andrea.parri@amarulasolutions.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: akiyks@gmail.com
    Cc: boqun.feng@gmail.com
    Cc: dhowells@redhat.com
    Cc: j.alglave@ucl.ac.uk
    Cc: linux-arch@vger.kernel.org
    Cc: luc.maranget@inria.fr
    Cc: npiggin@gmail.com
    Cc: parri.andrea@gmail.com
    Cc: stern@rowland.harvard.edu
    Cc: will.deacon@arm.com
    Link: http://lkml.kernel.org/r/20180716180605.16115-10-paulmck@linux.vnet.ibm.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5c4a6af4c6945b30dbd5227b98cd768684c6e23f
Author: Ryder Lee <ryder.lee@mediatek.com>
Date:   Mon Jul 16 22:59:09 2018 +0800

    arm64: dts: mt7622: update a clock property for UART0
    
    [ Upstream commit 2b519747ae4859e886c37834d766fe0c7d8d82e2 ]
    
    The input clock of UART0 should be CLK_PERI_UART0_PD.
    
    Fixes: 13f36c326cef ("arm64: dts: mt7622: turn uart0 clock to real ones")
    Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
    Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5471c19b92f867cca62a805592e0e3963e6e210f
Author: Tony Lindgren <tony@atomide.com>
Date:   Thu Jul 5 02:10:17 2018 -0700

    pinctrl: rza1: Fix selector use for groups and functions
    
    [ Upstream commit dc4003d260594aa300028c3c5d040c5719abd19b ]
    
    We must use a mutex around the generic_add functions and save the
    function and group selector in case we need to remove them. Otherwise
    the selector use will be racy for deferred probe at least.
    
    Fixes: 5a49b644b307 ("pinctrl: Renesas RZ/A1 pin and gpio controller")
    Reported-by: H. Nikolaus Schaller <hns@goldelico.com>
    Cc: Christ van Willegen <cvwillegen@gmail.com>
    Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
    Cc: Paul Cercueil <paul@crapouillou.net>
    Cc: Sean Wang <sean.wang@mediatek.com>
    Acked-by: Jacopo Mondi <jacopo@jmondi.org>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Tested-By: H. Nikolaus Schaller <hns@goldelico.com>
    Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cb5b08a8ec5f0dcfa477981c5faf6fa5f9f9b237
Author: Sean Wang <sean.wang@mediatek.com>
Date:   Thu Jul 12 13:50:00 2018 +0800

    pinctrl: mt7622: Fix probe fail by misuse the selector
    
    [ Upstream commit 238262af08a20e5f1932fcf606b8b84370ac8b77 ]
    
    After the commit acf137951367 ("pinctrl: core: Return selector to the
    pinctrl driver") and the commit 47f1242d19c3 ("pinctrl: pinmux: Return
    selector to the pinctrl driver"), it's necessary to add the fixes
    needed for the pin controller drivers to use the appropriate returned
    selector for a negative error number returned in case of the fail at
    these functions. Otherwise, the driver would have a failed probe and
    that causes boot message cannot correctly output and devices fail
    to acquire their own pins.
    
    Cc: Kevin Hilman <khilman@baylibre.com>
    Fixes: acf137951367 ("pinctrl: core: Return selector to the pinctrl driver")
    Fixes: 47f1242d19c3 ("pinctrl: pinmux: Return selector to the pinctrl driver")
    Signed-off-by: Sean Wang <sean.wang@mediatek.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b07bfd045c5fee8da656560d668e1a96d06add7b
Author: Mike Christie <mchristi@redhat.com>
Date:   Sun Jul 15 18:16:17 2018 -0500

    configfs: fix registered group removal
    
    [ Upstream commit cc57c07343bd071cdf1915a91a24ab7d40c9b590 ]
    
    This patch fixes a bug where configfs_register_group had added
    a group in a tree, and userspace has done a rmdir on a dir somewhere
    above that group and we hit a kernel crash. The problem is configfs_rmdir
    will detach everything under it and unlink groups on the default_groups
    list. It will not unlink groups added with configfs_register_group so when
    configfs_unregister_group is called to drop its references to the group/items
    we crash when we try to access the freed dentrys.
    
    The patch just adds a check for if a rmdir has been done above
    us and if so just does the unlink part of unregistration.
    
    Sorry if you are getting this multiple times. I thouhgt I sent
    this to some of you and lkml, but I do not see it.
    
    Signed-off-by: Mike Christie <mchristi@redhat.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Joel Becker <jlbec@evilplan.org>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e75b2324e38531d33d322454a652c328870a894d
Author: Paul Burton <paul.burton@mips.com>
Date:   Mon Jul 16 08:26:36 2018 -0700

    MIPS: loongson64: cs5536: Fix PCI_OHCI_INT_REG reads
    
    [ Upstream commit cd87668d601f622e0ebcfea4f78d116d5f572f4d ]
    
    The PCI_OHCI_INT_REG case in pci_ohci_read_reg() contains the following
    if statement:
    
      if ((lo & 0x00000f00) == CS5536_USB_INTR)
    
    CS5536_USB_INTR expands to the constant 11, which gives us the following
    condition which can never evaluate true:
    
      if ((lo & 0xf00) == 11)
    
    At least when using GCC 8.1.0 this falls foul of the tautoligcal-compare
    warning, and since the code is built with the -Werror flag the build
    fails.
    
    Fix this by shifting lo right by 8 bits in order to match the
    corresponding PCI_OHCI_INT_REG case in pci_ohci_write_reg().
    
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Patchwork: https://patchwork.linux-mips.org/patch/19861/
    Cc: Huacai Chen <chenhc@lemote.com>
    Cc: James Hogan <jhogan@kernel.org>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-mips@linux-mips.org
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d5d7da805a06fc955f43213f41355a43c18600dd
Author: Alexey Kardashevskiy <aik@ozlabs.ru>
Date:   Wed Jun 20 18:42:58 2018 +1000

    KVM: PPC: Book3S: Fix matching of hardware and emulated TCE tables
    
    [ Upstream commit 76346cd93a5eca33700f82685d56172dd65d4c0a ]
    
    When attaching a hardware table to LIOBN in KVM, we match table parameters
    such as page size, table offset and table size. However the tables are
    created via very different paths - VFIO and KVM - and the VFIO path goes
    through the platform code which has minimum TCE page size requirement
    (which is 4K but since we allocate memory by pages and cannot avoid
    alignment anyway, we align to 64k pages for powernv_defconfig).
    
    So when we match the tables, one might be bigger that the other which
    means the hardware table cannot get attached to LIOBN and DMA mapping
    fails.
    
    This removes the table size alignment from the guest visible table.
    This does not affect the memory allocation which is still aligned -
    kvmppc_tce_pages() takes care of this.
    
    This relaxes the check we do when attaching tables to allow the hardware
    table be bigger than the guest visible table.
    
    Ideally we want the KVM table to cover the same space as the hardware
    table does but since the hardware table may use multiple levels, and
    all levels must use the same table size (IODA2 design), the area it can
    actually cover might get very different from the window size which
    the guest requested, even though the guest won't map it all.
    
    Fixes: ca1fc489cf "KVM: PPC: Book3S: Allow backing bigger guest IOMMU pages with smaller physical pages"
    Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7974b0c64934e7fe3646a6f122b3e98cdfeb448b
Author: Arvind Yadav <arvind.yadav.cs@gmail.com>
Date:   Fri Mar 30 17:14:03 2018 +0530

    PM / devfreq: use put_device() instead of kfree()
    
    [ Upstream commit 2d803dc8f7a5f622ac47c3b650834ada3a2659b9 ]
    
    Never directly free @dev after calling device_register() or
    device_unregister(), even if device_register() returned an error.
    Always use put_device() to give up the reference initialized.
    
    Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
    Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
    Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 81ce15b06c0fd2b139bf095cb53bcd562bedf3ed
Author: Eric Biggers <ebiggers@google.com>
Date:   Tue Jul 17 10:36:04 2018 -0700

    security: check for kstrdup() failure in lsm_append()
    
    [ Upstream commit 87ea58433208d17295e200d56be5e2a4fe4ce7d6 ]
    
    lsm_append() should return -ENOMEM if memory allocation failed.
    
    Fixes: d69dece5f5b6 ("LSM: Add /sys/kernel/security/lsm")
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: James Morris <james.morris@microsoft.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 91c26cb2293f1947b4acdf38bf35d4f544438598
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Sat Jul 7 08:53:07 2018 +0200

    KVM: PPC: Book3S HV: Add of_node_put() in success path
    
    [ Upstream commit 51eaa08f029c7343df846325d7cf047be8b96e81 ]
    
    The call to of_find_compatible_node() is returning a pointer with
    incremented refcount so it must be explicitly decremented after the
    last use. As here it is only being used for checking of node presence
    but the result is not actually used in the success path it can be
    dropped immediately.
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Fixes: commit f725758b899f ("KVM: PPC: Book3S HV: Use OPAL XICS emulation on POWER9")
    Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6a69ccd2ec68a39c92643e2c24ef0bbc988af2e4
Author: Matthew Garrett <mjg59@google.com>
Date:   Fri Jun 8 14:57:42 2018 -0700

    evm: Don't deadlock if a crypto algorithm is unavailable
    
    [ Upstream commit e2861fa71641c6414831d628a1f4f793b6562580 ]
    
    When EVM attempts to appraise a file signed with a crypto algorithm the
    kernel doesn't have support for, it will cause the kernel to trigger a
    module load. If the EVM policy includes appraisal of kernel modules this
    will in turn call back into EVM - since EVM is holding a lock until the
    crypto initialisation is complete, this triggers a deadlock. Add a
    CRYPTO_NOLOAD flag and skip module loading if it's set, and add that flag
    in the EVM case in order to fail gracefully with an error message
    instead of deadlocking.
    
    Signed-off-by: Matthew Garrett <mjg59@google.com>
    Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f4a6c71481e300377de7a63a56b1434b331cc46f
Author: Philipp Puschmann <pp@emlix.com>
Date:   Tue Jul 17 13:41:12 2018 +0200

    Bluetooth: Use lock_sock_nested in bt_accept_enqueue
    
    [ Upstream commit b71c69c26b4916d11b8d403d8e667bbd191f1b8f ]
    
    Fixes this warning that was provoked by a pairing:
    
    [60258.016221] WARNING: possible recursive locking detected
    [60258.021558] 4.15.0-RD1812-BSP #1 Tainted: G           O
    [60258.027146] --------------------------------------------
    [60258.032464] kworker/u5:0/70 is trying to acquire lock:
    [60258.037609]  (sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+.}, at: [<87759073>] bt_accept_enqueue+0x3c/0x74
    [60258.046863]
    [60258.046863] but task is already holding lock:
    [60258.052704]  (sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+.}, at: [<d22d7106>] l2cap_sock_new_connection_cb+0x1c/0x88
    [60258.062905]
    [60258.062905] other info that might help us debug this:
    [60258.069441]  Possible unsafe locking scenario:
    [60258.069441]
    [60258.075368]        CPU0
    [60258.077821]        ----
    [60258.080272]   lock(sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP);
    [60258.085510]   lock(sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP);
    [60258.090748]
    [60258.090748]  *** DEADLOCK ***
    [60258.090748]
    [60258.096676]  May be due to missing lock nesting notation
    [60258.096676]
    [60258.103472] 5 locks held by kworker/u5:0/70:
    [60258.107747]  #0:  ((wq_completion)%shdev->name#2){+.+.}, at: [<9460d092>] process_one_work+0x130/0x4fc
    [60258.117263]  #1:  ((work_completion)(&hdev->rx_work)){+.+.}, at: [<9460d092>] process_one_work+0x130/0x4fc
    [60258.126942]  #2:  (&conn->chan_lock){+.+.}, at: [<7877c8c3>] l2cap_connect+0x80/0x4f8
    [60258.134806]  #3:  (&chan->lock/2){+.+.}, at: [<2e16c724>] l2cap_connect+0x8c/0x4f8
    [60258.142410]  #4:  (sk_lock-AF_BLUETOOTH-BTPROTO_L2CAP){+.+.}, at: [<d22d7106>] l2cap_sock_new_connection_cb+0x1c/0x88
    [60258.153043]
    [60258.153043] stack backtrace:
    [60258.157413] CPU: 1 PID: 70 Comm: kworker/u5:0 Tainted: G           O     4.15.0-RD1812-BSP #1
    [60258.165945] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
    [60258.172485] Workqueue: hci0 hci_rx_work
    [60258.176331] Backtrace:
    [60258.178797] [<8010c9fc>] (dump_backtrace) from [<8010ccbc>] (show_stack+0x18/0x1c)
    [60258.186379]  r7:80e55fe4 r6:80e55fe4 r5:20050093 r4:00000000
    [60258.192058] [<8010cca4>] (show_stack) from [<809864e8>] (dump_stack+0xb0/0xdc)
    [60258.199301] [<80986438>] (dump_stack) from [<8016ecc8>] (__lock_acquire+0xffc/0x11d4)
    [60258.207144]  r9:5e2bb019 r8:630f974c r7:ba8a5940 r6:ba8a5ed8 r5:815b5220 r4:80fa081c
    [60258.214901] [<8016dccc>] (__lock_acquire) from [<8016f620>] (lock_acquire+0x78/0x98)
    [60258.222655]  r10:00000040 r9:00000040 r8:808729f0 r7:00000001 r6:00000000 r5:60050013
    [60258.230491]  r4:00000000
    [60258.233045] [<8016f5a8>] (lock_acquire) from [<806ee974>] (lock_sock_nested+0x64/0x88)
    [60258.240970]  r7:00000000 r6:b796e870 r5:00000001 r4:b796e800
    [60258.246643] [<806ee910>] (lock_sock_nested) from [<808729f0>] (bt_accept_enqueue+0x3c/0x74)
    [60258.255004]  r8:00000001 r7:ba7d3c00 r6:ba7d3ea4 r5:ba7d2000 r4:b796e800
    [60258.261717] [<808729b4>] (bt_accept_enqueue) from [<808aa39c>] (l2cap_sock_new_connection_cb+0x68/0x88)
    [60258.271117]  r5:b796e800 r4:ba7d2000
    [60258.274708] [<808aa334>] (l2cap_sock_new_connection_cb) from [<808a294c>] (l2cap_connect+0x190/0x4f8)
    [60258.283933]  r5:00000001 r4:ba6dce00
    [60258.287524] [<808a27bc>] (l2cap_connect) from [<808a4a14>] (l2cap_recv_frame+0x744/0x2cf8)
    [60258.295800]  r10:ba6dcf24 r9:00000004 r8:b78d8014 r7:00000004 r6:bb05d000 r5:00000004
    [60258.303635]  r4:bb05d008
    [60258.306183] [<808a42d0>] (l2cap_recv_frame) from [<808a7808>] (l2cap_recv_acldata+0x210/0x214)
    [60258.314805]  r10:b78e7800 r9:bb05d960 r8:00000001 r7:bb05d000 r6:0000000c r5:b7957a80
    [60258.322641]  r4:ba6dce00
    [60258.325188] [<808a75f8>] (l2cap_recv_acldata) from [<8087630c>] (hci_rx_work+0x35c/0x4e8)
    [60258.333374]  r6:80e5743c r5:bb05d7c8 r4:b7957a80
    [60258.338004] [<80875fb0>] (hci_rx_work) from [<8013dc7c>] (process_one_work+0x1a4/0x4fc)
    [60258.346018]  r10:00000001 r9:00000000 r8:baabfef8 r7:ba997500 r6:baaba800 r5:baaa5d00
    [60258.353853]  r4:bb05d7c8
    [60258.356401] [<8013dad8>] (process_one_work) from [<8013e028>] (worker_thread+0x54/0x5cc)
    [60258.364503]  r10:baabe038 r9:baaba834 r8:80e05900 r7:00000088 r6:baaa5d18 r5:baaba800
    [60258.372338]  r4:baaa5d00
    [60258.374888] [<8013dfd4>] (worker_thread) from [<801448f8>] (kthread+0x134/0x160)
    [60258.382295]  r10:ba8310b8 r9:bb07dbfc r8:8013dfd4 r7:baaa5d00 r6:00000000 r5:baaa8ac0
    [60258.390130]  r4:ba831080
    [60258.392682] [<801447c4>] (kthread) from [<801080b4>] (ret_from_fork+0x14/0x20)
    [60258.399915]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:801447c4
    [60258.407751]  r4:baaa8ac0 r3:baabe000
    
    Signed-off-by: Philipp Puschmann <pp@emlix.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b4a9422266f2e81b59c1baad11acb4f0c6c581e7
Author: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date:   Tue Jul 17 16:23:10 2018 +0200

    spi: dw: fix possible race condition
    
    [ Upstream commit 66b19d762378785d1568b5650935205edfeb0503 ]
    
    It is possible to get an interrupt as soon as it is requested.  dw_spi_irq
    does spi_controller_get_devdata(master) and expects it to be different than
    NULL. However, spi_controller_set_devdata() is called after request_irq(),
    resulting in the following crash:
    
    CPU 0 Unable to handle kernel paging request at virtual address 00000030, epc == 8058e09c, ra == 8018ff90
    [...]
    Call Trace:
    [<8058e09c>] dw_spi_irq+0x8/0x64
    [<8018ff90>] __handle_irq_event_percpu+0x70/0x1d4
    [<80190128>] handle_irq_event_percpu+0x34/0x8c
    [<801901c4>] handle_irq_event+0x44/0x80
    [<801951a8>] handle_level_irq+0xdc/0x194
    [<8018f580>] generic_handle_irq+0x38/0x50
    [<804c6924>] ocelot_irq_handler+0x104/0x1c0
    
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f90ccc03b438895bcc4cda3d2d8eac858e0e688e
Author: Roman Gushchin <guro@fb.com>
Date:   Fri Jul 13 12:41:11 2018 -0700

    bpf: fix rcu annotations in compute_effective_progs()
    
    [ Upstream commit 3960f4fd6585608e8cc285d9665821985494e147 ]
    
    The progs local variable in compute_effective_progs() is marked
    as __rcu, which is not correct. This is a local pointer, which
    is initialized by bpf_prog_array_alloc(), which also now
    returns a generic non-rcu pointer.
    
    The real rcu-protected pointer is *array (array is a pointer
    to an RCU-protected pointer), so the assignment should be performed
    using rcu_assign_pointer().
    
    Fixes: 324bda9e6c5a ("bpf: multi program support for cgroup+bpf")
    Signed-off-by: Roman Gushchin <guro@fb.com>
    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5e1002ab5c9bde81a0c1eed12f243987e98f7bd0
Author: Miklos Szeredi <mszeredi@redhat.com>
Date:   Wed Jul 18 15:44:43 2018 +0200

    vfs: fix freeze protection in mnt_want_write_file() for overlayfs
    
    [ Upstream commit a6795a585929d94ca3e931bc8518f8deb8bbe627 ]
    
    The underlying real file used by overlayfs still contains the overlay path.
    This results in mnt_want_write_file() calls by the filesystem getting
    freeze protection on the wrong inode (the overlayfs one instead of the real
    one).
    
    Fix by using file_inode(file)->i_sb instead of file->f_path.mnt->mnt_sb.
    
    Reported-by: Amir Goldstein <amir73il@gmail.com>
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d466b2d4e4e7c4e6915a2ce32c527ceb4b77ac58
Author: Jann Horn <jannh@google.com>
Date:   Sat Jul 7 05:37:22 2018 +0200

    mtdchar: fix overflows in adjustment of `count`
    
    [ Upstream commit 6c6bc9ea84d0008024606bf5ba10519e20d851bf ]
    
    The first checks in mtdchar_read() and mtdchar_write() attempt to limit
    `count` such that `*ppos + count <= mtd->size`. However, they ignore the
    possibility of `*ppos > mtd->size`, allowing the calculation of `count` to
    wrap around. `mtdchar_lseek()` prevents seeking beyond mtd->size, but the
    pread/pwrite syscalls bypass this.
    
    I haven't found any codepath on which this actually causes dangerous
    behavior, but it seems like a sensible change anyway.
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Jann Horn <jannh@google.com>
    Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit babc65c641b128ac705c6afadf7ace33de933225
Author: Ronny Chevalier <ronny.chevalier@hp.com>
Date:   Wed Jul 11 14:39:37 2018 +0200

    audit: fix use-after-free in audit_add_watch
    
    [ Upstream commit baa2a4fdd525c8c4b0f704d20457195b29437839 ]
    
    audit_add_watch stores locally krule->watch without taking a reference
    on watch. Then, it calls audit_add_to_parent, and uses the watch stored
    locally.
    
    Unfortunately, it is possible that audit_add_to_parent updates
    krule->watch.
    When it happens, it also drops a reference of watch which
    could free the watch.
    
    How to reproduce (with KASAN enabled):
    
        auditctl -w /etc/passwd -F success=0 -k test_passwd
        auditctl -w /etc/passwd -F success=1 -k test_passwd2
    
    The second call to auditctl triggers the use-after-free, because
    audit_to_parent updates krule->watch to use a previous existing watch
    and drops the reference to the newly created watch.
    
    To fix the issue, we grab a reference of watch and we release it at the
    end of the function.
    
    Signed-off-by: Ronny Chevalier <ronny.chevalier@hp.com>
    Reviewed-by: Richard Guy Briggs <rgb@redhat.com>
    Signed-off-by: Paul Moore <paul@paul-moore.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a9fb28b40a367b7799e57fb210ebf6ea4549e9c3
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Fri May 25 11:10:06 2018 +0530

    arm64: dts: uniphier: Add missing cooling device properties for CPUs
    
    [ Upstream commit af0e09d0c6762e486b0eb5cc4737396964c34fad ]
    
    The cooling device properties, like "#cooling-cells" and
    "dynamic-power-coefficient", should either be present for all the CPUs
    of a cluster or none. If these are present only for a subset of CPUs of
    a cluster then things will start falling apart as soon as the CPUs are
    brought online in a different order. For example, this will happen
    because the operating system looks for such properties in the CPU node
    it is trying to bring up, so that it can register a cooling device.
    
    Add such missing properties.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f48256986e0f04eb8499f9fe4abcfd82f99a02f5
Author: Noa Osherovich <noaos@mellanox.com>
Date:   Mon Jul 16 18:35:34 2018 -0700

    net/mlx5: Add missing SET_DRIVER_VERSION command translation
    
    [ Upstream commit 0f4039104ee61e14ac4771a2181c2a20572f4ec9 ]
    
    When translating command opcodes to a string, SET_DRIVER_VERSION
    command was missing.
    
    Fixes: 42ca502e179d0 ('net/mlx5_core: Use a macro in mlx5_command_str()')
    Signed-off-by: Noa Osherovich <noaos@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3caf6c73c0b4d2ae316b6dfcc8e4ee9865a457c9
Author: Maciej W. Rozycki <macro@mips.com>
Date:   Tue May 15 23:32:45 2018 +0100

    binfmt_elf: Respect error return from `regset->active'
    
    [ Upstream commit 2f819db565e82e5f73cd42b39925098986693378 ]
    
    The regset API documented in <linux/regset.h> defines -ENODEV as the
    result of the `->active' handler to be used where the feature requested
    is not available on the hardware found.  However code handling core file
    note generation in `fill_thread_core_info' interpretes any non-zero
    result from the `->active' handler as the regset requested being active.
    Consequently processing continues (and hopefully gracefully fails later
    on) rather than being abandoned right away for the regset requested.
    
    Fix the problem then by making the code proceed only if a positive
    result is returned from the `->active' handler.
    
    Signed-off-by: Maciej W. Rozycki <macro@mips.com>
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Fixes: 4206d3aa1978 ("elf core dump: notes user_regset")
    Patchwork: https://patchwork.linux-mips.org/patch/19332/
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: James Hogan <jhogan@kernel.org>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-fsdevel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6eb8c64e9afd39af15065a1469bfa2a91bd8a5dd
Author: Johan Hovold <johan@kernel.org>
Date:   Mon Aug 27 10:21:48 2018 +0200

    mmc: meson-mx-sdio: fix OF child-node lookup
    
    commit c483a5cc9d09f4ceaa9abb106f863cc89cb643d9 upstream.
    
    Use the new of_get_compatible_child() helper to lookup the slot child
    node instead of using of_find_compatible_node(), which searches the
    entire tree from a given start node and thus can return an unrelated
    (i.e. non-child) node.
    
    This also addresses a potential use-after-free (e.g. after probe
    deferral) as the tree-wide helper drops a reference to its first
    argument (i.e. the node of the device being probed).
    
    While at it, also fix up the related slot-node reference leak.
    
    Fixes: ed80a13bb4c4 ("mmc: meson-mx-sdio: Add a driver for the Amlogic Meson8 and Meson8b SoCs")
    Cc: stable <stable@vger.kernel.org>     # 4.15
    Cc: Carlo Caione <carlo@endlessm.com>
    Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Cc: Ulf Hansson <ulf.hansson@linaro.org>
    Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0c6e2a79715a607067fc6b0d5407f88b8d9453eb
Author: Johan Hovold <johan@kernel.org>
Date:   Mon Aug 27 10:21:45 2018 +0200

    of: add helper to lookup compatible child node
    
    commit 36156f9241cb0f9e37d998052873ca7501ad4b36 upstream.
    
    Add of_get_compatible_child() helper that can be used to lookup
    compatible child nodes.
    
    Several drivers currently use of_find_compatible_node() to lookup child
    nodes while failing to notice that the of_find_ functions search the
    entire tree depth-first (from a given start node) and therefore can
    match unrelated nodes. The fact that these functions also drop a
    reference to the node they start searching from (e.g. the parent node)
    is typically also overlooked, something which can lead to use-after-free
    bugs.
    
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8bfbd71c11462058c1203a289e7be568273bc8af
Author: Trond Myklebust <trondmy@gmail.com>
Date:   Wed Sep 5 14:07:14 2018 -0400

    NFSv4.1 fix infinite loop on I/O.
    
    commit 994b15b983a72e1148a173b61e5b279219bb45ae upstream.
    
    The previous fix broke recovery of delegated stateids because it assumes
    that if we did not mark the delegation as suspect, then the delegation has
    effectively been revoked, and so it removes that delegation irrespectively
    of whether or not it is valid and still in use. While this is "mostly
    harmless" for ordinary I/O, we've seen pNFS fail with LAYOUTGET spinning
    in an infinite loop while complaining that we're using an invalid stateid
    (in this case the all-zero stateid).
    
    What we rather want to do here is ensure that the delegation is always
    correctly marked as needing testing when that is the case. So we want
    to close the loophole offered by nfs4_schedule_stateid_recovery(),
    which marks the state as needing to be reclaimed, but not the
    delegation that may be backing it.
    
    Fixes: 0e3d3e5df07dc ("NFSv4.1 fix infinite loop on IO BAD_STATEID error")
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Cc: stable@vger.kernel.org # v4.11+
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a12ad4f33e6ff93fb16b7c432a68d53f10b27b02
Author: Trond Myklebust <trondmy@gmail.com>
Date:   Thu Aug 23 11:02:49 2018 -0400

    NFSv4: Fix a tracepoint Oops in initiate_file_draining()
    
    commit 2a534a7473bf4e7f1c12805113f80c795fc8e89a upstream.
    
    Now that the value of 'ino' can be NULL or an ERR_PTR(), we need to
    change the test in the tracepoint.
    
    Fixes: ce5624f7e6675 ("NFSv4: Return NFS4ERR_DELAY when a layout fails...")
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Cc: stable@vger.kernel.org # v4.17+
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit afaef9ba4486ed1978ee5d884c9715ca8173a6d7
Author: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Date:   Tue Sep 11 15:55:38 2018 -0400

    x86/EISA: Don't probe EISA bus for Xen PV guests
    
    commit 6a92b11169a65b3f8cc512c75a252cbd0d096ba0 upstream.
    
    For unprivileged Xen PV guests this is normal memory and ioremap will
    not be able to properly map it.
    
    While at it, since ioremap may return NULL, add a test for pointer's
    validity.
    
    Reported-by: Andy Smith <andy@strugglers.net>
    Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: hpa@zytor.com
    Cc: xen-devel@lists.xenproject.org
    Cc: jgross@suse.com
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/20180911195538.23289-1-boris.ostrovsky@oracle.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 05a993198dedc4196fb69696ad35cb1764984642
Author: Rob Herring <robh@kernel.org>
Date:   Tue Sep 11 09:28:14 2018 -0500

    of: fix phandle cache creation for DTs with no phandles
    
    commit e54192b48da75f025ae4b277925eaf6aca1d13bd upstream.
    
    With commit 0b3ce78e90fc ("of: cache phandle nodes to reduce cost of
    of_find_node_by_phandle()"), a G3 PowerMac fails to boot. The root cause
    is the DT for this system has no phandle properties when booted with
    BootX. of_populate_phandle_cache() does not handle the case of no
    phandles correctly. The problem is roundup_pow_of_two() for 0 is
    undefined. The implementation subtracts 1 underflowing and then things
    are in the weeds.
    
    Fixes: 0b3ce78e90fc ("of: cache phandle nodes to reduce cost of of_find_node_by_phandle()")
    Cc: stable@vger.kernel.org # 4.17+
    Reported-by: Finn Thain <fthain@telegraphics.com.au>
    Tested-by: Stan Johnson <userm57@yahoo.com>
    Reviewed-by: Frank Rowand <frank.rowand@sony.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1f3cb0604f0f5d1669d204cf610ffde3cfef17cc
Author: Adrian Hunter <adrian.hunter@intel.com>
Date:   Fri Sep 7 11:51:16 2018 +0300

    perf tools: Fix maps__find_symbol_by_name()
    
    commit 03db8b583d1c3c84963e08e2abf6c79081da5c31 upstream.
    
    Commit 1c5aae7710bb ("perf machine: Create maps for x86 PTI entry
    trampolines") revealed a problem with maps__find_symbol_by_name() that
    resulted in probes not being found e.g.
    
            $ sudo perf probe xsk_mmap
            xsk_mmap is out of .text, skip it.
            Probe point 'xsk_mmap' not found.
               Error: Failed to add events.
    
    maps__find_symbol_by_name() can optionally return the map of the found
    symbol. It can get the map wrong because, in fact, the symbol is found
    on the map's dso, not allowing for the possibility that the dso has more
    than one map. Fix by always checking the map contains the symbol.
    
    Reported-by: Björn Töpel <bjorn.topel@intel.com>
    Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
    Tested-by: Björn Töpel <bjorn.topel@intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: stable@vger.kernel.org
    Fixes: 1c5aae7710bb ("perf machine: Create maps for x86 PTI entry trampolines")
    Link: http://lkml.kernel.org/r/20180907085116.25782-1-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a543f61a277501e1dbf4f059968f42fdc57e7c6b
Author: Yabin Cui <yabinc@google.com>
Date:   Thu Aug 23 15:59:35 2018 -0700

    perf/core: Force USER_DS when recording user stack data
    
    commit 02e184476eff848273826c1d6617bb37e5bcc7ad upstream.
    
    Perf can record user stack data in response to a synchronous request, such
    as a tracepoint firing. If this happens under set_fs(KERNEL_DS), then we
    end up reading user stack data using __copy_from_user_inatomic() under
    set_fs(KERNEL_DS). I think this conflicts with the intention of using
    set_fs(KERNEL_DS). And it is explicitly forbidden by hardware on ARM64
    when both CONFIG_ARM64_UAO and CONFIG_ARM64_PAN are used.
    
    So fix this by forcing USER_DS when recording user stack data.
    
    Signed-off-by: Yabin Cui <yabinc@google.com>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: <stable@vger.kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Fixes: 88b0193d9418 ("perf/callchain: Force USER_DS when invoking perf_callchain_user()")
    Link: http://lkml.kernel.org/r/20180823225935.27035-1-yabinc@google.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b205f931b0c09cf1d9987f9a95ef80c07145b7cd
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Thu Sep 6 11:19:20 2018 -0700

    xtensa: ISS: don't allocate memory in platform_setup
    
    commit ef439d49e0bfb26cd5f03c88b4cb7cc9073ed30c upstream.
    
    Memory allocator is not initialized at that point yet, use static array
    instead.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f63dbd23e8a7d1d342c6dbe7033039326da2a5ed
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Mon Sep 10 14:12:07 2018 +0300

    cifs: integer overflow in in SMB2_ioctl()
    
    commit 2d204ee9d671327915260071c19350d84344e096 upstream.
    
    The "le32_to_cpu(rsp->OutputOffset) + *plen" addition can overflow and
    wrap around to a smaller value which looks like it would lead to an
    information leak.
    
    Fixes: 4a72dafa19ba ("SMB2 FSCTL and IOCTL worker function")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Reviewed-by: Aurelien Aptel <aaptel@suse.com>
    CC: Stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6565bd3e63d393fecf9d549dac20b1889810e02f
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Sep 6 12:48:22 2018 +0300

    CIFS: fix wrapping bugs in num_entries()
    
    commit 56446f218af1133c802dad8e9e116f07f381846c upstream.
    
    The problem is that "entryptr + next_offset" and "entryptr + len + size"
    can wrap.  I ended up changing the type of "entryptr" because it makes
    the math easier when we don't have to do so much casting.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Reviewed-by: Aurelien Aptel <aaptel@suse.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    CC: Stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bf1c05755d450ae2b3c8d4b703ff4ebed4c6c53b
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Sep 6 12:47:51 2018 +0300

    cifs: prevent integer overflow in nxt_dir_entry()
    
    commit 8ad8aa353524d89fa2e09522f3078166ff78ec42 upstream.
    
    The "old_entry + le32_to_cpu(pDirInfo->NextEntryOffset)" can wrap
    around so I have added a check for integer overflow.
    
    Reported-by: Dr Silvio Cesare of InfoSect <silvio.cesare@gmail.com>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Reviewed-by: Aurelien Aptel <aaptel@suse.com>
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    CC: Stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8c7488864bdf16d1fdcc0065f7461afc54971e1f
Author: Oliver Neukum <oneukum@suse.com>
Date:   Wed Sep 5 17:56:46 2018 +0200

    Revert "cdc-acm: implement put_char() and flush_chars()"
    
    commit df3aa13c7bbb307e172c37f193f9a7aa058d4739 upstream.
    
    This reverts commit a81cf9799ad7299b03a4dff020d9685f9ac5f3e0.
    
    The patch causes a regression, which I cannot find the reason for.
    So let's revert for now, as a revert hurts only performance.
    
    Original report:
    I was trying to resolve the problem with Oliver but we don't get any conclusion
    for 5 months, so I am now sending this to mail list and cdc_acm authors.
    
    I am using simple request-response protocol to obtain the boiller parameters
    in constant intervals.
    
    A simple one transaction is:
    1. opening the /dev/ttyACM0
    2. sending the following 10-bytes request to the device:
       unsigned char req[] = {0x02, 0xfe, 0x01, 0x05, 0x08, 0x02, 0x01, 0x69, 0xab, 0x03};
    3. reading response (frame of 74 bytes length).
    4. closing the descriptor
    I am doing this transaction with 5 seconds intervals.
    
    Before the bad commit everything was working correctly: I've got a requests and
    a responses in a timely manner.
    
    After the bad commit more time I am using the kernel module, more problems I have.
    The graph [2] is showing the problem.
    
    As you can see after module load all seems fine but after about 30 minutes I've got
    a plenty of EAGAINs when doing read()'s and trying to read back the data.
    
    When I rmmod and insmod the cdc_acm module again, then the situation is starting
    over again: running ok shortly after load, and more time it is running, more EAGAINs
    I have when calling read().
    
    As a bonus I can see the problem on the device itself:
    The device is configured as you can see here on this screen [3].
    It has two transmision LEDs: TX and RX. Blink duration is set for 100ms.
    This is a recording before the bad commit when all is working fine: [4]
    And this is with the bad commit: [5]
    As you can see the TX led is blinking wrongly long (indicating transmission?)
    and I have problems doing read() calls (EAGAIN).
    
    Reported-by: Mariusz Bialonczyk <manio@skyboo.net>
    Signed-off-by: Oliver Neukum <oneukum@suse.com>
    Fixes: a81cf9799ad7 ("cdc-acm: implement put_char() and flush_chars()")
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c705bfe3c3d6b2427d399f0d99cd221b7b51f79c
Author: Jia-Ju Bai <baijiaju1990@gmail.com>
Date:   Sat Sep 1 16:12:10 2018 +0800

    usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt()
    
    commit 6e22e3af7bb3a7b9dc53cb4687659f6e63fca427 upstream.
    
    wdm_in_callback() is a completion handler function for the USB driver.
    So it should not sleep. But it calls service_outstanding_interrupt(),
    which calls usb_submit_urb() with GFP_KERNEL.
    
    To fix this bug, GFP_KERNEL is replaced with GFP_ATOMIC.
    
    This bug is found by my static analysis tool DSAC.
    
    Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cb55532b9e64514c613e195ac662a3633d730cc3
Author: Ben Hutchings <ben.hutchings@codethink.co.uk>
Date:   Wed Aug 15 21:44:25 2018 +0100

    USB: yurex: Fix buffer over-read in yurex_write()
    
    commit 7e10f14ebface44a48275c8d6dc1caae3668d5a9 upstream.
    
    If the written data starts with a digit, yurex_write() tries to parse
    it as an integer using simple_strtoull().  This requires a null-
    terminator, and currently there's no guarantee that there is one.
    
    (The sample program at
    https://github.com/NeoCat/YUREX-driver-for-Linux/blob/master/sample/yurex_clock.pl
    writes an integer without a null terminator.  It seems like it must
    have worked by chance!)
    
    Always add a null byte after the written data.  Enlarge the buffer
    to allow for this.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 48f17ac733c6071680557d05ae7f9237411a504b
Author: Johan Hovold <johan@kernel.org>
Date:   Tue Aug 21 11:59:53 2018 +0200

    USB: serial: ti_usb_3410_5052: fix array underflow in completion handler
    
    commit 5dfdd24eb3d39d815bc952ae98128e967c9bba49 upstream.
    
    Similarly to a recently reported bug in io_ti, a malicious USB device
    could set port_number to a negative value and we would underflow the
    port array in the interrupt completion handler.
    
    As these devices only have one or two ports, fix this by making sure we
    only consider the seventh bit when determining the port number (and
    ignore bits 0xb0 which are typically set to 0x30).
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8a74265c0a053dff0ed75888ceebd2984fb4d137
Author: Jia-Ju Bai <baijiaju1990@gmail.com>
Date:   Sat Sep 1 16:25:08 2018 +0800

    usb: misc: uss720: Fix two sleep-in-atomic-context bugs
    
    commit bc8acc214d3f1cafebcbcd101a695bbac716595d upstream.
    
    async_complete() in uss720.c is a completion handler function for the
    USB driver. So it should not sleep, but it is can sleep according to the
    function call paths (from bottom to top) in Linux-4.16.
    
    [FUNC] set_1284_register(GFP_KERNEL)
    drivers/usb/misc/uss720.c, 372:
      set_1284_register in parport_uss720_frob_control
    drivers/parport/ieee1284.c, 560:
      [FUNC_PTR]parport_uss720_frob_control in parport_ieee1284_ack_data_avail
    drivers/parport/ieee1284.c, 577:
      parport_ieee1284_ack_data_avail in parport_ieee1284_interrupt
    ./include/linux/parport.h, 474:
      parport_ieee1284_interrupt in parport_generic_irq
    drivers/usb/misc/uss720.c, 116:
      parport_generic_irq in async_complete
    
    [FUNC] get_1284_register(GFP_KERNEL)
    drivers/usb/misc/uss720.c, 382:
      get_1284_register in parport_uss720_read_status
    drivers/parport/ieee1284.c, 555:
      [FUNC_PTR]parport_uss720_read_status in parport_ieee1284_ack_data_avail
    drivers/parport/ieee1284.c, 577:
      parport_ieee1284_ack_data_avail in parport_ieee1284_interrupt
    ./include/linux/parport.h, 474:
      parport_ieee1284_interrupt in parport_generic_irq
    drivers/usb/misc/uss720.c, 116:
      parport_generic_irq in async_complete
    
    Note that [FUNC_PTR] means a function pointer call is used.
    
    To fix these bugs, GFP_KERNEL is replaced with GFP_ATOMIC.
    
    These bugs are found by my static analysis tool DSAC.
    
    Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9bf71499046edaef2f5aba7bfee0605256de2395
Author: Johan Hovold <johan@kernel.org>
Date:   Tue Aug 21 11:59:52 2018 +0200

    USB: serial: io_ti: fix array underflow in completion handler
    
    commit 691a03cfe8ca483f9c48153b869d354e4ae3abef upstream.
    
    As reported by Dan Carpenter, a malicious USB device could set
    port_number to a negative value and we would underflow the port array in
    the interrupt completion handler.
    
    As these devices only have one or two ports, fix this by making sure we
    only consider the seventh bit when determining the port number (and
    ignore bits 0xb0 which are typically set to 0x30).
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Cc: stable <stable@vger.kernel.org>
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 97180428d24bc4b1655aa4376b4b87438857ace7
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Wed Aug 8 11:20:39 2018 -0400

    USB: net2280: Fix erroneous synchronization change
    
    commit dec3c23c9aa1815f07d98ae0375b4cbc10971e13 upstream.
    
    Commit f16443a034c7 ("USB: gadgetfs, dummy-hcd, net2280: fix locking
    for callbacks") was based on a serious misunderstanding.  It
    introduced regressions into both the dummy-hcd and net2280 drivers.
    
    The problem in dummy-hcd was fixed by commit 7dbd8f4cabd9 ("USB:
    dummy-hcd: Fix erroneous synchronization change"), but the problem in
    net2280 remains.  Namely: the ->disconnect(), ->suspend(), ->resume(),
    and ->reset() callbacks must be invoked without the private lock held;
    otherwise a deadlock will occur when the callback routine tries to
    interact with the UDC driver.
    
    This patch largely is a reversion of the relevant parts of
    f16443a034c7.  It also drops the private lock around the calls to
    ->suspend() and ->resume() (something the earlier patch forgot to do).
    This is safe from races with device interrupts because it occurs
    within the interrupt handler.
    
    Finally, the patch changes where the ->disconnect() callback is
    invoked when net2280_pullup() turns the pullup off.  Rather than
    making the callback from within stop_activity() at a time when dropping
    the private lock could be unsafe, the callback is moved to a point
    after the lock has already been dropped.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Fixes: f16443a034c7 ("USB: gadgetfs, dummy-hcd, net2280: fix locking for callbacks")
    Reported-by: D. Ziesche <dziesche@zes.com>
    Tested-by: D. Ziesche <dziesche@zes.com>
    CC: <stable@vger.kernel.org>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bfe24fcf1fb0c7b98c546c80a98b1e72efd5c360
Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Date:   Fri Aug 3 12:12:46 2018 +0900

    usb: gadget: udc: renesas_usb3: fix maxpacket size of ep0
    
    commit dfe1a51d2a36647f74cbad478801efa7cf394376 upstream.
    
    This patch fixes an issue that maxpacket size of ep0 is incorrect
    for SuperSpeed. Otherwise, CDC NCM class with SuperSpeed doesn't
    work correctly on this driver because its control read data size
    is more than 64 bytes.
    
    Reported-by: Junki Kato <junki.kato.xk@renesas.com>
    Fixes: 746bfe63bba3 ("usb: gadget: renesas_usb3: add support for Renesas USB3.0 peripheral controller")
    Cc: <stable@vger.kernel.org> # v4.5+
    Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Tested-by: Junki Kato <junki.kato.xk@renesas.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 23256d450accac38d4c449feb26031751e269902
Author: Maxence Duprès <xpros64@hotmail.fr>
Date:   Wed Aug 8 23:56:33 2018 +0000

    USB: add quirk for WORLDE Controller KS49 or Prodipe MIDI 49C USB controller
    
    commit 9b83a1c301ad6d24988a128c69b42cbaaf537d82 upstream.
    
    WORLDE Controller KS49 or Prodipe MIDI 49C USB controller
    cause a -EPROTO error, a communication restart and loop again.
    
    This issue has already been fixed for KS25.
    https://lore.kernel.org/patchwork/patch/753077/
    
    I just add device 201 for KS49 in quirks.c to get it works.
    
    Signed-off-by: Laurent Roux <xpros64@hotmail.fr>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c6346e3fbb183205fd803d9045416ff022641ba2
Author: Jia-Ju Bai <baijiaju1990@gmail.com>
Date:   Sat Sep 1 17:23:47 2018 +0800

    usb: host: u132-hcd: Fix a sleep-in-atomic-context bug in u132_get_frame()
    
    commit 6d4f268fa132742fe96dad22307c68d237356d88 upstream.
    
    i_usX2Y_subs_startup in usbusx2yaudio.c is a completion handler function
    for the USB driver. So it should not sleep, but it is can sleep
    according to the function call paths (from bottom to top) in Linux-4.16.
    
    [FUNC] msleep
    drivers/usb/host/u132-hcd.c, 2558:
            msleep in u132_get_frame
    drivers/usb/core/hcd.c, 2231:
            [FUNC_PTR]u132_get_frame in usb_hcd_get_frame_number
    drivers/usb/core/usb.c, 822:
            usb_hcd_get_frame_number in usb_get_current_frame_number
    sound/usb/usx2y/usbusx2yaudio.c, 303:
            usb_get_current_frame_number in i_usX2Y_urb_complete
    sound/usb/usx2y/usbusx2yaudio.c, 366:
            i_usX2Y_urb_complete in i_usX2Y_subs_startup
    
    Note that [FUNC_PTR] means a function pointer call is used.
    
    To fix this bug, msleep() is replaced with mdelay().
    
    This bug is found by my static analysis tool DSAC.
    
    Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 066bfee7ec757874b3229af8d9dd3204471e393f
Author: Mathias Nyman <mathias.nyman@linux.intel.com>
Date:   Mon Sep 3 15:44:16 2018 +0300

    usb: Avoid use-after-free by flushing endpoints early in usb_set_interface()
    
    commit f9a5b4f58b280c1d26255376713c132f93837621 upstream.
    
    The steps taken by usb core to set a new interface is very different from
    what is done on the xHC host side.
    
    xHC hardware will do everything in one go. One command is used to set up
    new endpoints, free old endpoints, check bandwidth, and run the new
    endpoints.
    
    All this is done by xHC when usb core asks the hcd to check for
    available bandwidth. At this point usb core has not yet flushed the old
    endpoints, which will cause use-after-free issues in xhci driver as
    queued URBs are cancelled on a re-allocated endpoint.
    
    To resolve this add a call to usb_disable_interface() which will flush
    the endpoints before calling usb_hcd_alloc_bandwidth()
    
    Additional checks in xhci driver will also be implemented to gracefully
    handle stale URB cancel on freed and re-allocated endpoints
    
    Cc: <stable@vger.kernel.org>
    Reported-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 13b6b8a90cab7e53edc745f9698cb95b9ce0a6cc
Author: Oliver Neukum <oneukum@suse.com>
Date:   Thu Aug 9 16:03:37 2018 +0200

    usb: uas: add support for more quirk flags
    
    commit 42d1c6d4a06a77b3ab206a919b9050c3080f3a71 upstream.
    
    The hope that UAS devices would be less broken than old style storage
    devices has turned out to be unfounded. Make UAS support more of the
    quirk flags of the old driver.
    
    Signed-off-by: Oliver Neukum <oneukum@suse.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cba0cba547415a47f7561edd79a3e1d16e40c4ff
Author: Tim Anderson <tsa@biglakesoftware.com>
Date:   Thu Aug 9 14:55:34 2018 -0700

    USB: Add quirk to support DJI CineSSD
    
    commit f45681f9becaa65111ed0a691ccf080a0cd5feb8 upstream.
    
    This device does not correctly handle the LPM operations.
    
    Also, the device cannot handle ATA pass-through commands
    and locks up when attempted while running in super speed.
    
    This patch adds the equivalent quirk logic as found in uas.
    
    Signed-off-by: Tim Anderson <tsa@biglakesoftware.com>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 59efbbc9a611aa6c77940ef814543f370bcc4ab2
Author: Mikulas Patocka <mpatocka@redhat.com>
Date:   Wed Aug 22 12:45:51 2018 -0400

    dm verity: fix crash on bufio buffer that was allocated with vmalloc
    
    commit e4b069e0945fa14c71cf8b5b89f8b1b2aa68dbc2 upstream.
    
    Since commit d1ac3ff008fb ("dm verity: switch to using asynchronous hash
    crypto API") dm-verity uses asynchronous crypto calls for verification,
    so that it can use hardware with asynchronous processing of crypto
    operations.
    
    These asynchronous calls don't support vmalloc memory, but the buffer data
    can be allocated with vmalloc if dm-bufio is short of memory and uses a
    reserved buffer that was preallocated in dm_bufio_client_create().
    
    Fix verity_hash_update() so that it deals with vmalloc'd memory
    correctly.
    
    Reported-by: "Xiao, Jin" <jin.xiao@intel.com>
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Fixes: d1ac3ff008fb ("dm verity: switch to using asynchronous hash crypto API")
    Cc: stable@vger.kernel.org # 4.12+
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f5f0f2ad7099ccc632b165231122b4263bef80e7
Author: Tomas Winkler <tomas.winkler@intel.com>
Date:   Mon Aug 27 22:40:16 2018 +0300

    mei: bus: need to unlink client before freeing
    
    commit 34f1166afd67f9f48a08c52f36180048908506a4 upstream.
    
    In case a client fails to connect in mei_cldev_enable(), the
    caller won't call the mei_cldev_disable leaving the client
    in a linked stated. Upon driver unload the client structure
    will be freed in  mei_cl_bus_dev_release(), leaving a stale pointer
    on a fail_list.  This will eventually end up in crash
    during power down flow in mei_cl_set_disonnected().
    
    RIP:  mei_cl_set_disconnected+0x5/0x260[mei]
    Call trace:
    mei_cl_all_disconnect+0x22/0x30
    mei_reset+0x194/0x250
    __synchronize_hardirq+0x43/0x50
    _cond_resched+0x15/0x30
    mei_me_intr_clear+0x20/0x100
    mei_stop+0x76/0xb0
    mei_me_shutdown+0x3f/0x80
    pci_device_shutdown+0x34/0x60
    kernel_restart+0x0e/0x30
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200455
    Fixes: 'c110cdb17148 ("mei: bus: make a client pointer always available")'
    Cc: <stable@vger.kernel.org> 4.10+
    Tested-by: Georg Müller <georgmueller@gmx.net>
    Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a1a8326f891c751a44c5a4bd487a39e59bb538a8
Author: Tomas Winkler <tomas.winkler@intel.com>
Date:   Mon Aug 27 22:40:15 2018 +0300

    mei: bus: fix hw module get/put balance
    
    commit 69bf5313035926b0b6a6578de4f3168a8f5c19b8 upstream.
    
    In case the device is not connected it doesn't 'get'
    hw module and hence should not 'put' it on disable.
    
    Cc: <stable@vger.kernel.org> 4.16+
    Fixes:'commit 257355a44b99 ("mei: make module referencing local to the bus.c")'
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200455
    Tested-by: Georg Müller <georgmueller@gmx.net>
    Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 93f03d6dcbb6bb19618e07e1db9b5805bbb2b436
Author: Alexander Usyskin <alexander.usyskin@intel.com>
Date:   Mon Aug 6 17:47:33 2018 +0300

    mei: ignore not found client in the enumeration
    
    commit 8d2d8935d30cc2acc57a3196dc10dfa8d5cbcdab upstream.
    
    Some of the ME clients are available only for BIOS operation and are
    removed during hand off to an OS. However the removal is not instant.
    A client may be visible on the client list when the mei driver requests
    for enumeration, while the subsequent request for properties will be
    answered with client not found error value. The default behavior
    for an error is to perform client reset while this error is harmless and
    the link reset should be prevented. This issue started to be visible due to
    suspend/resume timing changes. Currently reported only on the Haswell
    based system.
    
    Fixes:
    [33.564957] mei_me 0000:00:16.0: hbm: properties response: wrong status = 1 CLIENT_NOT_FOUND
    [33.564978] mei_me 0000:00:16.0: mei_irq_read_handler ret = -71.
    [33.565270] mei_me 0000:00:16.0: unexpected reset: dev_state = INIT_CLIENTS fw status = 1E000255 60002306 00000200 00004401 00000000 00000010
    
    Cc: <stable@vger.kernel.org>
    Reported-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
    Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4c3af2149535300db83b64f5c81ec4eb1319e140
Author: Chunfeng Yun <chunfeng.yun@mediatek.com>
Date:   Wed Aug 29 10:36:49 2018 +0800

    usb: mtu3: fix error of xhci port id when enable U3 dual role
    
    commit 78af87b8bbbbcaa613f1a7d8f14472fe9a7dc622 upstream.
    
    If dual role mode is enabled, when switch u3port0 to device mode,
    it will affect port id calculation of host(xHCI), specially when
    host supports multi U2 ports or U3 ports, so need enable its dual
    role mode, and fix it here.
    
    Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3f081e53ccd09d0e60557dd20971df94d1375015
Author: Chunfeng Yun <chunfeng.yun@mediatek.com>
Date:   Fri Sep 7 15:29:12 2018 +0800

    usb: xhci: fix interrupt transfer error happened on MTK platforms
    
    commit 0a3b53305c8ff427bbc1d9d5bd78524007f19600 upstream.
    
    The MTK xHCI controller use some reserved bytes in endpoint context for
    bandwidth scheduling, so need keep them in xhci_endpoint_copy();
    
    The issue is introduced by:
    commit f5249461b504 ("xhci: Clear the host side toggle manually when
    endpoint is soft reset")
    It resets endpoints and will drop bandwidth scheduling parameters used
    by interrupt or isochronous endpoints on MTK xHCI controller.
    Fixes: f5249461b504 ("xhci: Clear the host side toggle manually when
    endpoint is soft reset")
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
    Tested-by: Sean Wang <sean.wang@mediatek.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3d7a00c4f0aa4abd95c12d7d38652e6e2fc72dfa
Author: Mathias Nyman <mathias.nyman@linux.intel.com>
Date:   Tue Sep 4 17:35:16 2018 +0300

    usb: Don't die twice if PCI xhci host is not responding in resume
    
    commit f3dc41c5d22b2ca14a0802a65d8cdc33a3882d4e upstream.
    
    usb_hc_died() should only be called once, and with the primary HCD
    as parameter. It will mark both primary and secondary hcd's dead.
    
    Remove the extra call to usb_cd_died with the shared hcd as parameter.
    
    Fixes: ff9d78b36f76 ("USB: Set usb_hcd->state and flags for shared roothubs")
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Cc: stable <stable@vger.kernel.org>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 87d948fe3a275815426d3c0b2ada05ada2b5b474
Author: Mathias Nyman <mathias.nyman@linux.intel.com>
Date:   Fri Aug 31 17:24:43 2018 +0300

    xhci: Fix use after free for URB cancellation on a reallocated endpoint
    
    commit 4937213ba7fafa13f30496b3965ffe93970d8b53 upstream.
    
    Make sure the cancelled URB is on the current endpoint ring.
    
    If the endpoint ring has been reallocated since the URB was enqueued
    then the URB may contain TD and TRB pointers to a already freed ring.
    In this the case return the URB without touching any of the freed ring
    structure data.
    
    Don't try to stop the ring. It would be useless.
    
    This can occur if endpoint is not flushed before it is dropped and
    re-added, which is the case in usb_set_interface() as xhci does
    things in an odd order.
    
    Cc: <stable@vger.kernel.org>
    Tested-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9ed3ad68de71f17d0a1102d07fc4fa84b03195a3
Author: Gustavo A. R. Silva <gustavo@embeddedor.com>
Date:   Wed Aug 15 10:50:41 2018 -0500

    misc: hmc6352: fix potential Spectre v1
    
    commit de916736aaaadddbd6061472969f667b14204aa9 upstream.
    
    val is indirectly controlled by user-space, hence leading to a
    potential exploitation of the Spectre variant 1 vulnerability.
    
    This issue was detected with the help of Smatch:
    
    drivers/misc/hmc6352.c:54 compass_store() warn: potential spectre issue
    'map' [r]
    
    Fix this by sanitizing val before using it to index map
    
    Notice that given that speculation windows are large, the policy is
    to kill the speculation on the first load and not worry if it can be
    completed with a dependent load/store [1].
    
    [1] https://marc.info/?l=linux-kernel&m=152449131114778&w=2
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 094302a07e8952ddcb8cc8d7a047e29a1843d150
Author: Bryant G. Ly <bryantly@linux.ibm.com>
Date:   Mon Aug 6 08:31:00 2018 -0500

    misc: ibmvsm: Fix wrong assignment of return code
    
    commit c55e9318871cd06e4aa10f5023cc2dcdfbb08577 upstream.
    
    Currently the assignment is flipped and rc is always 0.
    
    Signed-off-by: Bryant G. Ly <bryantly@linux.ibm.com>
    Fixes: 0eca353e7ae7 ("misc: IBM Virtual Management Channel Driver (VMC)")
    Reviewed-by: Bradley Warrum <bwarrum@us.ibm.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 662b1033af66b3bb4baa15f7998eafc6b4a9cd32
Author: K. Y. Srinivasan <kys@microsoft.com>
Date:   Fri Aug 10 23:06:07 2018 +0000

    Tools: hv: Fix a bug in the key delete code
    
    commit 86503bd35dec0ce363e9fdbf5299927422ed3899 upstream.
    
    Fix a bug in the key delete code - the num_records range
    from 0 to num_records-1.
    
    Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
    Reported-by: David Binderman <dcb314@hotmail.com>
    Cc: <stable@vger.kernel.org>
    Reviewed-by: Michael Kelley <mikelley@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d5995b9a926e634b68532a0a5554777abccaed95
Author: Stephen Hemminger <stephen@networkplumber.org>
Date:   Mon Aug 20 21:16:40 2018 +0000

    vmbus: don't return values for uninitalized channels
    
    commit 6712cc9c22117a8af9f3df272b4a44fd2e4201cd upstream.
    
    For unsupported device types, the vmbus channel ringbuffer is never
    initialized, and therefore reading the sysfs files will return garbage
    or cause a kernel OOPS.
    
    Fixes: c2e5df616e1a ("vmbus: add per-channel sysfs info")
    
    Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
    Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
    Cc: <stable@vger.kernel.org> # 4.15
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4585b79971f781196df447a4f256b37047e1bedc
Author: Miklos Szeredi <mszeredi@redhat.com>
Date:   Mon Sep 10 11:43:29 2018 +0200

    ovl: fix oopses in ovl_fill_super() failure paths
    
    commit 8c25741aaad8be6fbe51510e917c740e0059cf83 upstream.
    
    ovl_free_fs() dereferences ofs->workbasedir and ofs->upper_mnt in cases when
    those might not have been initialized yet.
    
    Fix the initialization order for these fields.
    
    Reported-by: syzbot+c75f181dc8429d2eb887@syzkaller.appspotmail.com
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
    Cc:  <stable@vger.kernel.org> # v4.15
    Fixes: 95e6d4177cb7 ("ovl: grab reference to workbasedir early")
    Fixes: a9075cdb467d ("ovl: factor out ovl_free_fs() helper")
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 617afda7f5d9859d9e303dc0e94776f0410e041c
Author: Corey Minyard <cminyard@mvista.com>
Date:   Thu Aug 30 13:06:21 2018 -0500

    ipmi: Fix I2C client removal in the SSIF driver
    
    commit 0745dde62835be7e2afe62fcdb482fcad79cb743 upstream.
    
    The SSIF driver was removing any client that came in through the
    platform interface, but it should only remove clients that it
    added.  On a failure in the probe function, this could result
    in the following oops when the driver is removed and the
    client gets unregistered twice:
    
     CPU: 107 PID: 30266 Comm: rmmod Not tainted 4.18.0+ #80
     Hardware name: Cavium Inc. Saber/Saber, BIOS Cavium reference firmware version 7.0 08/04/2018
     pstate: 60400009 (nZCv daif +PAN -UAO)
     pc : kernfs_find_ns+0x28/0x120
     lr : kernfs_find_and_get_ns+0x40/0x60
     sp : ffff00002310fb50
     x29: ffff00002310fb50 x28: ffff800a8240f800
     x27: 0000000000000000 x26: 0000000000000000
     x25: 0000000056000000 x24: ffff000009073000
     x23: ffff000008998b38 x22: 0000000000000000
     x21: ffff800ed86de820 x20: 0000000000000000
     x19: ffff00000913a1d8 x18: 0000000000000000
     x17: 0000000000000000 x16: 0000000000000000
     x15: 0000000000000000 x14: 5300737265766972
     x13: 643d4d4554535953 x12: 0000000000000030
     x11: 0000000000000030 x10: 0101010101010101
     x9 : ffff800ea06cc3f9 x8 : 0000000000000000
     x7 : 0000000000000141 x6 : ffff000009073000
     x5 : ffff800adb706b00 x4 : 0000000000000000
     x3 : 00000000ffffffff x2 : 0000000000000000
     x1 : ffff000008998b38 x0 : ffff000008356760
     Process rmmod (pid: 30266, stack limit = 0x00000000e218418d)
     Call trace:
      kernfs_find_ns+0x28/0x120
      kernfs_find_and_get_ns+0x40/0x60
      sysfs_unmerge_group+0x2c/0x6c
      dpm_sysfs_remove+0x34/0x70
      device_del+0x58/0x30c
      device_unregister+0x30/0x7c
      i2c_unregister_device+0x84/0x90 [i2c_core]
      ssif_platform_remove+0x38/0x98 [ipmi_ssif]
      platform_drv_remove+0x2c/0x6c
      device_release_driver_internal+0x168/0x1f8
      driver_detach+0x50/0xbc
      bus_remove_driver+0x74/0xe8
      driver_unregister+0x34/0x5c
      platform_driver_unregister+0x20/0x2c
      cleanup_ipmi_ssif+0x50/0xd82c [ipmi_ssif]
      __arm64_sys_delete_module+0x1b4/0x220
      el0_svc_handler+0x104/0x160
      el0_svc+0x8/0xc
     Code: aa1e03e0 aa0203f6 aa0103f7 d503201f (7940e280)
     ---[ end trace 09f0e34cce8e2d8c ]---
     Kernel panic - not syncing: Fatal exception
     SMP: stopping secondary CPUs
     Kernel Offset: disabled
     CPU features: 0x23800c38
    
    So track the clients that the SSIF driver adds and only remove
    those.
    
    Reported-by: George Cherian <george.cherian@cavium.com>
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    Tested-by: George Cherian <george.cherian@cavium.com>
    Cc: <stable@vger.kernel.org> # 4.14.x
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 31364b2e1fb1cabdc647d7c8ccc958674b39879a
Author: Corey Minyard <cminyard@mvista.com>
Date:   Thu Aug 23 15:22:35 2018 -0500

    ipmi: Move BT capabilities detection to the detect call
    
    commit c86ba91be75702c013bbf7379542920b6920e98f upstream.
    
    The capabilities detection was being done as part of the normal
    state machine, but it was possible for it to be running while
    the upper layers of the IPMI driver were initializing the
    device, resulting in error and failure to initialize.
    
    Move the capabilities detection to the the detect function,
    so it's done before anything else runs on the device.  This also
    simplifies the state machine and removes some code, as a bonus.
    
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    Reported-by: Andrew Banman <abanman@hpe.com>
    Tested-by: Andrew Banman <abanman@hpe.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 288bd736c8a027040fc261c86a87b65e7bc3f6fa
Author: Corey Minyard <cminyard@mvista.com>
Date:   Wed Aug 22 12:08:13 2018 -0500

    ipmi: Rework SMI registration failure
    
    commit 2512e40e48d21d8bac09f7e91d2c3ceb2d3b50b2 upstream.
    
    There were certain situations where ipmi_register_smi() would
    return a failure, but the interface would still be registered
    and would need to be unregistered.  This is obviously a bad
    design and resulted in an oops in certain failure cases.
    
    If the interface is started up in ipmi_register_smi(), then
    an error occurs, shut down the interface there so the
    cleanup can be done properly.
    
    Fix the various smi users, too.
    
    Signed-off-by: Corey Minyard <cminyard@mvista.com>
    Reported-by: Justin Ernst <justin.ernst@hpe.com>
    Tested-by: Justin Ernst <justin.ernst@hpe.com>
    Cc: Andrew Banman <abanman@hpe.com>
    Cc: Russ Anderson <russ.anderson@hpe.com>
    Cc: <stable@vger.kernel.org> # 4.18.x
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 53c7bb8b93d046cfc20169bc61f38c64e5248daf
Author: Andreas Kemnade <andreas@kemnade.info>
Date:   Sun Sep 2 09:30:58 2018 +0200

    mmc: omap_hsmmc: fix wakeirq handling on removal
    
    commit 3c398f3c3bef21961eaaeb93227fa66d440dc83d upstream.
    
    after unbinding mmc I get things like this:
    [  185.294067] mmc1: card 0001 removed
    [  185.305206] omap_hsmmc 480b4000.mmc: wake IRQ with no resume: -13
    
    The wakeirq stays in /proc-interrupts
    
    rebinding shows this:
    [  289.795959] genirq: Flags mismatch irq 112. 0000200a (480b4000.mmc:wakeup) vs. 0000200a (480b4000.mmc:wakeup)
    [  289.808959] omap_hsmmc 480b4000.mmc: Unable to request wake IRQ
    [  289.815338] omap_hsmmc 480b4000.mmc: no SDIO IRQ support, falling back to polling
    
    That bug seems to be introduced by switching from devm_request_irq()
    to generic wakeirq handling.
    
    So let us cleanup at removal.
    
    Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
    Fixes: 5b83b2234be6 ("mmc: omap_hsmmc: Change wake-up interrupt to use generic wakeirq")
    Cc: stable@vger.kernel.org # v4.2+
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8cddf23b74d618d17ee7cb33e6f965a906a7a95a
Author: Ingo Franzki <ifranzki@linux.ibm.com>
Date:   Mon Aug 27 14:28:47 2018 +0200

    s390/crypto: Fix return code checking in cbc_paes_crypt()
    
    commit b81126e01a8c6048249955feea46c8217ebefa91 upstream.
    
    The return code of cpacf_kmc() is less than the number of
    bytes to process in case of an error, not greater.
    The crypt routines for the other cipher modes already have
    this correctly.
    
    Cc: stable@vger.kernel.org # v4.11+
    Fixes: 279378430768 ("s390/crypt: Add protected key AES module")
    Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
    Acked-by: Harald Freudenberger <freude@linux.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3e6bba18b8efc0a8f0e0bd844fcc5d87536adca9
Author: Aaron Knister <aaron.s.knister@nasa.gov>
Date:   Fri Aug 24 08:42:46 2018 -0400

    IB/ipoib: Avoid a race condition between start_xmit and cm_rep_handler
    
    commit 816e846c2eb9129a3e0afa5f920c8bbc71efecaa upstream.
    
    Inside of start_xmit() the call to check if the connection is up and the
    queueing of the packets for later transmission is not atomic which leaves
    a window where cm_rep_handler can run, set the connection up, dequeue
    pending packets and leave the subsequently queued packets by start_xmit()
    sitting on neigh->queue until they're dropped when the connection is torn
    down. This only applies to connected mode. These dropped packets can
    really upset TCP, for example, and cause multi-minute delays in
    transmission for open connections.
    
    Here's the code in start_xmit where we check to see if the connection is
    up:
    
           if (ipoib_cm_get(neigh)) {
                   if (ipoib_cm_up(neigh)) {
                           ipoib_cm_send(dev, skb, ipoib_cm_get(neigh));
                           goto unref;
                   }
           }
    
    The race occurs if cm_rep_handler execution occurs after the above
    connection check (specifically if it gets to the point where it acquires
    priv->lock to dequeue pending skb's) but before the below code snippet in
    start_xmit where packets are queued.
    
           if (skb_queue_len(&neigh->queue) < IPOIB_MAX_PATH_REC_QUEUE) {
                   push_pseudo_header(skb, phdr->hwaddr);
                   spin_lock_irqsave(&priv->lock, flags);
                   __skb_queue_tail(&neigh->queue, skb);
                   spin_unlock_irqrestore(&priv->lock, flags);
           } else {
                   ++dev->stats.tx_dropped;
                   dev_kfree_skb_any(skb);
           }
    
    The patch acquires the netif tx lock in cm_rep_handler for the section
    where it sets the connection up and dequeues and retransmits deferred
    skb's.
    
    Fixes: 839fcaba355a ("IPoIB: Connected mode experimental support")
    Cc: stable@vger.kernel.org
    Signed-off-by: Aaron Knister <aaron.s.knister@nasa.gov>
    Tested-by: Ira Weiny <ira.weiny@intel.com>
    Reviewed-by: Ira Weiny <ira.weiny@intel.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9c58e39e373619a2c30ea48a4f5bffdf7dad2457
Author: Juergen Gross <jgross@suse.com>
Date:   Fri Sep 7 14:21:30 2018 +0200

    xen/netfront: fix waiting for xenbus state change
    
    commit 8edfe2e992b75aee3da9316e9697c531194c2f53 upstream.
    
    Commit 822fb18a82aba ("xen-netfront: wait xenbus state change when load
    module manually") added a new wait queue to wait on for a state change
    when the module is loaded manually. Unfortunately there is no wakeup
    anywhere to stop that waiting.
    
    Instead of introducing a new wait queue rename the existing
    module_unload_q to module_wq and use it for both purposes (loading and
    unloading).
    
    As any state change of the backend might be intended to stop waiting
    do the wake_up_all() in any case when netback_changed() is called.
    
    Fixes: 822fb18a82aba ("xen-netfront: wait xenbus state change when load module manually")
    Cc: <stable@vger.kernel.org> #4.18
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d0028f48b33086cf6d8f87831a650866107b5785
Author: Bin Yang <bin.yang@intel.com>
Date:   Wed Sep 12 03:36:34 2018 +0000

    pstore: Fix incorrect persistent ram buffer mapping
    
    commit 831b624df1b420c8f9281ed1307a8db23afb72df upstream.
    
    persistent_ram_vmap() returns the page start vaddr.
    persistent_ram_iomap() supports non-page-aligned mapping.
    
    persistent_ram_buffer_map() always adds offset-in-page to the vaddr
    returned from these two functions, which causes incorrect mapping of
    non-page-aligned persistent ram buffer.
    
    By default ftrace_size is 4096 and max_ftrace_cnt is nr_cpu_ids. Without
    this patch, the zone_sz in ramoops_init_przs() is 4096/nr_cpu_ids which
    might not be page aligned. If the offset-in-page > 2048, the vaddr will be
    in next page. If the next page is not mapped, it will cause kernel panic:
    
    [    0.074231] BUG: unable to handle kernel paging request at ffffa19e0081b000
    ...
    [    0.075000] RIP: 0010:persistent_ram_new+0x1f8/0x39f
    ...
    [    0.075000] Call Trace:
    [    0.075000]  ramoops_init_przs.part.10.constprop.15+0x105/0x260
    [    0.075000]  ramoops_probe+0x232/0x3a0
    [    0.075000]  platform_drv_probe+0x3e/0xa0
    [    0.075000]  driver_probe_device+0x2cd/0x400
    [    0.075000]  __driver_attach+0xe4/0x110
    [    0.075000]  ? driver_probe_device+0x400/0x400
    [    0.075000]  bus_for_each_dev+0x70/0xa0
    [    0.075000]  driver_attach+0x1e/0x20
    [    0.075000]  bus_add_driver+0x159/0x230
    [    0.075000]  ? do_early_param+0x95/0x95
    [    0.075000]  driver_register+0x70/0xc0
    [    0.075000]  ? init_pstore_fs+0x4d/0x4d
    [    0.075000]  __platform_driver_register+0x36/0x40
    [    0.075000]  ramoops_init+0x12f/0x131
    [    0.075000]  do_one_initcall+0x4d/0x12c
    [    0.075000]  ? do_early_param+0x95/0x95
    [    0.075000]  kernel_init_freeable+0x19b/0x222
    [    0.075000]  ? rest_init+0xbb/0xbb
    [    0.075000]  kernel_init+0xe/0xfc
    [    0.075000]  ret_from_fork+0x3a/0x50
    
    Signed-off-by: Bin Yang <bin.yang@intel.com>
    [kees: add comments describing the mapping differences, updated commit log]
    Fixes: 24c3d2f342ed ("staging: android: persistent_ram: Make it possible to use memory outside of bootmem")
    Cc: stable@vger.kernel.org
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 40a31b8c9b90a806f934b626c0d0eb466da14ff8
Author: Parav Pandit <parav@mellanox.com>
Date:   Thu Aug 30 08:35:19 2018 +0300

    RDMA/cma: Protect cma dev list with lock
    
    commit 954a8e3aea87e896e320cf648c1a5bbe47de443e upstream.
    
    When AF_IB addresses are used during rdma_resolve_addr() a lock is not
    held. A cma device can get removed while list traversal is in progress
    which may lead to crash. ie
    
            CPU0                                     CPU1
            ====                                     ====
    rdma_resolve_addr()
     cma_resolve_ib_dev()
      list_for_each()                         cma_remove_one()
        cur_dev->device                        mutex_lock(&lock)
                                                list_del();
                                               mutex_unlock(&lock);
                                               cma_process_remove();
    
    
    Therefore, hold a lock while traversing the list which avoids such
    situation.
    
    Cc: <stable@vger.kernel.org> # 3.10
    Fixes: f17df3b0dede ("RDMA/cma: Add support for AF_IB to rdma_resolve_addr()")
    Signed-off-by: Parav Pandit <parav@mellanox.com>
    Reviewed-by: Daniel Jurgens <danielj@mellanox.com>
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
    Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 367c9cb26e65fd0a7c5d960309a1940a686fd442
Author: Xiao Liang <xiliang@redhat.com>
Date:   Tue Aug 14 23:21:28 2018 +0800

    xen-netfront: fix warn message as irq device name has '/'
    
    [ Upstream commit 21f2706b20100bb3db378461ab9b8e2035309b5b ]
    
    There is a call trace generated after commit 2d408c0d4574b01b9ed45e02516888bf925e11a9(
    xen-netfront: fix queue name setting). There is no 'device/vif/xx-q0-tx' file found
    under /proc/irq/xx/.
    
    This patch only picks up device type and id as its name.
    
    With the patch, now /proc/interrupts looks like below and the warning message gone:
     70:         21          0          0          0   xen-dyn    -event     vif0-q0-tx
     71:         15          0          0          0   xen-dyn    -event     vif0-q0-rx
     72:         14          0          0          0   xen-dyn    -event     vif0-q1-tx
     73:         33          0          0          0   xen-dyn    -event     vif0-q1-rx
     74:         12          0          0          0   xen-dyn    -event     vif0-q2-tx
     75:         24          0          0          0   xen-dyn    -event     vif0-q2-rx
     76:         19          0          0          0   xen-dyn    -event     vif0-q3-tx
     77:         21          0          0          0   xen-dyn    -event     vif0-q3-rx
    
    Below is call trace information without this patch:
    
    name 'device/vif/0-q0-tx'
    WARNING: CPU: 2 PID: 37 at fs/proc/generic.c:174 __xlate_proc_name+0x85/0xa0
    RIP: 0010:__xlate_proc_name+0x85/0xa0
    RSP: 0018:ffffb85c40473c18 EFLAGS: 00010286
    RAX: 0000000000000000 RBX: 0000000000000006 RCX: 0000000000000006
    RDX: 0000000000000007 RSI: 0000000000000096 RDI: ffff984c7f516930
    RBP: ffffb85c40473cb8 R08: 000000000000002c R09: 0000000000000229
    R10: 0000000000000000 R11: 0000000000000001 R12: ffffb85c40473c98
    R13: ffffb85c40473cb8 R14: ffffb85c40473c50 R15: 0000000000000000
    FS:  0000000000000000(0000) GS:ffff984c7f500000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00007f69b6899038 CR3: 000000001c20a006 CR4: 00000000001606e0
    Call Trace:
    __proc_create+0x45/0x230
    ? snprintf+0x49/0x60
    proc_mkdir_data+0x35/0x90
    register_handler_proc+0xef/0x110
    ? proc_register+0xfc/0x110
    ? proc_create_data+0x70/0xb0
    __setup_irq+0x39b/0x660
    ? request_threaded_irq+0xad/0x160
    request_threaded_irq+0xf5/0x160
    ? xennet_tx_buf_gc+0x1d0/0x1d0 [xen_netfront]
    bind_evtchn_to_irqhandler+0x3d/0x70
    ? xenbus_alloc_evtchn+0x41/0xa0
    netback_changed+0xa46/0xcda [xen_netfront]
    ? find_watch+0x40/0x40
    xenwatch_thread+0xc5/0x160
    ? finish_wait+0x80/0x80
    kthread+0x112/0x130
    ? kthread_create_worker_on_cpu+0x70/0x70
    ret_from_fork+0x35/0x40
    Code: 81 5c 00 48 85 c0 75 cc 5b 49 89 2e 31 c0 5d 4d 89 3c 24 41 5c 41 5d 41 5e 41 5f c3 4c 89 ee 48 c7 c7 40 4f 0e b4 e8 65 ea d8 ff <0f> 0b b8 fe ff ff ff 5b 5d 41 5c 41 5d 41 5e 41 5f c3 66 0f 1f
    ---[ end trace 650e5561b0caab3a ]---
    
    Signed-off-by: Xiao Liang <xiliang@redhat.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 08012969004dc5d24dfb8894b19792c5ee71b895
Author: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Date:   Tue Jul 3 18:27:43 2018 -0500

    PCI/AER: Honor "pcie_ports=native" even if HEST sets FIRMWARE_FIRST
    
    [ Upstream commit 7af02fcd84c16801958936f88b848944c726ca07 ]
    
    According to the documentation, "pcie_ports=native", linux should use
    native AER and DPC services.  While that is true for the _OSC method
    parsing, this is not the only place that is checked.  Should the HEST
    list PCIe ports as firmware-first, linux will not use native services.
    
    This happens because aer_acpi_firmware_first() doesn't take 'pcie_ports'
    into account.  This is wrong.  DPC uses the same logic when it decides
    whether to load or not, so fixing this also fixes DPC not loading.
    
    Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
    [bhelgaas: return "false" from bool function (from kbuild robot)]
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 12f21ddaf49d8fcf09e031cffa5192847b8cd09c
Author: Joerg Roedel <jroedel@suse.de>
Date:   Wed Jul 18 11:41:01 2018 +0200

    x86/mm/pti: Add an overflow check to pti_clone_pmds()
    
    [ Upstream commit 935232ce28dfabff1171e5a7113b2d865fa9ee63 ]
    
    The addr counter will overflow if the last PMD of the address space is
    cloned, resulting in an endless loop.
    
    Check for that and bail out of the loop when it happens.
    
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Tested-by: Pavel Machek <pavel@ucw.cz>
    Cc: "H . Peter Anvin" <hpa@zytor.com>
    Cc: linux-mm@kvack.org
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Juergen Gross <jgross@suse.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Jiri Kosina <jkosina@suse.cz>
    Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: David Laight <David.Laight@aculab.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: Eduardo Valentin <eduval@amazon.com>
    Cc: Greg KH <gregkh@linuxfoundation.org>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: aliguori@amazon.com
    Cc: daniel.gruss@iaik.tugraz.at
    Cc: hughd@google.com
    Cc: keescook@google.com
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Waiman Long <llong@redhat.com>
    Cc: "David H . Gutteridge" <dhgutteridge@sympatico.ca>
    Cc: joro@8bytes.org
    Link: https://lkml.kernel.org/r/1531906876-13451-25-git-send-email-joro@8bytes.org
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 19700e6c1d40365f9f55d11c0c6ba5f1116d46e8
Author: Jiang Biao <jiang.biao2@zte.com.cn>
Date:   Fri Jul 20 08:06:32 2018 +0800

    x86/pti: Check the return value of pti_user_pagetable_walk_pmd()
    
    [ Upstream commit 8c934e01a7ce685d98e970880f5941d79272c654 ]
    
    pti_user_pagetable_walk_pmd() can return NULL, so the return value should
    be checked to prevent a NULL pointer dereference.
    
    Add the check and a warning when the PMD allocation fails.
    
    Signed-off-by: Jiang Biao <jiang.biao2@zte.com.cn>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: dave.hansen@linux.intel.com
    Cc: luto@kernel.org
    Cc: hpa@zytor.com
    Cc: albcamus@gmail.com
    Cc: zhong.weidong@zte.com.cn
    Link: https://lkml.kernel.org/r/1532045192-49622-2-git-send-email-jiang.biao2@zte.com.cn
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a9edba8f5f3cbcedd8abd2a0a2f856024ff60cce
Author: Jiang Biao <jiang.biao2@zte.com.cn>
Date:   Fri Jul 20 08:06:31 2018 +0800

    x86/pti: Check the return value of pti_user_pagetable_walk_p4d()
    
    [ Upstream commit b2b7d986a89b6c94b1331a909de1217214fb08c1 ]
    
    pti_user_pagetable_walk_p4d() can return NULL, so the return value should
    be checked to prevent a NULL pointer dereference.
    
    Add the check and a warning when the P4D allocation fails.
    
    Signed-off-by: Jiang Biao <jiang.biao2@zte.com.cn>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: dave.hansen@linux.intel.com
    Cc: luto@kernel.org
    Cc: hpa@zytor.com
    Cc: albcamus@gmail.com
    Cc: zhong.weidong@zte.com.cn
    Link: https://lkml.kernel.org/r/1532045192-49622-1-git-send-email-jiang.biao2@zte.com.cn
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7763d301d75de366950cfd8de8a2fe71d28717d5
Author: Michael Müller <michael@fds-team.de>
Date:   Sun Jul 15 00:27:06 2018 +0200

    crypto: sharah - Unregister correct algorithms for SAHARA 3
    
    [ Upstream commit 0e7d4d932ffc23f75efb31a8c2ac2396c1b81c55 ]
    
    This patch fixes two typos related to unregistering algorithms supported by
    SAHARAH 3. In sahara_register_algs the wrong algorithms are unregistered
    in case of an error. In sahara_unregister_algs the wrong array is used to
    determine the iteration count.
    
    Signed-off-by: Michael Müller <michael@fds-team.de>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4d18bcc6ec97f46859a2cd542aa513a6546dbcc2
Author: Hanna Hawa <hannah@marvell.com>
Date:   Tue Jul 17 13:30:00 2018 +0300

    dmaengine: mv_xor_v2: kill the tasklets upon exit
    
    [ Upstream commit 8bbafed8dd5cfa81071b50ead5cb60367fdef3a9 ]
    
    The mv_xor_v2 driver uses a tasklet, initialized during the probe()
    routine. However, it forgets to cleanup the tasklet using
    tasklet_kill() function during the remove() routine, which this patch
    fixes. This prevents the tasklet from potentially running after the
    module has been removed.
    
    Fixes: 19a340b1a820 ("dmaengine: mv_xor_v2: new driver")
    
    Signed-off-by: Hanna Hawa <hannah@marvell.com>
    Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7c14a171825cc713a3db3864c984037bc889cd75
Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Date:   Mon Jul 9 11:53:31 2018 +0900

    iommu/ipmmu-vmsa: IMUCTRn.TTSEL needs a special usage on R-Car Gen3
    
    [ Upstream commit 2ae86955703e9e6a119af4bbe27f6b6dd7a43131 ]
    
    The TTSEL bit of IMUCTRn register of R-Car Gen3 needs to be set
    unused MMU context number even if uTLBs are disabled
    (The MMUEN bit of IMUCTRn register = 0).
    Since initial values of IMUCTRn.TTSEL on all IPMMU-domains are 0,
    this patch adds a new feature "reserved_context" to reserve IPMMU
    context number 0 as the unused MMU context.
    
    Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d655b0e7d1a5dc57eb2e627174e664ae39b4fc01
Author: Niklas Cassel <niklas.cassel@linaro.org>
Date:   Mon Jul 16 15:32:51 2018 +0200

    regulator: qcom_spmi: Fix warning Bad of_node_put()
    
    [ Upstream commit fffe7f52eb5db41eedadba9a8038e982dcfaee0c ]
    
    For of_find_node_by_name(), you typically pass what the previous call
    returned. Therefore, of_find_node_by_name() increases the refcount of
    the returned node, and decreases the refcount of the node passed as the
    first argument.
    
    of_find_node_by_name() is incorrectly used, and produces a warning.
    Fix the warning by using the more suitable function
    of_get_child_by_name().
    
    Also add a missing of_node_put() for the returned value, since this was
    previously being leaked.
    
    OF: ERROR: Bad of_node_put() on /soc/qcom,spmi@400f000/pmic@3/regulators
    CPU: 1 PID: 1 Comm: swapper/0 Tainted: G        W         4.18.0-rc4-00223-gefd7b360b70e #12
    Hardware name: Qualcomm Technologies, Inc. DB820c (DT)
    Call trace:
     dump_backtrace+0x0/0x1a8
     show_stack+0x14/0x20
     dump_stack+0x90/0xb4
     of_node_release+0x74/0x78
     kobject_put+0x90/0x1f0
     of_node_put+0x14/0x20
     of_find_node_by_name+0x80/0xd8
     qcom_spmi_regulator_probe+0x30c/0x508
    
    Fixes: 0caecaa87202 ("regulator: qcom_spmi: Add support for SAW")
    Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9611efe6701964471d088d02cec7bcc6c773bfee
Author: Niklas Cassel <niklas.cassel@linaro.org>
Date:   Mon Jul 16 15:32:52 2018 +0200

    regulator: qcom_spmi: Use correct regmap when checking for error
    
    [ Upstream commit 85046a15529606466bc778e1205f4cab8e3724d1 ]
    
    Since we have just assigned saw_regmap, and since the error message
    refers to saw_regmap, it feels safe to assume that it is saw_regmap,
    and not regmap, that should be checked for errors.
    
    Fixes: 0caecaa87202 ("regulator: qcom_spmi: Add support for SAW")
    Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4a5dfbca3e03d2b5ea77bcb275747573e72fcd5f
Author: Rex Zhu <rex.zhu@amd.com>
Date:   Tue Jul 17 18:31:50 2018 +0800

    drm/amd/pp: Set Max clock level to display by default
    
    [ Upstream commit 97e8f102f5a9123d30258e196c6c1ea29cf52e83 ]
    
    avoid the error in dmesg:
    [drm:dm_pp_get_static_clocks]
    *ERROR* DM_PPLIB: invalid powerlevel state: 0!
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 283ca5fd5b94cc95c5caa9d14044434fcbdd377e
Author: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Date:   Mon Jul 2 14:20:28 2018 -0700

    i2c: aspeed: Fix initial values of master and slave state
    
    [ Upstream commit 517fde0eb5a8f46c54ba6e2c36e32563b23cb14f ]
    
    This patch changes the order of enum aspeed_i2c_master_state and
    enum aspeed_i2c_slave_state defines to make their initial value to
    ASPEED_I2C_MASTER_INACTIVE and ASPEED_I2C_SLAVE_STOP respectively.
    In case of multi-master use, if a slave data comes ahead of the
    first master xfer, master_state starts from an invalid state so
    this change fixes the issue.
    
    Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
    Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ee4fa1801dfb8113866bbe91ba9f1e7c0b2dbdb7
Author: Pingfan Liu <kernelfans@gmail.com>
Date:   Thu Jul 19 13:14:58 2018 +0800

    drivers/base: stop new probing during shutdown
    
    [ Upstream commit 3297c8fc65af5d40501ea7cddff1b195cae57e4e ]
    
    There is a race window in device_shutdown(), which may cause
    -1. parent device shut down before child or
    -2. no shutdown on a new probing device.
    
    For 1st, taking the following scenario:
             device_shutdown                        new plugin device
      list_del_init(parent_dev);
      spin_unlock(list_lock);
                                                      device_add(child)
                                                      probe child
      shutdown parent_dev
           --> now child is on the tail of devices_kset
    
    For 2nd, taking the following scenario:
             device_shutdown                        new plugin device
                                                      device_add(dev)
      device_lock(dev);
      ...
      device_unlock(dev);
                                                      probe dev
           --> now, the new occurred dev has no opportunity to shutdown
    
    To fix this race issue, just prevent the new probing request. With this
    logic, device_shutdown() is more similar to dpm_prepare().
    
    Signed-off-by: Pingfan Liu <kernelfans@gmail.com>
    Reviewed-by: Rafael J. Wysocki <rafael@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8a1df288fc7d86df3ba88786ea504afe8d641d0f
Author: Christoffer Dall <christoffer.dall@arm.com>
Date:   Tue Jul 3 22:54:14 2018 +0200

    KVM: arm/arm64: Fix vgic init race
    
    [ Upstream commit 1d47191de7e15900f8fbfe7cccd7c6e1c2d7c31a ]
    
    The vgic_init function can race with kvm_arch_vcpu_create() which does
    not hold kvm_lock() and we therefore have no synchronization primitives
    to ensure we're doing the right thing.
    
    As the user is trying to initialize or run the VM while at the same time
    creating more VCPUs, we just have to refuse to initialize the VGIC in
    this case rather than silently failing with a broken VCPU.
    
    Reviewed-by: Eric Auger <eric.auger@redhat.com>
    Signed-off-by: Christoffer Dall <christoffer.dall@arm.com>
    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 77a7d97a4aad430e932cf4874f2d79a1b2c00e0f
Author: Randy Dunlap <rdunlap@infradead.org>
Date:   Fri Jul 6 20:53:09 2018 -0700

    platform/x86: toshiba_acpi: Fix defined but not used build warnings
    
    [ Upstream commit c2e2a618eb7104e18fdcf739d4d911563812a81c ]
    
    Fix a build warning in toshiba_acpi.c when CONFIG_PROC_FS is not enabled
    by marking the unused function as __maybe_unused.
    
    ../drivers/platform/x86/toshiba_acpi.c:1685:12: warning: 'version_proc_show' defined but not used [-Wunused-function]
    
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: Azael Avalos <coproscefalo@gmail.com>
    Cc: platform-driver-x86@vger.kernel.org
    Cc: Andy Shevchenko <andy@infradead.org>
    Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dacc647eb982f345d45d2e65f2f20c3d45510101
Author: Julian Wiedmann <jwi@linux.ibm.com>
Date:   Thu Jul 19 12:43:49 2018 +0200

    s390/qeth: reset layer2 attribute on layer switch
    
    [ Upstream commit 70551dc46ffa3555a0b5f3545b0cd87ab67fd002 ]
    
    After the subdriver's remove() routine has completed, the card's layer
    mode is undetermined again. Reflect this in the layer2 field.
    
    If qeth_dev_layer2_store() hits an error after remove() was called, the
    card _always_ requires a setup(), even if the previous layer mode is
    requested again.
    But qeth_dev_layer2_store() bails out early if the requested layer mode
    still matches the current one. So unless we reset the layer2 field,
    re-probing the card back to its previous mode is currently not possible.
    
    Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8f93a540b618f23bdac1469ec658782af97c00fd
Author: Julian Wiedmann <jwi@linux.ibm.com>
Date:   Thu Jul 19 12:43:48 2018 +0200

    s390/qeth: fix race in used-buffer accounting
    
    [ Upstream commit a702349a4099cd5a7bab0904689d8e0bf8dcd622 ]
    
    By updating q->used_buffers only _after_ do_QDIO() has completed, there
    is a potential race against the buffer's TX completion. In the unlikely
    case that the TX completion path wins, qeth_qdio_output_handler() would
    decrement the counter before qeth_flush_buffers() even incremented it.
    
    Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b72b40d5dacfc1c08cad7f8bd3786c93ec7eda26
Author: Bjorn Andersson <bjorn.andersson@linaro.org>
Date:   Mon Jun 25 13:06:13 2018 -0700

    soc: qcom: smem: Correct check for global partition
    
    [ Upstream commit 0b65c59e3a5475895c93ea5f130597db16b8abf6 ]
    
    The moved check for the global partition ended up in the wrong place and I
    failed to spot this in my review. This moves it to the correct place.
    
    Fixes: 11d2e7edac6a ("soc: qcom: smem: check sooner in qcom_smem_set_global_partition()")
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Reviewed-by: Alex Elder <elder@linaro.org>
    Signed-off-by: Andy Gross <andy.gross@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ed3ee622cda922f1daf465e34d84ccb0835fee85
Author: Bhushan Shah <bshah@kde.org>
Date:   Mon Jul 9 14:46:28 2018 +0530

    ARM: dts: qcom: msm8974-hammerhead: increase load on l20 for sdhci
    
    [ Upstream commit 03864e57770a9541e7ff3990bacf2d9a2fffcd5d ]
    
    The kernel would not boot on the hammerhead hardware due to the
    following error:
    
    mmc0: Timeout waiting for hardware interrupt.
    mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
    mmc0: sdhci: Sys addr:  0x00000200 | Version:  0x00003802
    mmc0: sdhci: Blk size:  0x00000200 | Blk cnt:  0x00000200
    mmc0: sdhci: Argument:  0x00000000 | Trn mode: 0x00000023
    mmc0: sdhci: Present:   0x03e80000 | Host ctl: 0x00000034
    mmc0: sdhci: Power:     0x00000001 | Blk gap:  0x00000000
    mmc0: sdhci: Wake-up:   0x00000000 | Clock:    0x00000007
    mmc0: sdhci: Timeout:   0x0000000e | Int stat: 0x00000000
    mmc0: sdhci: Int enab:  0x02ff900b | Sig enab: 0x02ff100b
    mmc0: sdhci: AC12 err:  0x00000000 | Slot int: 0x00000000
    mmc0: sdhci: Caps:      0x642dc8b2 | Caps_1:   0x00008007
    mmc0: sdhci: Cmd:       0x00000c1b | Max curr: 0x00000000
    mmc0: sdhci: Resp[0]:   0x00000c00 | Resp[1]:  0x00000000
    mmc0: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
    mmc0: sdhci: Host ctl2: 0x00000008
    mmc0: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x70040220
    mmc0: sdhci: ============================================
    mmc0: Card stuck in wrong state! mmcblk0 card_busy_detect status: 0xe00
    mmc0: cache flush error -110
    mmc0: Reset 0x1 never completed.
    
    This patch increases the load on l20 to 0.2 amps for the sdhci
    and allows the device to boot normally.
    
    Signed-off-by: Bhushan Shah <bshah@kde.org>
    Signed-off-by: Brian Masney <masneyb@onstation.org>
    Suggested-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Tested-by: Brian Masney <masneyb@onstation.org>
    Signed-off-by: Andy Gross <andy.gross@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3679b8e9af6d3a2175408ed94c642e921fb2e5c9
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Wed Jul 11 14:18:23 2018 +0200

    arm64: dts: qcom: db410c: Fix Bluetooth LED trigger
    
    [ Upstream commit e53db018315b7660bb7000a29e79faff2496c2c2 ]
    
    Current LED trigger, 'bt', is not known/used by any existing driver.
    Fix this by renaming it to 'bluetooth-power' trigger which is
    controlled by the Bluetooth subsystem.
    
    Fixes: 9943230c8860 ("arm64: dts: qcom: Add apq8016-sbc board LED's related device nodes")
    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
    Signed-off-by: Andy Gross <andy.gross@linaro.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9ac72cec7e5858621457a636867319d458b816e4
Author: Vitaly Kuznetsov <vkuznets@redhat.com>
Date:   Fri Jul 20 18:33:59 2018 +0200

    xen-netfront: fix queue name setting
    
    [ Upstream commit 2d408c0d4574b01b9ed45e02516888bf925e11a9 ]
    
    Commit f599c64fdf7d ("xen-netfront: Fix race between device setup and
    open") changed the initialization order: xennet_create_queues() now
    happens before we do register_netdev() so using netdev->name in
    xennet_init_queue() is incorrect, we end up with the following in
    /proc/interrupts:
    
     60:        139          0   xen-dyn    -event     eth%d-q0-tx
     61:        265          0   xen-dyn    -event     eth%d-q0-rx
     62:        234          0   xen-dyn    -event     eth%d-q1-tx
     63:          1          0   xen-dyn    -event     eth%d-q1-rx
    
    and this looks ugly. Actually, using early netdev name (even when it's
    already set) is also not ideal: nowadays we tend to rename eth devices
    and queue name may end up not corresponding to the netdev name.
    
    Use nodename from xenbus device for queue naming: this can't change in VM's
    lifetime. Now /proc/interrupts looks like
    
     62:        202          0   xen-dyn    -event     device/vif/0-q0-tx
     63:        317          0   xen-dyn    -event     device/vif/0-q0-rx
     64:        262          0   xen-dyn    -event     device/vif/0-q1-tx
     65:         17          0   xen-dyn    -event     device/vif/0-q1-rx
    
    Fixes: f599c64fdf7d ("xen-netfront: Fix race between device setup and open")
    Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
    Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 87fe89ddbf57f23303dd44859d5334ad91f50c2e
Author: Jakub Kicinski <jakub.kicinski@netronome.com>
Date:   Fri Jul 20 21:14:39 2018 -0700

    nfp: avoid buffer leak when FW communication fails
    
    [ Upstream commit 07300f774fec9519663a597987a4083225588be4 ]
    
    After device is stopped we reset the rings by moving all free buffers
    to positions [0, cnt - 2], and clear the position cnt - 1 in the ring.
    We then proceed to clear the read/write pointers.  This means that if
    we try to reset the ring again the code will assume that the next to
    fill buffer is at position 0 and swap it with cnt - 1.  Since we
    previously cleared position cnt - 1 it will lead to leaking the first
    buffer and leaving ring in a bad state.
    
    This scenario can only happen if FW communication fails, in which case
    the ring will never be used again, so the fact it's in a bad state will
    not be noticed.  Buffer leak is the only problem.  Don't try to move
    buffers in the ring if the read/write pointers indicate the ring was
    never used or have already been reset.
    
    nfp_net_clear_config_and_disable() is now fully idempotent.
    
    Found by code inspection, FW communication failures are very rare,
    and reconfiguring a live device is not common either, so it's unlikely
    anyone has ever noticed the leak.
    
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6da3c7c96e0a9a38ee69e635bd2e5ef68830cbbe
Author: Yue Wang <yuleopen@gmail.com>
Date:   Mon Jul 23 01:56:46 2018 -0700

    ALSA: usb-audio: Generic DSD detection for Thesycon-based implementations
    
    [ Upstream commit 1ea0358ecb848058b35b6da13d7f4c08610a73a8 ]
    
    Thesycon provides solutions to XMOS chips, and has its own device
    vendor id.
    
    In this patch, we use generic method to detect DSD capability of
    Thesycon-based UAC2 implementations in order to support a wide range
    of current and future devices.
    
    The patch will enable the SNDRV_PCM_FMTBIT_DSD_U32_BE bit for the DAC
    hence enable native DSD playback up to DSD512 format.
    
    Signed-off-by: Yue Wang <yuleopen@gmail.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 78fcf13d0235065a0c42de214d1a4b3d7efd59ba
Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Date:   Mon Jul 23 10:57:30 2018 +0900

    efi/arm: preserve early mapping of UEFI memory map longer for BGRT
    
    [ Upstream commit 3ea86495aef2f6de26b7cb1599ba350dd6a0c521 ]
    
    The BGRT code validates the contents of the table against the UEFI
    memory map, and so it expects it to be mapped when the code runs.
    
    On ARM, this is currently not the case, since we tear down the early
    mapping after efi_init() completes, and only create the permanent
    mapping in arm_enable_runtime_services(), which executes as an early
    initcall, but still leaves a window where the UEFI memory map is not
    mapped.
    
    So move the call to efi_memmap_unmap() from efi_init() to
    arm_enable_runtime_services().
    
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    [will: fold in EFI_MEMMAP attribute check from Ard]
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e505be5d53e0ae6320fbd0f6f4357773afa30977
Author: Leonard Crestez <leonard.crestez@nxp.com>
Date:   Fri Jul 20 15:47:43 2018 +0300

    reset: imx7: Fix always writing bits as 0
    
    [ Upstream commit 26fce0557fa639fb7bbc33e31a57cff7df25c3a0 ]
    
    Right now the only user of reset-imx7 is pci-imx6 and the
    reset_control_assert and deassert calls on pciephy_reset don't toggle
    the PCIEPHY_BTN and PCIEPHY_G_RST bits as expected. Fix this by writing
    1 or 0 respectively.
    
    The reference manual is not very clear regarding SRC_PCIEPHY_RCR but for
    other registers like MIPIPHY and HSICPHY the bits are explicitly
    documented as "1 means assert, 0 means deassert".
    
    The values are still reversed for IMX7_RESET_PCIE_CTRL_APPS_EN.
    
    Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
    Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cf29c5b3d33975b0eaf08b2ddfd9594c9f5c0e8c
Author: Mark Rutland <mark.rutland@arm.com>
Date:   Tue Jul 10 19:01:22 2018 +0100

    arm64: fix possible spectre-v1 write in ptrace_hbp_set_event()
    
    [ Upstream commit 14d6e289a89780377f8bb09de8926d3c62d763cd ]
    
    It's possible for userspace to control idx. Sanitize idx when using it
    as an array index, to inhibit the potential spectre-v1 write gadget.
    
    Found by smatch.
    
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e635ed205ad88170f50e3ff3327a2bca07b4bd32
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Mon Jul 23 22:12:33 2018 +0800

    wan/fsl_ucc_hdlc: use IS_ERR_VALUE() to check return value of qe_muram_alloc
    
    [ Upstream commit fd800f646402c0f85547166b59ca065175928b7b ]
    
    qe_muram_alloc return a unsigned long integer,which should not
    compared with zero. check it using IS_ERR_VALUE() to fix this.
    
    Fixes: c19b6d246a35 ("drivers/net: support hdlc function for QE-UCC")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5573ec7a711456642d9c48213516ba7f1e669898
Author: Piotr Sawicki <p.sawicki2@partner.samsung.com>
Date:   Thu Jul 19 11:42:58 2018 +0200

    Smack: Fix handling of IPv4 traffic received by PF_INET6 sockets
    
    [ Upstream commit 129a99890936766f4b69b9da7ed88366313a9210 ]
    
    A socket which has sk_family set to PF_INET6 is able to receive not
    only IPv6 but also IPv4 traffic (IPv4-mapped IPv6 addresses).
    
    Prior to this patch, the smk_skb_to_addr_ipv6() could have been
    called for socket buffers containing IPv4 packets, in result such
    traffic was allowed.
    
    Signed-off-by: Piotr Sawicki <p.sawicki2@partner.samsung.com>
    Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f5b4d1cce4a20045ed4f6c656f2ed857903e8c7d
Author: Manikanta Pubbisetty <mpubbise@codeaurora.org>
Date:   Tue Jul 10 16:48:27 2018 +0530

    mac80211: restrict delayed tailroom needed decrement
    
    [ Upstream commit 133bf90dbb8b873286f8ec2e81ba26e863114b8c ]
    
    As explained in ieee80211_delayed_tailroom_dec(), during roam,
    keys of the old AP will be destroyed and new keys will be
    installed. Deletion of the old key causes
    crypto_tx_tailroom_needed_cnt to go from 1 to 0 and the new key
    installation causes a transition from 0 to 1.
    
    Whenever crypto_tx_tailroom_needed_cnt transitions from 0 to 1,
    we invoke synchronize_net(); the reason for doing this is to avoid
    a race in the TX path as explained in increment_tailroom_need_count().
    This synchronize_net() operation can be slow and can affect the station
    roam time. To avoid this, decrementing the crypto_tx_tailroom_needed_cnt
    is delayed for a while so that upon installation of new key the
    transition would be from 1 to 2 instead of 0 to 1 and thereby
    improving the roam time.
    
    This is all correct for a STA iftype, but deferring the tailroom_needed
    decrement for other iftypes may be unnecessary.
    
    For example, let's consider the case of a 4-addr client connecting to
    an AP for which AP_VLAN interface is also created, let the initial
    value for tailroom_needed on the AP be 1.
    
    * 4-addr client connects to the AP (AP: tailroom_needed = 1)
    * AP will clear old keys, delay decrement of tailroom_needed count
    * AP_VLAN is created, it takes the tailroom count from master
      (AP_VLAN: tailroom_needed = 1, AP: tailroom_needed = 1)
    * Install new key for the station, assume key is plumbed in the HW,
      there won't be any change in tailroom_needed count on AP iface
    * Delayed decrement of tailroom_needed count on AP
      (AP: tailroom_needed = 0, AP_VLAN: tailroom_needed = 1)
    
    Because of the delayed decrement on AP iface, tailroom_needed count goes
    out of sync between AP(master iface) and AP_VLAN(slave iface) and
    there would be unnecessary tailroom created for the packets going
    through AP_VLAN iface.
    
    Also, WARN_ONs were observed while trying to bring down the AP_VLAN
    interface:
    (warn_slowpath_common) (warn_slowpath_null+0x18/0x20)
    (warn_slowpath_null) (ieee80211_free_keys+0x114/0x1e4)
    (ieee80211_free_keys) (ieee80211_del_virtual_monitor+0x51c/0x850)
    (ieee80211_del_virtual_monitor) (ieee80211_stop+0x30/0x3c)
    (ieee80211_stop) (__dev_close_many+0x94/0xb8)
    (__dev_close_many) (dev_close_many+0x5c/0xc8)
    
    Restricting delayed decrement to station interface alone fixes the problem
    and it makes sense to do so because delayed decrement is done to improve
    roam time which is applicable only for client devices.
    
    Signed-off-by: Manikanta Pubbisetty <mpubbise@codeaurora.org>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e19f90c905558e3a5e8c2d828e764decc6cd17f7
Author: Paul Cercueil <paul@crapouillou.net>
Date:   Sun Jul 8 17:07:12 2018 +0200

    MIPS: jz4740: Bump zload address
    
    [ Upstream commit c6ea7e9747318e5a6774995f4f8e3e0f7c0fa8ba ]
    
    Having the zload address at 0x8060.0000 means the size of the
    uncompressed kernel cannot be bigger than around 6 MiB, as it is
    deflated at address 0x8001.0000.
    
    This limit is too small; a kernel with some built-in drivers and things
    like debugfs enabled will already be over 6 MiB in size, and so will
    fail to extract properly.
    
    To fix this, we bump the zload address from 0x8060.0000 to 0x8100.0000.
    
    This is fine, as all the boards featuring Ingenic JZ SoCs have at least
    32 MiB of RAM, and use u-boot or compatible bootloaders which won't
    hardcode the load address but read it from the uImage's header.
    
    Signed-off-by: Paul Cercueil <paul@crapouillou.net>
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Patchwork: https://patchwork.linux-mips.org/patch/19787/
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: James Hogan <jhogan@kernel.org>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4105a80d60c0916fd61f2e5592d704841a7274fe
Author: Oder Chiou <oder_chiou@realtek.com>
Date:   Tue Jul 24 15:49:23 2018 +0800

    ASoC: rt5514: Fix the issue of the delay volume applied
    
    [ Upstream commit d96f8bd28cd0bae3e6702ae90df593628ef6906f ]
    
    The patch fixes the issue of the delay volume applied.
    
    Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ad60f993f3ec24b4ca6f9a7e666645b8b5da1096
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Sat Jul 21 13:31:24 2018 +0200

    staging: bcm2835-camera: handle wait_for_completion_timeout return properly
    
    [ Upstream commit 5b70084f6cbcd53f615433f9d216e01bd71de0bb ]
    
    wait_for_completion_timeout returns unsigned long not int so a variable of
    proper type is introduced. Further the check for <= 0 is ambiguous and
    should be == 0 here indicating timeout.
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Fixes: 7b3ad5abf027 ("staging: Import the BCM2835 MMAL-based V4L2 camera driver.")
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3360648a723d1b25d41d02310cc87734f42602b6
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Sat Jul 21 15:20:28 2018 +0200

    staging: bcm2835-camera: fix timeout handling in wait_for_completion_timeout
    
    [ Upstream commit b7afce51d95726a619743aaad8870db66dfa1479 ]
    
    wait_for_completion_timeout returns unsigned long not int so a variable of
    proper type is introduced. Further the check for <= 0 is ambiguous and should
    be == 0 here indicating timeout which is the only error case so no additional
    check needed here.
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Fixes: 7b3ad5abf027 ("staging: Import the BCM2835 MMAL-based V4L2 camera driver.")
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit acd8e75056b84d217a35ed1a135a0ad35ac68e3a
Author: Sandipan Das <sandipan@linux.ibm.com>
Date:   Tue Jul 3 17:35:55 2018 +0530

    perf script: Show correct offsets for DWARF-based unwinding
    
    [ Upstream commit 2a9d5050dc84fa2060f08a52f632976923e0fa7e ]
    
    When perf/data is recorded with the dwarf call-graph option, the
    callchain shown by 'perf script' still shows the binary offsets of the
    userspace symbols instead of their virtual addresses. Since the symbol
    offset calculation is based on using virtual address as the ip, we see
    incorrect offsets as well.
    
    The use of virtual addresses affects the ability to find out the
    line number in the corresponding source file to which an address
    maps to as described in commit 67540759151a ("perf unwind: Use
    addr_location::addr instead of ip for entries").
    
    This has also been addressed by temporarily converting the virtual
    address to the correponding binary offset so that it can be mapped
    to the source line number correctly.
    
    This is a follow-up for commit 19610184693c ("perf script: Show
    virtual addresses instead of offsets").
    
    This can be verified on a powerpc64le system running Fedora 27 as
    shown below:
    
      # perf probe -x /usr/lib64/libc-2.26.so -a inet_pton
      # perf record -e probe_libc:inet_pton --call-graph=dwarf ping -6 -c 1 ::1
    
    Before:
    
      # perf report --stdio --no-children -s sym,srcline -g address
    
      # Samples: 1  of event 'probe_libc:inet_pton'
      # Event count (approx.): 1
      #
      # Overhead  Symbol                Source:Line
      # ........  ....................  ...........
      #
         100.00%  [.] __GI___inet_pton  inet_pton.c
                  |
                  ---gaih_inet getaddrinfo.c:537 (inlined)
                     __GI_getaddrinfo getaddrinfo.c:2304 (inlined)
                     main ping.c:519
                     generic_start_main libc-start.c:308 (inlined)
                     __libc_start_main libc-start.c:102
      ...
    
      # perf script -F comm,ip,sym,symoff,srcline,dso
    
      ping
                        15af28 __GI___inet_pton+0xffff000099160008 (/usr/lib64/libc-2.26.so)
        libc-2.26.so[ffff80004ca0af28]
                        10fa53 gaih_inet+0xffff000099160f43
        libc-2.26.so[ffff80004c9bfa53] (inlined)
                        1105b3 __GI_getaddrinfo+0xffff000099160163
        libc-2.26.so[ffff80004c9c05b3] (inlined)
                          2d6f main+0xfffffffd9f1003df (/usr/bin/ping)
        ping[fffffffecf882d6f]
                         2369f generic_start_main+0xffff00009916013f
        libc-2.26.so[ffff80004c8d369f] (inlined)
                         23897 __libc_start_main+0xffff0000991600b7 (/usr/lib64/libc-2.26.so)
        libc-2.26.so[ffff80004c8d3897]
    
    After:
    
      # perf report --stdio --no-children -s sym,srcline -g address
    
      # Samples: 1  of event 'probe_libc:inet_pton'
      # Event count (approx.): 1
      #
      # Overhead  Symbol                Source:Line
      # ........  ....................  ...........
      #
         100.00%  [.] __GI___inet_pton  inet_pton.c
                  |
                  ---gaih_inet.constprop.7 getaddrinfo.c:537
                     getaddrinfo getaddrinfo.c:2304
                     main ping.c:519
                     generic_start_main.isra.0 libc-start.c:308
                     __libc_start_main libc-start.c:102
      ...
    
      # perf script -F comm,ip,sym,symoff,srcline,dso
    
      ping
                  7fffb38aaf28 __GI___inet_pton+0x8 (/usr/lib64/libc-2.26.so)
        inet_pton.c:68
                  7fffb385fa53 gaih_inet.constprop.7+0xf43 (/usr/lib64/libc-2.26.so)
        getaddrinfo.c:537
                  7fffb38605b3 getaddrinfo+0x163 (/usr/lib64/libc-2.26.so)
        getaddrinfo.c:2304
                     130782d6f main+0x3df (/usr/bin/ping)
        ping.c:519
                  7fffb377369f generic_start_main.isra.0+0x13f (/usr/lib64/libc-2.26.so)
        libc-start.c:308
                  7fffb3773897 __libc_start_main+0xb7 (/usr/lib64/libc-2.26.so)
        libc-start.c:102
    
    Signed-off-by: Sandipan Das <sandipan@linux.ibm.com>
    Acked-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Milian Wolff <milian.wolff@kdab.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
    Fixes: 67540759151a ("perf unwind: Use addr_location::addr instead of ip for entries")
    Link: http://lkml.kernel.org/r/20180703120555.32971-1-sandipan@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 41870d0faa92b556a1913b200cbb8329f13fc5d3
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Tue May 1 00:55:44 2018 +1000

    powerpc/powernv: opal_put_chars partial write fix
    
    [ Upstream commit bd90284cc6c1c9e8e48c8eadd0c79574fcce0b81 ]
    
    The intention here is to consume and discard the remaining buffer
    upon error. This works if there has not been a previous partial write.
    If there has been, then total_len is no longer total number of bytes
    to copy. total_len is always "bytes left to copy", so it should be
    added to written bytes.
    
    This code may not be exercised any more if partial writes will not be
    hit, but this is a small bugfix before a larger change.
    
    Reviewed-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 575f58226b31e8e58a30bd5c111d4ac0cbebe5f4
Author: Mark Rutland <mark.rutland@arm.com>
Date:   Tue Jul 10 19:01:23 2018 +0100

    KVM: arm/arm64: vgic: Fix possible spectre-v1 write in vgic_mmio_write_apr()
    
    [ Upstream commit 6b8b9a48545e08345b8ff77c9fd51b1aebdbefb3 ]
    
    It's possible for userspace to control n. Sanitize n when using it as an
    array index, to inhibit the potential spectre-v1 write gadget.
    
    Note that while it appears that n must be bound to the interval [0,3]
    due to the way it is extracted from addr, we cannot guarantee that
    compiler transformations (and/or future refactoring) will ensure this is
    the case, and given this is a slow path it's better to always perform
    the masking.
    
    Found by smatch.
    
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Cc: Christoffer Dall <christoffer.dall@arm.com>
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    Cc: kvmarm@lists.cs.columbia.edu
    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3e8433730a7c032f1c2a9b2c15fdd04c454e740e
Author: Sagi Grimberg <sagi@grimberg.me>
Date:   Mon Jul 9 12:49:05 2018 +0300

    nvme-rdma: unquiesce queues when deleting the controller
    
    [ Upstream commit 90140624e8face94207003ac9a9d2a329b309d68 ]
    
    If the controller is going away, we need to unquiesce the IO queues so
    that all pending request can fail gracefully before moving forward with
    controller deletion. Do that before we destroy the IO queues so
    blk_cleanup_queue won't block in freeze.
    
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ab79cc228cce85f0078a5b73ea3bdf2ad94cbd8a
Author: Sagi Grimberg <sagi@grimberg.me>
Date:   Wed Jul 11 12:43:16 2018 +0300

    nvmet: fix file discard return status
    
    [ Upstream commit 1b72b71faccee986e2128a271125177dfe91f7b7 ]
    
    If nvmet_copy_from_sgl failed, we falsly return successful
    completion status.
    
    Fixes: d5eff33ee6f8 ("nvmet: add simple file backed ns support")
    Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
    Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b42c221e6c6f85bda8c32c4b3e0d2686f6e97f4c
Author: Sandipan Das <sandipan@linux.ibm.com>
Date:   Tue Jul 10 19:28:13 2018 +0530

    perf powerpc: Fix callchain ip filtering
    
    [ Upstream commit c715fcfda5a08edabaa15508742be926b7ee51db ]
    
    For powerpc64, redundant entries in the callchain are filtered out by
    determining the state of the return address and the stack frame using
    DWARF debug information.
    
    For making these filtering decisions we must analyze the debug
    information for the location corresponding to the program counter value,
    i.e. the first entry in the callchain, and not the LR value; otherwise,
    perf may filter out either the second or the third entry in the
    callchain incorrectly.
    
    This can be observed on a powerpc64le system running Fedora 27 as shown
    below.
    
    Case 1 - Attaching a probe at inet_pton+0x8 (binary offset 0x15af28).
             Return address is still in LR and a new stack frame is not yet
             allocated. The LR value, i.e. the second entry, should not be
             filtered out.
    
      # objdump -d /usr/lib64/libc-2.26.so | less
      ...
      000000000010eb10 <gaih_inet.constprop.7>:
      ...
        10fa48:       78 bb e4 7e     mr      r4,r23
        10fa4c:       0a 00 60 38     li      r3,10
        10fa50:       d9 b4 04 48     bl      15af28 <inet_pton+0x8>
        10fa54:       00 00 00 60     nop
        10fa58:       ac f4 ff 4b     b       10ef04 <gaih_inet.constprop.7+0x3f4>
      ...
      0000000000110450 <getaddrinfo>:
      ...
        1105a8:       54 00 ff 38     addi    r7,r31,84
        1105ac:       58 00 df 38     addi    r6,r31,88
        1105b0:       69 e5 ff 4b     bl      10eb18 <gaih_inet.constprop.7+0x8>
        1105b4:       78 1b 71 7c     mr      r17,r3
        1105b8:       50 01 7f e8     ld      r3,336(r31)
      ...
      000000000015af20 <inet_pton>:
        15af20:       0b 00 4c 3c     addis   r2,r12,11
        15af24:       e0 c1 42 38     addi    r2,r2,-15904
        15af28:       a6 02 08 7c     mflr    r0
        15af2c:       f0 ff c1 fb     std     r30,-16(r1)
        15af30:       f8 ff e1 fb     std     r31,-8(r1)
      ...
    
      # perf probe -x /usr/lib64/libc-2.26.so -a inet_pton+0x8
      # perf record -e probe_libc:inet_pton -g ping -6 -c 1 ::1
      # perf script
    
    Before:
    
      ping  4507 [002] 514985.546540: probe_libc:inet_pton: (7fffa7dbaf28)
                  7fffa7dbaf28 __GI___inet_pton+0x8 (/usr/lib64/libc-2.26.so)
                  7fffa7d705b4 getaddrinfo+0x164 (/usr/lib64/libc-2.26.so)
                     13fb52d70 _init+0xbfc (/usr/bin/ping)
                  7fffa7c836a0 generic_start_main.isra.0+0x140 (/usr/lib64/libc-2.26.so)
                  7fffa7c83898 __libc_start_main+0xb8 (/usr/lib64/libc-2.26.so)
                             0 [unknown] ([unknown])
    
    After:
    
      ping  4507 [002] 514985.546540: probe_libc:inet_pton: (7fffa7dbaf28)
                  7fffa7dbaf28 __GI___inet_pton+0x8 (/usr/lib64/libc-2.26.so)
                  7fffa7d6fa54 gaih_inet.constprop.7+0xf44 (/usr/lib64/libc-2.26.so)
                  7fffa7d705b4 getaddrinfo+0x164 (/usr/lib64/libc-2.26.so)
                     13fb52d70 _init+0xbfc (/usr/bin/ping)
                  7fffa7c836a0 generic_start_main.isra.0+0x140 (/usr/lib64/libc-2.26.so)
                  7fffa7c83898 __libc_start_main+0xb8 (/usr/lib64/libc-2.26.so)
                             0 [unknown] ([unknown])
    
    Case 2 - Attaching a probe at _int_malloc+0x180 (binary offset 0x9cf10).
             Return address in still in LR and a new stack frame has already
             been allocated but not used. The caller's caller, i.e. the third
             entry, is invalid and should be filtered out and not the second
             one.
    
      # objdump -d /usr/lib64/libc-2.26.so | less
      ...
      000000000009cd90 <_int_malloc>:
         9cd90:       17 00 4c 3c     addis   r2,r12,23
         9cd94:       70 a3 42 38     addi    r2,r2,-23696
         9cd98:       26 00 80 7d     mfcr    r12
         9cd9c:       f8 ff e1 fb     std     r31,-8(r1)
         9cda0:       17 00 e4 3b     addi    r31,r4,23
         9cda4:       d8 ff 61 fb     std     r27,-40(r1)
         9cda8:       78 23 9b 7c     mr      r27,r4
         9cdac:       1f 00 bf 2b     cmpldi  cr7,r31,31
         9cdb0:       f0 ff c1 fb     std     r30,-16(r1)
         9cdb4:       b0 ff c1 fa     std     r22,-80(r1)
         9cdb8:       78 1b 7e 7c     mr      r30,r3
         9cdbc:       08 00 81 91     stw     r12,8(r1)
         9cdc0:       11 ff 21 f8     stdu    r1,-240(r1)
         9cdc4:       4c 01 9d 41     bgt     cr7,9cf10 <_int_malloc+0x180>
         9cdc8:       20 00 a4 2b     cmpldi  cr7,r4,32
      ...
         9cf08:       00 00 00 60     nop
         9cf0c:       00 00 42 60     ori     r2,r2,0
         9cf10:       e4 06 ff 7b     rldicr  r31,r31,0,59
         9cf14:       40 f8 a4 7f     cmpld   cr7,r4,r31
         9cf18:       68 05 9d 41     bgt     cr7,9d480 <_int_malloc+0x6f0>
      ...
      000000000009e3c0 <tcache_init.part.4>:
      ...
         9e420:       40 02 80 38     li      r4,576
         9e424:       78 fb e3 7f     mr      r3,r31
         9e428:       71 e9 ff 4b     bl      9cd98 <_int_malloc+0x8>
         9e42c:       00 00 a3 2f     cmpdi   cr7,r3,0
         9e430:       78 1b 7e 7c     mr      r30,r3
      ...
      000000000009f7a0 <__libc_malloc>:
      ...
         9f8f8:       00 00 89 2f     cmpwi   cr7,r9,0
         9f8fc:       1c ff 9e 40     bne     cr7,9f818 <__libc_malloc+0x78>
         9f900:       c9 ea ff 4b     bl      9e3c8 <tcache_init.part.4+0x8>
         9f904:       00 00 00 60     nop
         9f908:       e8 90 22 e9     ld      r9,-28440(r2)
      ...
    
      # perf probe -x /usr/lib64/libc-2.26.so -a _int_malloc+0x180
      # perf record -e probe_libc:_int_malloc -g ./test-malloc
      # perf script
    
    Before:
    
      test-malloc  6554 [009] 515975.797403: probe_libc:_int_malloc: (7fffa6e6cf10)
                  7fffa6e6cf10 _int_malloc+0x180 (/usr/lib64/libc-2.26.so)
                  7fffa6dd0000 [unknown] (/usr/lib64/libc-2.26.so)
                  7fffa6e6f904 malloc+0x164 (/usr/lib64/libc-2.26.so)
                  7fffa6e6f9fc malloc+0x25c (/usr/lib64/libc-2.26.so)
                      100006b4 main+0x38 (/home/testuser/test-malloc)
                  7fffa6df36a0 generic_start_main.isra.0+0x140 (/usr/lib64/libc-2.26.so)
                  7fffa6df3898 __libc_start_main+0xb8 (/usr/lib64/libc-2.26.so)
                             0 [unknown] ([unknown])
    
    After:
    
      test-malloc  6554 [009] 515975.797403: probe_libc:_int_malloc: (7fffa6e6cf10)
                  7fffa6e6cf10 _int_malloc+0x180 (/usr/lib64/libc-2.26.so)
                  7fffa6e6e42c tcache_init.part.4+0x6c (/usr/lib64/libc-2.26.so)
                  7fffa6e6f904 malloc+0x164 (/usr/lib64/libc-2.26.so)
                  7fffa6e6f9fc malloc+0x25c (/usr/lib64/libc-2.26.so)
                      100006b4 main+0x38 (/home/sandipan/test-malloc)
                  7fffa6df36a0 generic_start_main.isra.0+0x140 (/usr/lib64/libc-2.26.so)
                  7fffa6df3898 __libc_start_main+0xb8 (/usr/lib64/libc-2.26.so)
                             0 [unknown] ([unknown])
    
    Signed-off-by: Sandipan Das <sandipan@linux.ibm.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Maynard Johnson <maynard@us.ibm.com>
    Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
    Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
    Fixes: a60335ba3298 ("perf tools powerpc: Adjust callchain based on DWARF debug info")
    Link: http://lkml.kernel.org/r/24bb726d91ed173aebc972ec3f41a2ef2249434e.1530724939.git.sandipan@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7871bdd93e26a158f6bb605b8bb65c1cd1780551
Author: Krzysztof Kozlowski <krzk@kernel.org>
Date:   Tue Jul 24 18:48:14 2018 +0200

    ARM: exynos: Clear global variable on init error path
    
    [ Upstream commit cd4806911cee3901bc2b5eb95603cf1958720b57 ]
    
    For most of Exynos SoCs, Power Management Unit (PMU) address space is
    mapped into global variable 'pmu_base_addr' very early when initializing
    PMU interrupt controller.  A lot of other machine code depends on it so
    when doing iounmap() on this address, clear the global as well to avoid
    usage of invalid value (pointing to unmapped memory region).
    
    Properly mapped PMU address space is a requirement for all other machine
    code so this fix is purely theoretical.  Boot will fail immediately in
    many other places after following this error path.
    
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 01a16afcdd8e2451e120b7a515bffb228972294a
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Tue Jul 24 19:11:27 2018 +0200

    omapfb: rename omap2 module to omap2fb.ko
    
    [ Upstream commit 4bcd8c90ac0f27d3d76fcfc50582ff3685059de9 ]
    
    In a kernel configuration with both CONFIG_FB_OMAP=m and CONFIG_FB_OMAP2=m,
    Kbuild fails to point out that we have two modules with the same name (omapfb.ko),
    but instead fails with a cryptic error message like:
    
    ERROR: "omapfb_register_panel" [drivers/video/fbdev/omap/lcd_osk.ko] undefined!
    
    This can now happen when building a randconfig kernel with CONFIG_ARCH_OMAP1,
    as the omap1 fbdev driver depends on that, whiel the omap2 fbdev driver can
    now be built anywhere with CONFIG_COMPILE_TEST.
    
    The solution is to rename one of the two modules, so for consistency with
    the directory naming I decided to rename the omap2 version to omap2fb.ko.
    
    Fixes: 7378f1149884 ("media: omap2: omapfb: allow building it with COMPILE_TEST")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Tony Lindgren <tony@atomide.com>
    Cc: Mauro Carvalho Chehab <mchehab@s-opensource.com>
    Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8c448f47bf018c5eaa06bb3b4805190387898db2
Author: Fredrik Noring <noring@nocrew.org>
Date:   Tue Jul 24 19:11:24 2018 +0200

    fbdev: Distinguish between interlaced and progressive modes
    
    [ Upstream commit 1ba0a59cea41ea05fda92daaf2a2958a2246b9cf ]
    
    I discovered the problem when developing a frame buffer driver for the
    PlayStation 2 (not yet merged), using the following video modes for the
    PlayStation 3 in drivers/video/fbdev/ps3fb.c:
    
        }, {
            /* 1080if */
            "1080if", 50, 1920, 1080, 13468, 148, 484, 36, 4, 88, 5,
            FB_SYNC_BROADCAST, FB_VMODE_INTERLACED
        }, {
            /* 1080pf */
            "1080pf", 50, 1920, 1080, 6734, 148, 484, 36, 4, 88, 5,
            FB_SYNC_BROADCAST, FB_VMODE_NONINTERLACED
        },
    
    In ps3fb_probe, the mode_option module parameter is used with fb_find_mode
    but it can only select the interlaced variant of 1920x1080 since the loop
    matching the modes does not take the difference between interlaced and
    progressive modes into account.
    
    In short, without the patch, progressive 1920x1080 cannot be chosen as a
    mode_option parameter since fb_find_mode (falsely) thinks interlace is a
    perfect match.
    
    Signed-off-by: Fredrik Noring <noring@nocrew.org>
    Cc: "Maciej W. Rozycki" <macro@linux-mips.org>
    [b.zolnierkie: updated patch description]
    Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8fc18a9186d1f1b4fa0e3d6901b1db9e090cee41
Author: Daniel Mack <daniel@zonque.org>
Date:   Tue Jul 24 19:11:25 2018 +0200

    video: fbdev: pxafb: clear allocated memory for video modes
    
    [ Upstream commit b951d80aaf224b1f774e10def672f5e37488e4ee ]
    
    When parsing the video modes from DT properties, make sure to zero out
    memory before using it. This is important because not all fields in the mode
    struct are explicitly initialized, even though they are used later on.
    
    Fixes: 420a488278e86 ("video: fbdev: pxafb: initial devicetree conversion")
    Reviewed-by: Robert Jarzmik <robert.jarzmik@free.fr>
    Signed-off-by: Daniel Mack <daniel@zonque.org>
    Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0c664f04c204b1839b4869d2734e8c964090ef88
Author: Sandipan Das <sandipan@linux.ibm.com>
Date:   Tue Jul 10 19:28:14 2018 +0530

    perf powerpc: Fix callchain ip filtering when return address is in a register
    
    [ Upstream commit 9068533e4f470daf2b0f29c71d865990acd8826e ]
    
    For powerpc64, perf will filter out the second entry in the callchain,
    i.e. the LR value, if the return address of the function corresponding
    to the probed location has already been saved on its caller's stack.
    
    The state of the return address is determined using debug information.
    At any point within a function, if the return address is already saved
    somewhere, a DWARF expression can tell us about its location. If the
    return address in still in LR only, no DWARF expression would exist.
    
    Typically, the instructions in a function's prologue first copy the LR
    value to R0 and then pushes R0 on to the stack. If LR has already been
    copied to R0 but R0 is yet to be pushed to the stack, we can still get a
    DWARF expression that says that the return address is in R0. This is
    indicating that getting a DWARF expression for the return address does
    not guarantee the fact that it has already been saved on the stack.
    
    This can be observed on a powerpc64le system running Fedora 27 as shown
    below.
    
      # objdump -d /usr/lib64/libc-2.26.so | less
      ...
      000000000015af20 <inet_pton>:
        15af20:       0b 00 4c 3c     addis   r2,r12,11
        15af24:       e0 c1 42 38     addi    r2,r2,-15904
        15af28:       a6 02 08 7c     mflr    r0
        15af2c:       f0 ff c1 fb     std     r30,-16(r1)
        15af30:       f8 ff e1 fb     std     r31,-8(r1)
        15af34:       78 1b 7f 7c     mr      r31,r3
        15af38:       78 23 83 7c     mr      r3,r4
        15af3c:       78 2b be 7c     mr      r30,r5
        15af40:       10 00 01 f8     std     r0,16(r1)
        15af44:       c1 ff 21 f8     stdu    r1,-64(r1)
        15af48:       28 00 81 f8     std     r4,40(r1)
      ...
    
      # readelf --debug-dump=frames-interp /usr/lib64/libc-2.26.so | less
      ...
      00027024 0000000000000024 00027028 FDE cie=00000000 pc=000000000015af20..000000000015af88
         LOC           CFA      r30   r31   ra
      000000000015af20 r1+0     u     u     u
      000000000015af34 r1+0     c-16  c-8   r0
      000000000015af48 r1+64    c-16  c-8   c+16
      000000000015af5c r1+0     c-16  c-8   c+16
      000000000015af78 r1+0     u     u
      ...
    
      # perf probe -x /usr/lib64/libc-2.26.so -a inet_pton+0x18
      # perf record -e probe_libc:inet_pton -g ping -6 -c 1 ::1
      # perf script
    
    Before:
    
      ping  2829 [005] 512917.460174: probe_libc:inet_pton: (7fff7e2baf38)
                  7fff7e2baf38 __GI___inet_pton+0x18 (/usr/lib64/libc-2.26.so)
                  7fff7e2705b4 getaddrinfo+0x164 (/usr/lib64/libc-2.26.so)
                     12f152d70 _init+0xbfc (/usr/bin/ping)
                  7fff7e1836a0 generic_start_main.isra.0+0x140 (/usr/lib64/libc-2.26.so)
                  7fff7e183898 __libc_start_main+0xb8 (/usr/lib64/libc-2.26.so)
                             0 [unknown] ([unknown])
    
    After:
    
      ping  2829 [005] 512917.460174: probe_libc:inet_pton: (7fff7e2baf38)
                  7fff7e2baf38 __GI___inet_pton+0x18 (/usr/lib64/libc-2.26.so)
                  7fff7e26fa54 gaih_inet.constprop.7+0xf44 (/usr/lib64/libc-2.26.so)
                  7fff7e2705b4 getaddrinfo+0x164 (/usr/lib64/libc-2.26.so)
                     12f152d70 _init+0xbfc (/usr/bin/ping)
                  7fff7e1836a0 generic_start_main.isra.0+0x140 (/usr/lib64/libc-2.26.so)
                  7fff7e183898 __libc_start_main+0xb8 (/usr/lib64/libc-2.26.so)
                             0 [unknown] ([unknown])
    
    Reported-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
    Signed-off-by: Sandipan Das <sandipan@linux.ibm.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Maynard Johnson <maynard@us.ibm.com>
    Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
    Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
    Link: http://lkml.kernel.org/r/66e848a7bdf2d43b39210a705ff6d828a0865661.1530724939.git.sandipan@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e04ab6fae4618d5017eb9cd75ec52a5c583a2f18
Author: Randy Dunlap <rdunlap@infradead.org>
Date:   Tue Jul 24 19:11:27 2018 +0200

    fbdev/via: fix defined but not used warning
    
    [ Upstream commit b6566b47a67e07fdca44cf51abb14e2fbe17d3eb ]
    
    Fix a build warning in viafbdev.c when CONFIG_PROC_FS is not enabled
    by marking the unused function as __maybe_unused.
    
    ../drivers/video/fbdev/via/viafbdev.c:1471:12: warning: 'viafb_sup_odev_proc_show' defined but not used [-Wunused-function]
    
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
    Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4cecf931f72e9d6dcbedba643a5c1630f5d7b18a
Author: Anton Vasilyev <vasilyev@ispras.ru>
Date:   Tue Jul 24 19:11:27 2018 +0200

    video: goldfishfb: fix memory leak on driver remove
    
    [ Upstream commit 5958fde72d04e7b8c6de3669d1f794a90997e3eb ]
    
    goldfish_fb_probe() allocates memory for fb, but goldfish_fb_remove() does
    not have deallocation of fb, which leads to memory leak on probe/remove.
    
    The patch adds deallocation into goldfish_fb_remove().
    
    Found by Linux Driver Verification project (linuxtesting.org).
    
    Signed-off-by: Anton Vasilyev <vasilyev@ispras.ru>
    Cc: Aleksandar Markovic <aleksandar.markovic@mips.com>
    Cc: Miodrag Dinic <miodrag.dinic@mips.com>
    Cc: Goran Ferenc <goran.ferenc@mips.com>
    Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6619761e559415c26f5fbaae922727e94d3ea1b2
Author: Jiri Olsa <jolsa@redhat.com>
Date:   Fri Jul 20 12:17:40 2018 +0200

    perf tools: Fix struct comm_str removal crash
    
    [ Upstream commit 46b3722cc7765582354488da633aafffcb138458 ]
    
    We occasionaly hit following assert failure in 'perf top', when processing the
    /proc info in multiple threads.
    
      perf: ...include/linux/refcount.h:109: refcount_inc:
            Assertion `!(!refcount_inc_not_zero(r))' failed.
    
    The gdb backtrace looks like this:
    
      [Switching to Thread 0x7ffff11ba700 (LWP 13749)]
      0x00007ffff50839fb in raise () from /lib64/libc.so.6
      (gdb)
      #0  0x00007ffff50839fb in raise () from /lib64/libc.so.6
      #1  0x00007ffff5085800 in abort () from /lib64/libc.so.6
      #2  0x00007ffff507c0da in __assert_fail_base () from /lib64/libc.so.6
      #3  0x00007ffff507c152 in __assert_fail () from /lib64/libc.so.6
      #4  0x0000000000535373 in refcount_inc (r=0x7fffdc009be0)
          at ...include/linux/refcount.h:109
      #5  0x00000000005354f1 in comm_str__get (cs=0x7fffdc009bc0)
          at util/comm.c:24
      #6  0x00000000005356bd in __comm_str__findnew (str=0x7fffd000b260 ":2",
          root=0xbed5c0 <comm_str_root>) at util/comm.c:72
      #7  0x000000000053579e in comm_str__findnew (str=0x7fffd000b260 ":2",
          root=0xbed5c0 <comm_str_root>) at util/comm.c:95
      #8  0x000000000053582e in comm__new (str=0x7fffd000b260 ":2",
          timestamp=0, exec=false) at util/comm.c:111
      #9  0x00000000005363bc in thread__new (pid=2, tid=2) at util/thread.c:57
      #10 0x0000000000523da0 in ____machine__findnew_thread (machine=0xbfde38,
          threads=0xbfdf28, pid=2, tid=2, create=true) at util/machine.c:457
      #11 0x0000000000523eb4 in __machine__findnew_thread (machine=0xbfde38,
      ...
    
    The failing assertion is this one:
    
      REFCOUNT_WARN(!refcount_inc_not_zero(r), ...
    
    The problem is that we keep global comm_str_root list, which
    is accessed by multiple threads during the 'perf top' startup
    and following 2 paths can race:
    
      thread 1:
        ...
        thread__new
          comm__new
            comm_str__findnew
              down_write(&comm_str_lock);
              __comm_str__findnew
                comm_str__get
    
      thread 2:
        ...
        comm__override or comm__free
          comm_str__put
            refcount_dec_and_test
              down_write(&comm_str_lock);
              rb_erase(&cs->rb_node, &comm_str_root);
    
    Because thread 2 first decrements the refcnt and only after then it removes the
    struct comm_str from the list, the thread 1 can find this object on the list
    with refcnt equls to 0 and hit the assert.
    
    This patch fixes the thread 1 __comm_str__findnew path, by ignoring objects
    that already dropped the refcnt to 0. For the rest of the objects we take the
    refcnt before comparing its name and release it afterwards with comm_str__put,
    which can also release the object completely.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Acked-by: Namhyung Kim <namhyung@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Lukasz Odzioba <lukasz.odzioba@intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Cc: kernel-team@lge.com
    Link: http://lkml.kernel.org/r/20180720101740.GA27176@krava
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3bc6debeee75ffeec42a5e9f900e81805367c282
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Tue Jul 24 19:11:28 2018 +0200

    fbdev: omapfb: off by one in omapfb_register_client()
    
    [ Upstream commit 5ec1ec35b2979b59d0b33381e7c9aac17e159d16 ]
    
    The omapfb_register_client[] array has OMAPFB_PLANE_NUM elements so the
    > should be >= or we are one element beyond the end of the array.
    
    Fixes: 8b08cf2b64f5 ("OMAP: add TI OMAP framebuffer driver")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Cc: Imre Deak <imre.deak@solidboot.com>
    Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3340ab9770ee4b97cf6a4e93d5476605603ec1cd
Author: Sandipan Das <sandipan@linux.ibm.com>
Date:   Tue Jul 10 19:28:16 2018 +0530

    perf tests: Fix record+probe_libc_inet_pton.sh to ensure cleanups
    
    [ Upstream commit 83e3b6d73e66a10088f362b08b99c36fec3a14e7 ]
    
    If there is a mismatch in the perf script output, this test fails and
    exits before the event and temporary files created during its execution
    are cleaned up.
    
    This can be observed on a powerpc64 system running Fedora 27 as shown
    below.
    
      # perf test -v "probe libc's inet_pton & backtrace it with ping"
    
      62: probe libc's inet_pton & backtrace it with ping       :
      --- start ---
      test child forked, pid 18655
      ping 18674 [013] 24511.496995: probe_libc:inet_pton: (7fffa6b423b0)
      7fffa6b423b0 __GI___inet_pton+0x0 (/usr/lib64/power8/libc-2.26.so)
      7fffa6af90dc gaih_inet.constprop.7+0xf4c (/usr/lib64/power8/libc-2.26.so)
      FAIL: expected backtrace entry "getaddrinfo\+0x[[:xdigit:]]+[[:space:]]\(/usr/lib64/power8/libc-2.26.so\)$" got "7fffa6af90dc gaih_inet.constprop.7+0xf4c (/usr/lib64/power8/libc-2.26.so)"
      test child finished with -1
      ---- end ----
      probe libc's inet_pton & backtrace it with ping: FAILED!
    
      # ls /tmp/expected.* /tmp/perf.data.* /tmp/perf.script.*
    
      /tmp/expected.u31  /tmp/perf.data.Pki  /tmp/perf.script.Bhs
    
      # perf probe --list
    
        probe_libc:inet_pton (on __inet_pton@resolv/inet_pton.c in /usr/lib64/power8/libc-2.26.so)
    
    Cleanup of the event and the temporary files are now ensured by allowing
    the cleanup code to be executed even if the lines from the backtrace do
    not match their expected patterns instead of simply exiting from the
    point of failure.
    
    Signed-off-by: Sandipan Das <sandipan@linux.ibm.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
    Link: http://lkml.kernel.org/r/ce9fb091dd3028fba8749a1a267cfbcb264bbfb1.1530724939.git.sandipan@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a036a42625e5a360250c166bd2d3b716a12cebce
Author: Sandipan Das <sandipan@linux.ibm.com>
Date:   Tue Jul 10 19:28:17 2018 +0530

    perf tests: Fix record+probe_libc_inet_pton.sh when event exists
    
    [ Upstream commit 60089e42d38438772e2f83334e3e5b7497009366 ]
    
    If the event 'probe_libc:inet_pton' already exists, this test fails and
    deletes the existing event before exiting. This will then pass for any
    subsequent executions.
    
    Instead of skipping to deleting the existing event because of failing to
    add a new event, a duplicate event is now created and the script
    continues with the usual checks. Only the new duplicate event that is
    created at the beginning of the test is deleted as a part of the
    cleanups in the end. All existing events remain as it is.
    
    This can be observed on a powerpc64 system running Fedora 27 as shown
    below.
    
      # perf probe -x /usr/lib64/power8/libc-2.26.so -a inet_pton
    
      Added new event:
        probe_libc:inet_pton (on inet_pton in /usr/lib64/power8/libc-2.26.so)
    
    Before:
    
      # perf test -v "probe libc's inet_pton & backtrace it with ping"
    
      62: probe libc's inet_pton & backtrace it with ping       :
      --- start ---
      test child forked, pid 21302
      test child finished with -1
      ---- end ----
      probe libc's inet_pton & backtrace it with ping: FAILED!
    
      # perf probe --list
    
    After:
    
      # perf test -v "probe libc's inet_pton & backtrace it with ping"
    
      62: probe libc's inet_pton & backtrace it with ping       :
      --- start ---
      test child forked, pid 21490
      ping 21513 [035] 39357.565561: probe_libc:inet_pton_1: (7fffa4c623b0)
      7fffa4c623b0 __GI___inet_pton+0x0 (/usr/lib64/power8/libc-2.26.so)
      7fffa4c190dc gaih_inet.constprop.7+0xf4c (/usr/lib64/power8/libc-2.26.so)
      7fffa4c19c4c getaddrinfo+0x15c (/usr/lib64/power8/libc-2.26.so)
      111d93c20 main+0x3e0 (/usr/bin/ping)
      test child finished with 0
      ---- end ----
      probe libc's inet_pton & backtrace it with ping: Ok
    
      # perf probe --list
    
        probe_libc:inet_pton (on __inet_pton@resolv/inet_pton.c in /usr/lib64/power8/libc-2.26.so)
    
    Signed-off-by: Sandipan Das <sandipan@linux.ibm.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
    Link: http://lkml.kernel.org/r/e11fecff96e6cf4c65cdbd9012463513d7b8356c.1530724939.git.sandipan@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7909633281bf4e4fd3ff612b56623e96fce8d297
Author: Sandipan Das <sandipan@linux.ibm.com>
Date:   Tue Jul 10 19:28:15 2018 +0530

    perf tests: Fix record+probe_libc_inet_pton.sh for powerpc64
    
    [ Upstream commit 3eae52f842329a95f8549124079518231c0daba8 ]
    
    For powerpc64, this test currently fails due to a mismatch in the
    expected output.
    
    This can be observed on a powerpc64le system running Fedora 27 as shown
    below.
    
      # perf test -v "probe libc's inet_pton & backtrace it with ping"
    
    Before:
    
      62: probe libc's inet_pton & backtrace it with ping       :
      --- start ---
      test child forked, pid 23948
      ping 23965 [003] 71136.075084: probe_libc:inet_pton: (7fff996aaf28)
      7fff996aaf28 __GI___inet_pton+0x8 (/usr/lib64/libc-2.26.so)
      7fff9965fa54 gaih_inet.constprop.7+0xf44 (/usr/lib64/libc-2.26.so)
      FAIL: expected backtrace entry 2 "getaddrinfo\+0x[[:xdigit:]]+[[:space:]]\(/usr/lib64/libc-2.26.so\)$" got "7fff9965fa54 gaih_inet.constprop.7+0xf44 (/usr/lib64/libc-2.26.so)"
      test child finished with -1
      ---- end ----
      probe libc's inet_pton & backtrace it with ping: FAILED!
    
    After:
    
      62: probe libc's inet_pton & backtrace it with ping       :
      --- start ---
      test child forked, pid 24638
      ping 24655 [001] 71208.525396: probe_libc:inet_pton: (7fffa245af28)
      7fffa245af28 __GI___inet_pton+0x8 (/usr/lib64/libc-2.26.so)
      7fffa240fa54 gaih_inet.constprop.7+0xf44 (/usr/lib64/libc-2.26.so)
      7fffa24105b4 getaddrinfo+0x164 (/usr/lib64/libc-2.26.so)
      138d52d70 main+0x3e0 (/usr/bin/ping)
      test child finished with 0
      ---- end ----
      probe libc's inet_pton & backtrace it with ping: Ok
    
    Signed-off-by: Sandipan Das <sandipan@linux.ibm.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Kim Phillips <kim.phillips@arm.com>
    Cc: Maynard Johnson <maynard@us.ibm.com>
    Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
    Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
    Fixes: e07d585e2454 ("perf tests: Switch trace+probe_libc_inet_pton to use record")
    Link: http://lkml.kernel.org/r/49621ec5f37109f0655e5a8c32287ad68d85a1e5.1530724939.git.sandipan@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit aee426d18f8b5851a9e74c702550faabf96f1fb7
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Thu Jul 12 15:52:02 2018 +0200

    perf tools: Synthesize GROUP_DESC feature in pipe mode
    
    [ Upstream commit e8fedff1cc729fd227924305152ccc6f580e8c83 ]
    
    Stephan reported, that pipe mode does not carry the group information
    and thus the piped report won't display the grouped output for following
    command:
    
      # perf record -e '{cycles,instructions,branches}' -a sleep 4 | perf report
    
    It has no idea about the group setup, so it will display events
    separately:
    
      # Overhead  Command          Shared Object             ...
      # ........  ...............  .......................
      #
           6.71%  swapper          [kernel.kallsyms]
           2.28%  offlineimap      libpython2.7.so.1.0
           0.78%  perf             [kernel.kallsyms]
      ...
    
    Fix GROUP_DESC feature record to be synthesized in pipe mode, so the
    report output is grouped if there are groups defined in record:
    
      #                 Overhead  Command          Shared    ...
      # ........................  ...............  .......
      #
           7.57%   0.16%   0.30%  swapper          [kernel
           1.87%   3.15%   2.46%  offlineimap      libpyth
           1.33%   0.00%   0.00%  perf             [kernel
      ...
    
    Reported-by: Stephane Eranian <eranian@google.com>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Tested-by: Stephane Eranian <eranian@google.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: David Carrillo-Cisneros <davidcc@google.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20180712135202.14774-1-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6779c908d67a72b39833218c5eb769396b370e44
Author: Bob Peterson <rpeterso@redhat.com>
Date:   Mon Jun 18 13:24:13 2018 -0500

    gfs2: Don't reject a supposedly full bitmap if we have blocks reserved
    
    [ Upstream commit e79e0e1428188b24c3b57309ffa54a33c4ae40c4 ]
    
    Before this patch, you could get into situations like this:
    
    1. Process 1 searches for X free blocks, finds them, makes a reservation
    2. Process 2 searches for free blocks in the same rgrp, but now the
       bitmap is full because process 1's reservation is skipped over.
       So it marks the bitmap as GBF_FULL.
    3. Process 1 tries to allocate blocks from its own reservation, but
       since the GBF_FULL bit is set, it skips over the rgrp and searches
       elsewhere, thus not using its own reservation.
    
    This patch adds an additional check to allow processes to use their
    own reservations.
    
    Signed-off-by: Bob Peterson <rpeterso@redhat.com>
    Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4d63cecf086cbc74e83a739b980ff1f8d82c3395
Author: Thomas Richter <tmricht@linux.ibm.com>
Date:   Tue Jul 24 15:48:58 2018 +0200

    perf test: Fix subtest number when showing results
    
    [ Upstream commit 9ef0112442bdddef5fb55adf20b3a5464b33de75 ]
    
    Perf test 40 for example has several subtests numbered 1-4 when
    displaying the start of the subtest. When the subtest results
    are displayed the subtests are numbered 0-3.
    
    Use this command to generate trace output:
    
      [root@s35lp76 perf]# ./perf test -Fv 40 2>/tmp/bpf1
    
    Fix this by adjusting the subtest number when show the
    subtest result.
    
    Output before:
    
      [root@s35lp76 perf]# egrep '(^40\.[0-4]| subtest [0-4]:)' /tmp/bpf1
      40.1: Basic BPF filtering                                 :
      BPF filter subtest 0: Ok
      40.2: BPF pinning                                         :
      BPF filter subtest 1: Ok
      40.3: BPF prologue generation                             :
      BPF filter subtest 2: Ok
      40.4: BPF relocation checker                              :
      BPF filter subtest 3: Ok
      [root@s35lp76 perf]#
    
    Output after:
    
      root@s35lp76 ~]# egrep '(^40\.[0-4]| subtest [0-4]:)' /tmp/bpf1
      40.1: Basic BPF filtering                                 :
      BPF filter subtest 1: Ok
      40.2: BPF pinning                                         :
      BPF filter subtest 2: Ok
      40.3: BPF prologue generation                             :
      BPF filter subtest 3: Ok
      40.4: BPF relocation checker                              :
      BPF filter subtest 4: Ok
      [root@s35lp76 ~]#
    
    Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
    Reviewed-by: Hendrik Brueckner <brueckner@linux.ibm.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Link: http://lkml.kernel.org/r/20180724134858.100644-1-tmricht@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2bcb521130c6ed0a93a9455d6c3eb0fda699f5a3
Author: Todor Tomov <todor.tomov@linaro.org>
Date:   Mon Jun 18 04:06:58 2018 -0400

    media: ov5645: Supported external clock is 24MHz
    
    [ Upstream commit 4adb0a0432f489c5eb802b33dae7737f69e6fd7a ]
    
    The external clock frequency was set to 23.88MHz by mistake
    because of a platform which cannot get closer to 24MHz.
    The supported by the driver external clock is 24MHz so
    set it correctly and also fix the values of the pixel
    clock and link clock.
    However allow 1% tolerance to the external clock as this
    difference is small enough to be insignificant.
    
    Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 105b0d0e07c580542852ea8efd87f7e3bdc964ca
Author: Randy Dunlap <rdunlap@infradead.org>
Date:   Tue Jul 24 11:29:01 2018 -0700

    mtd/maps: fix solutionengine.c printk format warnings
    
    [ Upstream commit 1d25e3eeed1d987404e2d2e451eebac8c15cecc1 ]
    
    Fix 2 printk format warnings (this driver is currently only used by
    arch/sh/) by using "%pap" instead of "%lx".
    
    Fixes these build warnings:
    
    ../drivers/mtd/maps/solutionengine.c: In function 'init_soleng_maps':
    ../include/linux/kern_levels.h:5:18: warning: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'resource_size_t' {aka 'unsigned int'} [-Wformat=]
    ../drivers/mtd/maps/solutionengine.c:62:54: note: format string is defined here
      printk(KERN_NOTICE "Solution Engine: Flash at 0x%08lx, EPROM at 0x%08lx\n",
                                                      ~~~~^
                                                      %08x
    ../include/linux/kern_levels.h:5:18: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'resource_size_t' {aka 'unsigned int'} [-Wformat=]
    ../drivers/mtd/maps/solutionengine.c:62:72: note: format string is defined here
      printk(KERN_NOTICE "Solution Engine: Flash at 0x%08lx, EPROM at 0x%08lx\n",
                                                                        ~~~~^
                                                                        %08x
    
    Cc: David Woodhouse <dwmw2@infradead.org>
    Cc: Brian Norris <computersforpeace@gmail.com>
    Cc: Boris Brezillon <boris.brezillon@bootlin.com>
    Cc: Marek Vasut <marek.vasut@gmail.com>
    Cc: Richard Weinberger <richard@nod.at>
    Cc: linux-mtd@lists.infradead.org
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Rich Felker <dalias@libc.org>
    Cc: linux-sh@vger.kernel.org
    Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
    
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 10edff95113a26e4a126f03485762f2691cd10e4
Author: Wei Yongjun <weiyongjun1@huawei.com>
Date:   Wed Jul 11 13:15:42 2018 +0000

    IB/ipoib: Fix error return code in ipoib_dev_init()
    
    [ Upstream commit 99a7e2bf704d64c966dfacede1ba2d9b47cb676e ]
    
    Fix to return a negative error code from the ipoib_neigh_hash_init()
    error handling case instead of 0, as done elsewhere in this function.
    
    Fixes: 515ed4f3aab4 ("IB/IPoIB: Separate control and data related initializations")
    Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
    Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b5781a323ac8f7ee2dd4d523a9aa8558697c7506
Author: Mike Snitzer <snitzer@redhat.com>
Date:   Fri Jul 20 14:57:38 2018 -0400

    block: allow max_discard_segments to be stacked
    
    [ Upstream commit 42c9cdfe1e11e083dceb0f0c4977b758cf7403b9 ]
    
    Set max_discard_segments to USHRT_MAX in blk_set_stacking_limits() so
    that blk_stack_limits() can stack up this limit for stacked devices.
    
    before:
    
    $ cat /sys/block/nvme0n1/queue/max_discard_segments
    256
    $ cat /sys/block/dm-0/queue/max_discard_segments
    1
    
    after:
    
    $ cat /sys/block/nvme0n1/queue/max_discard_segments
    256
    $ cat /sys/block/dm-0/queue/max_discard_segments
    256
    
    Fixes: 1e739730c5b9e ("block: optionally merge discontiguous discard bios into a single request")
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ded17a42ebf52b6d000ab5e36013ba0f132fab98
Author: Zhu Yanjun <yanjun.zhu@oracle.com>
Date:   Fri Jul 13 03:10:20 2018 -0400

    IB/rxe: Drop QP0 silently
    
    [ Upstream commit 536ca245c512aedfd84cde072d7b3ca14b6e1792 ]
    
    According to "Annex A16: RDMA over Converged Ethernet (RoCE)":
    
    A16.4.3 MANAGEMENT INTERFACES
    
    As defined in the base specification, a special Queue Pair, QP0 is defined
    solely for communication between subnet manager(s) and subnet management
    agents. Since such an IB-defined subnet management architecture is outside
    the scope of this annex, it follows that there is also no requirement that
    a port which conforms to this annex be associated with a QP0. Thus, for
    end nodes designed to conform to this annex, the concept of QP0 is
    undefined and unused for any port connected to an Ethernet network.
    
    CA16-8: A packet arriving at a RoCE port containing a BTH with the
    destination QP field set to QP0 shall be silently dropped.
    
    Signed-off-by: Zhu Yanjun <yanjun.zhu@oracle.com>
    Acked-by: Moni Shoua <monis@mellanox.com>
    Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e41669ba0dcf0217319309fd3c1fa392018dfa93
Author: Hans Verkuil <hverkuil@xs4all.nl>
Date:   Thu Jul 5 04:25:19 2018 -0400

    media: videobuf2-core: check for q->error in vb2_core_qbuf()
    
    [ Upstream commit b509d733d337417bcb7fa4a35be3b9a49332b724 ]
    
    The vb2_core_qbuf() function didn't check if q->error was set. It is
    checked in __buf_prepare(), but that function isn't called if the buffer
    was already prepared before with VIDIOC_PREPARE_BUF.
    
    So check it at the start of vb2_core_qbuf() as well.
    
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b37f1ffead9a61b3098f1b7d831aff76febccb77
Author: Felix Fietkau <nbd@nbd.name>
Date:   Fri Jul 20 13:58:22 2018 +0200

    MIPS: ath79: fix system restart
    
    [ Upstream commit f8a7bfe1cb2c1ebfa07775c9c8ac0ad3ba8e5ff5 ]
    
    This patch disables irq on reboot to fix hang issues that were observed
    due to pending interrupts.
    
    Signed-off-by: Felix Fietkau <nbd@nbd.name>
    Signed-off-by: John Crispin <john@phrozen.org>
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Patchwork: https://patchwork.linux-mips.org/patch/19913/
    Cc: James Hogan <jhogan@kernel.org>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-mips@linux-mips.org
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 11091b725238de26d1fc2bdc393c3c1fbeae3b34
Author: John Keeping <john@metanate.com>
Date:   Tue Jul 17 11:48:16 2018 +0100

    dmaengine: pl330: fix irq race with terminate_all
    
    [ Upstream commit e49756544a21f5625b379b3871d27d8500764670 ]
    
    In pl330_update() when checking if a channel has been aborted, the
    channel's lock is not taken, only the overall pl330_dmac lock.  But in
    pl330_terminate_all() the aborted flag (req_running==-1) is set under
    the channel lock and not the pl330_dmac lock.
    
    With threaded interrupts, this leads to a potential race:
    
        pl330_terminate_all         pl330_update
        -------------------         ------------
        lock channel
                                    entry
        lock pl330
        _stop channel
        unlock pl330
                                    lock pl330
                                    check req_running != -1
        req_running = -1
                                    _start channel
    
    Signed-off-by: John Keeping <john@metanate.com>
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7549795df383922ab9b0e3e2fe7bdfa333a1c1f9
Author: Krzysztof Ha?asa <khalasa@piap.pl>
Date:   Thu Jun 28 17:45:07 2018 -0400

    media: tw686x: Fix oops on buffer alloc failure
    
    [ Upstream commit 5a1a2f63d840dc2631505b607e11ff65ac1b7d3c ]
    
    The error path currently calls tw686x_video_free() which requires
    vc->dev to be initialized, causing a NULL dereference on uninitizalized
    channels.
    
    Fix this by setting the vc->dev fields for all the channels first.
    
    Fixes: f8afaa8dbc0d ("[media] tw686x: Introduce an interface to support multiple DMA modes")
    
    Signed-off-by: Krzysztof Ha?asa <khalasa@piap.pl>
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e8b53e57272c5bdd84c29491bd0a74e1e710bc46
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Fri Jul 20 16:46:34 2018 +0900

    kbuild: do not update config when running install targets
    
    [ Upstream commit d79424137a7312d381d131d707a462440c0e8df9 ]
    
    "make syncconfig" is automatically invoked when any of the following
    happens:
    
     - .config is updated
     - any of Kconfig files is updated
     - any of environment variables referenced in Kconfig is changed
    
    Then, it updates configuration files such as include/config/auto.conf
    include/generated/autoconf.h, etc.
    
    Even install targets (install, modules_install, etc.) are no exception.
    However, they should never ever modify the source tree.  Install
    targets are often run with root privileges.  Once those configuration
    files are owned by root, "make mrproper" would end up with permission
    error.
    
    Install targets should just copy things blindly.  They should not care
    whether the configuration is up-to-date or not.  This makes more sense
    because we are interested in the configuration that was used in the
    previous kernel building.
    
    This issue has existed since before, but rarely happened.  I expect
    more chance where people are hit by this; with the new Kconfig syntax
    extension, the .config now contains the compiler information.  If you
    cross-compile the kernel with CROSS_COMPILE, but forget to pass it
    for "make install", you meet "any of environment variables referenced
    in Kconfig is changed" because $(CC) is referenced in Kconfig.
    Another scenario is the compiler upgrade before the installation.
    
    Install targets need the configuration.  "make modules_install" refer
    to CONFIG_MODULES etc.  "make dtbs_install" also needs CONFIG_ARCH_*
    to decide which dtb files to install.  However, the auto-update of
    the configuration files should be avoided.  We already do this for
    external modules.
    
    Now, Make targets are categorized into 3 groups:
    
    [1] Do not need the kernel configuration at all
    
        help, coccicheck, headers_install etc.
    
    [2] Need the latest kernel configuration
    
        If new config options are added, Kconfig will show prompt to
        ask user's selection.
    
        Build targets such as vmlinux, in-kernel modules are the cases.
    
    [3] Need the kernel configuration, but do not want to update it
    
        Install targets except headers_install, and external modules
        are the cases.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 69383cdcb3140a11ee247ed1bf4b7d88f25a39a7
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Fri Jul 20 16:46:33 2018 +0900

    kbuild: add .DELETE_ON_ERROR special target
    
    [ Upstream commit 9c2af1c7377a8a6ef86e5cabf80978f3dbbb25c0 ]
    
    If Make gets a fatal signal while a shell is executing, it may delete
    the target file that the recipe was supposed to update.  This is needed
    to make sure that it is remade from scratch when Make is next run; if
    Make is interrupted after the recipe has begun to write the target file,
    it results in an incomplete file whose time stamp is newer than that
    of the prerequisites files.  Make automatically deletes the incomplete
    file on interrupt unless the target is marked .PRECIOUS.
    
    The situation is just the same as when the shell fails for some reasons.
    Usually when a recipe line fails, if it has changed the target file at
    all, the file is corrupted, or at least it is not completely updated.
    Yet the file’s time stamp says that it is now up to date, so the next
    time Make runs, it will not try to update that file.
    
    However, Make does not cater to delete the incomplete target file in
    this case.  We need to add .DELETE_ON_ERROR somewhere in the Makefile
    to request it.
    
    scripts/Kbuild.include seems a suitable place to add it because it is
    included from almost all sub-makes.
    
    Please note .DELETE_ON_ERROR is not effective for phony targets.
    
    The external module building should never ever touch the kernel tree.
    The following recipe fails if include/generated/autoconf.h is missing.
    However, include/config/auto.conf is not deleted since it is a phony
    target.
    
     PHONY += include/config/auto.conf
    
     include/config/auto.conf:
             $(Q)test -e include/generated/autoconf.h -a -e $@ || (          \
             echo >&2;                                                       \
             echo >&2 "  ERROR: Kernel configuration is invalid.";           \
             echo >&2 "         include/generated/autoconf.h or $@ are missing.";\
             echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it."; \
             echo >&2 ;                                                      \
             /bin/false)
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d3847b6449a0cac6f609f7d965ccc913be628c1d
Author: Rajan Vaja <rajan.vaja@xilinx.com>
Date:   Tue Jul 17 06:17:00 2018 -0700

    clk: clk-fixed-factor: Clear OF_POPULATED flag in case of failure
    
    [ Upstream commit f6dab4233d6b64d719109040503b567f71fbfa01 ]
    
    Fixed factor clock has two initializations at of_clk_init() time
    and during platform driver probe. Before of_clk_init() call,
    node is marked as populated and so its probe never gets called.
    
    During of_clk_init() fixed factor clock registration may fail if
    any of its parent clock is not registered. In this case, it doesn't
    get chance to retry registration from probe. Clear OF_POPULATED
    flag if fixed factor clock registration fails so that clock
    registration is attempted again from probe.
    
    Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com>
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 825568027a5813ee2a3cb3508a36b160e92100b3
Author: Mikko Perttunen <mperttunen@nvidia.com>
Date:   Wed Jul 11 11:21:04 2018 +0300

    clk: core: Potentially free connection id
    
    [ Upstream commit 365f7a89c881e84f1ebc925f65f899d5d7ce547e ]
    
    Patch "clk: core: Copy connection id" made it so that the connector id
    'con_id' is kstrdup_const()ed to cater to drivers that pass non-constant
    connection ids. The patch added the corresponding kfree_const to
    __clk_free_clk(), but struct clk's can be freed also via __clk_put().
    Add the kfree_const call to __clk_put() and add comments to both
    functions to remind that the logic in them should be kept in sync.
    
    Fixes: 253160a8ad06 ("clk: core: Copy connection id")
    Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
    Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 36c234a7d639199bbb718998ab53ad8f2047febb
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Wed Jul 18 18:03:36 2018 +0000

    Input: pxrc - fix freeing URB on device teardown
    
    [ Upstream commit 34dad2cf1104869ce2db2bddb34f8e6780c2ddaa ]
    
    URB is the only resource that is not managed, and thus is destroyed too early,
    before we unregister input device and stop URB in pxrc_close(). To fix it let's
    install custom devm handler to free the URB at the right time in devm unwind
    sequence.
    
    Reviewed-by: Marcus Folkesson <marcus.folkesson@gmail.com>
    Tested-by: Marcus Folkesson <marcus.folkesson@gmail.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 10acffe4e6af865400986e34ad751e00fabbf177
Author: Gregory CLEMENT <gregory.clement@bootlin.com>
Date:   Fri Jul 13 12:27:26 2018 +0200

    clk: mvebu: armada-37xx-periph: Fix wrong return value in get_parent
    
    [ Upstream commit 616bf80d381da13fbb392ebff06f46f946e3ee84 ]
    
    The return value of the get_parent operation is a u8, whereas a -EINVAL
    was returned. This wrong value was return if the value was bigger that
    the number of parent but this case was already handled by the core.
    
    So we can just remove this chunk of code to fix the issue.
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Fixes: 9818a7a4fd10 ("clk: mvebu: armada-37xx-periph: prepare cpu clk to
    be used with DVFS")
    Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 62d658666e16b524895d8ac2eeebbb7c594980b1
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Fri Jul 13 18:40:04 2018 +0200

    clk: imx6sll: fix missing of_node_put()
    
    [ Upstream commit 7f5eac5934d747535f9ffc997792a0a6eb289374 ]
    
    of_find_compatible_node() is returning a device node with refcount
    incremented and must be explicitly decremented after the last use
    which is right after the us in of_iomap() here.
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Fixes: 4a5f720b6542 ("clk: imx: add clock driver for imx6sll")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 404280dc8655cc29cc778c531c360d36fb9f940e
Author: Nicholas Mc Guire <hofrat@osadl.org>
Date:   Fri Jul 13 13:13:20 2018 +0200

    clk: imx6ul: fix missing of_node_put()
    
    [ Upstream commit 11177e7a7aaef95935592072985526ebf0a3df43 ]
    
    of_find_compatible_node() is returning a device node with refcount
    incremented and must be explicitly decremented after the last use
    which is right after the us in of_iomap() here.
    
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Fixes: 787b4271a6a0 ("clk: imx: add imx6ul clk tree support")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3ace27266f113f6747dfd5b1324e553af46943bc
Author: Andreas Gruenbacher <agruenba@redhat.com>
Date:   Wed Jul 25 18:45:08 2018 +0100

    gfs2: Special-case rindex for gfs2_grow
    
    [ Upstream commit 776125785a87ff05d49938bd5b9f336f2a05bff6 ]
    
    To speed up the common case of appending to a file,
    gfs2_write_alloc_required presumes that writing beyond the end of a file
    will always require additional blocks to be allocated.  This assumption
    is incorrect for preallocates files, but there are no negative
    consequences as long as *some* space is still left on the filesystem.
    
    One special file that always has some space preallocated beyond the end
    of the file is the rindex: when growing a filesystem, gfs2_grow adds one
    or more new resource groups and appends records describing those
    resource groups to the rindex; the preallocated space ensures that this
    is always possible.
    
    However, when a filesystem is completely full, gfs2_write_alloc_required
    will indicate that an additional allocation is required, and appending
    the next record to the rindex will fail even though space for that
    record has already been preallocated.  To fix that, skip the incorrect
    optimization in gfs2_write_alloc_required, but for the rindex only.
    Other writes to preallocated space beyond the end of the file are still
    allowed to fail on completely full filesystems.
    
    Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
    Reviewed-by: Bob Peterson <rpeterso@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cffab62aa38c2ecbff670ce94929a6afd2352e81
Author: Golan Ben Ami <golan.ben.ami@intel.com>
Date:   Sun Feb 4 10:50:05 2018 +0200

    iwlwifi: cancel the injective function between hw pointers to tfd entry index
    
    [ Upstream commit f5955a6cc3862a02d46f50b723c3172d24d749a5 ]
    
    Nowadays, the tfd queue max size is 2^8, and the reserved size in the
    command header sequence field for the tfd entry index is 8 bits,
    allowing an injective function from the hw pointers to the tfd entry index
    in the sequence field.
    
    In 22560 devices the tfd queue max size is 2^16, meaning that
    the hw pointers are 16 bit long (allowing to point to each entry
    in the tfd queue). However, the reserved space in the sequence field for
    the tfd entry doesn't change, and we are limited to 8 bit.
    This requires cancelling the injective function from hw pointer to
    tfd entry in the sequence number.
    
    Use iwl_pcie_get_cmd_index to wrap the hw pointer's to the n_window
    size, which is maximum 256 in tx queues, and so, keep the injective
    function between the window wrapped hw pointers to tfd entry index in
    the sequence.
    
    Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit aca7943ece90cfddeda5ccf33264d8b8a0f8fa93
Author: Jakub Kicinski <jakub.kicinski@netronome.com>
Date:   Wed Jul 25 19:40:34 2018 -0700

    nfp: don't fail probe on pci_sriov_set_totalvfs() errors
    
    [ Upstream commit 5b0ced17edc5710d4e946392d0f2934a9e07b37f ]
    
    On machines with buggy ACPI tables or when SR-IOV is already enabled
    we may not be able to set the SR-IOV VF limit in sysfs, it's not fatal
    because the limit is imposed by the driver anyway.  Only the sysfs
    'sriov_totalvfs' attribute will be too high.  Print an error to inform
    user about the failure but allow probe to continue.
    
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 38c65d4ed86c482c5ac6da4d26f2bdc07cead62b
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Thu Jul 26 09:51:27 2018 +0800

    amd-xgbe: use dma_mapping_error to check map errors
    
    [ Upstream commit b24dbfe9ce03d9f83306616f22fb0e04e8960abe ]
    
    The dma_mapping_error() returns true or false, but we want
    to return -ENOMEM if there was an error.
    
    Fixes: 174fd2597b0b ("amd-xgbe: Implement split header receive support")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7ac07ffd7a1ded4a6a29fe4b700b6e8bf20e9592
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Wed Jul 25 16:54:33 2018 +0800

    xfrm: fix 'passing zero to ERR_PTR()' warning
    
    [ Upstream commit 934ffce1343f22ed5e2d0bd6da4440f4848074de ]
    
    Fix a static code checker warning:
    
      net/xfrm/xfrm_policy.c:1836 xfrm_resolve_and_create_bundle() warn: passing zero to 'ERR_PTR'
    
    xfrm_tmpl_resolve return 0 just means no xdst found, return NULL
    instead of passing zero to ERR_PTR.
    
    Fixes: d809ec895505 ("xfrm: do not assume that template resolving always returns xfrms")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 912e58471dc475232832821e9e5124f42333cf5b
Author: Takashi Iwai <tiwai@suse.de>
Date:   Wed Jul 25 23:00:46 2018 +0200

    ALSA: usb-audio: Fix multiple definitions in AU0828_DEVICE() macro
    
    [ Upstream commit bd1cd0eb2ce9141100628d476ead4de485501b29 ]
    
    AU0828_DEVICE() macro in quirks-table.h uses USB_DEVICE_VENDOR_SPEC()
    for expanding idVendor and idProduct fields.  However, the latter
    macro adds also match_flags and bInterfaceClass, which are different
    from the values AU0828_DEVICE() macro sets after that.
    
    For fixing them, just expand idVendor and idProduct fields manually in
    AU0828_DEVICE().
    
    This fixes sparse warnings like:
      sound/usb/quirks-table.h:2892:1: warning: Initializer entry defined twice
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e87ce12cce31528d52dbea351ea3eb71953988af
Author: Jeff Crukley <jcrukley@gmail.com>
Date:   Wed Jul 25 15:05:01 2018 -0400

    ALSA: usb-audio: Add support for Encore mDSD USB DAC
    
    [ Upstream commit b080dc5bd0dfc0b33c6cfc31f909c93d5e63c186 ]
    
    This patch adds native DSD playback support for the Encore mDSD USB DAC by
    specifying the vendor and product ID's
    
    Signed-off-by: Jeff Crukley <jcrukley@gmail.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 14b41aea20aa725f0ae75bebb780978df3a65ff6
Author: Takashi Iwai <tiwai@suse.de>
Date:   Wed Jul 25 23:00:48 2018 +0200

    ALSA: msnd: Fix the default sample sizes
    
    [ Upstream commit 7c500f9ea139d0c9b80fdea5a9c911db3166ea54 ]
    
    The default sample sizes set by msnd driver are bogus; it sets ALSA
    PCM format, not the actual bit width.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 071929af7183b9a57834ff7da757cb1518b60e00
Author: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Date:   Mon Jun 18 12:27:54 2018 +0100

    iommu/io-pgtable-arm: Fix pgtable allocation in selftest
    
    [ Upstream commit fac83d29d95471ad6a104f8c0d21669a3d59097b ]
    
    Commit 4b123757eeaa ("iommu/io-pgtable-arm: Make allocations
    NUMA-aware") added a NUMA hint to page table allocation, but the pgtable
    selftest doesn't provide an SMMU device parameter. Since dev_to_node
    doesn't accept a NULL argument, add a special case for selftest.
    
    Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6bd162fc88d27745935506a843faff36051fe324
Author: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Date:   Tue Jun 19 13:52:24 2018 +0100

    iommu/io-pgtable-arm-v7s: Abort allocation when table address overflows the PTE
    
    [ Upstream commit 29859aeb8a6ea17ba207933a81b6b77b4d4df81a ]
    
    When run on a 64-bit system in selftest, the v7s driver may obtain page
    table with physical addresses larger than 32-bit. Level-2 tables are 1KB
    and are are allocated with slab, which doesn't accept the GFP_DMA32
    flag. Currently map() truncates the address written in the PTE, causing
    iova_to_phys() or unmap() to access invalid memory. Kasan reports it as
    a use-after-free. To avoid any nasty surprise, test if the physical
    address fits in a PTE before returning a new table. 32-bit systems,
    which are the main users of this page table format, shouldn't see any
    difference.
    
    Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 129a7aebd1331ee94313d51fb0be1e915fb4db9f
Author: Miao Zhong <zhongmiao@hisilicon.com>
Date:   Mon Jul 23 20:56:58 2018 +0800

    iommu/arm-smmu-v3: sync the OVACKFLG to PRIQ consumer register
    
    [ Upstream commit 0d535967ac658966c6ade8f82b5799092f7d5441 ]
    
    When PRI queue occurs overflow, driver should update the OVACKFLG to
    the PRIQ consumer register, otherwise subsequent PRI requests will not
    be processed.
    
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Signed-off-by: Miao Zhong <zhongmiao@hisilicon.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 602b80704322164b0719599a6df13db5b509e5fa
Author: Erich E. Hoover <ehoover@sweptlaser.com>
Date:   Thu Jul 19 17:26:24 2018 -0600

    usb: dwc3: change stream event enable bit back to 13
    
    [ Upstream commit 9a7faac3650216112e034b157289bf1a48a99e2d ]
    
    Commit ff3f0789b3dc ("usb: dwc3: use BIT() macro where possible")
    changed DWC3_DEPCFG_STREAM_EVENT_EN from bit 13 to bit 12.
    
    Spotted this cleanup typo while looking at diffs between 4.9.35 and
    4.14.16 for a separate issue.
    
    Fixes: ff3f0789b3dc ("usb: dwc3: use BIT() macro where possible")
    Signed-off-by: Erich E. Hoover <ehoover@sweptlaser.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9739856df45de13b49544ab294a6326752b539a4
Author: Tariq Toukan <tariqt@mellanox.com>
Date:   Tue Aug 21 16:04:41 2018 +0300

    net/mlx5: Use u16 for Work Queue buffer fragment size
    
    [ Upstream commit 8d71e818506718e8d7032ce824b5c74a17d4f7a5 ]
    
    Minimal stride size is 16.
    Hence, the number of strides in a fragment (of PAGE_SIZE)
    is <= PAGE_SIZE / 16 <= 4K.
    
    u16 is sufficient to represent this.
    
    Fixes: 388ca8be0037 ("IB/mlx5: Implement fragmented completion queue (CQ)")
    Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
    Reviewed-by: Eran Ben Elisha <eranbe@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 032fcd76b6b1f9541497e158b6e3fb27f1f7f602
Author: Roi Dayan <roid@mellanox.com>
Date:   Mon Aug 20 11:43:03 2018 +0300

    net/mlx5: Fix possible deadlock from lockdep when adding fte to fg
    
    [ Upstream commit ad9421e36a77056a4f095d49b9605e80b4d216ed ]
    
    This is a false positive report due to incorrect nested lock
    annotations as we lock multiple fgs with the same subclass.
    Instead of locking all fgs only lock the one being used as was
    done before.
    
    Fixes: bd71b08ec2ee ("net/mlx5: Support multiple updates of steering rules in parallel")
    Signed-off-by: Roi Dayan <roid@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7da7294ce3030d0b76a72fe1438119cce3c938ae
Author: Roi Dayan <roid@mellanox.com>
Date:   Sun Aug 19 08:56:09 2018 +0300

    net/mlx5: Fix not releasing read lock when adding flow rules
    
    [ Upstream commit 071304772fc747d5df13c51f1cf48a4b922a5e0d ]
    
    If building match list fg fails and we never jumped to
    search_again_locked label then the function returned without
    unlocking the read lock.
    
    Fixes: bd71b08ec2ee ("net/mlx5: Support multiple updates of steering rules in parallel")
    Signed-off-by: Roi Dayan <roid@mellanox.com>
    Reviewed-by: Maor Gottlieb <maorg@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 60486fee29bb2aaa785d3f70a43c29fa9b444683
Author: Vincent Whitchurch <vincent.whitchurch@axis.com>
Date:   Thu Sep 6 15:54:59 2018 +0200

    tcp: really ignore MSG_ZEROCOPY if no SO_ZEROCOPY
    
    [ Upstream commit 5cf4a8532c992bb22a9ecd5f6d93f873f4eaccc2 ]
    
    According to the documentation in msg_zerocopy.rst, the SO_ZEROCOPY
    flag was introduced because send(2) ignores unknown message flags and
    any legacy application which was accidentally passing the equivalent of
    MSG_ZEROCOPY earlier should not see any new behaviour.
    
    Before commit f214f915e7db ("tcp: enable MSG_ZEROCOPY"), a send(2) call
    which passed the equivalent of MSG_ZEROCOPY without setting SO_ZEROCOPY
    would succeed.  However, after that commit, it fails with -ENOBUFS.  So
    it appears that the SO_ZEROCOPY flag fails to fulfill its intended
    purpose.  Fix it.
    
    Fixes: f214f915e7db ("tcp: enable MSG_ZEROCOPY")
    Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
    Acked-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 87754d1856ace5b934a87533dc917ab7603be9d9
Author: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
Date:   Mon Sep 10 22:19:47 2018 +0800

    erspan: return PACKET_REJECT when the appropriate tunnel is not found
    
    [ Upstream commit 5a64506b5c2c3cdb29d817723205330378075448 ]
    
    If erspan tunnel hasn't been established, we'd better send icmp port
    unreachable message after receive erspan packets.
    
    Fixes: 84e54fe0a5ea ("gre: introduce native tunnel support for ERSPAN")
    Cc: William Tu <u9012063@gmail.com>
    Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
    Acked-by: William Tu <u9012063@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a4eae12522a56fd0e89f75f7eabe5021dc9bddbb
Author: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
Date:   Mon Sep 10 22:19:48 2018 +0800

    erspan: fix error handling for erspan tunnel
    
    [ Upstream commit 51dc63e3911fbb1f0a7a32da2fe56253e2040ea4 ]
    
    When processing icmp unreachable message for erspan tunnel, tunnel id
    should be erspan_net_id instead of ipgre_net_id.
    
    Fixes: 84e54fe0a5ea ("gre: introduce native tunnel support for ERSPAN")
    Cc: William Tu <u9012063@gmail.com>
    Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
    Acked-by: William Tu <u9012063@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 17c7263eea8572e4f6858e1a5e5edb75f74c67bc
Author: Jack Morgenstein <jackm@dev.mellanox.co.il>
Date:   Tue Aug 7 09:59:03 2018 +0300

    net/mlx5: Fix debugfs cleanup in the device init/remove flow
    
    [ Upstream commit 5df816e7f43f1297c40021ef17ec6e722b45c82f ]
    
    When initializing the device (procedure init_one), the driver
    calls mlx5_pci_init to perform pci initialization. As part of this
    initialization, mlx5_pci_init creates a debugfs directory.
    If this creation fails, init_one aborts, returning failure to
    the caller (which is the probe method caller).
    
    The main reason for such a failure to occur is if the debugfs
    directory already exists. This can happen if the last time
    mlx5_pci_close was called, debugfs_remove (silently) failed due
    to the debugfs directory not being empty.
    
    Guarantee that such a debugfs_remove failure will not occur by
    instead calling debugfs_remove_recursive in procedure mlx5_pci_close.
    
    Fixes: 59211bd3b632 ("net/mlx5: Split the load/unload flow into hardware and software flows")
    Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
    Reviewed-by: Daniel Jurgens <danielj@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 645e035edefe57945b2f63ff88c2c980bab3445d
Author: Huy Nguyen <huyn@mellanox.com>
Date:   Wed Aug 15 11:08:48 2018 -0500

    net/mlx5: Check for error in mlx5_attach_interface
    
    [ Upstream commit 47bc94b82291e007da61ee1b3d18c77871f3e158 ]
    
    Currently, mlx5_attach_interface does not check for error
    after calling intf->attach or intf->add. When these two calls
    fails, the client is not initialized and will cause issues such as
    kernel panic on invalid address in the teardown path (mlx5_detach_interface)
    
    Fixes: 737a234bb638 ("net/mlx5: Introduce attach/detach to interface API")
    Signed-off-by: Huy Nguyen <huyn@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b800b7ef44b5312281fd0ef02758d49a26acce57
Author: Vakul Garg <vakul.garg@nxp.com>
Date:   Thu Sep 6 21:41:40 2018 +0530

    net/tls: Set count of SG entries if sk_alloc_sg returns -ENOSPC
    
    [ Upstream commit 52ea992cfac357b73180d5c051dca43bc8d20c2a ]
    
    tls_sw_sendmsg() allocates plaintext and encrypted SG entries using
    function sk_alloc_sg(). In case the number of SG entries hit
    MAX_SKB_FRAGS, sk_alloc_sg() returns -ENOSPC and sets the variable for
    current SG index to '0'. This leads to calling of function
    tls_push_record() with 'sg_encrypted_num_elem = 0' and later causes
    kernel crash. To fix this, set the number of SG elements to the number
    of elements in plaintext/encrypted SG arrays in case sk_alloc_sg()
    returns -ENOSPC.
    
    Fixes: 3c4d7559159b ("tls: kernel TLS support")
    Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c73238573deaa6dce0b42a72eaa783e364a42dd2
Author: Raed Salem <raeds@mellanox.com>
Date:   Tue Aug 21 15:22:42 2018 +0300

    net/mlx5: E-Switch, Fix memory leak when creating switchdev mode FDB tables
    
    [ Upstream commit c88a026e01219488e745f4f0267fd76c2bb68421 ]
    
    The memory allocated for the slow path table flow group input structure
    was not freed upon successful return, fix that.
    
    Fixes: 1967ce6ea5c8 ("net/mlx5: E-Switch, Refactor fast path FDB table creation in switchdev mode")
    Signed-off-by: Raed Salem <raeds@mellanox.com>
    Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 73da60476f94492ef330351cbe04a6685861cd20
Author: Cong Wang <xiyou.wangcong@gmail.com>
Date:   Mon Sep 3 19:12:41 2018 -0700

    tipc: orphan sock in tipc_release()
    
    [ Upstream commit 0a3b8b2b215f9e84b82ae97df71292ccfd92b1e7 ]
    
    Before we unlock the sock in tipc_release(), we have to
    detach sk->sk_socket from sk, otherwise a parallel
    tipc_sk_fill_sock_diag() could stil read it after we
    free this socket.
    
    Fixes: c30b70deb5f4 ("tipc: implement socket diagnostics for AF_TIPC")
    Reported-and-tested-by: syzbot+48804b87c16588ad491d@syzkaller.appspotmail.com
    Cc: Jon Maloy <jon.maloy@ericsson.com>
    Cc: Ying Xue <ying.xue@windriver.com>
    Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
    Acked-by: Ying Xue <ying.xue@windriver.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit de83178fddfb1935b8655471cc3ac04fa51e6896
Author: Cong Wang <xiyou.wangcong@gmail.com>
Date:   Mon Sep 10 18:27:26 2018 -0700

    rds: fix two RCU related problems
    
    [ Upstream commit cc4dfb7f70a344f24c1c71e298deea0771dadcb2 ]
    
    When a rds sock is bound, it is inserted into the bind_hash_table
    which is protected by RCU. But when releasing rds sock, after it
    is removed from this hash table, it is freed immediately without
    respecting RCU grace period. This could cause some use-after-free
    as reported by syzbot.
    
    Mark the rds sock with SOCK_RCU_FREE before inserting it into the
    bind_hash_table, so that it would be always freed after a RCU grace
    period.
    
    The other problem is in rds_find_bound(), the rds sock could be
    freed in between rhashtable_lookup_fast() and rds_sock_addref(),
    so we need to extend RCU read lock protection in rds_find_bound()
    to close this race condition.
    
    Reported-and-tested-by: syzbot+8967084bcac563795dc6@syzkaller.appspotmail.com
    Reported-by: syzbot+93a5839deb355537440f@syzkaller.appspotmail.com
    Cc: Sowmini Varadhan <sowmini.varadhan@oracle.com>
    Cc: Santosh Shilimkar <santosh.shilimkar@oracle.com>
    Cc: rds-devel@oss.oracle.com
    Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
    Acked-by: Santosh Shilimkar <santosh.shilimkar@oarcle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d34b61509c18c788d177446dec92559b642e7f0e
Author: Stefan Wahren <stefan.wahren@i2se.com>
Date:   Wed Sep 5 15:23:18 2018 +0200

    net: qca_spi: Fix race condition in spi transfers
    
    [ Upstream commit e65a9e480e91ddf9e15155454d370cead64689c8 ]
    
    With performance optimization the spi transfer and messages of basic
    register operations like qcaspi_read_register moved into the private
    driver structure. But they weren't protected against mutual access
    (e.g. between driver kthread and ethtool). So dumping the QCA7000
    registers via ethtool during network traffic could make spi_sync
    hang forever, because the completion in spi_message is overwritten.
    
    So revert the optimization completely.
    
    Fixes: 291ab06ecf676 ("net: qualcomm: new Ethernet over SPI driver for QCA700")
    Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9a22310f122b4fd5882ba9649bd3d4b0a154529f
Author: Jack Morgenstein <jackm@dev.mellanox.co.il>
Date:   Sun Aug 5 09:19:33 2018 +0300

    net/mlx5: Fix use-after-free in self-healing flow
    
    [ Upstream commit 76d5581c870454be5f1f1a106c57985902e7ea20 ]
    
    When the mlx5 health mechanism detects a problem while the driver
    is in the middle of init_one or remove_one, the driver needs to prevent
    the health mechanism from scheduling future work; if future work
    is scheduled, there is a problem with use-after-free: the system WQ
    tries to run the work item (which has been freed) at the scheduled
    future time.
    
    Prevent this by disabling work item scheduling in the health mechanism
    when the driver is in the middle of init_one() or remove_one().
    
    Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
    Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
    Reviewed-by: Feras Daoud <ferasda@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit da0e36fa0942999c9f21cdb963f8484c54f86d77
Author: Petr Oros <poros@redhat.com>
Date:   Wed Sep 5 14:37:45 2018 +0200

    be2net: Fix memory leak in be_cmd_get_profile_config()
    
    [ Upstream commit 9d7f19dc4673fbafebfcbf30eb90e09fa7d1c037 ]
    
    DMA allocated memory is lost in be_cmd_get_profile_config() when we
    call it with non-NULL port_res parameter.
    
    Signed-off-by: Petr Oros <poros@redhat.com>
    Reviewed-by: Ivan Vecera <ivecera@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>