Skip to content
  1. Dec 07, 2020
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 12c0ab66
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "12 patches.
      
        Subsystems affected by this patch series: mm (memcg, zsmalloc, swap,
        mailmap, selftests, pagecache, hugetlb, pagemap), lib, and coredump"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mm/mmap.c: fix mmap return value when vma is merged after call_mmap()
        hugetlb_cgroup: fix offline of hugetlb cgroup with reservations
        mm/filemap: add static for function __add_to_page_cache_locked
        userfaultfd: selftests: fix SIGSEGV if huge mmap fails
        tools/testing/selftests/vm: fix build error
        mailmap: add two more addresses of Uwe Kleine-König
        mm/swapfile: do not sleep with a spin lock held
        mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING
        mm: list_lru: set shrinker map bit when child nr_items is not zero
        mm: memcg/slab: fix obj_cgroup_charge() return value handling
        coredump: fix core_pattern parse error
        zlib: export S390 symbols for zlib modules
      12c0ab66
    • Liu Zixian's avatar
      mm/mmap.c: fix mmap return value when vma is merged after call_mmap() · 309d08d9
      Liu Zixian authored
      On success, mmap should return the begin address of newly mapped area,
      but patch "mm: mmap: merge vma after call_mmap() if possible" set
      vm_start of newly merged vma to return value addr.  Users of mmap will
      get wrong address if vma is merged after call_mmap().  We fix this by
      moving the assignment to addr before merging vma.
      
      We have a driver which changes vm_flags, and this bug is found by our
      testcases.
      
      Fixes: d70cec89
      
       ("mm: mmap: merge vma after call_mmap() if possible")
      Signed-off-by: default avatarLiu Zixian <liuzixian4@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
      Cc: Miaohe Lin <linmiaohe@huawei.com>
      Cc: Hongxiang Lou <louhongxiang@huawei.com>
      Cc: Hu Shiyuan <hushiyuan@huawei.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Link: https://lkml.kernel.org/r/20201203085350.22624-1-liuzixian4@huawei.com
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      309d08d9
    • Mike Kravetz's avatar
      hugetlb_cgroup: fix offline of hugetlb cgroup with reservations · 7a5bde37
      Mike Kravetz authored
      Adrian Moreno was ruuning a kubernetes 1.19 + containerd/docker workload
      using hugetlbfs.  In this environment the issue is reproduced by:
      
       - Start a simple pod that uses the recently added HugePages medium
         feature (pod yaml attached)
      
       - Start a DPDK app. It doesn't need to run successfully (as in transfer
         packets) nor interact with real hardware. It seems just initializing
         the EAL layer (which handles hugepage reservation and locking) is
         enough to trigger the issue
      
       - Delete the Pod (or let it "Complete").
      
      This would result in a kworker thread going into a tight loop (top output):
      
         1425 root      20   0       0      0      0 R  99.7   0.0   5:22.45 kworker/28:7+cgroup_destroy
      
      'perf top -g' reports:
      
        -   63.28%     0.01%  [kernel]                    [k] worker_thread
           - 49.97% worker_thread
              - 52.64% process_one_work
                 - 62.08% css_killed_work_fn
                    - hugetlb_cgroup_css_offline
                         41.52% _raw_spin_lock
                       - 2.82% _cond_resched
                            rcu_all_qs
                         2.66% PageHuge
              - 0.57% schedule
                 - 0.57% __schedule
      
      We are spinning in the do-while loop in hugetlb_cgroup_css_offline.
      Worse yet, we are holding the master cgroup lock (cgroup_mutex) while
      infinitely spinning.  Little else can be done on the system as the
      cgroup_mutex can not be acquired.
      
      Do note that the issue can be reproduced by simply offlining a hugetlb
      cgroup containing pages with reservation counts.
      
      The loop in hugetlb_cgroup_css_offline is moving page counts from the
      cgroup being offlined to the parent cgroup.  This is done for each
      hstate, and is repeated until hugetlb_cgroup_have_usage returns false.
      The routine moving counts (hugetlb_cgroup_move_parent) is only moving
      'usage' counts.  The routine hugetlb_cgroup_have_usage is checking for
      both 'usage' and 'reservation' counts.  Discussion about what to do with
      reservation counts when reparenting was discussed here:
      
      https://lore.kernel.org/linux-kselftest/CAHS8izMFAYTgxym-Hzb_JmkTK1N_S9tGN71uS6MFV+R7swYu5A@mail.gmail.com/
      
      The decision was made to leave a zombie cgroup for with reservation
      counts.  Unfortunately, the code checking reservation counts was
      incorrectly added to hugetlb_cgroup_have_usage.
      
      To fix the issue, simply remove the check for reservation counts.  While
      fixing this issue, a related bug in hugetlb_cgroup_css_offline was
      noticed.  The hstate index is not reinitialized each time through the
      do-while loop.  Fix this as well.
      
      Fixes: 1adc4d41
      
       ("hugetlb_cgroup: add interface for charge/uncharge hugetlb reservations")
      Reported-by: default avatarAdrian Moreno <amorenoz@redhat.com>
      Signed-off-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Tested-by: default avatarAdrian Moreno <amorenoz@redhat.com>
      Reviewed-by: default avatarShakeel Butt <shakeelb@google.com>
      Cc: Mina Almasry <almasrymina@google.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Greg Thelen <gthelen@google.com>
      Cc: Sandipan Das <sandipan@linux.ibm.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Cc: <stable@vger.kernel.org>
      Link: https://lkml.kernel.org/r/20201203220242.158165-1-mike.kravetz@oracle.com
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7a5bde37
    • Alex Shi's avatar
      mm/filemap: add static for function __add_to_page_cache_locked · 3351b16a
      Alex Shi authored
      
      
        mm/filemap.c:830:14: warning: no previous prototype for `__add_to_page_cache_locked' [-Wmissing-prototypes]
      
      Signed-off-by: default avatarAlex Shi <alex.shi@linux.alibaba.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Souptick Joarder <jrdr.linux@gmail.com>
      Link: https://lkml.kernel.org/r/1604661895-5495-1-git-send-email-alex.shi@linux.alibaba.com
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3351b16a
    • Axel Rasmussen's avatar
      userfaultfd: selftests: fix SIGSEGV if huge mmap fails · 573a2593
      Axel Rasmussen authored
      
      
      The error handling in hugetlb_allocate_area() was incorrect for the
      hugetlb_shared test case.
      
      Previously the behavior was:
      
      - mmap a hugetlb area
        - If this fails, set the pointer to NULL, and carry on
      - mmap an alias of the same hugetlb fd
        - If this fails, munmap the original area
      
      If the original mmap failed, it's likely the second one did too.  If
      both failed, we'd blindly try to munmap a NULL pointer, causing a
      SIGSEGV.  Instead, "goto fail" so we return before trying to mmap the
      alias.
      
      This issue can be hit "in real life" by forgetting to set
      /proc/sys/vm/nr_hugepages (leaving it at 0), and then trying to run the
      hugetlb_shared test.
      
      Another small improvement is, when the original mmap fails, don't just
      print "it failed": perror(), so we can see *why*.  :)
      
      Signed-off-by: default avatarAxel Rasmussen <axelrasmussen@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Shuah Khan <shuah@kernel.org>
      Cc: Peter Xu <peterx@redhat.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: David Alan Gilbert <dgilbert@redhat.com>
      Link: https://lkml.kernel.org/r/20201204203443.2714693-1-axelrasmussen@google.com
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      573a2593
    • Xingxing Su's avatar
      tools/testing/selftests/vm: fix build error · d8cbe8bf
      Xingxing Su authored
      
      
      Only x86 and PowerPC implement the pkey-xxx.h, and an error was reported
      when compiling protection_keys.c.
      
      Add a Arch judgment to compile "protection_keys" in the Makefile.
      
      If other arch implement this, add the arch name to the Makefile.
      eg:
          ifneq (,$(findstring $(ARCH),powerpc mips ... ))
      
      Following build errors:
      
          pkey-helpers.h:93:2: error: #error Architecture not supported
           #error Architecture not supported
          pkey-helpers.h:96:20: error: `PKEY_DISABLE_ACCESS' undeclared
           #define PKEY_MASK (PKEY_DISABLE_ACCESS | PKEY_DISABLE_WRITE)
                              ^
          protection_keys.c:218:45: error: `PKEY_DISABLE_WRITE' undeclared
           pkey_assert(flags & (PKEY_DISABLE_ACCESS | PKEY_DISABLE_WRITE));
                                                      ^
      
      Signed-off-by: default avatarXingxing Su <suxingxing@loongson.cn>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Shuah Khan <shuah@kernel.org>
      Cc: Sandipan Das <sandipan@linux.ibm.com>
      Cc: John Hubbard <jhubbard@nvidia.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Brian Geffon <bgeffon@google.com>
      Cc: Mina Almasry <almasrymina@google.com>
      Link: https://lkml.kernel.org/r/1606826876-30656-1-git-send-email-suxingxing@loongson.cn
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d8cbe8bf
    • Uwe Kleine-König's avatar
      mailmap: add two more addresses of Uwe Kleine-König · 4e60340c
      Uwe Kleine-König authored
      This fixes attribution for the commits (among others)
      
       - d4097456 ("video/framebuffer: move the probe func into
         .devinit.text in Blackfin LCD driver")
      
       - 0312e024
      
       ("mfd: mc13xxx: Add support for mc34708")
      
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Link: https://lkml.kernel.org/r/20201127213358.3440830-1-u.kleine-koenig@pengutronix.de
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4e60340c
    • Qian Cai's avatar
      mm/swapfile: do not sleep with a spin lock held · b11a76b3
      Qian Cai authored
      We can't call kvfree() with a spin lock held, so defer it.  Fixes a
      might_sleep() runtime warning.
      
      Fixes: 873d7bcf
      
       ("mm/swapfile.c: use kvzalloc for swap_info_struct allocation")
      Signed-off-by: default avatarQian Cai <qcai@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: <stable@vger.kernel.org>
      Link: https://lkml.kernel.org/r/20201202151549.10350-1-qcai@redhat.com
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b11a76b3
    • Minchan Kim's avatar
      mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING · e91d8d78
      Minchan Kim authored
      While I was doing zram testing, I found sometimes decompression failed
      since the compression buffer was corrupted.  With investigation, I found
      below commit calls cond_resched unconditionally so it could make a
      problem in atomic context if the task is reschedule.
      
        BUG: sleeping function called from invalid context at mm/vmalloc.c:108
        in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 946, name: memhog
        3 locks held by memhog/946:
         #0: ffff9d01d4b193e8 (&mm->mmap_lock#2){++++}-{4:4}, at: __mm_populate+0x103/0x160
         #1: ffffffffa3d53de0 (fs_reclaim){+.+.}-{0:0}, at: __alloc_pages_slowpath.constprop.0+0xa98/0x1160
         #2: ffff9d01d56b8110 (&zspage->lock){.+.+}-{3:3}, at: zs_map_object+0x8e/0x1f0
        CPU: 0 PID: 946 Comm: memhog Not tainted 5.9.3-00011-gc5bfc0287345-dirty #316
        Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1 04/01/2014
        Call Trace:
          unmap_kernel_range_noflush+0x2eb/0x350
          unmap_kernel_range+0x14/0x30
          zs_unmap_object+0xd5/0xe0
          zram_bvec_rw.isra.0+0x38c/0x8e0
          zram_rw_page+0x90/0x101
          bdev_write_page+0x92/0xe0
          __swap_writepage+0x94/0x4a0
          pageout+0xe3/0x3a0
          shrink_page_list+0xb94/0xd60
          shrink_inactive_list+0x158/0x460
      
      We can fix this by removing the ZSMALLOC_PGTABLE_MAPPING feature (which
      contains the offending calling code) from zsmalloc.
      
      Even though this option showed some amount improvement(e.g., 30%) in
      some arm32 platforms, it has been headache to maintain since it have
      abused APIs[1](e.g., unmap_kernel_range in atomic context).
      
      Since we are approaching to deprecate 32bit machines and already made
      the config option available for only builtin build since v5.8, lastly it
      has been not default option in zsmalloc, it's time to drop the option
      for better maintenance.
      
      [1] http://lore.kernel.org/linux-mm/20201105170249.387069-1-minchan@kernel.org
      
      Fixes: e47110e9
      
       ("mm/vunmap: add cond_resched() in vunmap_pmd_range")
      Signed-off-by: default avatarMinchan Kim <minchan@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Harish Sriram <harish@linux.ibm.com>
      Cc: Uladzislau Rezki <urezki@gmail.com>
      Cc: <stable@vger.kernel.org>
      Link: https://lkml.kernel.org/r/20201117202916.GA3856507@google.com
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e91d8d78
    • Yang Shi's avatar
      mm: list_lru: set shrinker map bit when child nr_items is not zero · 8199be00
      Yang Shi authored
      When investigating a slab cache bloat problem, significant amount of
      negative dentry cache was seen, but confusingly they neither got shrunk
      by reclaimer (the host has very tight memory) nor be shrunk by dropping
      cache.  The vmcore shows there are over 14M negative dentry objects on
      lru, but tracing result shows they were even not scanned at all.
      
      Further investigation shows the memcg's vfs shrinker_map bit is not set.
      So the reclaimer or dropping cache just skip calling vfs shrinker.  So
      we have to reboot the hosts to get the memory back.
      
      I didn't manage to come up with a reproducer in test environment, and
      the problem can't be reproduced after rebooting.  But it seems there is
      race between shrinker map bit clear and reparenting by code inspection.
      The hypothesis is elaborated as below.
      
      The memcg hierarchy on our production environment looks like:
      
                      root
                     /    \
                system   user
      
      The main workloads are running under user slice's children, and it
      creates and removes memcg frequently.  So reparenting happens very often
      under user slice, but no task is under user slice directly.
      
      So with the frequent reparenting and tight memory pressure, the below
      hypothetical race condition may happen:
      
             CPU A                            CPU B
      reparent
          dst->nr_items == 0
                                       shrinker:
                                           total_objects == 0
          add src->nr_items to dst
          set_bit
                                           return SHRINK_EMPTY
                                           clear_bit
      child memcg offline
          replace child's kmemcg_id with
          parent's (in memcg_offline_kmem())
                                        list_lru_del() between shrinker runs
                                           see parent's kmemcg_id
                                           dec dst->nr_items
      reparent again
          dst->nr_items may go negative
          due to concurrent list_lru_del()
      
                                       The second run of shrinker:
                                           read nr_items without any
                                           synchronization, so it may
                                           see intermediate negative
                                           nr_items then total_objects
                                           may return 0 coincidently
      
                                           keep the bit cleared
          dst->nr_items != 0
          skip set_bit
          add scr->nr_item to dst
      
      After this point dst->nr_item may never go zero, so reparenting will not
      set shrinker_map bit anymore.  And since there is no task under user
      slice directly, so no new object will be added to its lru to set the
      shrinker map bit either.  That bit is kept cleared forever.
      
      How does list_lru_del() race with reparenting? It is because reparenting
      replaces children's kmemcg_id to parent's without protecting from
      nlru->lock, so list_lru_del() may see parent's kmemcg_id but actually
      deleting items from child's lru, but dec'ing parent's nr_items, so the
      parent's nr_items may go negative as commit 2788cf0c ("memcg:
      reparent list_lrus and free kmemcg_id on css offline") says.
      
      Since it is impossible that dst->nr_items goes negative and
      src->nr_items goes zero at the same time, so it seems we could set the
      shrinker map bit iff src->nr_items != 0.  We could synchronize
      list_lru_count_one() and reparenting with nlru->lock, but it seems
      checking src->nr_items in reparenting is the simplest and avoids lock
      contention.
      
      Fixes: fae91d6d
      
       ("mm/list_lru.c: set bit in memcg shrinker bitmap on first list_lru item appearance")
      Suggested-by: default avatarRoman Gushchin <guro@fb.com>
      Signed-off-by: default avatarYang Shi <shy828301@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarRoman Gushchin <guro@fb.com>
      Reviewed-by: default avatarShakeel Butt <shakeelb@google.com>
      Acked-by: default avatarKirill Tkhai <ktkhai@virtuozzo.com>
      Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
      Cc: <stable@vger.kernel.org>	[4.19]
      Link: https://lkml.kernel.org/r/20201202171749.264354-1-shy828301@gmail.com
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8199be00
    • Roman Gushchin's avatar
      mm: memcg/slab: fix obj_cgroup_charge() return value handling · becaba65
      Roman Gushchin authored
      Commit 10befea9 ("mm: memcg/slab: use a single set of kmem_caches
      for all allocations") introduced a regression into the handling of the
      obj_cgroup_charge() return value.  If a non-zero value is returned
      (indicating of exceeding one of memory.max limits), the allocation
      should fail, instead of falling back to non-accounted mode.
      
      To make the code more readable, move memcg_slab_pre_alloc_hook() and
      memcg_slab_post_alloc_hook() calling conditions into bodies of these
      hooks.
      
      Fixes: 10befea9
      
       ("mm: memcg/slab: use a single set of kmem_caches for all allocations")
      Signed-off-by: default avatarRoman Gushchin <guro@fb.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarShakeel Butt <shakeelb@google.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: <stable@vger.kernel.org>
      Link: https://lkml.kernel.org/r/20201127161828.GD840171@carbon.dhcp.thefacebook.com
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      becaba65
    • Menglong Dong's avatar
      coredump: fix core_pattern parse error · 2bf509d9
      Menglong Dong authored
      'format_corename()' will splite 'core_pattern' on spaces when it is in
      pipe mode, and take helper_argv[0] as the path to usermode executable.
      It works fine in most cases.
      
      However, if there is a space between '|' and '/file/path', such as
      '| /usr/lib/systemd/systemd-coredump %P %u %g', then helper_argv[0] will
      be parsed as '', and users will get a 'Core dump to | disabled'.
      
      It is not friendly to users, as the pattern above was valid previously.
      Fix this by ignoring the spaces between '|' and '/file/path'.
      
      Fixes: 315c6926
      
       ("coredump: split pipe command whitespace before expanding template")
      Signed-off-by: default avatarMenglong Dong <dong.menglong@zte.com.cn>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Paul Wise <pabs3@bonedaddy.net>
      Cc: Jakub Wilk <jwilk@jwilk.net> [https://bugs.debian.org/924398]
      Cc: Neil Horman <nhorman@tuxdriver.com>
      Cc: <stable@vger.kernel.org>
      Link: https://lkml.kernel.org/r/5fb62870.1c69fb81.8ef5d.af76@mx.google.com
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2bf509d9
    • Randy Dunlap's avatar
      zlib: export S390 symbols for zlib modules · 11fb479f
      Randy Dunlap authored
      Fix build errors when ZLIB_INFLATE=m and ZLIB_DEFLATE=m and ZLIB_DFLTCC=y
      by exporting the 2 needed symbols in dfltcc_inflate.c.
      
      Fixes these build errors:
      
        ERROR: modpost: "dfltcc_inflate" [lib/zlib_inflate/zlib_inflate.ko] undefined!
        ERROR: modpost: "dfltcc_can_inflate" [lib/zlib_inflate/zlib_inflate.ko] undefined!
      
      Fixes: 12619610
      
       ("lib/zlib: add s390 hardware support for kernel zlib_inflate")
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarIlya Leoshkevich <iii@linux.ibm.com>
      Cc: Mikhail Zaslonko <zaslonko@linux.ibm.com>
      Cc: Heiko Carstens <hca@linux.ibm.com>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Link: https://lkml.kernel.org/r/20201123191712.4882-1-rdunlap@infradead.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      11fb479f
  2. Dec 06, 2020
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 7059c2c0
      Linus Torvalds authored
      Pull input fixes from Dmitry Torokhov:
       "A fix for 'RETRIGEN' handling in Atmel touch controllers that was
        causing lost interrupts on systems using edge-triggered interrupts, a
        quirk for i8042 driver, and a couple more fixes."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: atmel_mxt_ts - fix lost interrupts
        Input: xpad - support Ardwiino Controllers
        Input: i8042 - add ByteSpeed touchpad to noloop table
        Input: i8042 - fix error return code in i8042_setup_aux()
        Input: soc_button_array - add missing include
      7059c2c0
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 33256ce1
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Some more I2C driver updates. IMX updates are a tad bigger, but not
        exceptionally big"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: mlxbf: Fix the return check of devm_ioremap and ioremap
        i2c: mlxbf: select CONFIG_I2C_SLAVE
        i2c: imx: Don't generate STOP condition if arbitration has been lost
        i2c: imx: Check for I2SR_IAL after every byte
        i2c: imx: Fix reset of I2SR_IAL flag
        i2c: qcom: Fix IRQ error misassignement
        i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc()
      33256ce1
    • Linus Torvalds's avatar
      Merge tag 'block-5.10-2020-12-05' of git://git.kernel.dk/linux-block · be1515ba
      Linus Torvalds authored
      Pull block fix from Jens Axboe:
       "Single fix for an issue with chunk_sectors and stacked devices"
      
      * tag 'block-5.10-2020-12-05' of git://git.kernel.dk/linux-block:
        block: use gcd() to fix chunk_sectors limit stacking
      be1515ba
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.10-2020-12-05' of git://git.kernel.dk/linux-block · 619ca266
      Linus Torvalds authored
      Pull io_uring fix from Jens Axboe:
       "Just a small fix this time, for an issue with 32-bit compat apps and
        buffer selection with recvmsg"
      
      * tag 'io_uring-5.10-2020-12-05' of git://git.kernel.dk/linux-block:
        io_uring: fix recvmsg setup with compat buf-select
      619ca266
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.10-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 32f741b0
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "Some more powerpc fixes for 5.10:
      
         - Three commits fixing possible missed TLB invalidations for
           multi-threaded processes when CPUs are hotplugged in and out.
      
         - A fix for a host crash triggerable by host userspace (qemu) in KVM
           on Power9.
      
         - A fix for a host crash in machine check handling when running HPT
           guests on a HPT host.
      
         - One commit fixing potential missed TLB invalidations when using the
           hash MMU on Power9 or later.
      
         - A regression fix for machines with CPUs on node 0 but no memory.
      
        Thanks to Aneesh Kumar K.V, Cédric Le Goater, Greg Kurz, Milan
        Mohanty, Milton Miller, Nicholas Piggin, Paul Mackerras, and Srikar
        Dronamraju"
      
      * tag 'powerpc-5.10-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/64s/powernv: Fix memory corruption when saving SLB entries on MCE
        KVM: PPC: Book3S HV: XIVE: Fix vCPU id sanity check
        powerpc/numa: Fix a regression on memoryless node 0
        powerpc/64s: Trim offlined CPUs from mm_cpumasks
        kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
        powerpc/64s/pseries: Fix hash tlbiel_all_isa300 for guest kernels
        powerpc/64s: Fix hash ISA v3.0 TLBIEL instruction generation
      32f741b0
    • Linus Torvalds's avatar
      Merge tag '5.10-rc6-smb3-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6 · d4e90419
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Three smb3 fixes (two for stable) fixing
      
         - a null pointer issue in a DFS error path
      
         - a problem with excessive padding when mounted with "idsfromsid"
           causing owner fields to get corrupted
      
         - a more recent problem with compounded reparse point query found in
           testing to the Linux kernel server"
      
      * tag '5.10-rc6-smb3-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: refactor create_sd_buf() and and avoid corrupting the buffer
        cifs: add NULL check for ses->tcon_ipc
        smb3: set COMPOUND_FID to FileID field of subsequent compound request
      d4e90419
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 312b0bcd
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Four small fixes in two drivers.
      
        The mpt3sas fixes are all problems with timeout under unusual
        conditions, and the storvsc is a missed incoming packet validation
        and a missed error return"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: mpt3sas: Increase IOCInit request timeout to 30s
        scsi: mpt3sas: Fix ioctl timeout
        scsi: storvsc: Validate length of incoming packet in storvsc_on_channel_callback()
        scsi: storvsc: Fix error return in storvsc_probe()
      312b0bcd
    • Linus Torvalds's avatar
      Merge tag 'for-5.10/dm-fixes-2' of... · 87623405
      Linus Torvalds authored
      Merge tag 'for-5.10/dm-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull fix for device mapper fixes from Mike Snitzer:
       "Apologies for the glaring bug I introduced with my previous pull
        request!
      
        Fix incorrect branching at top of blk_max_size_offset()"
      
      * tag 'for-5.10/dm-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        block: fix incorrect branching in blk_max_size_offset()
      87623405
  3. Dec 05, 2020
    • Wang Xiaojun's avatar
      i2c: mlxbf: Fix the return check of devm_ioremap and ioremap · 2bf95456
      Wang Xiaojun authored
      
      
      devm_ioremap and ioremap may return NULL which cannot be checked
      by IS_ERR.
      
      Signed-off-by: default avatarWang Xiaojun <wangxiaojun11@huawei.com>
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Acked-by: default avatarKhalil Blaiech <kblaiech@nvidia.com>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      2bf95456
    • Arnd Bergmann's avatar
      i2c: mlxbf: select CONFIG_I2C_SLAVE · c62dac0a
      Arnd Bergmann authored
      If this is not enabled, the interfaces used in this driver do not work:
      
      drivers/i2c/busses/i2c-mlxbf.c:1888:3: error: implicit declaration of function 'i2c_slave_event' [-Werror,-Wimplicit-function-declaration]
                      i2c_slave_event(slave, I2C_SLAVE_WRITE_REQUESTED, &value);
                      ^
      drivers/i2c/busses/i2c-mlxbf.c:1888:26: error: use of undeclared identifier 'I2C_SLAVE_WRITE_REQUESTED'
                      i2c_slave_event(slave, I2C_SLAVE_WRITE_REQUESTED, &value);
                                             ^
      drivers/i2c/busses/i2c-mlxbf.c:1890:32: error: use of undeclared identifier 'I2C_SLAVE_WRITE_RECEIVED'
                      ret = i2c_slave_event(slave, I2C_SLAVE_WRITE_RECEIVED,
                                                   ^
      drivers/i2c/busses/i2c-mlxbf.c:1892:26: error: use of undeclared identifier 'I2C_SLAVE_STOP'
                      i2c_slave_event(slave, I2C_SLAVE_STOP, &value);
                                             ^
      
      Fixes: b5b5b320
      
       ("i2c: mlxbf: I2C SMBus driver for Mellanox BlueField SoC")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKhalil Blaiech <kblaiech@nvidia.com>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      c62dac0a
    • Mike Snitzer's avatar
      block: fix incorrect branching in blk_max_size_offset() · 65f33b35
      Mike Snitzer authored
      If non-zero 'chunk_sectors' is passed in to blk_max_size_offset() that
      override will be incorrectly ignored.
      
      Old blk_max_size_offset() branching, prior to commit 3ee16db3,
      must be used only if passed 'chunk_sectors' override is zero.
      
      Fixes: 3ee16db3
      
       ("dm: fix IO splitting")
      Cc: stable@vger.kernel.org # 5.9
      Reported-by: default avatarJohn Dorminy <jdorminy@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      65f33b35
    • Linus Torvalds's avatar
      Merge tag 'for-5.10/dm-fixes' of... · b3298500
      Linus Torvalds authored
      Merge tag 'for-5.10/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - Fix DM's bio splitting changes that were made during v5.9. This
         restores splitting in terms of varied per-target ti->max_io_len
         rather than use block core's single stacked 'chunk_sectors' limit.
      
       - Like DM crypt, update DM integrity to not use crypto drivers that
         have CRYPTO_ALG_ALLOCATES_MEMORY set.
      
       - Fix DM writecache target's argument parsing and status display.
      
       - Remove needless BUG() from dm writecache's persistent_memory_claim()
      
       - Remove old gcc workaround in DM cache target's block_div() for ARM
         link errors now that gcc >= 4.9 is required.
      
       - Fix RCU locking in dm_blk_report_zones and dm_dax_zero_page_range.
      
       - Remove old, and now frowned upon, BUG_ON(in_interrupt()) in
         dm_table_event().
      
       - Remove invalid sparse annotations from dm_prepare_ioctl() and
         dm_unprepare_ioctl().
      
      * tag 'for-5.10/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: remove invalid sparse __acquires and __releases annotations
        dm: fix double RCU unlock in dm_dax_zero_page_range() error path
        dm: fix IO splitting
        dm writecache: remove BUG() and fail gracefully instead
        dm table: Remove BUG_ON(in_interrupt())
        dm: fix bug with RCU locking in dm_blk_report_zones
        Revert "dm cache: fix arm link errors with inline"
        dm writecache: fix the maximum number of arguments
        dm writecache: advance the number of arguments when reporting max_age
        dm integrity: don't use drivers that have CRYPTO_ALG_ALLOCATES_MEMORY
      b3298500
    • Mike Snitzer's avatar
      dm: remove invalid sparse __acquires and __releases annotations · bde3808b
      Mike Snitzer authored
      Fixes sparse warnings:
      drivers/md/dm.c:508:12: warning: context imbalance in 'dm_prepare_ioctl' - wrong count at exit
      drivers/md/dm.c:543:13: warning: context imbalance in 'dm_unprepare_ioctl' - wrong count at exit
      
      Fixes: 971888c4
      
       ("dm: hold DM table for duration of ioctl rather than use blkdev_get")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      bde3808b
    • Mike Snitzer's avatar
      dm: fix double RCU unlock in dm_dax_zero_page_range() error path · f05c4403
      Mike Snitzer authored
      Remove redundant dm_put_live_table() in dm_dax_zero_page_range() error
      path to fix sparse warning:
      drivers/md/dm.c:1208:9: warning: context imbalance in 'dm_dax_zero_page_range' - unexpected unlock
      
      Fixes: cdf6cdcd
      
       ("dm,dax: Add dax zero_page_range operation")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      f05c4403
    • Mike Snitzer's avatar
      dm: fix IO splitting · 3ee16db3
      Mike Snitzer authored
      Commit 882ec4e6 ("dm table: stack 'chunk_sectors' limit to account
      for target-specific splitting") caused a couple regressions:
      1) Using lcm_not_zero() when stacking chunk_sectors was a bug because
         chunk_sectors must reflect the most limited of all devices in the
         IO stack.
      2) DM targets that set max_io_len but that do _not_ provide an
         .iterate_devices method no longer had there IO split properly.
      
      And commit 5091cdec ("dm: change max_io_len() to use
      blk_max_size_offset()") also caused a regression where DM no longer
      supported varied (per target) IO splitting. The implication being the
      potential for severely reduced performance for IO stacks that use a DM
      target like dm-cache to hide performance limitations of a slower
      device (e.g. one that requires 4K IO splitting).
      
      Coming full circle: Fix all these issues by discontinuing stacking
      chunk_sectors up using ti->max_io_len in dm_calculate_queue_limits(),
      add optional chunk_sectors override argument to blk_max_size_offset()
      and update DM's max_io_len() to pass ti->max_io_len to its
      blk_max_size_offset() call.
      
      Passing in an optional chunk_sectors override to blk_max_size_offset()
      allows for code reuse of block's centralized calculation for max IO
      size based on provided offset and split boundary.
      
      Fixes: 882ec4e6 ("dm table: stack 'chunk_sectors' limit to account for target-specific splitting")
      Fixes: 5091cdec
      
       ("dm: change max_io_len() to use blk_max_size_offset()")
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJohn Dorminy <jdorminy@redhat.com>
      Reported-by: default avatarBruce Johnston <bjohnsto@redhat.com>
      Reported-by: default avatarKirill Tkhai <ktkhai@virtuozzo.com>
      Reviewed-by: default avatarJohn Dorminy <jdorminy@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Reviewed-by: default avatarJens Axboe <axboe@kernel.dk>
      3ee16db3
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2020-12-04' of git://anongit.freedesktop.org/drm/drm · e87297fa
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "This week's regular fixes.
      
        i915 has fixes for a few races, use-after-free, and gpu hangs. Tegra
        just has some minor fixes that I didn't see much point in hanging on
        to. The nouveau fix is for all pre-nv50 cards and was reported a few
        times. Otherwise it's just some amdgpu, and a few misc fixes.
      
        Summary:
      
        amdgpu:
         - SMU11 manual fan fix
         - Renoir display clock fix
         - VCN3 dynamic powergating fix
      
        i915:
         - Program mocs:63 for cache eviction on gen9 (Chris)
         - Protect context lifetime with RCU (Chris)
         - Split the breadcrumb spinlock between global and contexts (Chris)
         - Retain default context state across shrinking (Venkata)
         - Limit frequency drop to RPe on parking (Chris)
         - Return earlier from intel_modeset_init() without display (Jani)
         - Defer initial modeset until after GGTT is initialized (Chris)
      
        nouveau:
         - pre-nv50 regression fix
      
        rockchip:
         - uninitialised LVDS property fix
      
        omap:
         - bridge fix
      
        panel:
         - race fix
      
        mxsfb:
         - fence sync fix
         - modifiers fix
      
        tegra:
         - idr init fix
         - sor fixes
         - output/of cleanup fix"
      
      * tag 'drm-fixes-2020-12-04' of git://anongit.freedesktop.org/drm/drm: (22 commits)
        drm/amdgpu/vcn3.0: remove old DPG workaround
        drm/amdgpu/vcn3.0: stall DPG when WPTR/RPTR reset
        drm/amd/display: Init clock value by current vbios CLKs
        drm/amdgpu/pm/smu11: Fix fan set speed bug
        drm/i915/display: Defer initial modeset until after GGTT is initialised
        drm/i915/display: return earlier from intel_modeset_init() without display
        drm/i915/gt: Limit frequency drop to RPe on parking
        drm/i915/gt: Retain default context state across shrinking
        drm/i915/gt: Split the breadcrumb spinlock between global and contexts
        drm/i915/gt: Protect context lifetime with RCU
        drm/i915/gt: Program mocs:63 for cache eviction on gen9
        drm/omap: sdi: fix bridge enable/disable
        drm/panel: sony-acx565akm: Fix race condition in probe
        drm/rockchip: Avoid uninitialized use of endpoint id in LVDS
        drm/tegra: sor: Disable clocks on error in tegra_sor_init()
        drm/nouveau: make sure ret is initialized in nouveau_ttm_io_mem_reserve
        drm: mxsfb: Implement .format_mod_supported
        drm: mxsfb: fix fence synchronization
        drm/tegra: output: Do not put OF node twice
        drm/tegra: replace idr_init() by idr_init_base()
        ...
      e87297fa
  4. Dec 04, 2020
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2020-12-03' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · de9b485d
      Dave Airlie authored
      
      
      One bridge fix for OMAP, one for a race condition in a panel, two for
      uninitialized variables in rockchip and nouveau, and two fixes for mxsfb
      to fix a regression with modifiers and a fix for a fence synchronization
      issue.
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20201203125943.h2ft2xoywunt5orl@gilmour
      de9b485d
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-5.10-2020-12-02' of... · 5353219f
      Dave Airlie authored
      
      Merge tag 'amd-drm-fixes-5.10-2020-12-02' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
      
      amd-drm-fixes-5.10-2020-12-02:
      
      amdgpu:
      - SMU11 manual fan fix
      - Renoir display clock fix
      - VCN3 dynamic powergating fix
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexdeucher@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20201203044815.41257-1-alexander.deucher@amd.com
      5353219f
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2020-12-03' of... · 94cfbd05
      Dave Airlie authored
      
      Merge tag 'drm-intel-fixes-2020-12-03' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      Fixes for GPU hang, null dereference, suspend-resume, power consumption, and use-after-free.
      
      - Program mocs:63 for cache eviction on gen9 (Chris)
      - Protect context lifetime with RCU (Chris)
      - Split the breadcrumb spinlock between global and contexts (Chris)
      - Retain default context state across shrinking (Venkata)
      - Limit frequency drop to RPe on parking (Chris)
      - Return earlier from intel_modeset_init() without display (Jani)
      - Defer initial modeset until after GGTT is initialized (Chris)
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20201203134705.GA1575873@intel.com
      94cfbd05
    • Ronnie Sahlberg's avatar
      cifs: refactor create_sd_buf() and and avoid corrupting the buffer · ea64370b
      Ronnie Sahlberg authored
      
      
      When mounting with "idsfromsid" mount option, Azure
      corrupted the owner SIDs due to excessive padding
      caused by placing the owner fields at the end of the
      security descriptor on create.  Placing owners at the
      front of the security descriptor (rather than the end)
      is also safer, as the number of ACEs (that follow it)
      are variable.
      
      Signed-off-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
      Suggested-by: default avatarRohith Surabattula <rohiths@microsoft.com>
      CC: Stable <stable@vger.kernel.org> # v5.8
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      ea64370b
    • Aurelien Aptel's avatar
      cifs: add NULL check for ses->tcon_ipc · 59463eb8
      Aurelien Aptel authored
      
      
      In some scenarios (DFS and BAD_NETWORK_NAME) set_root_set() can be
      called with a NULL ses->tcon_ipc.
      
      Signed-off-by: default avatarAurelien Aptel <aaptel@suse.com>
      Reviewed-by: default avatarPaulo Alcantara (SUSE) <pc@cjr.nz>
      CC: Stable <stable@vger.kernel.org>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      59463eb8
    • Namjae Jeon's avatar
      smb3: set COMPOUND_FID to FileID field of subsequent compound request · 79631784
      Namjae Jeon authored
      
      
      For an operation compounded with an SMB2 CREATE request, client must set
      COMPOUND_FID(0xFFFFFFFFFFFFFFFF) to FileID field of smb2 ioctl.
      
      Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
      Fixes: 2e4564b3
      
       ("smb3: add support stat of WSL reparse points for special file types")
      Reviewed-by: default avatarAurelien Aptel <aaptel@suse.com>
      Reviewed-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      79631784
    • Linus Torvalds's avatar
      Merge tag 'net-5.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · bbe2ba04
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Networking fixes for 5.10-rc7, including fixes from bpf, netfilter,
        wireless drivers, wireless mesh and can.
      
        Current release - regressions:
      
         - mt76: usb: fix crash on device removal
      
        Current release - always broken:
      
         - xsk: Fix umem cleanup from wrong context in socket destruct
      
        Previous release - regressions:
      
         - net: ip6_gre: set dev->hard_header_len when using header_ops
      
         - ipv4: Fix TOS mask in inet_rtm_getroute()
      
         - net, xsk: Avoid taking multiple skbuff references
      
        Previous release - always broken:
      
         - net/x25: prevent a couple of overflows
      
         - netfilter: ipset: prevent uninit-value in hash_ip6_add
      
         - geneve: pull IP header before ECN decapsulation
      
         - mpls: ensure LSE is pullable in TC and openvswitch paths
      
         - vxlan: respect needed_headroom of lower device
      
         - batman-adv: Consider fragmentation for needed packet headroom
      
         - can: drivers: don't count arbitration loss as an error
      
         - netfilter: bridge: reset skb->pkt_type after POST_ROUTING traversal
      
         - inet_ecn: Fix endianness of checksum update when setting ECT(1)
      
         - ibmvnic: fix various corner cases around reset handling
      
         - net/mlx5: fix rejecting unsupported Connect-X6DX SW steering
      
         - net/mlx5: Enforce HW TX csum offload with kTLS"
      
      * tag 'net-5.10-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (62 commits)
        net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering
        net/mlx5e: kTLS, Enforce HW TX csum offload with kTLS
        net: mlx5e: fix fs_tcp.c build when IPV6 is not enabled
        net/mlx5: Fix wrong address reclaim when command interface is down
        net/sched: act_mpls: ensure LSE is pullable before reading it
        net: openvswitch: ensure LSE is pullable before reading it
        net: skbuff: ensure LSE is pullable before decrementing the MPLS ttl
        net: mvpp2: Fix error return code in mvpp2_open()
        chelsio/chtls: fix a double free in chtls_setkey()
        rtw88: debug: Fix uninitialized memory in debugfs code
        vxlan: fix error return code in __vxlan_dev_create()
        net: pasemi: fix error return code in pasemi_mac_open()
        cxgb3: fix error return code in t3_sge_alloc_qset()
        net/x25: prevent a couple of overflows
        dpaa_eth: copy timestamp fields to new skb in A-050385 workaround
        net: ip6_gre: set dev->hard_header_len when using header_ops
        mt76: usb: fix crash on device removal
        iwlwifi: pcie: add some missing entries for AX210
        iwlwifi: pcie: invert values of NO_160 device config entries
        iwlwifi: pcie: add one missing entry for AX210
        ...
      bbe2ba04
    • Linus Torvalds's avatar
      Merge tag 's390-5.10-6' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · fee5be18
      Linus Torvalds authored
      Pull s390 fixes from Heiko Carstens:
       "One commit is fixing lockdep irq state tracing which broke with -rc6.
      
        The other one fixes logical vs physical CPU address mixup in our PCI
        code.
      
        Summary:
      
         - fix lockdep irq state tracing
      
         - fix logical vs physical CPU address confusion in PCI code"
      
      * tag 's390-5.10-6' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390: fix irq state tracing
        s390/pci: fix CPU address in MSI for directed IRQ
      fee5be18
    • Linus Torvalds's avatar
      Merge tag '9p-for-5.10-rc7' of git://github.com/martinetd/linux · c82a505c
      Linus Torvalds authored
      Pull 9p fixes from Dominique Martinet:
       "Restore splice functionality for 9p"
      
      * tag '9p-for-5.10-rc7' of git://github.com/martinetd/linux:
        fs: 9p: add generic splice_write file operation
        fs: 9p: add generic splice_read file operations
      c82a505c
    • Jakub Kicinski's avatar
      Merge branch 'mlx5-fixes-2020-12-01' · 6f076ce6
      Jakub Kicinski authored
      
      
      Saeed Mahameed says:
      
      ====================
      mlx5 fixes 2020-12-01
      
      This series introduces some fixes to mlx5 driver.
      ====================
      
      Link: https://lore.kernel.org/r/20201203043946.235385-1-saeedm@nvidia.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      6f076ce6
    • Yevgeny Kliteynik's avatar
      net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering · d421e466
      Yevgeny Kliteynik authored
      STEs format for Connect-X5 and Connect-X6DX different. Currently, on
      Connext-X6DX the SW steering would break at some point when building STEs
      w/o giving a proper error message. Fix this by checking the STE format of
      the current device when initializing domain: add mlx5_ifc definitions for
      Connect-X6DX SW steering, read FW capability to get the current format
      version, and check this version when domain is being created.
      
      Fixes: 26d688e3
      
       ("net/mlx5: DR, Add Steering entry (STE) utilities")
      Signed-off-by: default avatarYevgeny Kliteynik <kliteyn@nvidia.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d421e466