Skip to content
Permalink
Chevron-Li/mmc…
Switch branches/tags

Commits on Jan 21, 2022

  1. mmc:sdhci-bayhub:provide a solution to improve sd host card compatibi…

    …lity
    
    Improve the signal integrity for long SD bus trace with GGC SD host redriver chip
    1.GGC is a SD bus signal re-timing IC that has been paired with the SC7180 sometimes.
    2.The key points as below:
     2.1 GGC chip is initialized during SD initialization
     2.2 GGC special tuning flow is used to re-timing SD bus signal.
     2.3 GGC power signal control should follow sd host power signal control.
    3.The function of the patch is already verified on Chrome OS, and Google request us to submit the patch to Linux for them future use.
    4.GGC can work with any other standard SDHCI controller to improve SD signal SI and Timing.
    5.GGC has cooperated with Intel/Qualcomm/MTK/SPRD sd host already and work well.
    6.This file is created for collecting the GGC chip support APIs and variables
    This patch depends on patch:
    mmc:sdhci-msm:fix Qualcomm sd host 7180 SD card compatibility issue
    
    Signed-off-by: Chevron Li <chevron.li@bayhubtech.com>
    Chevron Li authored and intel-lab-lkp committed Jan 21, 2022
  2. mmc:sdhci-msm:fix Qualcomm sd host 7180 SD card compatibility issue

    Improve the signal integrity for long SD bus trace by using SC7180+GGC SD host redriver chip
    1.GGC is a SD bus signal re-timing IC that has been paired with the SC7180 sometimes.
    2.The key points are initialized GGC chip during SD initialization and use GGC special tuning flow to re-timing SD bus signal.
    3.GGC resource is initialized for GGC chip during Qualcomm host probe:
     3.1 GGC structure initialization
     3.2 GGC GPIO resource assignment
     3.3 Reload host->mmc->detect with GGC chip special initiation flow.
     3.4 Reload the host->mmc_host_ops.execute_tuning with GGC chip special tuning flow.
    4.The function of the patch is already verified on Chrome OS, and Google request us to submit the patch to Linux for them future use.
    5.GGC can work with any other standard SDHCI controller to improve SD signal SI and Timing.
    6.GGC has cooperated with Intel/Qualcomm/MTK/SPRD sd host already and work well.
    
    Signed-off-by: Chevron Li <chevron.li@bayhubtech.com>
    Chevron Li authored and intel-lab-lkp committed Jan 21, 2022

