Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 5.10.x+fslc up to v5.10.33 #318

Merged
merged 40 commits into from
Apr 28, 2021
Merged

Commits on Apr 28, 2021

  1. vhost-vdpa: protect concurrent access to vhost device iotlb

    commit a9d0645 upstream.
    
    Protect vhost device iotlb by vhost_dev->mutex. Otherwise,
    it might cause corruption of the list and interval tree in
    struct vhost_iotlb if userspace sends the VHOST_IOTLB_MSG_V2
    message concurrently.
    
    Fixes: 4c8cf31("vhost: introduce vDPA-based backend")
    Cc: stable@vger.kernel.org
    Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
    Acked-by: Jason Wang <jasowang@redhat.com>
    Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
    Link: https://lore.kernel.org/r/20210412095512.178-1-xieyongji@bytedance.com
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    YongjiXie authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    7177749 View commit details
    Browse the repository at this point in the history
  2. gpio: omap: Save and restore sysconfig

    [ Upstream commit ddd8d94 ]
    
    As we are using cpu_pm to save and restore context, we must also save and
    restore the GPIO sysconfig register. This is needed because we are not
    calling PM runtime functions at all with cpu_pm.
    
    We need to save the sysconfig on idle as it's value can get reconfigured by
    PM runtime and can be different from the init time value. Device specific
    flags like "ti,no-idle-on-init" can affect the init value.
    
    Fixes: b764a58 ("gpio: omap: Remove custom PM calls and use cpu_pm instead")
    Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
    Cc: Adam Ford <aford173@gmail.com>
    Cc: Andreas Kemnade <andreas@kemnade.info>
    Cc: Grygorii Strashko <grygorii.strashko@ti.com>
    Cc: Peter Ujfalusi <peter.ujfalusi@gmail.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Acked-by: Grygorii Strashko <grygorii.strashko@ti.com>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    tmlind authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    9857fcc View commit details
    Browse the repository at this point in the history
  3. KEYS: trusted: Fix TPM reservation for seal/unseal

    [ Upstream commit 9d5171e ]
    
    The original patch 8c657a0 ("KEYS: trusted: Reserve TPM for seal
    and unseal operations") was correct on the mailing list:
    
    https://lore.kernel.org/linux-integrity/20210128235621.127925-4-jarkko@kernel.org/
    
    But somehow got rebased so that the tpm_try_get_ops() in
    tpm2_seal_trusted() got lost.  This causes an imbalanced put of the
    TPM ops and causes oopses on TIS based hardware.
    
    This fix puts back the lost tpm_try_get_ops()
    
    Fixes: 8c657a0 ("KEYS: trusted: Reserve TPM for seal and unseal operations")
    Reported-by: Mimi Zohar <zohar@linux.ibm.com>
    Acked-by: Mimi Zohar <zohar@linux.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    James Bottomley authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    bf84ef2 View commit details
    Browse the repository at this point in the history
  4. vdpa/mlx5: Set err = -ENOMEM in case dma_map_sg_attrs fails

    [ Upstream commit be286f8 ]
    
    Set err = -ENOMEM if dma_map_sg_attrs() fails so the function reutrns
    error.
    
    Fixes: 94abbcc ("vdpa/mlx5: Add shared memory registration code")
    Signed-off-by: Eli Cohen <elic@nvidia.com>
    Reported-by: kernel test robot <lkp@intel.com>
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Link: https://lore.kernel.org/r/20210411083646.910546-1-elic@nvidia.com
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Acked-by: Jason Wang <jasowang@redhat.com>
    Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    elic307i authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    a8cd07e View commit details
    Browse the repository at this point in the history
  5. pinctrl: lewisburg: Update number of pins in community

    [ Upstream commit 196d941 ]
    
    When updating pin names for Intel Lewisburg, the numbers of pins were
    left behind. Update them accordingly.
    
    Fixes: e66ff71 ("pinctrl: lewisburg: Update pin list according to v1.1v6")
    Signed-off-by: Yuanyuan Zhong <yzhong@purestorage.com>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Yuanyuan Zhong authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    2bbd8aa View commit details
    Browse the repository at this point in the history
  6. block: return -EBUSY when there are open partitions in blkdev_reread_…

    …part
    
    [ Upstream commit 68e6582 ]
    
    The switch to go through blkdev_get_by_dev means we now ignore the
    return value from bdev_disk_changed in __blkdev_get.  Add a manual
    check to restore the old semantics.
    
    Fixes: 4601b4b ("block: reopen the device in blkdev_reread_part")
    Reported-by: Karel Zak <kzak@redhat.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210421160502.447418-1-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Christoph Hellwig authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    fc2454c View commit details
    Browse the repository at this point in the history
  7. pinctrl: core: Show pin numbers for the controllers with base = 0

    [ Upstream commit 482715f ]
    
    The commit f1b206c ("pinctrl: core: print gpio in pins debugfs file")
    enabled GPIO pin number and label in debugfs for pin controller. However,
    it limited that feature to the chips where base is positive number. This,
    in particular, excluded chips where base is 0 for the historical or backward
    compatibility reasons. Refactor the code to include the latter as well.
    
    Fixes: f1b206c ("pinctrl: core: print gpio in pins debugfs file")
    Cc: Drew Fustini <drew@beagleboard.org>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Tested-by: Drew Fustini <drew@beagleboard.org>
    Reviewed-by: Drew Fustini <drew@beagleboard.org>
    Link: https://lore.kernel.org/r/20210415130356.15885-1-andriy.shevchenko@linux.intel.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    andy-shev authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    83d93d0 View commit details
    Browse the repository at this point in the history
  8. arm64: dts: allwinner: Revert SD card CD GPIO for Pine64-LTS

    [ Upstream commit 4d09ccc ]
    
    Commit 941432d ("arm64: dts: allwinner: Drop non-removable from
    SoPine/LTS SD card") enabled the card detect GPIO for the SOPine module,
    along the way with the Pine64-LTS, which share the same base .dtsi.
    
    This was based on the observation that the Pine64-LTS has as "push-push"
    SD card socket, and that the schematic mentions the card detect GPIO.
    
    After having received two reports about failing SD card access with that
    patch, some more research and polls on that subject revealed that there
    are at least two different versions of the Pine64-LTS out there:
    - On some boards (including mine) the card detect pin is "stuck" at
      high, regardless of an microSD card being inserted or not.
    - On other boards the card-detect is working, but is active-high, by
      virtue of an explicit inverter circuit, as shown in the schematic.
    
    To cover all versions of the board out there, and don't take any chances,
    let's revert the introduction of the active-low CD GPIO, but let's use
    the broken-cd property for the Pine64-LTS this time. That should avoid
    regressions and should work for everyone, even allowing SD card changes
    now.
    The SOPine card detect has proven to be working, so let's keep that
    GPIO in place.
    
    Fixes: 941432d ("arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card")
    Reported-by: Michael Weiser <michael.weiser@gmx.de>
    Reported-by: Daniel Kulesz <kuleszdl@posteo.org>
    Suggested-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Andre Przywara <andre.przywara@arm.com>
    Tested-by: Michael Weiser <michael.weiser@gmx.de>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210414104740.31497-1-andre.przywara@arm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Andre-ARM authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    edc5d16 View commit details
    Browse the repository at this point in the history
  9. bpf: Permits pointers on stack for helper calls

    [ Upstream commit cd17d38 ]
    
    Currently, when checking stack memory accessed by helper calls,
    for spills, only PTR_TO_BTF_ID and SCALAR_VALUE are
    allowed.
    
    Song discovered an issue where the below bpf program
      int dump_task(struct bpf_iter__task *ctx)
      {
        struct seq_file *seq = ctx->meta->seq;
        static char[] info = "abc";
        BPF_SEQ_PRINTF(seq, "%s\n", info);
        return 0;
      }
    may cause a verifier failure.
    
    The verifier output looks like:
      ; struct seq_file *seq = ctx->meta->seq;
      1: (79) r1 = *(u64 *)(r1 +0)
      ; BPF_SEQ_PRINTF(seq, "%s\n", info);
      2: (18) r2 = 0xffff9054400f6000
      4: (7b) *(u64 *)(r10 -8) = r2
      5: (bf) r4 = r10
      ;
      6: (07) r4 += -8
      ; BPF_SEQ_PRINTF(seq, "%s\n", info);
      7: (18) r2 = 0xffff9054400fe000
      9: (b4) w3 = 4
      10: (b4) w5 = 8
      11: (85) call bpf_seq_printf#126
       R1_w=ptr_seq_file(id=0,off=0,imm=0) R2_w=map_value(id=0,off=0,ks=4,vs=4,imm=0)
      R3_w=inv4 R4_w=fp-8 R5_w=inv8 R10=fp0 fp-8_w=map_value
      last_idx 11 first_idx 0
      regs=8 stack=0 before 10: (b4) w5 = 8
      regs=8 stack=0 before 9: (b4) w3 = 4
      invalid indirect read from stack off -8+0 size 8
    
    Basically, the verifier complains the map_value pointer at "fp-8" location.
    To fix the issue, if env->allow_ptr_leaks is true, let us also permit
    pointers on the stack to be accessible by the helper.
    
    Reported-by: Song Liu <songliubraving@fb.com>
    Suggested-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Yonghong Song <yhs@fb.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Acked-by: Song Liu <songliubraving@fb.com>
    Link: https://lore.kernel.org/bpf/20201210013349.943719-1-yhs@fb.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    yonghong-song authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    f79efcb View commit details
    Browse the repository at this point in the history
  10. bpf: Allow variable-offset stack access

    [ Upstream commit 01f810a ]
    
    Before this patch, variable offset access to the stack was dissalowed
    for regular instructions, but was allowed for "indirect" accesses (i.e.
    helpers). This patch removes the restriction, allowing reading and
    writing to the stack through stack pointers with variable offsets. This
    makes stack-allocated buffers more usable in programs, and brings stack
    pointers closer to other types of pointers.
    
    The motivation is being able to use stack-allocated buffers for data
    manipulation. When the stack size limit is sufficient, allocating
    buffers on the stack is simpler than per-cpu arrays, or other
    alternatives.
    
    In unpriviledged programs, variable-offset reads and writes are
    disallowed (they were already disallowed for the indirect access case)
    because the speculative execution checking code doesn't support them.
    Additionally, when writing through a variable-offset stack pointer, if
    any pointers are in the accessible range, there's possilibities of later
    leaking pointers because the write cannot be tracked precisely.
    
    Writes with variable offset mark the whole range as initialized, even
    though we don't know which stack slots are actually written. This is in
    order to not reject future reads to these slots. Note that this doesn't
    affect writes done through helpers; like before, helpers need the whole
    stack range to be initialized to begin with.
    All the stack slots are in range are considered scalars after the write;
    variable-offset register spills are not tracked.
    
    For reads, all the stack slots in the variable range needs to be
    initialized (but see above about what writes do), otherwise the read is
    rejected. All register spilled in stack slots that might be read are
    marked as having been read, however reads through such pointers don't do
    register filling; the target register will always be either a scalar or
    a constant zero.
    
    Signed-off-by: Andrei Matei <andreimatei1@gmail.com>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Link: https://lore.kernel.org/bpf/20210207011027.676572-2-andreimatei1@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    andreimatei authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    f3c4b01 View commit details
    Browse the repository at this point in the history
  11. bpf: Refactor and streamline bounds check into helper

    [ Upstream commit 073815b ]
    
    Move the bounds check in adjust_ptr_min_max_vals() into a small helper named
    sanitize_check_bounds() in order to simplify the former a bit.
    
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Reviewed-by: John Fastabend <john.fastabend@gmail.com>
    Acked-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    borkmann authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    2982ea9 View commit details
    Browse the repository at this point in the history
  12. bpf: Tighten speculative pointer arithmetic mask

    [ Upstream commit 7fedb63 ]
    
    This work tightens the offset mask we use for unprivileged pointer arithmetic
    in order to mitigate a corner case reported by Piotr and Benedict where in
    the speculative domain it is possible to advance, for example, the map value
    pointer by up to value_size-1 out-of-bounds in order to leak kernel memory
    via side-channel to user space.
    
    Before this change, the computed ptr_limit for retrieve_ptr_limit() helper
    represents largest valid distance when moving pointer to the right or left
    which is then fed as aux->alu_limit to generate masking instructions against
    the offset register. After the change, the derived aux->alu_limit represents
    the largest potential value of the offset register which we mask against which
    is just a narrower subset of the former limit.
    
    For minimal complexity, we call sanitize_ptr_alu() from 2 observation points
    in adjust_ptr_min_max_vals(), that is, before and after the simulated alu
    operation. In the first step, we retieve the alu_state and alu_limit before
    the operation as well as we branch-off a verifier path and push it to the
    verification stack as we did before which checks the dst_reg under truncation,
    in other words, when the speculative domain would attempt to move the pointer
    out-of-bounds.
    
    In the second step, we retrieve the new alu_limit and calculate the absolute
    distance between both. Moreover, we commit the alu_state and final alu_limit
    via update_alu_sanitation_state() to the env's instruction aux data, and bail
    out from there if there is a mismatch due to coming from different verification
    paths with different states.
    
    Reported-by: Piotr Krysiuk <piotras@gmail.com>
    Reported-by: Benedict Schlueter <benedict.schlueter@rub.de>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Reviewed-by: John Fastabend <john.fastabend@gmail.com>
    Acked-by: Alexei Starovoitov <ast@kernel.org>
    Tested-by: Benedict Schlueter <benedict.schlueter@rub.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    borkmann authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    b642e49 View commit details
    Browse the repository at this point in the history
  13. locking/qrwlock: Fix ordering in queued_write_lock_slowpath()

    [ Upstream commit 84a24bf ]
    
    While this code is executed with the wait_lock held, a reader can
    acquire the lock without holding wait_lock.  The writer side loops
    checking the value with the atomic_cond_read_acquire(), but only truly
    acquires the lock when the compare-and-exchange is completed
    successfully which isn’t ordered. This exposes the window between the
    acquire and the cmpxchg to an A-B-A problem which allows reads
    following the lock acquisition to observe values speculatively before
    the write lock is truly acquired.
    
    We've seen a problem in epoll where the reader does a xchg while
    holding the read lock, but the writer can see a value change out from
    under it.
    
      Writer                                | Reader
      --------------------------------------------------------------------------------
      ep_scan_ready_list()                  |
      |- write_lock_irq()                   |
          |- queued_write_lock_slowpath()   |
    	|- atomic_cond_read_acquire()   |
    				        | read_lock_irqsave(&ep->lock, flags);
         --> (observes value before unlock) |  chain_epi_lockless()
         |                                  |    epi->next = xchg(&ep->ovflist, epi);
         |                                  | read_unlock_irqrestore(&ep->lock, flags);
         |                                  |
         |     atomic_cmpxchg_relaxed()     |
         |-- READ_ONCE(ep->ovflist);        |
    
    A core can order the read of the ovflist ahead of the
    atomic_cmpxchg_relaxed(). Switching the cmpxchg to use acquire
    semantics addresses this issue at which point the atomic_cond_read can
    be switched to use relaxed semantics.
    
    Fixes: b519b56 ("locking/qrwlock: Use atomic_cond_read_acquire() when spinning in qrwlock")
    Signed-off-by: Ali Saidi <alisaidi@amazon.com>
    [peterz: use try_cmpxchg()]
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Steve Capper <steve.capper@arm.com>
    Acked-by: Will Deacon <will@kernel.org>
    Acked-by: Waiman Long <longman@redhat.com>
    Tested-by: Steve Capper <steve.capper@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    AGSaidi authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    82fa9ce View commit details
    Browse the repository at this point in the history
  14. perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3

    [ Upstream commit 9d48015 ]
    
    There may be a kernel panic on the Haswell server and the Broadwell
    server, if the snbep_pci2phy_map_init() return error.
    
    The uncore_extra_pci_dev[HSWEP_PCI_PCU_3] is used in the cpu_init() to
    detect the existence of the SBOX, which is a MSR type of PMON unit.
    The uncore_extra_pci_dev is allocated in the uncore_pci_init(). If the
    snbep_pci2phy_map_init() returns error, perf doesn't initialize the
    PCI type of the PMON units, so the uncore_extra_pci_dev will not be
    allocated. But perf may continue initializing the MSR type of PMON
    units. A null dereference kernel panic will be triggered.
    
    The sockets in a Haswell server or a Broadwell server are identical.
    Only need to detect the existence of the SBOX once.
    Current perf probes all available PCU devices and stores them into the
    uncore_extra_pci_dev. It's unnecessary.
    Use the pci_get_device() to replace the uncore_extra_pci_dev. Only
    detect the existence of the SBOX on the first available PCU device once.
    
    Factor out hswep_has_limit_sbox(), since the Haswell server and the
    Broadwell server uses the same way to detect the existence of the SBOX.
    
    Add some macros to replace the magic number.
    
    Fixes: 5306c31 ("perf/x86/uncore/hsw-ep: Handle systems with only two SBOXes")
    Reported-by: Steve Wahl <steve.wahl@hpe.com>
    Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Tested-by: Steve Wahl <steve.wahl@hpe.com>
    Link: https://lkml.kernel.org/r/1618521764-100923-1-git-send-email-kan.liang@linux.intel.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Kan Liang authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    6f8315e View commit details
    Browse the repository at this point in the history
  15. perf/x86/kvm: Fix Broadwell Xeon stepping in isolation_ucodes[]

    [ Upstream commit 4b2f1e5 ]
    
    The only stepping of Broadwell Xeon parts is stepping 1. Fix the
    relevant isolation_ucodes[] entry, which previously enumerated
    stepping 2.
    
    Although the original commit was characterized as an optimization, it
    is also a workaround for a correctness issue.
    
    If a PMI arrives between kvm's call to perf_guest_get_msrs() and the
    subsequent VM-entry, a stale value for the IA32_PEBS_ENABLE MSR may be
    restored at the next VM-exit. This is because, unbeknownst to kvm, PMI
    throttling may clear bits in the IA32_PEBS_ENABLE MSR. CPUs with "PEBS
    isolation" don't suffer from this issue, because perf_guest_get_msrs()
    doesn't report the IA32_PEBS_ENABLE value.
    
    Fixes: 9b545c0 ("perf/x86/kvm: Avoid unnecessary work in guest filtering")
    Signed-off-by: Jim Mattson <jmattson@google.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Peter Shier <pshier@google.com>
    Acked-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/20210422001834.1748319-1-jmattson@google.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    jsmattsonjr authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    ab112cc View commit details
    Browse the repository at this point in the history
  16. perf auxtrace: Fix potential NULL pointer dereference

    [ Upstream commit b14585d ]
    
    In the function auxtrace_parse_snapshot_options(), the callback pointer
    "itr->parse_snapshot_options" can be NULL if it has not been set during
    the AUX record initialization.  This can cause tool crashing if the
    callback pointer "itr->parse_snapshot_options" is dereferenced without
    performing NULL check.
    
    Add a NULL check for the pointer "itr->parse_snapshot_options" before
    invoke the callback.
    
    Fixes: d20031b ("perf tools: Add AUX area tracing Snapshot Mode")
    Signed-off-by: Leo Yan <leo.yan@linaro.org>
    Acked-by: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
    Link: http://lore.kernel.org/lkml/20210420151554.2031768-1-leo.yan@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Leo Yan authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    4d0cfb3 View commit details
    Browse the repository at this point in the history
  17. perf map: Fix error return code in maps__clone()

    [ Upstream commit c6f8714 ]
    
    Although 'err' has been initialized to -ENOMEM, but it will be reassigned
    by the "err = unwind__prepare_access(...)" statement in the for loop. So
    that, the value of 'err' is unknown when map__clone() failed.
    
    Fixes: 6c50258 ("perf unwind: Call unwind__prepare_access for forked thread")
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: zhen lei <thunder.leizhen@huawei.com>
    Link: http://lore.kernel.org/lkml/20210415092744.3793-1-thunder.leizhen@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Zhen Lei authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    ffe249b View commit details
    Browse the repository at this point in the history
  18. HID: google: add don USB id

    [ Upstream commit 36b87cf ]
    
    Add 1 additional hammer-like device.
    
    Signed-off-by: Shou-Chieh Hsu <shouchieh@chromium.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Shou-Chieh Hsu authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    079e327 View commit details
    Browse the repository at this point in the history
  19. HID: alps: fix error return code in alps_input_configured()

    [ Upstream commit fa8ba6e ]
    
    When input_register_device() fails, no error return code is assigned.
    To fix this bug, ret is assigned with -ENOENT as error return code.
    
    Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
    Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    XidianGeneral authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    f691dc8 View commit details
    Browse the repository at this point in the history
  20. HID cp2112: fix support for multiple gpiochips

    [ Upstream commit 2a2b09c ]
    
    In lk 5.11.0-rc2 connecting a USB based Silicon Labs HID to I2C
    bridge evaluation board (CP2112EK) causes this warning:
      gpio gpiochip0: (cp2112_gpio): detected irqchip that is shared
           with multiple gpiochips: please fix the driver
    
    Simply copy what other gpio related drivers do to fix this
    particular warning: replicate the struct irq_chip object in each
    device instance rather than have a static object which makes that
    object (incorrectly) shared by each device.
    
    Signed-off-by: Douglas Gilbert <dgilbert@interlog.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    doug-gilbert authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    e913cbc View commit details
    Browse the repository at this point in the history
  21. HID: wacom: Assign boolean values to a bool variable

    [ Upstream commit e29c62f ]
    
    Fix the following coccicheck warnings:
    
    ./drivers/hid/wacom_wac.c:2536:2-6: WARNING: Assignment of
    0/1 to bool variable.
    
    Reported-by: Abaci Robot <abaci@linux.alibaba.com>
    Signed-off-by: Jiapeng Zhong <abaci-bugfix@linux.alibaba.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Jiapeng Zhong authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    8c4bfe3 View commit details
    Browse the repository at this point in the history
  22. soc: qcom: geni: shield geni_icc_get() for ACPI boot

    [ Upstream commit 0c9fdcd ]
    
    Currently, GENI devices like i2c-qcom-geni fails to probe in ACPI boot,
    if interconnect support is enabled.  That's because interconnect driver
    only supports DT right now.  As interconnect is not necessarily required
    for basic function of GENI devices, let's shield geni_icc_get() call,
    and then all other ICC calls become nop due to NULL icc_path, so that
    GENI devices keep working for ACPI boot.
    
    Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
    Link: https://lore.kernel.org/r/20210114112928.11368-1-shawn.guo@linaro.org
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    shawnguo2 authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    eb2c81e View commit details
    Browse the repository at this point in the history
  23. dmaengine: xilinx: dpdma: Fix descriptor issuing on video group

    [ Upstream commit 1cbd446 ]
    
    When multiple channels are part of a video group, the transfer is
    triggered only when all channels in the group are ready. The logic to do
    so is incorrect, as it causes the descriptors for all channels but the
    last one in a group to not being pushed to the hardware. Fix it.
    
    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Link: https://lore.kernel.org/r/20210307040629.29308-2-laurent.pinchart@ideasonboard.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    pinchartl authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    e8d9a93 View commit details
    Browse the repository at this point in the history
  24. dmaengine: xilinx: dpdma: Fix race condition in done IRQ

    [ Upstream commit 868833f ]
    
    The active descriptor pointer is accessed from different contexts,
    including different interrupt handlers, and its access must be protected
    by the channel's lock. This wasn't done in the done IRQ handler. Fix it.
    
    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Link: https://lore.kernel.org/r/20210307040629.29308-3-laurent.pinchart@ideasonboard.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    pinchartl authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    db010ba View commit details
    Browse the repository at this point in the history
  25. ARM: dts: Fix swapped mmc order for omap3

    [ Upstream commit a1ebdb3 ]
    
    Also some omap3 devices like n900 seem to have eMMC and micro-sd swapped
    around with commit 21b2cec ("mmc: Set PROBE_PREFER_ASYNCHRONOUS for
    drivers that existed in v4.4").
    
    Let's fix the issue with aliases as discussed on the mailing lists. While
    the mmc aliases should be board specific, let's first fix the issue with
    minimal changes.
    
    Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
    Cc: Peter Ujfalusi <peter.ujfalusi@gmail.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    tmlind authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    6ce6443 View commit details
    Browse the repository at this point in the history
  26. net: geneve: check skb is large enough for IPv4/IPv6 header

    [ Upstream commit 6628ddf ]
    
    Check within geneve_xmit_skb/geneve6_xmit_skb that sk_buff structure
    is large enough to include IPv4 or IPv6 header, and reject if not. The
    geneve_xmit_skb portion and overall idea was contributed by Eric Dumazet.
    Fixes a KMSAN-found uninit-value bug reported by syzbot at:
    https://syzkaller.appspot.com/bug?id=abe95dc3e3e9667fc23b8d81f29ecad95c6f106f
    
    Suggested-by: Eric Dumazet <edumazet@google.com>
    Reported-by: syzbot+2e406a9ac75bb71d4b7a@syzkaller.appspotmail.com
    Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    PhilPotter authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    66d0cf7 View commit details
    Browse the repository at this point in the history
  27. dmaengine: tegra20: Fix runtime PM imbalance on error

    [ Upstream commit 917a320 ]
    
    pm_runtime_get_sync() will increase the runtime PM counter
    even it returns an error. Thus a pairing decrement is needed
    to prevent refcount leak. Fix this by replacing this API with
    pm_runtime_resume_and_get(), which will not change the runtime
    PM counter on error.
    
    Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
    Acked-by: Thierry Reding <treding@nvidia.com>
    Link: https://lore.kernel.org/r/20210409082805.23643-1-dinghao.liu@zju.edu.cn
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    dinghaoliu authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    d33031a View commit details
    Browse the repository at this point in the history
  28. s390/entry: save the caller of psw_idle

    [ Upstream commit a994edd ]
    
    Currently psw_idle does not allocate a stack frame and does not
    save its r14 and r15 into the save area. Even though this is valid from
    call ABI point of view, because psw_idle does not make any calls
    explicitly, in reality psw_idle is an entry point for controlled
    transition into serving interrupts. So, in practice, psw_idle stack
    frame is analyzed during stack unwinding. Depending on build options
    that r14 slot in the save area of psw_idle might either contain a value
    saved by previous sibling call or complete garbage.
    
      [task    0000038000003c28] do_ext_irq+0xd6/0x160
      [task    0000038000003c78] ext_int_handler+0xba/0xe8
      [task   *0000038000003dd8] psw_idle_exit+0x0/0x8 <-- pt_regs
     ([task    0000038000003dd8] 0x0)
      [task    0000038000003e10] default_idle_call+0x42/0x148
      [task    0000038000003e30] do_idle+0xce/0x160
      [task    0000038000003e70] cpu_startup_entry+0x36/0x40
      [task    0000038000003ea0] arch_call_rest_init+0x76/0x80
    
    So, to make a stacktrace nicer and actually point for the real caller of
    psw_idle in this frequently occurring case, make psw_idle save its r14.
    
      [task    0000038000003c28] do_ext_irq+0xd6/0x160
      [task    0000038000003c78] ext_int_handler+0xba/0xe8
      [task   *0000038000003dd8] psw_idle_exit+0x0/0x6 <-- pt_regs
     ([task    0000038000003dd8] arch_cpu_idle+0x3c/0xd0)
      [task    0000038000003e10] default_idle_call+0x42/0x148
      [task    0000038000003e30] do_idle+0xce/0x160
      [task    0000038000003e70] cpu_startup_entry+0x36/0x40
      [task    0000038000003ea0] arch_call_rest_init+0x76/0x80
    
    Reviewed-by: Sven Schnelle <svens@linux.ibm.com>
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
    Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Vasily Gorbik authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    da99331 View commit details
    Browse the repository at this point in the history
  29. arm64: kprobes: Restore local irqflag if kprobes is cancelled

    [ Upstream commit 738fa58 ]
    
    If instruction being single stepped caused a page fault, the kprobes
    is cancelled to let the page fault handler continue as a normal page
    fault. But the local irqflags are disabled so cpu will restore pstate
    with DAIF masked. After pagefault is serviced, the kprobes is
    triggerred again, we overwrite the saved_irqflag by calling
    kprobes_save_local_irqflag(). NOTE, DAIF is masked in this new saved
    irqflag. After kprobes is serviced, the cpu pstate is retored with
    DAIF masked.
    
    This patch is inspired by one patch for riscv from Liao Chang.
    
    Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
    Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
    Link: https://lore.kernel.org/r/20210412174101.6bfb0594@xhacker.debian
    Signed-off-by: Will Deacon <will@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Jisheng Zhang authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    509ae27 View commit details
    Browse the repository at this point in the history
  30. xen-netback: Check for hotplug-status existence before watching

    [ Upstream commit 2afeec0 ]
    
    The logic in connect() is currently written with the assumption that
    xenbus_watch_pathfmt() will return an error for a node that does not
    exist.  This assumption is incorrect: xenstore does allow a watch to
    be registered for a nonexistent node (and will send notifications
    should the node be subsequently created).
    
    As of commit 1f25657 ("xen-netback: remove 'hotplug-status' once it
    has served its purpose"), this leads to a failure when a domU
    transitions into XenbusStateConnected more than once.  On the first
    domU transition into Connected state, the "hotplug-status" node will
    be deleted by the hotplug_status_changed() callback in dom0.  On the
    second or subsequent domU transition into Connected state, the
    hotplug_status_changed() callback will therefore never be invoked, and
    so the backend will remain stuck in InitWait.
    
    This failure prevents scenarios such as reloading the xen-netfront
    module within a domU, or booting a domU via iPXE.  There is
    unfortunately no way for the domU to work around this dom0 bug.
    
    Fix by explicitly checking for existence of the "hotplug-status" node,
    thereby creating the behaviour that was previously assumed to exist.
    
    Signed-off-by: Michael Brown <mbrown@fensystems.co.uk>
    Reviewed-by: Paul Durrant <paul@xen.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    mcb30 authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    1bfefd8 View commit details
    Browse the repository at this point in the history
  31. cavium/liquidio: Fix duplicate argument

    [ Upstream commit 416dcc5 ]
    
    Fix the following coccicheck warning:
    
    ./drivers/net/ethernet/cavium/liquidio/cn66xx_regs.h:413:6-28:
    duplicated argument to & or |
    
    The CN6XXX_INTR_M1UPB0_ERR here is duplicate.
    Here should be CN6XXX_INTR_M1UNB0_ERR.
    
    Signed-off-by: Wan Jiabing <wanjiabing@vivo.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Wan Jiabing authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    f2b4628 View commit details
    Browse the repository at this point in the history
  32. kasan: fix hwasan build for gcc

    [ Upstream commit 5c595ac ]
    
    gcc-11 adds support for -fsanitize=kernel-hwaddress, so it becomes
    possible to enable CONFIG_KASAN_SW_TAGS.
    
    Unfortunately this fails to build at the moment, because the
    corresponding command line arguments use llvm specific syntax.
    
    Change it to use the cc-param macro instead, which works on both clang
    and gcc.
    
    [elver@google.com: fixup for "kasan: fix hwasan build for gcc"]
      Link: https://lkml.kernel.org/r/YHQZVfVVLE/LDK2v@elver.google.com
    
    Link: https://lkml.kernel.org/r/20210323124112.1229772-1-arnd@kernel.org
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Marco Elver <elver@google.com>
    Reviewed-by: Marco Elver <elver@google.com>
    Acked-by: Andrey Konovalov <andreyknvl@gmail.com>
    Cc: Masahiro Yamada <masahiroy@kernel.org>
    Cc: Michal Marek <michal.lkml@markovi.net>
    Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
    Cc: Nathan Chancellor <nathan@kernel.org>
    Cc: Nick Desaulniers <ndesaulniers@google.com>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    arndb authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    393200a View commit details
    Browse the repository at this point in the history
  33. csky: change a Kconfig symbol name to fix e1000 build error

    [ Upstream commit d199161 ]
    
    e1000's #define of CONFIG_RAM_BASE conflicts with a Kconfig symbol in
    arch/csky/Kconfig.
    
    The symbol in e1000 has been around longer, so change arch/csky/ to use
    DRAM_BASE instead of RAM_BASE to remove the conflict.  (although e1000
    is also a 2-line change)
    
    Link: https://lkml.kernel.org/r/20210411055335.7111-1-rdunlap@infradead.org
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Reported-by: kernel test robot <lkp@intel.com>
    Acked-by: Guo Ren <guoren@kernel.org>
    Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    rddunlap authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    f4a777b View commit details
    Browse the repository at this point in the history
  34. ia64: fix discontig.c section mismatches

    [ Upstream commit e2af9da ]
    
    Fix IA64 discontig.c Section mismatch warnings.
    
    When CONFIG_SPARSEMEM=y and CONFIG_MEMORY_HOTPLUG=y, the functions
    computer_pernodesize() and scatter_node_data() should not be marked as
    __meminit because they are needed after init, on any memory hotplug
    event.  Also, early_nr_cpus_node() is called by compute_pernodesize(),
    so early_nr_cpus_node() cannot be __meminit either.
    
      WARNING: modpost: vmlinux.o(.text.unlikely+0x1612): Section mismatch in reference from the function arch_alloc_nodedata() to the function .meminit.text:compute_pernodesize()
      The function arch_alloc_nodedata() references the function __meminit compute_pernodesize().
      This is often because arch_alloc_nodedata lacks a __meminit annotation or the annotation of compute_pernodesize is wrong.
    
      WARNING: modpost: vmlinux.o(.text.unlikely+0x1692): Section mismatch in reference from the function arch_refresh_nodedata() to the function .meminit.text:scatter_node_data()
      The function arch_refresh_nodedata() references the function __meminit scatter_node_data().
      This is often because arch_refresh_nodedata lacks a __meminit annotation or the annotation of scatter_node_data is wrong.
    
      WARNING: modpost: vmlinux.o(.text.unlikely+0x1502): Section mismatch in reference from the function compute_pernodesize() to the function .meminit.text:early_nr_cpus_node()
      The function compute_pernodesize() references the function __meminit early_nr_cpus_node().
      This is often because compute_pernodesize lacks a __meminit annotation or the annotation of early_nr_cpus_node is wrong.
    
    Link: https://lkml.kernel.org/r/20210411001201.3069-1-rdunlap@infradead.org
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: Mike Rapoport <rppt@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    rddunlap authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    ba0910a View commit details
    Browse the repository at this point in the history
  35. ia64: tools: remove duplicate definition of ia64_mf() on ia64

    [ Upstream commit f4bf09d ]
    
    The ia64_mf() macro defined in tools/arch/ia64/include/asm/barrier.h is
    already defined in <asm/gcc_intrin.h> on ia64 which causes libbpf
    failing to build:
    
        CC       /usr/src/linux/tools/bpf/bpftool//libbpf/staticobjs/libbpf.o
      In file included from /usr/src/linux/tools/include/asm/barrier.h:24,
                       from /usr/src/linux/tools/include/linux/ring_buffer.h:4,
                       from libbpf.c:37:
      /usr/src/linux/tools/include/asm/../../arch/ia64/include/asm/barrier.h:43: error: "ia64_mf" redefined [-Werror]
         43 | #define ia64_mf()       asm volatile ("mf" ::: "memory")
            |
      In file included from /usr/include/ia64-linux-gnu/asm/intrinsics.h:20,
                       from /usr/include/ia64-linux-gnu/asm/swab.h:11,
                       from /usr/include/linux/swab.h:8,
                       from /usr/include/linux/byteorder/little_endian.h:13,
                       from /usr/include/ia64-linux-gnu/asm/byteorder.h:5,
                       from /usr/src/linux/tools/include/uapi/linux/perf_event.h:20,
                       from libbpf.c:36:
      /usr/include/ia64-linux-gnu/asm/gcc_intrin.h:382: note: this is the location of the previous definition
        382 | #define ia64_mf() __asm__ volatile ("mf" ::: "memory")
            |
      cc1: all warnings being treated as errors
    
    Thus, remove the definition from tools/arch/ia64/include/asm/barrier.h.
    
    Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    glaubitz authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    bed21be View commit details
    Browse the repository at this point in the history
  36. x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access

    commit 5849cdf upstream.
    
    Commit in Fixes: added support for kexec-ing a kernel on panic using a
    new system call. As part of it, it does prepare a memory map for the new
    kernel.
    
    However, while doing so, it wrongly accesses memory it has not
    allocated: it accesses the first element of the cmem->ranges[] array in
    memmap_exclude_ranges() but it has not allocated the memory for it in
    crash_setup_memmap_entries(). As KASAN reports:
    
      BUG: KASAN: vmalloc-out-of-bounds in crash_setup_memmap_entries+0x17e/0x3a0
      Write of size 8 at addr ffffc90000426008 by task kexec/1187
    
      (gdb) list *crash_setup_memmap_entries+0x17e
      0xffffffff8107cafe is in crash_setup_memmap_entries (arch/x86/kernel/crash.c:322).
      317                                      unsigned long long mend)
      318     {
      319             unsigned long start, end;
      320
      321             cmem->ranges[0].start = mstart;
      322             cmem->ranges[0].end = mend;
      323             cmem->nr_ranges = 1;
      324
      325             /* Exclude elf header region */
      326             start = image->arch.elf_load_addr;
      (gdb)
    
    Make sure the ranges array becomes a single element allocated.
    
     [ bp: Write a proper commit message. ]
    
    Fixes: dd5f726 ("kexec: support for kexec on panic using new system call")
    Signed-off-by: Mike Galbraith <efault@gmx.de>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Reviewed-by: Dave Young <dyoung@redhat.com>
    Cc: <stable@vger.kernel.org>
    Link: https://lkml.kernel.org/r/725fa3dc1da2737f0f6188a1a9701bead257ea9d.camel@gmx.de
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Mike Galbraith authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    31720f9 View commit details
    Browse the repository at this point in the history
  37. net: hso: fix NULL-deref on disconnect regression

    commit 2ad5692 upstream.
    
    Commit 8a12f88 ("net: hso: fix null-ptr-deref during tty device
    unregistration") fixed the racy minor allocation reported by syzbot, but
    introduced an unconditional NULL-pointer dereference on every disconnect
    instead.
    
    Specifically, the serial device table must no longer be accessed after
    the minor has been released by hso_serial_tty_unregister().
    
    Fixes: 8a12f88 ("net: hso: fix null-ptr-deref during tty device unregistration")
    Cc: stable@vger.kernel.org
    Cc: Anirudh Rayabharam <mail@anirudhrb.com>
    Reported-by: Leonardo Antoniazzi <leoanto@aruba.it>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Reviewed-by: Anirudh Rayabharam <mail@anirudhrb.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    jhovold authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    90642ee View commit details
    Browse the repository at this point in the history
  38. USB: CDC-ACM: fix poison/unpoison imbalance

    commit a8b3b51 upstream.
    
    suspend() does its poisoning conditionally, resume() does it
    unconditionally. On a device with combined interfaces this
    will balance, on a device with two interfaces the counter will
    go negative and resubmission will fail.
    
    Both actions need to be done conditionally.
    
    Fixes: 6069e3e ("USB: cdc-acm: untangle a circular dependency between callback and softint")
    Signed-off-by: Oliver Neukum <oneukum@suse.com>
    Cc: stable <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20210421074513.4327-1-oneukum@suse.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    oneukum authored and gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    8a661ba View commit details
    Browse the repository at this point in the history
  39. Linux 5.10.33

    Tested-by: Jon Hunter <jonathanh@nvidia.com>
    Tested-by: Fox Chen <foxhlchen@gmail.com>
    Tested-By: Patrick McCormick <pmccormick@digitalocean.com>
    Tested-by: Florian Fainelli <f.fainelli@gmail.com>
    Tested-by: Guenter Roeck <linux@roeck-us.net>
    Tested-by: Salvatore Bonaccorso <carnil@debian.org>
    Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
    Tested-by: Jason Self <jason@bluehome.net>
    Tested-by: Shuah Khan <skhan@linuxfoundation.org>
    Tested-by: Hulk Robot <hulkrobot@huawei.com>
    Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
    Tested-by: Pavel Machek (CIP) <pavel@denx.de>
    Tested-by: Andrei Rabusov <arabusov@gmail.com>
    Link: https://lore.kernel.org/r/20210426072818.777662399@linuxfoundation.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    gregkh committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    8bd8301 View commit details
    Browse the repository at this point in the history
  40. Merge tag 'v5.10.33' into 5.10.x+fslc

    This is the 5.10.33 stable release
    
    Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
    zandrey committed Apr 28, 2021
    Configuration menu
    Copy the full SHA
    cd1296c View commit details
    Browse the repository at this point in the history