Skip to content
  1. Jan 11, 2022
    • Helge Deller's avatar
      parisc: Default to 16 CPUs on 32-bit kernel · 68d247ad
      Helge Deller authored
      
      
      Qemu currently supports up to 16 CPUs, so increase the default from 4 to 16.
      Bload-o-meter shows only an increase of 800 bytes with this change.
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      68d247ad
    • Helge Deller's avatar
      sections: Fix __is_kernel() to include init ranges · 16f035d9
      Helge Deller authored
      
      
      With CONFIG_KALLSYMS_ALL=y, the function is_ksym_addr() is used to
      determine if a symbol is from inside the kernel range. For that the
      given symbol address is checked if it's inside the _stext to _end range.
      
      Although this is correct, some architectures (e.g. parisc) may have the
      init area before the _stext address and as such the check in
      is_ksym_addr() fails.  By extending the range check to include the init
      section, __is_kernel() will now detect symbols in this range as well.
      
      This fixes an issue on parisc where addresses of kernel functions in
      init sections aren't resolved to their symbol names.
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      16f035d9
    • Helge Deller's avatar
      parisc: Re-use toc_stack as hpmc_stack · e486288d
      Helge Deller authored
      
      
      No need to have an own hpmc_stack. Just re-use the toc_stack of the
      monarch CPU as either a TOC or a HPMC will happen at the same time.
      This reduces the kernel memory footprint by 16k.
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      e486288d
    • Helge Deller's avatar
      parisc: Enable TOC (transfer of contents) feature unconditionally · d6ab9fc7
      Helge Deller authored
      
      
      Before this patch, the TOC code used a pre-allocated stack of 16kb for
      each possible CPU. That space overhead was the reason why the TOC
      feature wasn't enabled by default for 32-bit kernels.
      
      This patch rewrites the TOC code to use a per-cpu stack. That way we use
      much less memory now and as such we enable the TOC feature by default on
      all kernels.
      
      Additionally the dump of the registers and the stacktrace wasn't
      serialized, which led to multiple CPUs printing the stack backtrace at
      once which rendered the output unreadable.
      Now the backtraces are nicely serialized by a lock.
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      d6ab9fc7
  2. Jan 07, 2022
    • Bart Van Assche's avatar
      parisc: io: Improve the outb(), outw() and outl() macros · 6968e707
      Bart Van Assche authored
      
      
      This patch fixes the following build error for source file
      drivers/scsi/pcmcia/sym53c500_cs.c:
      
      In file included from ./include/linux/bug.h:5,
                       from ./include/linux/cpumask.h:14,
                       from ./include/linux/mm_types_task.h:14,
                       from ./include/linux/mm_types.h:5,
                       from ./include/linux/buildid.h:5,
                       from ./include/linux/module.h:14,
                       from drivers/scsi/pcmcia/sym53c500_cs.c:42:
      drivers/scsi/pcmcia/sym53c500_cs.c: In function ‘SYM53C500_intr’:
      ./arch/parisc/include/asm/bug.h:28:2: error: expected expression before ‘do’
         28 |  do {        \
            |  ^~
      ./arch/parisc/include/asm/io.h:276:20: note: in expansion of macro ‘BUG’
        276 | #define outb(x, y) BUG()
            |                    ^~~
      drivers/scsi/pcmcia/sym53c500_cs.c:124:19: note: in expansion of macro ‘outb’
        124 | #define REG0(x)  (outb(C4_IMG, (x) + CONFIG4))
            |                   ^~~~
      drivers/scsi/pcmcia/sym53c500_cs.c:362:2: note: in expansion of macro ‘REG0’
        362 |  REG0(port_base);
            |  ^~~~
      
      Cc: James E.J. Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: linux-parisc@vger.kernel.org
      Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      6968e707
    • Greg Kroah-Hartman's avatar
      parisc: pdc_stable: use default_groups in kobj_type · 75c09aad
      Greg Kroah-Hartman authored
      There are currently 2 ways to create a set of sysfs files for a
      kobj_type, through the default_attrs field, and the default_groups
      field.  Move the parisc pdc_stable sysfs code to use default_groups
      field which has been the preferred way since aa30f47c
      
       ("kobject: Add
      support for default attribute groups to kobj_type") so that we can soon
      get rid of the obsolete default_attrs field.
      
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: linux-parisc@vger.kernel.org
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      75c09aad
    • Helge Deller's avatar
      parisc: Add kgdb io_module to read chars via PDC · c1c72d9b
      Helge Deller authored
      
      
      Add a simplistic keyboard driver for usage of PDC I/O functions
      with kgdb. This driver makes it possible to use KGDB with QEMU.
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      c1c72d9b
    • Helge Deller's avatar
      parisc: Fix pdc_toc_pim_11 and pdc_toc_pim_20 definitions · 712a270d
      Helge Deller authored
      
      
      The definitions for pdc_toc_pim_11 and pdc_toc_pim_20 are wrong since they
      include an entry for a hversion field which doesn't exist in the specification.
      
      Fix this and clean up some whitespaces so that the whole file will be in
      sync with it's copy in the SeaBIOS-hppa sources.
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: stable@vger.kernel.org # v5.16
      712a270d
    • John David Anglin's avatar
      parisc: Add lws_atomic_xchg and lws_atomic_store syscalls · 72c3dd82
      John David Anglin authored
      
      
      This patch adds two new LWS routines - lws_atomic_xchg and lws_atomic_store.
      
      These are simpler than the CAS routines.  Currently, we use the CAS
      routines for atomic stores.  This is inefficient since it requires
      both winning the spinlock and a successful CAS operation.
      
      Change has been tested on c8000 and rp3440.
      
      In v2, I moved the code to disble/enable page faults inside the spinlocks.
      
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      72c3dd82
    • John David Anglin's avatar
      parisc: Rewrite light-weight syscall and futex code · d0585d74
      John David Anglin authored
      
      
      The parisc architecture lacks general hardware support for compare and swap.
      Particularly for userspace, it is difficult to implement software atomic
      support. Page faults in critical regions can cause processes to sleep and
      block the forward progress of other processes.  Thus, it is essential that
      page faults be disabled in critical regions. For performance reasons, we
      also need to disable external interrupts in critical regions.
      
      In order to do this, we need a mechanism to trigger COW breaks outside the
      critical region. Fortunately, parisc has the "stbys,e" instruction. When
      the leftmost byte of a word is addressed, this instruction triggers all
      the exceptions of a normal store but it does not write to memory. Thus,
      we can use it to trigger COW breaks outside the critical region without
      modifying the data that is to be updated atomically.
      
      COW breaks occur randomly.  So even if we have priviously executed a "stbys,e"
      instruction, we still need to disable pagefaults around the critical region.
      If a fault occurs in the critical region, we return -EAGAIN. I had to add
      a wrapper around _arch_futex_atomic_op_inuser() as I found in testing that
      returning -EAGAIN caused problems for some processes even though it is
      listed as a possible return value.
      
      The patch implements the above. The code no longer attempts to sleep with
      interrupts disabled and I haven't seen any stalls with the change.
      
      I have attempted to merge common code and streamline the fast path.  In the
      futex code, we only compute the spinlock address once.
      
      I eliminated some debug code in the original CAS routine that just made the
      flow more complicated.
      
      I don't clip the arguments when called from wide mode. As a result, the LWS
      routines should work when called from 64-bit processes.
      
      I defined TASK_PAGEFAULT_DISABLED offset for use in the lws_pagefault_disable
      and lws_pagefault_enable macros.
      
      Since we now disable interrupts on the gateway page where necessary, it
      might be possible to allow processes to be scheduled when they are on the
      gateway page.
      
      Change has been tested on c8000 and rp3440. It improves glibc build and test
      time by about 10%.
      
      In v2, I removed the lws_atomic_xchg and and lws_atomic_store calls. I
      also removed the bug fixes that were not directly related to this patch.
      
      In v3, I removed the code to force interruptions from
      arch_futex_atomic_op_inuser(). It is always called with page faults
      disabled, so this code had no effect.
      
      In v4, I fixed a typo in depi_safe line.
      
      In v5, I moved the code to disable/enable page faults inside the spinlocks.
      
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      d0585d74
    • John David Anglin's avatar
      parisc: Enhance page fault termination message · 20dda87b
      John David Anglin authored
      
      
      In debugging kernel panics, I believe it is useful to know what type
      of page fault caused the termination. "Bad Address" is too vague.
      
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      20dda87b
    • John David Anglin's avatar
      parisc: Don't call faulthandler_disabled() in do_page_fault() · 9d90a908
      John David Anglin authored
      
      
      It is dangerous to call faulthandler_disabled() when user_mode(regs)
      is true.  The task pagefault_disabled counter is racy and it is not
      updated atomically on parisc. As a result, calling faulthandler_disabled()
      may cause erroneous termination.
      
      We now handle execption fixups and termination when user_mode(regs) is
      false in handle_interruption(). Thus, we can just remove the
      faulthandler_disabled() check from do_page_fault().
      
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      9d90a908
    • Helge Deller's avatar
      parisc: Switch user access functions to signal errors in r29 instead of r8 · 4b9d2a73
      Helge Deller authored
      
      
      Use register r29 instead of register r8 to signal faults when accessing
      user memory. In case of faults, the fixup routine will store -EFAULT in
      this register.
      
      This change saves up to 752 bytes on a 32bit kernel, partly because the
      compiler doesn't need to save and restore the old r8 value on the stack.
      
      bloat-o-meter results for usage with r29 register:
      add/remove: 0/0 grow/shrink: 23/86 up/down: 228/-980 (-752)
      
      bloat-o-meter results for usage with r28 register:
      add/remove: 0/0 grow/shrink: 28/83 up/down: 296/-956 (-660)
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      4b9d2a73
    • John David Anglin's avatar
      parisc: Avoid calling faulthandler_disabled() twice · 9e9d4b46
      John David Anglin authored
      
      
      In handle_interruption(), we call faulthandler_disabled() to check whether the
      fault handler is not disabled. If the fault handler is disabled, we immediately
      call do_page_fault(). It then calls faulthandler_disabled(). If disabled,
      do_page_fault() attempts to fixup the exception by jumping to no_context:
      
      no_context:
      
              if (!user_mode(regs) && fixup_exception(regs)) {
                      return;
              }
      
              parisc_terminate("Bad Address (null pointer deref?)", regs, code, address);
      
      Apart from the error messages, the two blocks of code perform the same
      function.
      
      We can avoid two calls to faulthandler_disabled() by a simple revision
      to the code in handle_interruption().
      
      Note: I didn't try to fix the formatting of this code block.
      
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      9e9d4b46
    • John David Anglin's avatar
      parisc: Fix lpa and lpa_user defines · db19c6f1
      John David Anglin authored
      
      
      While working on the rewrite to the light-weight syscall and futex code, I
      experimented with using a hash index based on the user physical address of
      atomic variable. This exposed two problems with the lpa and lpa_user defines.
      
      Because of the copy instruction, the pa argument needs to be an early clobber
      argument. This prevents gcc from allocating the va and pa arguments to the same
      register.
      
      Secondly, the lpa instruction can cause a page fault so we need to catch
      exceptions.
      
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Fixes: 116d7533
      
       ("parisc: Use lpa instruction to load physical addresses in driver code")
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: stable@vger.kernel.org # v5.2+
      db19c6f1
    • John David Anglin's avatar
      parisc: Define depi_safe macro · 45458aa4
      John David Anglin authored
      
      
      The depi instruction is similar to the extru instruction on 64-bit machines.
      It leaves the most-significant 32 bits of the target register in an undefined
      state.  On 64-bit machines, the macro uses depdi to perform safe deposits in
      the least-significant 32 bits.
      
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      45458aa4
  3. Jan 05, 2022
  4. Jan 03, 2022
  5. Jan 02, 2022
    • yaowenbin's avatar
      perf top: Fix TUI exit screen refresh race condition · 64f18d2d
      yaowenbin authored
      
      
      When the following command is executed several times, a coredump file is
      generated.
      
      	$ timeout -k 9 5 perf top -e task-clock
      	*******
      	*******
      	*******
      	0.01%  [kernel]                  [k] __do_softirq
      	0.01%  libpthread-2.28.so        [.] __pthread_mutex_lock
      	0.01%  [kernel]                  [k] __ll_sc_atomic64_sub_return
      	double free or corruption (!prev) perf top --sort comm,dso
      	timeout: the monitored command dumped core
      
      When we terminate "perf top" using sending signal method,
      SLsmg_reset_smg() called. SLsmg_reset_smg() resets the SLsmg screen
      management routines by freeing all memory allocated while it was active.
      
      However SLsmg_reinit_smg() maybe be called by another thread.
      
      SLsmg_reinit_smg() will free the same memory accessed by
      SLsmg_reset_smg(), thus it results in a double free.
      
      SLsmg_reinit_smg() is called already protected by ui__lock, so we fix
      the problem by adding pthread_mutex_trylock of ui__lock when calling
      SLsmg_reset_smg().
      
      Signed-off-by: default avatarWenyu Liu <liuwenyu7@huawei.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.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: wuxu.wu@huawei.com
      Link: http://lore.kernel.org/lkml/a91e3943-7ddc-f5c0-a7f5-360f073c20e6@huawei.com
      
      
      Signed-off-by: default avatarHewenliang <hewenliang4@huawei.com>
      Signed-off-by: default avataryaowenbin <yaowenbin1@huawei.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      64f18d2d
    • John Garry's avatar
      perf pmu: Fix alias events list · e0257a01
      John Garry authored
      Commit 0e0ae874 ("perf list: Display hybrid PMU events with cpu
      type") changes the event list for uncore PMUs or arm64 heterogeneous CPU
      systems, such that duplicate aliases are incorrectly listed per PMU
      (which they should not be), like:
      
        # perf list
        ...
        unc_cbo_cache_lookup.any_es
        [Unit: uncore_cbox L3 Lookup any request that access cache and found
        line in E or S-state]
        unc_cbo_cache_lookup.any_es
        [Unit: uncore_cbox L3 Lookup any request that access cache and found
        line in E or S-state]
        unc_cbo_cache_lookup.any_i
        [Unit: uncore_cbox L3 Lookup any request that access cache and found
        line in I-state]
        unc_cbo_cache_lookup.any_i
        [Unit: uncore_cbox L3 Lookup any request that access cache and found
        line in I-state]
        ...
      
      Notice how the events are listed twice.
      
      The named commit changed how we remove duplicate events, in that events
      for different PMUs are not treated as duplicates. I suppose this is to
      handle how "Each hybrid pmu event has been assigned with a pmu name".
      
      Fix PMU alias listing by restoring behaviour to remove duplicates for
      non-hybrid PMUs.
      
      Fixes: 0e0ae874
      
       ("perf list: Display hybrid PMU events with cpu type")
      Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
      Tested-by: default avatarZhengjun Xing <zhengjun.xing@linux.intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/1640103090-140490-1-git-send-email-john.garry@huawei.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e0257a01
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 278218f6
      Linus Torvalds authored
      Pull input fixes from Dmitry Torokhov:
       "Two small fixups for spaceball joystick driver and appletouch touchpad
        driver"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: spaceball - fix parsing of movement data packets
        Input: appletouch - initialize work before device registration
      278218f6
  6. Jan 01, 2022
  7. Dec 31, 2021
    • Deep Majumder's avatar
      Docs: Fixes link to I2C specification · c116fe1e
      Deep Majumder authored
      
      
      The link to the I2C specification is broken. Although
      "https://www.nxp.com" hosts Rev 7 (2021) of this specification, it is
      behind a login-wall. Thus, an additional link has been added (which
      doesn't require a login) and the NXP official docs link has been
      updated.
      
      Signed-off-by: default avatarDeep Majumder <deep@fastmail.in>
      [wsa: minor updates to text and commit message]
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      c116fe1e
    • Pavel Skripkin's avatar
      i2c: validate user data in compat ioctl · bb436283
      Pavel Skripkin authored
      
      
      Wrong user data may cause warning in i2c_transfer(), ex: zero msgs.
      Userspace should not be able to trigger warnings, so this patch adds
      validation checks for user data in compact ioctl to prevent reported
      warnings
      
      Reported-and-tested-by: default avatar <syzbot+e417648b303855b91d8a@syzkaller.appspotmail.com>
      Fixes: 7d5cb456
      
       ("i2c compat ioctls: move to ->compat_ioctl()")
      Signed-off-by: default avatarPavel Skripkin <paskripkin@gmail.com>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      bb436283
    • Leo L. Schwab's avatar
      Input: spaceball - fix parsing of movement data packets · bc7ec917
      Leo L. Schwab authored
      The spaceball.c module was not properly parsing the movement reports
      coming from the device.  The code read axis data as signed 16-bit
      little-endian values starting at offset 2.
      
      In fact, axis data in Spaceball movement reports are signed 16-bit
      big-endian values starting at offset 3.  This was determined first by
      visually inspecting the data packets, and later verified by consulting:
      http://spacemice.org/pdf/SpaceBall_2003-3003_Protocol.pdf
      
      
      
      If this ever worked properly, it was in the time before Git...
      
      Signed-off-by: default avatarLeo L. Schwab <ewhac@ewhac.org>
      Link: https://lore.kernel.org/r/20211221101630.1146385-1-ewhac@ewhac.org
      
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      bc7ec917
    • Pavel Skripkin's avatar
      Input: appletouch - initialize work before device registration · 9f3ccdc3
      Pavel Skripkin authored
      Syzbot has reported warning in __flush_work(). This warning is caused by
      work->func == NULL, which means missing work initialization.
      
      This may happen, since input_dev->close() calls
      cancel_work_sync(&dev->work), but dev->work initalization happens _after_
      input_register_device() call.
      
      So this patch moves dev->work initialization before registering input
      device
      
      Fixes: 5a6eb676
      
       ("Input: appletouch - improve powersaving for Geyser3 devices")
      Reported-and-tested-by: default avatar <syzbot+b88c5eae27386b252bbd@syzkaller.appspotmail.com>
      Signed-off-by: default avatarPavel Skripkin <paskripkin@gmail.com>
      Link: https://lore.kernel.org/r/20211230141151.17300-1-paskripkin@gmail.com
      
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      9f3ccdc3
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2021-12-31' of git://anongit.freedesktop.org/drm/drm · 4f3d93c6
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "This is a bit bigger than I'd like, however it has two weeks of amdgpu
        fixes in it, since they missed last week, which was very small.
      
        The nouveau regression is probably the biggest fix in here, and it
        needs to go into 5.15 as well, two i915 fixes, and then a scattering
        of amdgpu fixes. The biggest fix in there is for a fencing NULL
        pointer dereference, the rest are pretty minor.
      
        For the misc team, I've pulled the two misc fixes manually since I'm
        not sure what is happening at this time of year!
      
        The amdgpu maintainers have the outstanding runpm regression to fix
        still, they are just working through the last bits of it now.
      
        Summary:
      
        nouveau:
         - fencing regression fix
      
        i915:
         - Fix possible uninitialized variable
         - Fix composite fence seqno icrement on each fence creation
      
        amdgpu:
         - Fencing fix
         - XGMI fix
         - VCN regression fix
         - IP discovery regression fixes
         - Fix runpm documentation
         - Suspend/resume fixes
         - Yellow Carp display fixes
         - MCLK power management fix
         - dma-buf fix"
      
      * tag 'drm-fixes-2021-12-31' of git://anongit.freedesktop.org/drm/drm:
        drm/amd/display: Changed pipe split policy to allow for multi-display pipe split
        drm/amd/display: Fix USB4 null pointer dereference in update_psp_stream_config
        drm/amd/display: Set optimize_pwr_state for DCN31
        drm/amd/display: Send s0i2_rdy in stream_count == 0 optimization
        drm/amd/display: Added power down for DCN10
        drm/amd/display: fix B0 TMDS deepcolor no dislay issue
        drm/amdgpu: no DC support for headless chips
        drm/amdgpu: put SMU into proper state on runpm suspending for BOCO capable platform
        drm/amdgpu: always reset the asic in suspend (v2)
        drm/amd/pm: skip setting gfx cgpg in the s0ix suspend-resume
        drm/i915: Increment composite fence seqno
        drm/i915: Fix possible uninitialized variable in parallel extension
        drm/amdgpu: fix runpm documentation
        drm/nouveau: wait for the exclusive fence after the shared ones v2
        drm/amdgpu: add support for IP discovery gc_info table v2
        drm/amdgpu: When the VCN(1.0) block is suspended, powergating is explicitly enabled
        drm/amd/pm: Fix xgmi link control on aldebaran
        drm/amdgpu: introduce new amdgpu_fence object to indicate the job embedded fence
        drm/amdgpu: fix dropped backing store handling in amdgpu_dma_buf_move_notify
      4f3d93c6
    • Dave Airlie's avatar
      Merge branch 'drm-misc-fixes' of ssh://git.freedesktop.org/git/drm/drm-misc into drm-fixes · ce9b333c
      Dave Airlie authored
      
      
      This merges two fixes that haven't been sent to me yet, but I wanted to get in.
      
      One amdgpu fix, but one nouveau regression fixer.
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      ce9b333c
    • Christian Brauner's avatar
      fs/mount_setattr: always cleanup mount_kattr · 012e3322
      Christian Brauner authored
      Make sure that finish_mount_kattr() is called after mount_kattr was
      succesfully built in both the success and failure case to prevent
      leaking any references we took when we built it.  We returned early if
      path lookup failed thereby risking to leak an additional reference we
      took when building mount_kattr when an idmapped mount was requested.
      
      Cc: linux-fsdevel@vger.kernel.org
      Cc: stable@vger.kernel.org
      Fixes: 9caccd41
      
       ("fs: introduce MOUNT_ATTR_IDMAP")
      Signed-off-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      012e3322
    • Linus Torvalds's avatar
      Merge tag 'net-5.16-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 74c78b42
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from.. Santa?
      
        No regressions on our radar at this point. The igc problem fixed here
        was the last one I was tracking but it was broken in previous
        releases, anyway. Mostly driver fixes and a couple of largish SMC
        fixes.
      
        Current release - regressions:
      
         - xsk: initialise xskb free_list_node, fixup for a -rc7 fix
      
        Current release - new code bugs:
      
         - mlx5: handful of minor fixes:
      
         - use first online CPU instead of hard coded CPU
      
         - fix some error handling paths in 'mlx5e_tc_add_fdb_flow()'
      
         - fix skb memory leak when TC classifier action offloads are disabled
      
         - fix memory leak with rules with internal OvS port
      
        Previous releases - regressions:
      
         - igc: do not enable crosstimestamping for i225-V models
      
        Previous releases - always broken:
      
         - udp: use datalen to cap ipv6 udp max gso segments
      
         - fix use-after-free in tw_timer_handler due to early free of stats
      
         - smc: fix kernel panic caused by race of smc_sock
      
         - smc: don't send CDC/LLC message if link not ready, avoid timeouts
      
         - sctp: use call_rcu to free endpoint, avoid UAF in sock diag
      
         - bridge: mcast: add and enforce query interval minimum
      
         - usb: pegasus: do not drop long Ethernet frames
      
         - mlx5e: fix ICOSQ recovery flow for XSK
      
         - nfc: uapi: use kernel size_t to fix user-space builds"
      
      * tag 'net-5.16-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (47 commits)
        fsl/fman: Fix missing put_device() call in fman_port_probe
        selftests: net: using ping6 for IPv6 in udpgro_fwd.sh
        Documentation: fix outdated interpretation of ip_no_pmtu_disc
        net/ncsi: check for error return from call to nla_put_u32
        net: bridge: mcast: fix br_multicast_ctx_vlan_global_disabled helper
        net: fix use-after-free in tw_timer_handler
        selftests: net: Fix a typo in udpgro_fwd.sh
        selftests/net: udpgso_bench_tx: fix dst ip argument
        net: bridge: mcast: add and enforce startup query interval minimum
        net: bridge: mcast: add and enforce query interval minimum
        ipv6: raw: check passed optlen before reading
        xsk: Initialise xskb free_list_node
        net/mlx5e: Fix wrong features assignment in case of error
        net/mlx5e: TC, Fix memory leak with rules with internal port
        ionic: Initialize the 'lif->dbid_inuse' bitmap
        igc: Fix TX timestamp support for non-MSI-X platforms
        igc: Do not enable crosstimestamping for i225-V models
        net/smc: fix kernel panic caused by race of smc_sock
        net/smc: don't send CDC/LLC message if link not ready
        NFC: st21nfca: Fix memory leak in device probe and remove
        ...
      74c78b42
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 9bad743e
      Linus Torvalds authored
      Pull char/misc fixes from Greg KH:
       "Here are two misc driver fixes for 5.16-final:
      
         - binder accounting fix to resolve reported problem
      
         - nitro_enclaves fix for mmap assert warning output
      
        Both of these have been for over a week with no reported issues"
      
      * tag 'char-misc-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        nitro_enclaves: Use get_user_pages_unlocked() call to handle mmap assert
        binder: fix async_free_space accounting for empty parcels
      9bad743e
    • Linus Torvalds's avatar
      Merge tag 'usb-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 2d40060b
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some small USB driver fixes for 5.16 to resolve some reported
        problems:
      
         - mtu3 driver fixes
      
         - typec ucsi driver fix
      
         - xhci driver quirk added
      
         - usb gadget f_fs fix for reported crash
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'usb-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: typec: ucsi: Only check the contract if there is a connection
        xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set.
        usb: mtu3: set interval of FS intr and isoc endpoint
        usb: mtu3: fix list_head check warning
        usb: mtu3: add memory barrier before set GPD's HWO
        usb: mtu3: fix interval value for intr and isoc
        usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear.
      2d40060b