Commits on Jan 2, 2022

  1. Linux 5.16-rc8

    torvalds committed Jan 2, 2022
  2. Merge tag 'perf-tools-fixes-for-v5.16-2022-01-02' of git://git.kernel…

    ….org/pub/scm/linux/kernel/git/acme/linux
    
    Pull perf tools fixes from Arnaldo Carvalho de Melo:
    
     - Fix TUI exit screen refresh race condition in 'perf top'.
    
     - Fix parsing of Intel PT VM time correlation arguments.
    
     - Honour CPU filtering command line request of a script's switch events
       in 'perf script'.
    
     - Fix printing of switch events in Intel PT python script.
    
     - Fix duplicate alias events list printing in 'perf list', noticed on
       heterogeneous arm64 systems.
    
     - Fix return value of ids__new(), users expect NULL for failure, not
       ERR_PTR(-ENOMEM).
    
    * tag 'perf-tools-fixes-for-v5.16-2022-01-02' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
      perf top: Fix TUI exit screen refresh race condition
      perf pmu: Fix alias events list
      perf scripts python: intel-pt-events.py: Fix printing of switch events
      perf script: Fix CPU filtering of a script's switch events
      perf intel-pt: Fix parsing of VM time correlation arguments
      perf expr: Fix return value of ids__new()
    torvalds committed Jan 2, 2022
  3. Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/wsa/linux
    
    Pull i2c fixes from Wolfram Sang:
     "Better input validation for compat ioctls and a documentation bugfix
      for 5.16"
    
    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
      Docs: Fixes link to I2C specification
      i2c: validate user data in compat ioctl
    torvalds committed Jan 2, 2022
  4. Merge tag 'x86_urgent_for_v5.16_rc8' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull x86 fix from Borislav Petkov:
    
     - Use the proper CONFIG symbol in a preprocessor check.
    
    * tag 'x86_urgent_for_v5.16_rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/build: Use the proper name CONFIG_FW_LOADER
    torvalds committed Jan 2, 2022
  5. perf top: Fix TUI exit screen refresh race condition

    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: Wenyu Liu <liuwenyu7@huawei.com>
    Tested-by: Arnaldo 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: Hewenliang <hewenliang4@huawei.com>
    Signed-off-by: yaowenbin <yaowenbin1@huawei.com>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    yaowenbin authored and Arnaldo Carvalho de Melo committed Jan 2, 2022
  6. perf pmu: Fix alias events list

    Commit 0e0ae87 ("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: 0e0ae87 ("perf list: Display hybrid PMU events with cpu type")
    Signed-off-by: John Garry <john.garry@huawei.com>
    Tested-by: Zhengjun 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: Arnaldo Carvalho de Melo <acme@redhat.com>
    johnpgarry authored and Arnaldo Carvalho de Melo committed Jan 2, 2022

Commits on Jan 1, 2022

  1. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/dtor/input
    
    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
    torvalds committed Jan 1, 2022

Commits on Dec 31, 2021

  1. mm: vmscan: reduce throttling due to a failure to make progress -fix

    Hugh Dickins reported the following
    
    	My tmpfs swapping load (tweaked to use huge pages more heavily
    	than in real life) is far from being a realistic load: but it was
    	notably slowed down by your throttling mods in 5.16-rc, and this
    	patch makes it well again - thanks.
    
    	But: it very quickly hit NULL pointer until I changed that last
    	line to
    
            if (first_pgdat)
                    consider_reclaim_throttle(first_pgdat, sc);
    
    The likely issue is that huge pages are a major component of the test
    workload.  When this is the case, first_pgdat may never get set if
    compaction is ready to continue due to this check
    
            if (IS_ENABLED(CONFIG_COMPACTION) &&
                sc->order > PAGE_ALLOC_COSTLY_ORDER &&
                compaction_ready(zone, sc)) {
                    sc->compaction_ready = true;
                    continue;
            }
    
    If this was true for every zone in the zonelist, first_pgdat would never
    get set resulting in a NULL pointer exception.
    
    Link: https://lkml.kernel.org/r/20211209095453.GM3366@techsingularity.net
    Fixes: 1b4e3f2 ("mm: vmscan: Reduce throttling due to a failure to make progress")
    Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
    Reported-by: Hugh Dickins <hughd@google.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Rik van Riel <riel@surriel.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Darrick J. Wong <djwong@kernel.org>
    Cc: Shakeel Butt <shakeelb@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    gormanm authored and torvalds committed Dec 31, 2021
  2. mm: vmscan: Reduce throttling due to a failure to make progress

    Mike Galbraith, Alexey Avramov and Darrick Wong all reported similar
    problems due to reclaim throttling for excessive lengths of time.  In
    Alexey's case, a memory hog that should go OOM quickly stalls for
    several minutes before stalling.  In Mike and Darrick's cases, a small
    memcg environment stalled excessively even though the system had enough
    memory overall.
    
    Commit 69392a4 ("mm/vmscan: throttle reclaim when no progress is
    being made") introduced the problem although commit a19594c
    ("mm/vmscan: increase the timeout if page reclaim is not making
    progress") made it worse.  Systems at or near an OOM state that cannot
    be recovered must reach OOM quickly and memcg should kill tasks if a
    memcg is near OOM.
    
    To address this, only stall for the first zone in the zonelist, reduce
    the timeout to 1 tick for VMSCAN_THROTTLE_NOPROGRESS and only stall if
    the scan control nr_reclaimed is 0, kswapd is still active and there
    were excessive pages pending for writeback.  If kswapd has stopped
    reclaiming due to excessive failures, do not stall at all so that OOM
    triggers relatively quickly.  Similarly, if an LRU is simply congested,
    only lightly throttle similar to NOPROGRESS.
    
    Alexey's original case was the most straight forward
    
    	for i in {1..3}; do tail /dev/zero; done
    
    On vanilla 5.16-rc1, this test stalled heavily, after the patch the test
    completes in a few seconds similar to 5.15.
    
    Alexey's second test case added watching a youtube video while tail runs
    10 times.  On 5.15, playback only jitters slightly, 5.16-rc1 stalls a
    lot with lots of frames missing and numerous audio glitches.  With this
    patch applies, the video plays similarly to 5.15.
    
    [lkp@intel.com: Fix W=1 build warning]
    
    Link: https://lore.kernel.org/r/99e779783d6c7fce96448a3402061b9dc1b3b602.camel@gmx.de
    Link: https://lore.kernel.org/r/20211124011954.7cab9bb4@mail.inbox.lv
    Link: https://lore.kernel.org/r/20211022144651.19914-1-mgorman@techsingularity.net
    Link: https://lore.kernel.org/r/20211202150614.22440-1-mgorman@techsingularity.net
    Link: https://linux-regtracking.leemhuis.info/regzbot/regression/20211124011954.7cab9bb4@mail.inbox.lv/
    Reported-and-tested-by: Alexey Avramov <hakavlad@inbox.lv>
    Reported-and-tested-by: Mike Galbraith <efault@gmx.de>
    Reported-and-tested-by: Darrick J. Wong <djwong@kernel.org>
    Reported-by: kernel test robot <lkp@intel.com>
    Acked-by: Hugh Dickins <hughd@google.com>
    Tracked-by: Thorsten Leemhuis <regressions@leemhuis.info>
    Fixes: 69392a4 ("mm/vmscan: throttle reclaim when no progress is being made")
    Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    gormanm authored and torvalds committed Dec 31, 2021
  3. Merge branch 'akpm' (patches from Andrew)

    Merge misc mm fixes from Andrew Morton:
     "2 patches.
    
      Subsystems affected by this patch series: mm (userfaultfd and damon)"
    
    * akpm:
      mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()'
      userfaultfd/selftests: fix hugetlb area allocations
    torvalds committed Dec 31, 2021
  4. Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/jejb/scsi
    
    Pull SCSI fixes from James Bottomley:
     "Three fixes, all in drivers. The lpfc one doesn't look exploitable,
      but nasty things could happen in string operations if mybuf ends up
      with an on stack unterminated string"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      scsi: vmw_pvscsi: Set residual data length conditionally
      scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown()
      scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write()
    torvalds committed Dec 31, 2021
  5. mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()'

    DAMON debugfs interface increases the reference counts of 'struct pid's
    for targets from the 'target_ids' file write callback
    ('dbgfs_target_ids_write()'), but decreases the counts only in DAMON
    monitoring termination callback ('dbgfs_before_terminate()').
    
    Therefore, when 'target_ids' file is repeatedly written without DAMON
    monitoring start/termination, the reference count is not decreased and
    therefore memory for the 'struct pid' cannot be freed.  This commit
    fixes this issue by decreasing the reference counts when 'target_ids' is
    written.
    
    Link: https://lkml.kernel.org/r/20211229124029.23348-1-sj@kernel.org
    Fixes: 4bc0595 ("mm/damon: implement a debugfs-based user space interface")
    Signed-off-by: SeongJae Park <sj@kernel.org>
    Cc: <stable@vger.kernel.org>	[5.15+]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    SeongJae Park authored and torvalds committed Dec 31, 2021
  6. userfaultfd/selftests: fix hugetlb area allocations

    Currently, userfaultfd selftest for hugetlb as run from run_vmtests.sh
    or any environment where there are 'just enough' hugetlb pages will
    always fail with:
    
      testing events (fork, remap, remove):
    		ERROR: UFFDIO_COPY error: -12 (errno=12, line=616)
    
    The ENOMEM error code implies there are not enough hugetlb pages.
    However, there are free hugetlb pages but they are all reserved.  There
    is a basic problem with the way the test allocates hugetlb pages which
    has existed since the test was originally written.
    
    Due to the way 'cleanup' was done between different phases of the test,
    this issue was masked until recently.  The issue was uncovered by commit
    8ba6e86 ("userfaultfd/selftests: reinitialize test context in each
    test").
    
    For the hugetlb test, src and dst areas are allocated as PRIVATE
    mappings of a hugetlb file.  This means that at mmap time, pages are
    reserved for the src and dst areas.  At the start of event testing (and
    other tests) the src area is populated which results in allocation of
    huge pages to fill the area and consumption of reserves associated with
    the area.  Then, a child is forked to fault in the dst area.  Note that
    the dst area was allocated in the parent and hence the parent owns the
    reserves associated with the mapping.  The child has normal access to
    the dst area, but can not use the reserves created/owned by the parent.
    Thus, if there are no other huge pages available allocation of a page
    for the dst by the child will fail.
    
    Fix by not creating reserves for the dst area.  In this way the child
    can use free (non-reserved) pages.
    
    Also, MAP_PRIVATE of a file only makes sense if you are interested in
    the contents of the file before making a COW copy.  The test does not do
    this.  So, just use MAP_ANONYMOUS | MAP_HUGETLB to create an anonymous
    hugetlb mapping.  There is no need to create a hugetlb file in the
    non-shared case.
    
    Link: https://lkml.kernel.org/r/20211217172919.7861-1-mike.kravetz@oracle.com
    Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Axel Rasmussen <axelrasmussen@google.com>
    Cc: Peter Xu <peterx@redhat.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Mina Almasry <almasrymina@google.com>
    Cc: Shuah Khan <shuah@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    mjkravetz authored and torvalds committed Dec 31, 2021
  7. Docs: Fixes link to I2C specification

    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: Deep Majumder <deep@fastmail.in>
    [wsa: minor updates to text and commit message]
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    Deep Majumder authored and Wolfram Sang committed Dec 31, 2021
  8. i2c: validate user data in compat ioctl

    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: syzbot+e417648b303855b91d8a@syzkaller.appspotmail.com
    Fixes: 7d5cb45 ("i2c compat ioctls: move to ->compat_ioctl()")
    Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    pskrgag authored and Wolfram Sang committed Dec 31, 2021
  9. Input: spaceball - fix parsing of movement data packets

    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: Leo 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: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    ewhac authored and dtor committed Dec 31, 2021
  10. Input: appletouch - initialize work before device registration

    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: 5a6eb67 ("Input: appletouch - improve powersaving for Geyser3 devices")
    Reported-and-tested-by: syzbot+b88c5eae27386b252bbd@syzkaller.appspotmail.com
    Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
    Link: https://lore.kernel.org/r/20211230141151.17300-1-paskripkin@gmail.com
    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    pskrgag authored and dtor committed Dec 31, 2021
  11. Merge tag 'drm-fixes-2021-12-31' of git://anongit.freedesktop.org/drm…

    …/drm
    
    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
    torvalds committed Dec 31, 2021
  12. Merge branch 'drm-misc-fixes' of ssh://git.freedesktop.org/git/drm/dr…

    …m-misc into drm-fixes
    
    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: Dave Airlie <airlied@redhat.com>
    airlied committed Dec 31, 2021

Commits on Dec 30, 2021

  1. fs/mount_setattr: always cleanup mount_kattr

    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: 9caccd4 ("fs: introduce MOUNT_ATTR_IDMAP")
    Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    brauner authored and torvalds committed Dec 30, 2021
  2. Merge tag 'net-5.16-rc8' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/netdev/net
    
    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
      ...
    torvalds committed Dec 30, 2021
  3. Merge tag 'char-misc-5.16' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/gregkh/char-misc
    
    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
    torvalds committed Dec 30, 2021
  4. Merge tag 'usb-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/gregkh/usb
    
    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.
    torvalds committed Dec 30, 2021
  5. fsl/fman: Fix missing put_device() call in fman_port_probe

    The reference taken by 'of_find_device_by_node()' must be released when
    not needed anymore.
    Add the corresponding 'put_device()' in the and error handling paths.
    
    Fixes: 18a6c85 ("fsl/fman: Add FMan Port Support")
    Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Yuuoniy authored and davem330 committed Dec 30, 2021
  6. selftests: net: using ping6 for IPv6 in udpgro_fwd.sh

    udpgro_fwd.sh output following message:
      ping: 2001:db8:1:💯 Address family for hostname not supported
    
    Using ping6 when pinging IPv6 addresses.
    
    Fixes: a062260 ("selftests: net: add UDP GRO forwarding self-tests")
    Signed-off-by: Jianguo Wu <wujianguo@chinatelecom.cn>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Jianguo Wu authored and davem330 committed Dec 30, 2021
  7. Documentation: fix outdated interpretation of ip_no_pmtu_disc

    The updating way of pmtu has changed, but documentation is still in the
    old way. So this patch updates the interpretation of ip_no_pmtu_disc and
    min_pmtu.
    
    See commit 28d35bc ("net: ipv4: don't let PMTU updates increase
    route MTU")
    
    Reported-by: Zeal Robot <zealci@zte.com.cn>
    Signed-off-by: xu xin <xu.xin16@zte.com.cn>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    xu xin authored and davem330 committed Dec 30, 2021
  8. Merge tag 'amd-drm-fixes-5.16-2021-12-29' of https://gitlab.freedeskt…

    …op.org/agd5f/linux into drm-fixes
    
    amd-drm-fixes-5.16-2021-12-29:
    
    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
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    From: Alex Deucher <alexander.deucher@amd.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211229155129.5789-1-alexander.deucher@amd.com
    airlied committed Dec 30, 2021
  9. Merge tag 'mlx5-fixes-2021-12-28' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/saeed/linux
    
    Saeed Mahameed says:
    
    ====================
    mlx5 fixes 2021-12-28
    
    This series provides bug fixes to mlx5 driver.
    
    * tag 'mlx5-fixes-2021-12-28' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
      net/mlx5e: Fix wrong features assignment in case of error
      net/mlx5e: TC, Fix memory leak with rules with internal port
    ====================
    
    Link: https://lore.kernel.org/r/20211229065352.30178-1-saeed@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Dec 30, 2021
  10. Merge tag 'drm-intel-fixes-2021-12-29' of git://anongit.freedesktop.o…

    …rg/drm/drm-intel into drm-fixes
    
    drm/i915 fixes for v5.16:
    - Fix possible uninitialized variable
    - Fix composite fence seqno icrement on each fence creation
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    From: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/87h7ark5r5.fsf@intel.com
    airlied committed Dec 30, 2021
  11. net/ncsi: check for error return from call to nla_put_u32

    As we can see from the comment of the nla_put() that it could return
    -EMSGSIZE if the tailroom of the skb is insufficient.
    Therefore, it should be better to check the return value of the
    nla_put_u32 and return the error code if error accurs.
    Also, there are many other functions have the same problem, and if this
    patch is correct, I will commit a new version to fix all.
    
    Fixes: 955dc68 ("net/ncsi: Add generic netlink family")
    Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
    Link: https://lore.kernel.org/r/20211229032118.1706294-1-jiasheng@iscas.ac.cn
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    JiangJias authored and Jakub Kicinski committed Dec 30, 2021
  12. net: bridge: mcast: fix br_multicast_ctx_vlan_global_disabled helper

    We need to first check if the context is a vlan one, then we need to
    check the global bridge multicast vlan snooping flag, and finally the
    vlan's multicast flag, otherwise we will unnecessarily enable vlan mcast
    processing (e.g. querier timers).
    
    Fixes: 7b54aaa ("net: bridge: multicast: add vlan state initialization and control")
    Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>
    Link: https://lore.kernel.org/r/20211228153142.536969-1-nikolay@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Nikolay Aleksandrov authored and Jakub Kicinski committed Dec 30, 2021
  13. net: fix use-after-free in tw_timer_handler

    A real world panic issue was found as follow in Linux 5.4.
    
        BUG: unable to handle page fault for address: ffffde49a863de28
        PGD 7e6fe62067 P4D 7e6fe62067 PUD 7e6fe63067 PMD f51e064067 PTE 0
        RIP: 0010:tw_timer_handler+0x20/0x40
        Call Trace:
         <IRQ>
         call_timer_fn+0x2b/0x120
         run_timer_softirq+0x1ef/0x450
         __do_softirq+0x10d/0x2b8
         irq_exit+0xc7/0xd0
         smp_apic_timer_interrupt+0x68/0x120
         apic_timer_interrupt+0xf/0x20
    
    This issue was also reported since 2017 in the thread [1],
    unfortunately, the issue was still can be reproduced after fixing
    DCCP.
    
    The ipv4_mib_exit_net is called before tcp_sk_exit_batch when a net
    namespace is destroyed since tcp_sk_ops is registered befrore
    ipv4_mib_ops, which means tcp_sk_ops is in the front of ipv4_mib_ops
    in the list of pernet_list. There will be a use-after-free on
    net->mib.net_statistics in tw_timer_handler after ipv4_mib_exit_net
    if there are some inflight time-wait timers.
    
    This bug is not introduced by commit f2bf415 ("mib: add net to
    NET_ADD_STATS_BH") since the net_statistics is a global variable
    instead of dynamic allocation and freeing. Actually, commit
    61a7e26 ("mib: put net statistics on struct net") introduces
    the bug since it put net statistics on struct net and free it when
    net namespace is destroyed.
    
    Moving init_ipv4_mibs() to the front of tcp_init() to fix this bug
    and replace pr_crit() with panic() since continuing is meaningless
    when init_ipv4_mibs() fails.
    
    [1] https://groups.google.com/g/syzkaller/c/p1tn-_Kc6l4/m/smuL_FMAAgAJ?pli=1
    
    Fixes: 61a7e26 ("mib: put net statistics on struct net")
    Signed-off-by: Muchun Song <songmuchun@bytedance.com>
    Cc: Cong Wang <cong.wang@bytedance.com>
    Cc: Fam Zheng <fam.zheng@bytedance.com>
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20211228104145.9426-1-songmuchun@bytedance.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Muchun Song authored and Jakub Kicinski committed Dec 30, 2021
  14. selftests: net: Fix a typo in udpgro_fwd.sh

    $rvs -> $rcv
    
    Fixes: a062260 ("selftests: net: add UDP GRO forwarding self-tests")
    Signed-off-by: Jianguo Wu <wujianguo@chinatelecom.cn>
    Link: https://lore.kernel.org/r/d247d7c8-a03a-0abf-3c71-4006a051d133@163.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jianguo Wu authored and Jakub Kicinski committed Dec 30, 2021
Older