Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Update 5.10.x+fslc up to v5.10.38 #345

Merged
merged 291 commits into from May 19, 2021
Merged

Conversation

zandrey
Copy link

@zandrey zandrey commented May 19, 2021

Automatic merge performed, no conflicts reported.

Kernel has been built for both aarch64 (defconfig) and arm32 (imx_v6_v7_defconfig).

-- andrey

Tiezhu Yang and others added 30 commits May 19, 2021 10:12
…LERATED

[ Upstream commit 5e65c52 ]

Loongson64 processors have a writecombine issue that maybe failed to
write back framebuffer used with ATI Radeon or AMD GPU at times, after
commit 8a08e50 ("drm: Permit video-buffers writecombine mapping
for MIPS"), there exists some errors such as blurred screen and lockup,
and so on.

[   60.958721] radeon 0000:03:00.0: ring 0 stalled for more than 10079msec
[   60.965315] radeon 0000:03:00.0: GPU lockup (current fence id 0x0000000000000112 last fence id 0x000000000000011d on ring 0)
[   60.976525] radeon 0000:03:00.0: ring 3 stalled for more than 10086msec
[   60.983156] radeon 0000:03:00.0: GPU lockup (current fence id 0x0000000000000374 last fence id 0x00000000000003a8 on ring 3)

As discussed earlier [1], it might be better to disable writecombine
on the CPU detection side because the root cause is unknown now.

Actually, this patch is a temporary solution to just make it work well,
it is not a proper and final solution, I hope someone will have a better
solution to fix this issue in the future.

[1] https://lore.kernel.org/patchwork/patch/1285542/

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 2b921b6 ]

If a graph node is not found for a given node, of_get_next_endpoint()
will emit the following error message :

 OF: graph: no port node found in /<node_name>

If the given component doesn't have any explicit connections (e.g,
ETE) we could simply ignore the graph parsing. As for any legacy
component where this is mandatory, the device will not be usable
as before this patch. Updating the DT bindings to Yaml and enabling
the schema checks can detect such issues with the DT.

Cc: Mike Leach <mike.leach@linaro.org>
Cc: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20210405164307.1720226-11-suzuki.poulose@arm.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit b536d4b ]

The completion ring for tx is using the wrong size to size the ring,
oversizing the ring by two orders of magniture.

Correct the allocation size and use kcalloc_node() to allocate the ring.
Fix mistaken GFP defines in similar allocations.

Link: https://lore.kernel.org/r/1617026056-50483-4-git-send-email-dennis.dalessandro@cornelisnetworks.com
Reviewed-by: Kaike Wan <kaike.wan@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit d6843d1 ]

After channel switch, we should consider any beacon with a
CSA IE as a new switch. If the CSA IE is a leftover from
before the switch that the AP forgot to remove, we'll get
a CSA-to-Self.

This caused issues in iwlwifi where the firmware saw a beacon
with a CSA-to-Self with mode = 1 on the new channel after a
switch. The firmware considered this a new switch and closed
its queues. Since the beacon didn't change between before and
after the switch, we wouldn't handle it (the CRC is the same)
and we wouldn't let the firmware open its queues again or
disconnect if the CSA IE stays for too long.

Clear the CRC valid state after we switch to make sure that
we handle the beacon and handle the CSA IE as required.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Link: https://lore.kernel.org/r/20210408143124.b9e68aa98304.I465afb55ca2c7d59f7bf610c6046a1fd732b4c28@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit fa0c10a ]

The Special Function Registers on all Exynos SoC, including ARM64, are
32-bit wide, so entire driver uses matching functions like readl() or
writel().  On 64-bit ARM using unsigned long for register masks:
1. makes little sense as immediately after bitwise operation it will be
   cast to 32-bit value when calling writel(),
2. is actually error-prone because it might promote other operands to
   64-bit.

Addresses-Coverity: Unintentional integer overflow
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Link: https://lore.kernel.org/r/20210408195029.69974-1-krzysztof.kozlowski@canonical.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 7ae7784 ]

Fix power tracking issue by replacing unnecessary IQ calibration
with LC calibration.
When thermal difference exceeds limitation, let RF circuit adjsut
its characteristic to fit in current environment.

Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210319054218.3319-6-pkshih@realtek.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 858ebf4 ]

EEPROM blobs for MT7613BE radios start with (little endian) 0x7663,
which is also the PCI device ID for this device. The EEPROM is required
for the radio to work at useful power levels, otherwise only the lowest
power level is available.

Suggested-by: Georgi Vlaev <georgi.vlaev@konsulko.com>
Tested-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 4b36cc6 ]

When operating two VAP on a MT7610 with encryption (PSK2, SAE, OWE),
only the first one to be created will transmit properly encrypteded
frames.

All subsequently created VAPs will sent out frames with the payload left
unencrypted, breaking multicast traffic (ICMP6 NDP) and potentially
disclosing information to a third party.

Disable GTK offloading and encrypt these frames in software to
circumvent this issue. THis only seems to be necessary on MT7610 chips,
as MT7612 is not affected from our testing.

Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit a226ccd ]

Fix incorrect txpower init value for TSSI off chips which causes
too small txpower.

Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 3466958 ]

In fuse when a direct/write-through write happens we invalidate attrs
because that might have updated mtime/ctime on server and cached
mtime/ctime will be stale.

What about page writeback path.  Looks like we don't invalidate attrs
there.  To be consistent, invalidate attrs in writeback path as well.  Only
exception is when writeback_cache is enabled.  In that case we strust local
mtime/ctime and there is no need to invalidate attrs.

Recently users started experiencing failure of xfstests generic/080,
geneirc/215 and generic/614 on virtiofs.  This happened only newer "stat"
utility and not older one.  This patch fixes the issue.

So what's the root cause of the issue.  Here is detailed explanation.

generic/080 test does mmap write to a file, closes the file and then checks
if mtime has been updated or not.  When file is closed, it leads to
flushing of dirty pages (and that should update mtime/ctime on server).
But we did not explicitly invalidate attrs after writeback finished.  Still
generic/080 passed so far and reason being that we invalidated atime in
fuse_readpages_end().  This is called in fuse_readahead() path and always
seems to trigger before mmaped write.

So after mmaped write when lstat() is called, it sees that atleast one of
the fields being asked for is invalid (atime) and that results in
generating GETATTR to server and mtime/ctime also get updated and test
passes.

But newer /usr/bin/stat seems to have moved to using statx() syscall now
(instead of using lstat()).  And statx() allows it to query only ctime or
mtime (and not rest of the basic stat fields).  That means when querying
for mtime, fuse_update_get_attr() sees that mtime is not invalid (only
atime is invalid).  So it does not generate a new GETATTR and fill stat
with cached mtime/ctime.  And that means updated mtime is not seen by
xfstest and tests start failing.

Invalidating attrs after writeback completion should solve this problem in
a generic manner.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 0a7419c ]

get_user_ns() is done twice (once in virtio_fs_get_tree() and once in
fuse_conn_init()), resulting in a reference leak.

Also looks better to use fsc->user_ns (which *should* be the
current_user_ns() at this point).

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 8217673 ]

For cloned connections cuse_channel_release() will be called more than
once, resulting in use after free.

Prevent device cloning for CUSE, which does not make sense at this point,
and highly unlikely to be used in real life.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 48a5494 ]

If we (for example) have a trans_cfg entry in the PCI IDs table,
but then don't find a full cfg entry for it in the info table,
we fall through to the code that treats the PCI ID table entry
as a full cfg entry. This obviously causes crashes later, e.g.
when trying to build the firmware name string.

Avoid such crashes by using the low bit of the pointer as a tag
for trans_cfg entries (automatically using a macro that checks
the type when assigning) and then checking that before trying to
use the data as a full entry - if it's just a partial entry at
that point, fail.

Since we're adding some macro magic, also check that the type is
in fact either struct iwl_cfg_trans_params or struct iwl_cfg,
failing compilation ("initializer element is not constant") if
it isn't.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210330162204.6f69fe6e4128.I921d4ae20ef5276716baeeeda0b001cf25b9b968@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit a5d6a3e ]

While removing large number of mappings from hash page tables for
large memory systems as soft-lockup is reported because of the time
spent inside htap_remove_mapping() like one below:

 watchdog: BUG: soft lockup - CPU#8 stuck for 23s!
 <snip>
 NIP plpar_hcall+0x38/0x58
 LR  pSeries_lpar_hpte_invalidate+0x68/0xb0
 Call Trace:
  0x1fffffffffff000 (unreliable)
  pSeries_lpar_hpte_removebolted+0x9c/0x230
  hash__remove_section_mapping+0xec/0x1c0
  remove_section_mapping+0x28/0x3c
  arch_remove_memory+0xfc/0x150
  devm_memremap_pages_release+0x180/0x2f0
  devm_action_release+0x30/0x50
  release_nodes+0x28c/0x300
  device_release_driver_internal+0x16c/0x280
  unbind_store+0x124/0x170
  drv_attr_store+0x44/0x60
  sysfs_kf_write+0x64/0x90
  kernfs_fop_write+0x1b0/0x290
  __vfs_write+0x3c/0x70
  vfs_write+0xd4/0x270
  ksys_write+0xdc/0x130
  system_call+0x5c/0x70

Fix this by adding a cond_resched() to the loop in
htap_remove_mapping() that issues hcall to remove hpte mapping. The
call to cond_resched() is issued every HZ jiffies which should prevent
the soft-lockup from being reported.

Suggested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210404163148.321346-1-vaibhav@linux.ibm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit a122a11 ]

Current rsnd needs to call .prepare (P) for clock settings,
.trigger for playback start (S) and stop (E).
It should be called as below from SSI point of view.

	P -> S -> E -> P -> S -> E -> ...

But, if you used MIXer, below case might happen

	              (2)
	1: P -> S ---> E -> ...
	2:         P ----> S -> ...
	          (1)     (3)

P(1) setups clock, but E(2) resets it. and starts playback (3).
In such case, it will reports "SSI parent/child should use same rate".

rsnd_ssi_master_clk_start() which is the main function at (P)
was called from rsnd_ssi_init() (= S) before,
but was moved by below patch to rsnd_soc_dai_prepare() (= P) to avoid
using clk_get_rate() which shouldn't be used under atomic context.

	commit 4d230d1 ("ASoC: rsnd: fixup not to call clk_get/set
				under non-atomic")

Because of above patch, rsnd_ssi_master_clk_start() is now called at (P)
which is for non atomic context. But (P) is assuming that spin lock is
*not* used.
One issue now is rsnd_ssi_master_clk_start() is checking ssi->xxx
which should be protected by spin lock.

After above patch, adg.c had below patch for other reasons.

	commit 06e8f5c ("ASoC: rsnd: don't call clk_get_rate()
				under atomic context")

clk_get_rate() is used at probe() timing by this patch.
In other words, rsnd_ssi_master_clk_start() is no longer using
clk_get_rate() any more.

This means we can call it from rsnd_ssi_init() (= S) again which is
protected by spin lock.
This patch re-move it to under spin lock, and solves
1. checking ssi->xxx without spin lock issue.
2. clk setting / device start / device stop race condition.

Reported-by: Linh Phung T. Y. <linh.phung.jy@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/875z0x1jt5.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 715601e ]

This reverts commit 6778ff5.

The original commit tries to address an issue, where PMC power-gating
causing the IOMMU PMC pre-init test to fail on certain desktop/mobile
platforms where the power-gating is normally enabled.

There have been several reports that the workaround still does not
guarantee to work, and can add up to 100 ms (on the worst case)
to the boot process on certain platforms such as the MSI B350M MORTAR
with AMD Ryzen 3 2200G.

Therefore, revert this commit as a prelude to removing the pre-init
test.

Link: https://lore.kernel.org/linux-iommu/alpine.LNX.3.20.13.2006030935570.3181@monopod.intra.ispras.ru/
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=201753
Cc: Tj (Elloe Linux) <ml.linux@elloe.vision>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: Alexander Monakov <amonakov@ispras.ru>
Cc: David Coe <david.coe@live.co.uk>
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Link: https://lore.kernel.org/r/20210409085848.3908-2-suravee.suthikulpanit@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 994d660 ]

In early AMD desktop/mobile platforms (during 2013), when the IOMMU
Performance Counter (PMC) support was first introduced in
commit 30861dd ("perf/x86/amd: Add IOMMU Performance Counter
resource management"), there was a HW bug where the counters could not
be accessed. The result was reading of the counter always return zero.

At the time, the suggested workaround was to add a test logic prior
to initializing the PMC feature to check if the counters can be programmed
and read back the same value. This has been working fine until the more
recent desktop/mobile platforms start enabling power gating for the PMC,
which prevents access to the counters. This results in the PMC support
being disabled unnecesarily.

Unfortunatly, there is no documentation of since which generation
of hardware the original PMC HW bug was fixed. Although, it was fixed
soon after the first introduction of the PMC. Base on this, we assume
that the buggy platforms are less likely to be in used, and it should
be relatively safe to remove this legacy logic.

Link: https://lore.kernel.org/linux-iommu/alpine.LNX.3.20.13.2006030935570.3181@monopod.intra.ispras.ru/
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=201753
Cc: Tj (Elloe Linux) <ml.linux@elloe.vision>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: Alexander Monakov <amonakov@ispras.ru>
Cc: David Coe <david.coe@live.co.uk>
Cc: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Tested-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://lore.kernel.org/r/20210409085848.3908-3-suravee.suthikulpanit@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 56d6378 ]

[Why]
Underflow observed when disabling PIP overlay in-game when
vsync is disabled, due to OTC master lock not working with
game pipe which is immediate flip.

[How]
When performing a full update, override flip_immediate value
to false for all planes, so that flip occurs on vsync.

Signed-off-by: Anthony Wang <anthony1.wang@amd.com>
Acked-by: Bindu Ramamurthy <bindur12@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 26e6dd1 ]

selftests/bpf/Makefile includes lib.mk. With the following command
  make -j60 LLVM=1 LLVM_IAS=1  <=== compile kernel
  make -j60 -C tools/testing/selftests/bpf LLVM=1 LLVM_IAS=1 V=1
some files are still compiled with gcc. This patch
fixed lib.mk issue which sets CC to gcc in all cases.

Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20210413153413.3027426-1-yhs@fb.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 8c94b43 ]

If the user selects the very first entry in a page and performs a
search-up operation, or selects the very last entry in a page and
performs a search-down operation that will not succeed (e.g., via
[/]asdfzzz[Up Arrow]), nconf will never terminate searching the page.

The reason is that in this case, the starting point will be set to -1
or n, which is then translated into (n - 1) (i.e., the last entry of
the page) or 0 (i.e., the first entry of the page) and finally the
search begins. This continues to work fine until the index reaches 0 or
(n - 1), at which point it will be decremented to -1 or incremented to
n, but not checked against the starting point right away. Instead, it's
wrapped around to the bottom or top again, after which the starting
point check occurs... and naturally fails.

My original implementation added another check for -1 before wrapping
the running index variable around, but Masahiro Yamada pointed out that
the actual issue is that the comparison point (starting point) exceeds
bounds (i.e., the [0,n-1] interval) in the first place and that,
instead, the starting point should be fixed.

This has the welcome side-effect of also fixing the case where the
starting point was n while searching down, which also lead to an
infinite loop.

OTOH, this code is now essentially all his work.

Amazingly, nobody seems to have been hit by this for 11 years - or at
the very least nobody bothered to debug and fix this.

Signed-off-by: Mihai Moldovan <ionic@ionic.de>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 26928ca ]

Lenovo Ideapad S740 requires quite a few COEF setups to make its
speakers working.  The verb table was provided from Ryan Prescott as
the result of investigation via qemu:
  https://github.com/ryanprescott/realtek-verb-tools/wiki/How-to-sniff-verbs-from-a-Windows-sound-driver

BugLink: thesofproject#2748
Tested-by: Ryan Prescott <ryan@cousinscomputers.net>
Link: https://lore.kernel.org/r/20210416081211.20059-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit d25bbe8 ]

Add quirks for jack detection, rt711 DAI and DMIC

Reviewed-by: Bard Liao <bard.liao@intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Vamshi Krishna Gopal <vamshi.krishna.gopal@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210415175013.192862-6-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 0c37e2e ]

When snd-hda-codec-hdmi is used with ASoC HDA controller like SOF (acomp
used for ELD notifications), display connection change done during suspend,
can be lost due to following sequence of events:

  1. system in S3 suspend
  2. DP/HDMI receiver connected
  3. system resumed
  4. HDA controller resumed, but card->deferred_resume_work not complete
  5. acomp eld_notify callback
  6. eld_notify ignored as power state is not CTL_POWER_D0
  7. HDA resume deferred work completed, power state set to CTL_POWER_D0

This results in losing the notification, and the jack state reported to
user-space is not correct.

The check on step 6 was added in commit 8ae743e ("ALSA: hda - Skip
ELD notification during system suspend"). It would seem with the deferred
resume logic in ASoC core, this check is not safe.

Fix the issue by modifying the check to use "dev.power.power_state.event"
instead of ALSA specific card power state variable.

BugLink: thesofproject#2825
Suggested-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210416131157.1881366-1-kai.vehmanen@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit e5272ad ]

Fix the following out-of-bounds warning:

net/sctp/sm_make_chunk.c:3150:4: warning: 'memcpy' offset [17, 28] from the object at 'addr' is out of the bounds of referenced subobject 'v4' with type 'struct sockaddr_in' at offset 0 [-Warray-bounds]

This helps with the ongoing efforts to globally enable -Warray-bounds
and get us closer to being able to tighten the FORTIFY_SOURCE routines
on memcpy().

Link: KSPP#109
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 1e3d976 ]

Fix the following out-of-bounds warning:

net/core/flow_dissector.c:835:3: warning: 'memcpy' offset [33, 48] from the object at 'flow_keys' is out of the bounds of referenced subobject 'ipv6_src' with type '__u32[4]' {aka 'unsigned int[4]'} at offset 16 [-Warray-bounds]

The problem is that the original code is trying to copy data into a
couple of struct members adjacent to each other in a single call to
memcpy().  So, the compiler legitimately complains about it. As these
are just a couple of members, fix this by copying each one of them in
separate calls to memcpy().

This helps with the ongoing efforts to globally enable -Warray-bounds
and get us closer to being able to tighten the FORTIFY_SOURCE routines
on memcpy().

Link: KSPP#109
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 6980d13 ]

Geethika reported a trace when doing a dlpar CPU add.

------------[ cut here ]------------
WARNING: CPU: 152 PID: 1134 at kernel/sched/topology.c:2057
CPU: 152 PID: 1134 Comm: kworker/152:1 Not tainted 5.12.0-rc5-master Freescale#5
Workqueue: events cpuset_hotplug_workfn
NIP:  c0000000001cfc14 LR: c0000000001cfc10 CTR: c0000000007e3420
REGS: c0000034a08eb260 TRAP: 0700   Not tainted  (5.12.0-rc5-master+)
MSR:  8000000000029033 <SF,EE,ME,IR,DR,RI,LE>  CR: 28828422  XER: 00000020
CFAR: c0000000001fd888 IRQMASK: 0 #012GPR00: c0000000001cfc10
c0000034a08eb500 c000000001f35400 0000000000000027 #012GPR04:
c0000035abaa8010 c0000035abb30a00 0000000000000027 c0000035abaa8018
#012GPR08: 0000000000000023 c0000035abaaef48 00000035aa540000
c0000035a49dffe8 #012GPR12: 0000000028828424 c0000035bf1a1c80
0000000000000497 0000000000000004 #012GPR16: c00000000347a258
0000000000000140 c00000000203d468 c000000001a1a490 #012GPR20:
c000000001f9c160 c0000034adf70920 c0000034aec9fd20 0000000100087bd3
#012GPR24: 0000000100087bd3 c0000035b3de09f8 0000000000000030
c0000035b3de09f8 #012GPR28: 0000000000000028 c00000000347a280
c0000034aefe0b00 c0000000010a2a68
NIP [c0000000001cfc14] build_sched_domains+0x6a4/0x1500
LR [c0000000001cfc10] build_sched_domains+0x6a0/0x1500
Call Trace:
[c0000034a08eb500] [c0000000001cfc10] build_sched_domains+0x6a0/0x1500 (unreliable)
[c0000034a08eb640] [c0000000001d1e6c] partition_sched_domains_locked+0x3ec/0x530
[c0000034a08eb6e0] [c0000000002936d4] rebuild_sched_domains_locked+0x524/0xbf0
[c0000034a08eb7e0] [c000000000296bb0] rebuild_sched_domains+0x40/0x70
[c0000034a08eb810] [c000000000296e74] cpuset_hotplug_workfn+0x294/0xe20
[c0000034a08ebc30] [c000000000178dd0] process_one_work+0x300/0x670
[c0000034a08ebd10] [c0000000001791b8] worker_thread+0x78/0x520
[c0000034a08ebda0] [c000000000185090] kthread+0x1a0/0x1b0
[c0000034a08ebe10] [c00000000000ccec] ret_from_kernel_thread+0x5c/0x70
Instruction dump:
7d2903a6 4e800421 e8410018 7f67db78 7fe6fb78 7f45d378 7f84e378 7c681b78
3c62ff1a 3863c6f8 4802dc35 60000000 <0fe00000> 3920fff4 f9210070 e86100a0
---[ end trace 532d9066d3d4d7ec ]---

Some of the per-CPU masks use cpu_cpu_mask as a filter to limit the search
for related CPUs. On a dlpar add of a CPU, update cpu_cpu_mask before
updating the per-CPU masks. This will ensure the cpu_cpu_mask is updated
correctly before its used in setting the masks. Setting the numa_node will
ensure that when cpu_cpu_mask() gets called, the correct node number is
used. This code movement helped fix the above call trace.

Reported-by: Geetika Moolchandani <Geetika.Moolchandani1@ibm.com>
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Reviewed-by: Nathan Lynch <nathanl@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210401154200.150077-1-srikar@linux.vnet.ibm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit aa2f9c1 ]

The ALC3263 codec on the XPS 13 9343 is also found on the Latitude 13 7350
and Venue 11 Pro 7140. They require the same handling for the combo jack to
work with a headset: GPIO pin 6 must be set.

The HDA driver always sets this pin on the ALC3263, which it distinguishes
by the codec vendor/device ID 0x10ec0288 and PCI subsystem vendor ID 0x1028
(Dell). The ASoC driver does not use PCI, so adapt this check to use DMI to
determine if Dell is the system vendor.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=150601
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=205961
Signed-off-by: David Ward <david.ward@gatech.edu>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210418134658.4333-6-david.ward@gatech.edu
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
…_user()

[ Upstream commit c1d9e34 ]

Fix the following out-of-bounds warning:

net/ethtool/ioctl.c:492:2: warning: 'memcpy' offset [49, 84] from the object at 'link_usettings' is out of the bounds of referenced subobject 'base' with type 'struct ethtool_link_settings' at offset 0 [-Warray-bounds]

The problem is that the original code is trying to copy data into a
some struct members adjacent to each other in a single call to
memcpy(). This causes a legitimate compiler warning because memcpy()
overruns the length of &link_usettings.base. Fix this by directly
using &link_usettings and _from_ as destination and source addresses,
instead.

This helps with the ongoing efforts to globally enable -Warray-bounds
and get us closer to being able to tighten the FORTIFY_SOURCE routines
on memcpy().

Link: KSPP#109
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit ed8157f ]

There is a reproducible sequence from the userland that will trigger a WARN_ON()
condition in taprio_get_start_time, which causes kernel to panic if configured
as "panic_on_warn". Catch this condition in parse_taprio_schedule to
prevent this condition.

Reported as bug on syzkaller:
https://syzkaller.appspot.com/bug?extid=d50710fd0873a9c6b40c

Reported-by: syzbot+d50710fd0873a9c6b40c@syzkaller.appspotmail.com
Signed-off-by: Du Cheng <ducheng2@gmail.com>
Acked-by: Cong Wang <cong.wang@bytedance.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 137733d ]

>From commit c0bbbdc ("__netif_receive_skb_core: pass skb by
reference"), the first argument passed into __netif_receive_skb_core
has changed to reference of a skb pointer.

This commit fixes by using bpf_probe_read_kernel.

Signed-off-by: Yaqi Chen <chendotjs@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20210416154803.37157-1-chendotjs@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
maciej-w-rozycki and others added 25 commits May 19, 2021 10:13
commit c1d337d upstream.

We already check the high part of the divident against zero to avoid the
costly DIVU instruction in that case, needed to reduce the high part of
the divident, so we may well check against the divisor instead and set
the high part of the quotient to zero right away.  We need to treat the
high part the divident in that case though as the remainder that would
be calculated by the DIVU instruction we avoided.

This has passed correctness verification with test_div64 and reduced the
module's average execution time down to 1.0445s and 0.2619s from 1.0668s
and 0.2629s respectively for an R3400 CPU @40MHz and a 5Kc CPU @160MHz.

Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 25ab14c upstream.

Remove the inline asm with a DIVU instruction from `__div64_32' and use
plain C code for the intended DIVMOD calculation instead.  GCC is smart
enough to know that both the quotient and the remainder are calculated
with single DIVU, so with ISAs up to R5 the same instruction is actually
produced with overall similar code.

For R6 compiled code will work, but separate DIVU and MODU instructions
will be produced, which are also interlocked, so scalar implementations
will likely not perform as well as older ISAs with their asynchronous MD
unit.  Likely still faster then the generic algorithm though.

This removes a compilation error for R6 however where the original DIVU
instruction is not supported anymore and the MDU accumulator registers
have been removed and consequently GCC complains as to a constraint it
cannot find a register for:

In file included from ./include/linux/math.h:5,
                 from ./include/linux/kernel.h:13,
                 from mm/page-writeback.c:15:
./include/linux/math64.h: In function 'div_u64_rem':
./arch/mips/include/asm/div64.h:76:17: error: inconsistent operand constraints in an 'asm'
   76 |                 __asm__("divu   $0, %z1, %z2"                           \
      |                 ^~~~~~~
./include/asm-generic/div64.h:245:25: note: in expansion of macro '__div64_32'
  245 |                 __rem = __div64_32(&(n), __base);       \
      |                         ^~~~~~~~~~
./include/linux/math64.h:91:22: note: in expansion of macro 'do_div'
   91 |         *remainder = do_div(dividend, divisor);
      |                      ^~~~~~

This has passed correctness verification with test_div64 and reduced the
module's average execution time down to 1.0404s from 1.0445s with R3400
@40MHz.  The module's MIPS I machine code has also shrunk by 12 bytes or
3 instructions.

Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 3efe7a8 upstream.

There is a timer wrap issue on dra7 for the ARM architected timer.
In a typical clock configuration the timer fails to wrap after 388 days.

To work around the issue, we need to use timer-ti-dm timers instead.

Let's prepare for adding support for percpu timers by adding a common
dmtimer_clkevt_init_common() and call it from dmtimer_clockevent_init().
This patch makes no intentional functional changes.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20210323074326.28302-2-tony@atomide.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 25de4ce upstream.

There is a timer wrap issue on dra7 for the ARM architected timer.
In a typical clock configuration the timer fails to wrap after 388 days.

To work around the issue, we need to use timer-ti-dm percpu timers instead.

Let's configure dmtimer3 and 4 as percpu timers by default, and warn about
the issue if the dtb is not configured properly.

Let's do this as a single patch so it can be backported to v5.8 and later
kernels easily. Note that this patch depends on earlier timer-ti-dm
systimer posted mode fixes, and a preparatory clockevent patch
"clocksource/drivers/timer-ti-dm: Prepare to handle dra7 timer wrap issue".

For more information, please see the errata for "AM572x Sitara Processors
Silicon Revisions 1.1, 2.0":

https://www.ti.com/lit/er/sprz429m/sprz429m.pdf

The concept is based on earlier reference patches done by Tero Kristo and
Keerthy.

Cc: Keerthy <j-keerthy@ti.com>
Cc: Tero Kristo <kristo@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20210323074326.28302-3-tony@atomide.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit e9a2f8b upstream

Before moving the DT mapping out of the linear region, let's prepare
for this change by removing all the phys-to-virt translations of the
__atags_pointer variable, and perform this translation only once at
setup time.

Tested-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 7a1be31 upstream

On ARM, setting up the linear region is tricky, given the constraints
around placement and alignment of the memblocks, and how the kernel
itself as well as the DT are placed in physical memory.

Let's simplify matters a bit, by moving the device tree mapping to the
top of the address space, right between the end of the vmalloc region
and the start of the the fixmap region, and create a read-only mapping
for it that is independent of the size of the linear region, and how it
is organized.

Since this region was formerly used as a guard region, which will now be
populated fully on LPAE builds by this read-only mapping (which will
still be able to function as a guard region for stray writes), bump the
start of the [underutilized] fixmap region by 512 KB as well, to ensure
that there is always a proper guard region here. Doing so still leaves
ample room for the fixmap space, even with NR_CPUS set to its maximum
value of 32.

Tested-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
…irtual address

commit fc2933c upstream

Commit

  149a3ffe62b9dbc3 ("9012/1: move device tree mapping out of linear region")

created a permanent, read-only section mapping of the device tree blob
provided by the firmware, and added a set of macros to get the base and
size of the virtually mapped FDT based on the physical address. However,
while the mapping code uses the SECTION_SIZE macro correctly, the macros
use PMD_SIZE instead, which means something entirely different on ARM when
using short descriptors, and is therefore not the right quantity to use
here. So replace PMD_SIZE with SECTION_SIZE. While at it, change the names
of the macro and its parameter to clarify that it returns the virtual
address of the start of the FDT, based on the physical address in memory.

Tested-by: Joel Stanley <joel@jms.id.au>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
…physical section

commit 10fce53 upstream

The early ATAGS/DT mapping code uses SECTION_SHIFT to mask low order
bits of R2, and decides that no ATAGS/DTB were provided if the resulting
value is 0x0.

This means that on systems where DRAM starts at 0x0 (such as Raspberry
Pi), no explicit mapping of the DT will be created if R2 points into the
first 1 MB section of memory. This was not a problem before, because the
decompressed kernel is loaded at the base of DRAM and mapped using
sections as well, and so as long as the DT is referenced via a virtual
address that uses the same translation (the linear map, in this case),
things work fine.

However, commit 7a1be31 ("9012/1: move device tree mapping out of
linear region") changes this, and now the DT is referenced via a virtual
address that is disjoint from the linear mapping of DRAM, and so we need
the early code to create the DT mapping unconditionally.

So let's create the early DT mapping for any value of R2 != 0x0.

Reported-by: "kernelci.org bot" <bot@kernelci.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 374157f upstream.

"usb: typec: tcpm: Address incorrect values of tcpm psy for pps supply"
introduced a regression for req_out_volt and req_op_curr calculation.

req_out_volt should consider the newly calculated max voltage instead
of previously accepted max voltage by the port partner. Likewise,
req_op_curr should consider the newly calculated max current instead
of previously accepted max current by the port partner.

Fixes: e3a0720 ("usb: typec: tcpm: Address incorrect values of tcpm psy for pps supply")
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Link: https://lore.kernel.org/r/20210415050121.1928298-1-badhri@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit b410418 upstream.

syzbot can trigger the WARN() in init_uevent_argv() which isn't the
nicest as the code does properly recover and handle the error.  So
change the WARN() call to pr_warn() and provide some more information on
what the buffer size that was needed.

Link: https://lore.kernel.org/r/20201107082206.GA19079@kroah.com
Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: linux-kernel@vger.kernel.org
Reported-by: syzbot+92340f7b2b4789907fdb@syzkaller.appspotmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20210405094852.1348499-1-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit ea99521 upstream.

Our code analyzer reported a double free bug.

In gen8_preallocate_top_level_pdp, pde and pde->pt.base are allocated
via alloc_pd(vm) with one reference. If pin_pt_dma() failed, pde->pt.base
is freed by i915_gem_object_put() with a reference dropped. Then free_pd
calls free_px() defined in intel_ppgtt.c, which calls i915_gem_object_put()
to put pde->pt.base again.

As pde->pt.base is protected by refcount, so the second put will not free
pde->pt.base actually. But, maybe it is better to remove the first put?

Fixes: 82adf90 ("drm/i915/gt: Shrink i915_page_directory's slab bucket")
Signed-off-by: Lv Yunlong <lyl2019@mail.ustc.edu.cn>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210426124340.4238-1-lyl2019@mail.ustc.edu.cn
(cherry picked from commit ac69496)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 04d0199 upstream.

We've defined C0DRB3/C1DRB3 as 16 bit registers, so access them
as such.

Fixes: 1c8242c ("drm/i915: Use unchecked writes for setting up the fences")
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210421153401.13847-3-ville.syrjala@linux.intel.com
(cherry picked from commit f765a5b)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit a915fe5 upstream.

__i915_active_call annotation is required on the retire callback to ensure
correct function alignment.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Fixes: a21ce8a ("drm/i915/overlay: Switch to using i915_active tracking")
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210429083530.849546-1-tvrtko.ursulin@linux.intel.com
(cherry picked from commit d8e44e4)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 402be8a upstream.

The retire logic uses the 2 lower bits of the pointer to the retire
function to store flags. However, the auto_retire function is not
guaranteed to be aligned to a multiple of 4, which causes crashes as
we jump to the wrong address, for example like this:

2021-04-24T18:03:53.804300Z WARNING kernel: [  516.876901] invalid opcode: 0000 [Freescale#1] PREEMPT SMP NOPTI
2021-04-24T18:03:53.804310Z WARNING kernel: [  516.876906] CPU: 7 PID: 146 Comm: kworker/u16:6 Tainted: G     U            5.4.105-13595-g3cd84167b2df Freescale#1
2021-04-24T18:03:53.804311Z WARNING kernel: [  516.876907] Hardware name: Google Volteer2/Volteer2, BIOS Google_Volteer2.13672.76.0 02/22/2021
2021-04-24T18:03:53.804312Z WARNING kernel: [  516.876911] Workqueue: events_unbound active_work
2021-04-24T18:03:53.804313Z WARNING kernel: [  516.876914] RIP: 0010:auto_retire+0x1/0x20
2021-04-24T18:03:53.804314Z WARNING kernel: [  516.876916] Code: e8 01 f2 ff ff eb 02 31 db 48 89 d8 5b 5d c3 0f 1f 44 00 00 55 48 89 e5 f0 ff 87 c8 00 00 00 0f 88 ab 47 4a 00 31 c0 5d c3 0f <1f> 44 00 00 55 48 89 e5 f0 ff 8f c8 00 00 00 0f 88 9a 47 4a 00 74
2021-04-24T18:03:53.804319Z WARNING kernel: [  516.876918] RSP: 0018:ffff9b4d809fbe38 EFLAGS: 00010286
2021-04-24T18:03:53.804320Z WARNING kernel: [  516.876919] RAX: 0000000000000007 RBX: ffff927915079600 RCX: 0000000000000007
2021-04-24T18:03:53.804320Z WARNING kernel: [  516.876921] RDX: ffff9b4d809fbe40 RSI: 0000000000000286 RDI: ffff927915079600
2021-04-24T18:03:53.804321Z WARNING kernel: [  516.876922] RBP: ffff9b4d809fbe68 R08: 8080808080808080 R09: fefefefefefefeff
2021-04-24T18:03:53.804321Z WARNING kernel: [  516.876924] R10: 0000000000000010 R11: ffffffff92e44bd8 R12: ffff9279150796a0
2021-04-24T18:03:53.804322Z WARNING kernel: [  516.876925] R13: ffff92791c368180 R14: ffff927915079640 R15: 000000001c867605
2021-04-24T18:03:53.804323Z WARNING kernel: [  516.876926] FS:  0000000000000000(0000) GS:ffff92791ffc0000(0000) knlGS:0000000000000000
2021-04-24T18:03:53.804323Z WARNING kernel: [  516.876928] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
2021-04-24T18:03:53.804324Z WARNING kernel: [  516.876929] CR2: 0000239514955000 CR3: 00000007f82da001 CR4: 0000000000760ee0
2021-04-24T18:03:53.804325Z WARNING kernel: [  516.876930] PKRU: 55555554
2021-04-24T18:03:53.804325Z WARNING kernel: [  516.876931] Call Trace:
2021-04-24T18:03:53.804326Z WARNING kernel: [  516.876935]  __active_retire+0x77/0xcf
2021-04-24T18:03:53.804326Z WARNING kernel: [  516.876939]  process_one_work+0x1da/0x394
2021-04-24T18:03:53.804327Z WARNING kernel: [  516.876941]  worker_thread+0x216/0x375
2021-04-24T18:03:53.804327Z WARNING kernel: [  516.876944]  kthread+0x147/0x156
2021-04-24T18:03:53.804335Z WARNING kernel: [  516.876946]  ? pr_cont_work+0x58/0x58
2021-04-24T18:03:53.804335Z WARNING kernel: [  516.876948]  ? kthread_blkcg+0x2e/0x2e
2021-04-24T18:03:53.804336Z WARNING kernel: [  516.876950]  ret_from_fork+0x1f/0x40
2021-04-24T18:03:53.804336Z WARNING kernel: [  516.876952] Modules linked in: cdc_mbim cdc_ncm cdc_wdm xt_cgroup rfcomm cmac algif_hash algif_skcipher af_alg xt_MASQUERADE uinput snd_soc_rt5682_sdw snd_soc_rt5682 snd_soc_max98373_sdw snd_soc_max98373 snd_soc_rl6231 regmap_sdw snd_soc_sof_sdw snd_soc_hdac_hdmi snd_soc_dmic snd_hda_codec_hdmi snd_sof_pci snd_sof_intel_hda_common intel_ipu6_psys snd_sof_xtensa_dsp soundwire_intel soundwire_generic_allocation soundwire_cadence snd_sof_intel_hda snd_sof snd_soc_hdac_hda snd_soc_acpi_intel_match snd_soc_acpi snd_hda_ext_core soundwire_bus snd_hda_intel snd_intel_dspcfg snd_hda_codec snd_hwdep snd_hda_core intel_ipu6_isys videobuf2_dma_contig videobuf2_v4l2 videobuf2_common videobuf2_memops mei_hdcp intel_ipu6 ov2740 ov8856 at24 sx9310 dw9768 v4l2_fwnode cros_ec_typec intel_pmc_mux roles acpi_als typec fuse iio_trig_sysfs cros_ec_light_prox cros_ec_lid_angle cros_ec_sensors cros_ec_sensors_core industrialio_triggered_buffer cros_ec_sensors_ring kfifo_buf industrialio cros_ec_sensorhub
2021-04-24T18:03:53.804337Z WARNING kernel: [  516.876972]  cdc_ether usbnet iwlmvm lzo_rle lzo_compress iwl7000_mac80211 iwlwifi zram cfg80211 r8152 mii btusb btrtl btintel btbcm bluetooth ecdh_generic ecc joydev
2021-04-24T18:03:53.804337Z EMERG kernel: [  516.879169] gsmi: Log Shutdown Reason 0x03

This change fixes this by aligning the function.

Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
Fixes: 229007e ("drm/i915: Wrap i915_active in a simple kreffed struct")
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210429031021.1218091-1-marcheu@chromium.org
(cherry picked from commit ca419f4)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 34138a5 upstream.

This clock must be always enabled to allow access to any registers in
fsys1 CMU. Until proper solution based on runtime PM is applied
(similar to what was done for Exynos5433), mark that clock as critical
so it won't be disabled.

It was observed on Samsung Galaxy S6 device (based on Exynos7420), where
UFS module is probed before pmic used to power that device.
In this case defer probe was happening and that clock was disabled by
UFS driver, causing whole boot to hang on next CMU access.

Fixes: 753195a ("clk: samsung: exynos7: Correct CMU_FSYS1 clocks names")
Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/linux-clk/20201024154346.9589-1-pawel.mikolaj.chmiel@gmail.com
[s.nawrocki: Added comment in the code]
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit c2357dd upstream.

When building with CONFIG_OF not set, the following clang
build warning is seen:

>> drivers/staging/media/rkvdec/rkvdec.c:967:34: warning: unused variable 'of_rkvdec_match' [-Wunused-const-variable]

Fix the warning by removing the unnecessary of_match_ptr().

Reported-by: kernel test robot <lkp@intel.com>
Fixes: cd33c83 ("media: rkvdec: Add the rkvdec driver")
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 63ce8e3 upstream.

There are some omissions in the previous patch about replacing
I2C_MAX_FAST_MODE__FREQ with I2C_MAX_FAST_MODE_PLUS_FREQ and
need to fix it.

Fixes: b44658e("i2c: mediatek: Send i2c master code at more than 1MHz")
Signed-off-by: Qii Wang <qii.wang@mediatek.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 7935bb5 upstream.

The "resets" property is not present on R-Car Gen1 SoCs.
Supporting it would require migrating from renesas,cpg-clocks to
renesas,cpg-mssr.

Fixes: 905fc6b ("dt-bindings: rcar-vin: Convert bindings to json-schema")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Link: https://lore.kernel.org/r/217c8197efaee7d803b22d433abb0ea8e33b84c6.1619700314.git.geert+renesas@glider.be
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit a7277a7 upstream.

The compatible strings "mediatek,*" appears two times, remove one of them.

Fixes: e69f5dc ("dt-bindings: serial: Convert 8250 to json-schema")
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20210422090857.583-1-thunder.leizhen@huawei.com
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 312723a upstream.

Since debugfs_allow is only set at boot time during __init, make it
read-only after being set.

Fixes: a24c6f7 ("debugfs: Add access restriction option")
Cc: Peter Enderborg <peter.enderborg@sony.com>
Reviewed-by: Peter Enderborg <peter.enderborg@sony.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20210405213959.3079432-1-keescook@chromium.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit fcdf3c3 upstream.

Using no_printk() for jbd_debug() revealed two warnings:

fs/jbd2/recovery.c: In function 'fc_do_one_pass':
fs/jbd2/recovery.c:256:30: error: format '%d' expects a matching 'int' argument [-Werror=format=]
  256 |                 jbd_debug(3, "Processing fast commit blk with seq %d");
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ext4/fast_commit.c: In function 'ext4_fc_replay_add_range':
fs/ext4/fast_commit.c:1732:30: error: format '%d' expects argument of type 'int', but argument 2 has type 'long unsigned int' [-Werror=format=]
 1732 |                 jbd_debug(1, "Converting from %d to %d %lld",

The first one was added incorrectly, and was also missing a few newlines
in debug output, and the second one happened when the type of an
argument changed.

Reported-by: kernel test robot <lkp@intel.com>
Fixes: d556435 ("jbd2: avoid -Wempty-body warnings")
Fixes: 6db0746 ("ext4: use BIT() macro for BH_** state bits")
Fixes: 5b849b5 ("jbd2: fast commit recovery path")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20210409201211.1866633-1-arnd@kernel.org
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 53fe2a3 upstream.

Do not call nvme_configure_apst when the controller is not live, given
that nvme_configure_apst will fail due the lack of an admin queue when
the controller is being torn down and nvme_set_latency_tolerance is
called from dev_pm_qos_hide_latency_tolerance.

Fixes: 510a405("nvme: fix memory leak for power latency tolerance")
Reported-by: Peng Liu <liupeng17@lenovo.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit a4856e1 upstream.

commit 66c705d ("SoC: rsnd: add interrupt support for SSI BUSIF
buffer") adds __rsnd_ssi_interrupt() checks for BUSIF status,
but is using "break" at for loop.
This means it is not checking all status. Let's check all BUSIF status.

Fixes: commit 66c705d ("SoC: rsnd: add interrupt support for SSI BUSIF buffer")
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/874kgh1jsw.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Fox Chen <foxhlchen@gmail.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Salvatore Bonaccorso <carnil@debian.org>
Tested-by: Pavel Machek (CIP) <pavel@denx.de>
Tested-by: Shuah Khan <skhan@linuxfoundation.org>
Tested-by: Jason Self <jason@bluehome.net>
Tested-by: Joel Stanley <joel@jms.id.au>
Tested-by: Hulk Robot <hulkrobot@huawei.com>
Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20210517140305.140529752@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This is the 5.10.38 stable release

Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
@otavio otavio merged commit 892817b into Freescale:5.10.x+fslc May 19, 2021
zandrey added a commit to zandrey/meta-freescale that referenced this pull request May 25, 2021
Kernel repository has been upgraded to v5.10.38 from stable korg.

Following upstream commits are included in this version:
----
689e89aee55c Linux 5.10.38
ed350825e89a ASoC: rsnd: check all BUSIF status when error
cd709c8e06b6 nvme: do not try to reconfigure APST when the controller is not live
054add24a869 ext4: fix debug format string warning
c5dffd422145 debugfs: Make debugfs_allow RO after init
81cb4f36d62c dt-bindings: serial: 8250: Remove duplicated compatible strings
c1514ad24c3e dt-bindings: media: renesas,vin: Make resets optional on R-Car Gen1
c4e3d8cf615b i2c: mediatek: Fix send master code at more than 1MHz
667627fa85a8 media: rkvdec: Remove of_match_ptr()
b0402e785351 clk: exynos7: Mark aclk_fsys1_200 as critical
805c990a9c54 drm/i915: Fix crash in auto_retire
cd47b861d225 drm/i915/overlay: Fix active retire callback alignment
a67c80dcb403 drm/i915: Read C0DRB3/C1DRB3 as 16 bits again
17928443db88 drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp
20530f7fde75 kobject_uevent: remove warning in init_uevent_argv()
6ece86e9e88f usb: typec: tcpm: Fix error while calculating PPS out values
5d2f09c44ff2 ARM: 9027/1: head.S: explicitly map DT even if it lives in the first physical section
ac421c7f90c8 ARM: 9020/1: mm: use correct section size macro to describe the FDT virtual address
1eb77569029d ARM: 9012/1: move device tree mapping out of linear region
6cdbafc2addd ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address
6d5fda434b1f clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940
06470de53e4f clocksource/drivers/timer-ti-dm: Prepare to handle dra7 timer wrap issue
462049cfb342 MIPS: Avoid handcoded DIVU in `__div64_32' altogether
d17af8b19d99 MIPS: Avoid DIVU in `__div64_32' is result would be zero
d2abb95bb1a4 MIPS: Reinstate platform `__div64_32' handler
cfddf6a685e3 mm: fix struct page layout on 32-bit systems
89bd62079870 iommu/vt-d: Remove WO permissions on second-level paging entries
0160f627929c iommu/vt-d: Preset Access/Dirty bits for IOVA over FL
a282b76166b1 Revert "iommu/vt-d: Preset Access/Dirty bits for IOVA over FL"
c1f2d0beab5c Revert "iommu/vt-d: Remove WO permissions on second-level paging entries"
31f29749ee97 KVM: VMX: Disable preemption when probing user return MSRs
79abde761e05 KVM: VMX: Do not advertise RDPID if ENABLE_RDTSCP control is unsupported
c8bf64e3fb77 KVM: nVMX: Always make an attempt to map eVMCS after migration
2f86dd3d2bcf KVM: x86: Move RDPID emulation intercept to its own enum
abbf8c99a9e1 KVM: x86: Emulate RDPID only if RDTSCP is supported
8a7027f011c5 xen/gntdev: fix gntdev_mmap() error exit path
652c9689f589 cdc-wdm: untangle a circular dependency between callback and softint
12d16c24f35f iio: tsl2583: Fix division by a zero lux_val
e8c6852bdba2 iio: gyro: mpu3050: Fix reported temperature value
70698dda4bca xhci: Add reset resume quirk for AMD xhci controller.
9d9526cc3c01 xhci: Do not use GFP_KERNEL in (potentially) atomic context
ca043cc02a88 xhci-pci: Allow host runtime PM as default for Intel Alder Lake xHCI
fa4b1363256d usb: typec: ucsi: Put fwnode in any case during ->probe()
e5366bea0277 usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4
9bd96a2e77fd usb: dwc3: gadget: Return success always for kick transfer in ep queue
45f37f54e7c1 usb: dwc3: gadget: Enable suspend events
9238492b9a84 usb: core: hub: fix race condition about TRSMRCY of resume
45ad6b592e64 usb: dwc2: Fix gadget DMA unmap direction
7ad9256b49a6 usb: xhci: Increase timeout for HC halt
42bb80ae0165 usb: dwc3: pci: Enable usb2-gadget-lpm-disable for Intel Merrifield
95e3da5b53ba usb: dwc3: omap: improve extcon initialization
3a96437f6bf8 blk-mq: Swap two calls in blk_mq_exit_queue()
c9c1ed08c174 blk-mq: plug request for shared sbitmap
cde4b55cfb24 nbd: Fix NULL pointer in flush_workqueue
a9fc163514d2 f2fs: compress: fix to assign cc.cluster_idx correctly
5639b73fd3bc f2fs: compress: fix race condition of overwrite vs truncate
72b0f3077ebd f2fs: compress: fix to free compress page correctly
64f3410c7bfc nvmet-rdma: Fix NULL deref when SEND is completed with error
c98ecfb18296 nvmet: fix inline bio check for bdev-ns
f8ae879b776c nvmet: add lba to sect conversion helpers
54dbe2d2c1fc kyber: fix out of bounds access when preempted
e2381174daea ACPI: scan: Fix a memory leak in an error handling path
a8dc16bbfe29 usb: musb: Fix an error message
550473900f80 hwmon: (occ) Fix poll rate limiting
0becd19b211a usb: fotg210-hcd: Fix an error message
2c3b4375e118 iio: hid-sensors: select IIO_TRIGGERED_BUFFER under HID_SENSOR_IIO_TRIGGER
020fe6f80f4f iio: proximity: pulsedlight: Fix rumtime PM imbalance on error
9db8ba3cac05 iio: light: gp2ap002: Fix rumtime PM imbalance on error
1ea775021282 usb: dwc3: gadget: Free gadget structure only after freeing endpoints
26c777470d57 perf tools: Fix dynamic libbpf link
1d8d7e02f6d0 xen/unpopulated-alloc: fix error return code in fill_list()
058122572676 xen/unpopulated-alloc: consolidate pgmap manipulation
9eaa10be0c08 dax: Wake up all waiters after invalidating dax entry
e9e70b78e163 dax: Add a wakeup mode parameter to put_unlocked_entry()
b93d3410e789 dax: Add an enum for specifying dax wakup mode
b9c663dc9a83 KVM: x86: Prevent deadlock against tk_core.seq
8aa7227a5d9b KVM: x86: Cancel pvclock_gtod_work on module removal
1fe269372244 drm/msm/dp: initialize audio_comp when audio starts
2e0ce36d0bf6 KVM: LAPIC: Accurately guarantee busy wait for timer to expire when using hv_timer
ce7639252357 kvm: exit halt polling on need_resched() as well
970c978d0591 drm/i915: Avoid div-by-zero on gen2
86cd6072157c drm/amd/display: Initialize attribute for hdcp_srm sysfs file
5a6fe45a3a7f drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected
bccb7dd137ad btrfs: fix race leading to unpersisted data and metadata on fsync
d6d66dbd5adc arm64: Fix race condition on PG_dcache_clean in __sync_icache_dcache()
d3bab7cbadfb arm64: mte: initialize RGSR_EL1.SEED in __cpu_setup
70748bba5565 blk-iocost: fix weight updates of inner active iocgs
014868616d48 mm/hugetlb: fix F_SEAL_FUTURE_WRITE
fe5c0a63ad22 kasan: fix unit tests with CONFIG_UBSAN_LOCAL_BOUNDS enabled
140cfd998012 userfaultfd: release page in error path to avoid BUG_ON
2ed1d90162a0 squashfs: fix divide error in calculate_skip()
adbd8a2a8cc0 hfsplus: prevent corruption in shrinking truncate
d2e3590ca39c powerpc/64s: Fix crashes when toggling entry flush barrier
51570beeb448 powerpc/64s: Fix crashes when toggling stf barrier
cb3e286f22ff ARC: mm: Use max_high_pfn as a HIGHMEM zone border
969de0f6599e ARC: mm: PAE: use 40-bit physical page mask
af9e5364c617 ARC: entry: fix off-by-one error in syscall number validation
23ecfe7f2c1f f2fs: avoid unneeded data copy in f2fs_ioc_move_range()
758fd227ed84 mptcp: fix splat when closing unaccepted socket
b8cf51a36da2 i40e: Fix PHY type identifiers for 2.5G and 5G adapters
06ef93b776f7 i40e: fix the restart auto-negotiation after FEC modified
829a713450b8 i40e: Fix use-after-free in i40e_client_subtask()
2692bf13e646 i40e: fix broken XDP support
72b49dd116ca netfilter: nftables: avoid overflows in nft_hash_buckets()
f665dedeedc9 kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources
1ec193255271 kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources
0886bb143cbb kernel: kexec_file: fix error return code of kexec_calculate_store_digests()
d43be02fc40b fs/proc/generic.c: fix incorrect pde_is_permanent check
f89b408d506e sched/fair: Fix unfairness caused by missing load decay
f7347c85490b sched: Fix out-of-bound access in uclamp
26359d362c93 can: m_can: m_can_tx_work_queue(): fix tx_skb race condition
eecb4df8ec9f can: mcp251x: fix resume from sleep before interface was brought up
02140d9d2712 can: mcp251xfd: mcp251xfd_probe(): add missing can_rx_offload_del() in error path
2c784a500f5e netfilter: nftables: Fix a memleak from userdata error path in new objects
403ccad066ec netfilter: nfnetlink_osf: Fix a missing skb_header_pointer() NULL check
cee6592d444a smc: disallow TCP_ULP in smc_setsockopt()
d6c635a8cc6a net: fix nla_strcmp to handle more then one trailing null character
26b7924707a4 ethtool: fix missing NLM_F_MULTI flag when dumping
673422b97ef3 mm/gup: check for isolation errors
096c9482cea2 mm/gup: return an error on migration failure
7df511ef376d mm/gup: check every subpage of a compound page during isolation
87c4e386b612 ksm: fix potential missing rmap_item for stable_node
aa0d6d1d3e77 mm/migrate.c: fix potential indeterminate pte entry in migrate_vma_insert_page()
9639a754cce5 mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts()
14d45fb5a3fc khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate()
51524fa8b5f7 arm64: entry: always set GIC_PRIO_PSR_I_SET during entry
c9f43423c41e arm64: entry: factor irq triage logic into macros
93dcaa8cba65 drm/radeon: Avoid power table parsing memory leaks
79208af94738 drm/radeon: Fix off-by-one power_state index heap overwrite
f551068f5f32 net: stmmac: Clear receive all(RA) bit when promiscuous mode is off
340de910d65e xsk: Fix for xp_aligned_validate_desc() when len == chunk_size
75ea98246903 netfilter: xt_SECMARK: add new revision to fix structure layout
db5f1c6f776d sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b
7afdd6aba95c ethernet:enic: Fix a use after free bug in enic_hard_start_xmit
3d808916d256 block/rnbd-clt: Check the return value of the function rtrs_clt_query
c1a90296a9b5 block/rnbd-clt: Change queue_depth type in rnbd_clt_session to size_t
4aae6eb6af7d libbpf: Fix signed overflow in ringbuf_process_ring
60bb2cecf47f sunrpc: Fix misplaced barrier in call_decode
208af7ffc351 RISC-V: Fix error code returned by riscv_hartid_to_cpuid()
f01988ecf365 sctp: do asoc update earlier in sctp_sf_do_dupcook_a
65084886c6ee net: hns3: disable phy loopback setting in hclge_mac_start_phy
5aa957e2b5fc net: hns3: use netif_tx_disable to stop the transmit queue
90120c475dd7 net: hns3: fix for vxlan gpe tx checksum bug
7a476a8a9cb6 net: hns3: add check for HNS3_NIC_STATE_INITED in hns3_reset_notify_up_enet()
bd4d527ea5f7 net: hns3: initialize the message content in hclge_get_link_mode()
5d326e253501 net: hns3: fix incorrect configuration for igu_egu_hw_err
494ade7aba11 rtc: ds1307: Fix wday settings for rx8130
5515b85e1a01 scsi: ufs: core: Narrow down fast path in system suspend path
e8295def80b7 scsi: ufs: core: Cancel rpm_dev_flush_recheck_work during system suspend
591602738e00 scsi: ufs: core: Do not put UFS power into LPM if link is broken
429ac0fb8375 scsi: qla2xxx: Prevent PRLI in target mode
bf45c9fe99aa ceph: fix inode leak on getattr error in __fh_to_dentry
a01572e21f09 swiotlb: Fix the type of index
04dad2ca1f5e xprtrdma: rpcrdma_mr_pop() already does list_del_init()
eddae8be7944 xprtrdma: Fix cwnd update ordering
89a31bf85c7b xprtrdma: Avoid Receive Queue wrapping
b22e8f427c3d pwm: atmel: Fix duty cycle calculation in .get_state()
0a9decf2dd4d SUNRPC: fix ternary sign expansion bug in tracing
dd41a0e51532 dmaengine: idxd: fix cdev setup and free device lifetime issues
975c4b2b9976 dmaengine: idxd: fix dma device lifetime
5756f757c725 dmaengine: idxd: Fix potential null dereference on pointer status
0f9d467ff139 rtc: fsl-ftm-alarm: add MODULE_TABLE()
90e8fa8bdfb3 nfsd: ensure new clients break delegations
b4bf335acacc NFSv4.x: Don't return NFS4ERR_NOMATCHING_LAYOUT if we're unmounting
5d254e17ca86 thermal/drivers/tsens: Fix missing put_device error
4f86a0a5eb61 SUNRPC: Handle major timeout in xprt_adjust_timeout()
8efd19bf754b SUNRPC: Remove trace_xprt_transmit_queued
7b906077fd99 SUNRPC: Move fault injection call sites
bfeb4e607d00 NFSv4.2 fix handling of sr_eof in SEEK's reply
1fbea60ea658 pNFS/flexfiles: fix incorrect size check in decode_nfs_fh()
fd65cac30d45 PCI: endpoint: Fix missing destroy_workqueue()
d21a5950cca6 NFS: Deal correctly with attribute generation counter overflow
cbc868ea28a8 NFSv4.2: Always flush out writes in nfs42_proc_fallocate()
a09afbb63620 NFS: Fix attribute bitmask in _nfs42_proc_fallocate()
ce2b470added NFS: nfs4_bitmask_adjust() must not change the server global bitmasks
0627cbc9b875 rpmsg: qcom_glink_native: fix error return code of qcom_glink_rx_data()
b59194c7ca29 f2fs: fix to avoid accessing invalid fio in f2fs_allocate_data_block()
1fd6a0641040 f2fs: Fix a hungtask problem in atomic write
98ccee81fe96 f2fs: fix to cover __allocate_new_section() with curseg_lock
105155a8146d f2fs: fix to avoid touching checkpointed data in get_victim()
bbed83d7060e PCI: endpoint: Fix NULL pointer dereference for ->get_features()
d5e85b92b457 PCI: endpoint: Make *_free_bar() to return error codes on failure
d98bfd4cc258 PCI: endpoint: Add helper API to get the 'next' unreserved BAR
5974766170d8 PCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR
8c8f7c49930d f2fs: fix to update last i_size if fallocate partially succeeds
74d2b0e74c3f f2fs: fix to align to section for fallocate() on pinned file
630146203108 ARM: 9064/1: hw_breakpoint: Do not directly check the event's overflow_handler hook
ee93cdcbe0b5 PCI: Release OF node in pci_scan_device()'s error path
c5c0ede221d7 PCI: iproc: Fix return value of iproc_msi_irq_domain_alloc()
1ce0d1d3656b remoteproc: qcom_q6v5_mss: Validate p_filesz in ELF loader
2ec65063e45a remoteproc: qcom_q6v5_mss: Replace ioremap with memremap
2d6d5b4fc498 f2fs: fix a redundant call to f2fs_balance_fs if an error occurs
1c20a4896409 f2fs: fix panic during f2fs_resize_fs()
81ba1634d1b6 f2fs: fix to allow migrating fully valid segment
de2041d92d2a f2fs: fix compat F2FS_IOC_{MOVE,GARBAGE_COLLECT}_RANGE
b7ff0885de7e f2fs: move ioctl interface definitions to separated file
997d24a932a9 thermal: thermal_of: Fix error return code of thermal_of_populate_bind_params()
a1b5fecedfa9 ASoC: rt286: Make RT286_SET_GPIO_* readable and writable
5b66867966bc watchdog: fix barriers when printing backtraces from all CPUs
a68c246065b6 watchdog/softlockup: remove logic that tried to prevent repeated reports
9413b1ee3858 watchdog: explicitly update timestamp when reporting softlockup
018655f8758a watchdog: rename __touch_watchdog() to a better descriptive name
1dc55c3a4862 ia64: module: fix symbolizer crash on fdescr
602795e247d1 bnxt_en: Add PCI IDs for Hyper-V VF devices.
d0736af81151 kbuild: generate Module.symvers only when vmlinux exists
9401b7ff91f9 selftests: mlxsw: Fix mausezahn invocation in ERSPAN scale test
dfa0e8461e99 selftests: mlxsw: Increase the tolerance of backlog buildup
99d9989ee53b net: ethernet: mtk_eth_soc: fix RX VLAN offload
320c50ff84a0 iavf: remove duplicate free resources calls
6289b028b5e2 powerpc/iommu: Annotate nested lock for lockdep
bece6aea3653 qtnfmac: Fix possible buffer overflow in qtnf_event_handle_external_auth
ededc7325dc2 wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join
83a7ed5b891c wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt
f3a5dee0f30c crypto: ccp: Free SEV device if SEV init fails
22ab352fcab7 mt76: mt7615: fix entering driver-own state on mt7663
5b02d6efdb1b drm/amdgpu: Add mem sync flag for IB allocated by SA
8be5e713f725 drm/amd/display: add handling for hdcp2 rx id list validation
fa9952e854c4 drm/amd/display: fixed divide by zero kernel crash during dsc enablement
d98b03bfd0c7 powerpc/pseries: Stop calling printk in rtas_stop_self()
799c3950680a samples/bpf: Fix broken tracex1 due to kprobe argument change
d4b0dc31df99 net: sched: tapr: prevent cycle_time == 0 in parse_taprio_schedule
05916c62f54a ethtool: ioctl: Fix out-of-bounds warning in store_link_ksettings_for_user()
b506357ab8bb ASoC: rt286: Generalize support for ALC3263 codec
33eee468f83a powerpc/smp: Set numa node before updating mask
245f5ab5ce52 flow_dissector: Fix out-of-bounds warning in __skb_flow_bpf_to_target()
d5716625f185 sctp: Fix out-of-bounds warning in sctp_process_asconf_param()
136b0261f119 ALSA: hda/hdmi: fix race in handling acomp ELD notification at resume
4ac5823083fa ASoC: Intel: sof_sdw: add quirk for new ADL-P Rvp
e3a2982bf63f ALSA: hda/realtek: Add quirk for Lenovo Ideapad S740
cc1956f8b278 kconfig: nconf: stop endless search loops
06b0037e6f02 selftests: Set CC to clang in lib.mk if LLVM is set
f9bc5e3f3f75 drm/amd/display: Force vsync flip when reconfiguring MPCC
63e9abe35df9 iommu/amd: Remove performance counter pre-initialization test
1097ecf826bc Revert "iommu/amd: Fix performance counter initialization"
a027e6155bb4 ASoC: rsnd: call rsnd_ssi_master_clk_start() from rsnd_ssi_init()
cc748965313b powerpc/mm: Add cond_resched() while removing hpte mappings
26f98b2d97a8 iwlwifi: pcie: make cfg vs. trans_cfg more robust
2bfc47dec5b8 cuse: prevent clone
2c20c7d96e45 virtiofs: fix userns
87fe0ca09b26 fuse: invalidate attrs when page writeback completes
f1c230d75b47 mt76: mt7915: fix txpower init for TSSI off chips
7eb1e84cfe28 mt76: mt76x0: disable GTK offloading
bbd3d0014cc4 mt76: mt7615: support loading EEPROM for MT7613BE
32b3e7e303bd rtw88: 8822c: add LC calibration for RTL8822C
28c2a1d65088 pinctrl: samsung: use 'int' for register masks in Exynos
2eac474900d3 mac80211: clear the beacon's CRC after channel switch
437a4746e47e IB/hfi1: Correct oversized ring allocation
d7592a5c376b coresight: Do not scan for graph if none is present
8f7806174fdb MIPS: Loongson64: Use _CACHE_UNCACHED instead of _CACHE_UNCACHED_ACCELERATED
2c098ad786d3 i2c: Add I2C_AQ_NO_REP_START adapter quirk
c6d2f8ffb145 ASoC: rt5670: Add a quirk for the Dell Venue 10 Pro 5055
6c9b2de44812 Bluetooth: btusb: Enable quirk boolean flag for Mediatek Chip.
c87b052deaa8 ice: handle increasing Tx or Rx ring sizes
eb28709c07a6 ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Hi8 tablet
7bd851a6d369 ip6_vti: proper dev_{hold|put} in ndo_[un]init methods
b502a6a44066 net: hns3: add handling for xmit skb with recursive fraglist
c56804f431db net: hns3: remediate a potential overflow risk of bd_num_list
286b3ff9fd98 powerpc/32: Statically initialise first emergency context
b9f9313c7501 selftests/powerpc: Fix L1D flushing tests for Power10
2033dde6aa01 Bluetooth: check for zapped sk before connecting
6421cdfbb6fb net: bridge: when suppression is enabled exclude RARP packets
fccb35bbf75f net/sched: cls_flower: use ntohs for struct flow_dissector_key_ports
a019b8d7dfd5 Bluetooth: initialize skb_queue_head at l2cap_chan_create()
e0dc9e93f7fd Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default
b972f345a17a ALSA: bebob: enable to deliver MIDI messages for multiple ports
d398f25007d5 ALSA: rme9652: don't disable if not enabled
9df07b0661e7 ALSA: hdspm: don't disable if not enabled
a950cd8cb05d ALSA: hdsp: don't disable if not enabled
faed3150a436 i2c: bail out early when RDWR parameters are wrong
18df2bc13b1f Bluetooth: Fix incorrect status handling in LE PHY UPDATE event
879a96d817ed ASoC: rsnd: core: Check convert rate in rsnd_hw_params
a2aeb5de26c1 net: stmmac: Set FIFO sizes for ipq806x
c0a62a441bbd net/mlx5e: Use net_prefetchw instead of prefetchw in MPWQE TX datapath
2d17c58a3a4f ASoC: Intel: bytcr_rt5640: Enable jack-detect support on Asus T100TAF
3d1bede85632 tipc: convert dest node's address to network order
a407b5881686 fs: dlm: flush swork on shutdown
ff58d1c72edf fs: dlm: check on minimum msglen size
ca973d2aeaf7 fs: dlm: add errno handling to check callback
06d59d21cb05 fs: dlm: fix debugfs dump
bd6017a942b9 ath11k: fix thermal temperature read
21756f878e82 kvm: Cap halt polling at kvm->max_halt_poll_ns
53d7eed0315a cpufreq: intel_pstate: Use HWP if enabled by platform firmware
182f1f72af2e PM: runtime: Fix unpaired parent child_count for force_resume
e97da47e9be0 ACPI: PM: Add ACPI ID of Alder Lake Fan
bfccc4eade2b KVM/VMX: Invoke NMI non-IST entry instead of IST entry
21f317826e17 KVM: x86/mmu: Remove the defunct update_pte() paging hook
53171e68a509 tpm, tpm_tis: Reserve locality in tpm_tis_resume()
923866165610 tpm, tpm_tis: Extend locality handling to TPM2 in tpm_tis_gen_interrupt()
8fe5a459186a tpm: fix error return code in tpm2_get_cc_attrs_tbl()
31c9a4b24d86 KEYS: trusted: Fix memory leak on object td
----

Link: https://lore.kernel.org/r/20210517140305.140529752@linuxfoundation.org
Link: Freescale/linux-fslc#345

Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
otavio pushed a commit to Freescale/meta-freescale that referenced this pull request May 25, 2021
Kernel repository has been upgraded to v5.10.38 from stable korg.

Following upstream commits are included in this version:
----
689e89aee55c Linux 5.10.38
ed350825e89a ASoC: rsnd: check all BUSIF status when error
cd709c8e06b6 nvme: do not try to reconfigure APST when the controller is not live
054add24a869 ext4: fix debug format string warning
c5dffd422145 debugfs: Make debugfs_allow RO after init
81cb4f36d62c dt-bindings: serial: 8250: Remove duplicated compatible strings
c1514ad24c3e dt-bindings: media: renesas,vin: Make resets optional on R-Car Gen1
c4e3d8cf615b i2c: mediatek: Fix send master code at more than 1MHz
667627fa85a8 media: rkvdec: Remove of_match_ptr()
b0402e785351 clk: exynos7: Mark aclk_fsys1_200 as critical
805c990a9c54 drm/i915: Fix crash in auto_retire
cd47b861d225 drm/i915/overlay: Fix active retire callback alignment
a67c80dcb403 drm/i915: Read C0DRB3/C1DRB3 as 16 bits again
17928443db88 drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp
20530f7fde75 kobject_uevent: remove warning in init_uevent_argv()
6ece86e9e88f usb: typec: tcpm: Fix error while calculating PPS out values
5d2f09c44ff2 ARM: 9027/1: head.S: explicitly map DT even if it lives in the first physical section
ac421c7f90c8 ARM: 9020/1: mm: use correct section size macro to describe the FDT virtual address
1eb77569029d ARM: 9012/1: move device tree mapping out of linear region
6cdbafc2addd ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address
6d5fda434b1f clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940
06470de53e4f clocksource/drivers/timer-ti-dm: Prepare to handle dra7 timer wrap issue
462049cfb342 MIPS: Avoid handcoded DIVU in `__div64_32' altogether
d17af8b19d99 MIPS: Avoid DIVU in `__div64_32' is result would be zero
d2abb95bb1a4 MIPS: Reinstate platform `__div64_32' handler
cfddf6a685e3 mm: fix struct page layout on 32-bit systems
89bd62079870 iommu/vt-d: Remove WO permissions on second-level paging entries
0160f627929c iommu/vt-d: Preset Access/Dirty bits for IOVA over FL
a282b76166b1 Revert "iommu/vt-d: Preset Access/Dirty bits for IOVA over FL"
c1f2d0beab5c Revert "iommu/vt-d: Remove WO permissions on second-level paging entries"
31f29749ee97 KVM: VMX: Disable preemption when probing user return MSRs
79abde761e05 KVM: VMX: Do not advertise RDPID if ENABLE_RDTSCP control is unsupported
c8bf64e3fb77 KVM: nVMX: Always make an attempt to map eVMCS after migration
2f86dd3d2bcf KVM: x86: Move RDPID emulation intercept to its own enum
abbf8c99a9e1 KVM: x86: Emulate RDPID only if RDTSCP is supported
8a7027f011c5 xen/gntdev: fix gntdev_mmap() error exit path
652c9689f589 cdc-wdm: untangle a circular dependency between callback and softint
12d16c24f35f iio: tsl2583: Fix division by a zero lux_val
e8c6852bdba2 iio: gyro: mpu3050: Fix reported temperature value
70698dda4bca xhci: Add reset resume quirk for AMD xhci controller.
9d9526cc3c01 xhci: Do not use GFP_KERNEL in (potentially) atomic context
ca043cc02a88 xhci-pci: Allow host runtime PM as default for Intel Alder Lake xHCI
fa4b1363256d usb: typec: ucsi: Put fwnode in any case during ->probe()
e5366bea0277 usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4
9bd96a2e77fd usb: dwc3: gadget: Return success always for kick transfer in ep queue
45f37f54e7c1 usb: dwc3: gadget: Enable suspend events
9238492b9a84 usb: core: hub: fix race condition about TRSMRCY of resume
45ad6b592e64 usb: dwc2: Fix gadget DMA unmap direction
7ad9256b49a6 usb: xhci: Increase timeout for HC halt
42bb80ae0165 usb: dwc3: pci: Enable usb2-gadget-lpm-disable for Intel Merrifield
95e3da5b53ba usb: dwc3: omap: improve extcon initialization
3a96437f6bf8 blk-mq: Swap two calls in blk_mq_exit_queue()
c9c1ed08c174 blk-mq: plug request for shared sbitmap
cde4b55cfb24 nbd: Fix NULL pointer in flush_workqueue
a9fc163514d2 f2fs: compress: fix to assign cc.cluster_idx correctly
5639b73fd3bc f2fs: compress: fix race condition of overwrite vs truncate
72b0f3077ebd f2fs: compress: fix to free compress page correctly
64f3410c7bfc nvmet-rdma: Fix NULL deref when SEND is completed with error
c98ecfb18296 nvmet: fix inline bio check for bdev-ns
f8ae879b776c nvmet: add lba to sect conversion helpers
54dbe2d2c1fc kyber: fix out of bounds access when preempted
e2381174daea ACPI: scan: Fix a memory leak in an error handling path
a8dc16bbfe29 usb: musb: Fix an error message
550473900f80 hwmon: (occ) Fix poll rate limiting
0becd19b211a usb: fotg210-hcd: Fix an error message
2c3b4375e118 iio: hid-sensors: select IIO_TRIGGERED_BUFFER under HID_SENSOR_IIO_TRIGGER
020fe6f80f4f iio: proximity: pulsedlight: Fix rumtime PM imbalance on error
9db8ba3cac05 iio: light: gp2ap002: Fix rumtime PM imbalance on error
1ea775021282 usb: dwc3: gadget: Free gadget structure only after freeing endpoints
26c777470d57 perf tools: Fix dynamic libbpf link
1d8d7e02f6d0 xen/unpopulated-alloc: fix error return code in fill_list()
058122572676 xen/unpopulated-alloc: consolidate pgmap manipulation
9eaa10be0c08 dax: Wake up all waiters after invalidating dax entry
e9e70b78e163 dax: Add a wakeup mode parameter to put_unlocked_entry()
b93d3410e789 dax: Add an enum for specifying dax wakup mode
b9c663dc9a83 KVM: x86: Prevent deadlock against tk_core.seq
8aa7227a5d9b KVM: x86: Cancel pvclock_gtod_work on module removal
1fe269372244 drm/msm/dp: initialize audio_comp when audio starts
2e0ce36d0bf6 KVM: LAPIC: Accurately guarantee busy wait for timer to expire when using hv_timer
ce7639252357 kvm: exit halt polling on need_resched() as well
970c978d0591 drm/i915: Avoid div-by-zero on gen2
86cd6072157c drm/amd/display: Initialize attribute for hdcp_srm sysfs file
5a6fe45a3a7f drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected
bccb7dd137ad btrfs: fix race leading to unpersisted data and metadata on fsync
d6d66dbd5adc arm64: Fix race condition on PG_dcache_clean in __sync_icache_dcache()
d3bab7cbadfb arm64: mte: initialize RGSR_EL1.SEED in __cpu_setup
70748bba5565 blk-iocost: fix weight updates of inner active iocgs
014868616d48 mm/hugetlb: fix F_SEAL_FUTURE_WRITE
fe5c0a63ad22 kasan: fix unit tests with CONFIG_UBSAN_LOCAL_BOUNDS enabled
140cfd998012 userfaultfd: release page in error path to avoid BUG_ON
2ed1d90162a0 squashfs: fix divide error in calculate_skip()
adbd8a2a8cc0 hfsplus: prevent corruption in shrinking truncate
d2e3590ca39c powerpc/64s: Fix crashes when toggling entry flush barrier
51570beeb448 powerpc/64s: Fix crashes when toggling stf barrier
cb3e286f22ff ARC: mm: Use max_high_pfn as a HIGHMEM zone border
969de0f6599e ARC: mm: PAE: use 40-bit physical page mask
af9e5364c617 ARC: entry: fix off-by-one error in syscall number validation
23ecfe7f2c1f f2fs: avoid unneeded data copy in f2fs_ioc_move_range()
758fd227ed84 mptcp: fix splat when closing unaccepted socket
b8cf51a36da2 i40e: Fix PHY type identifiers for 2.5G and 5G adapters
06ef93b776f7 i40e: fix the restart auto-negotiation after FEC modified
829a713450b8 i40e: Fix use-after-free in i40e_client_subtask()
2692bf13e646 i40e: fix broken XDP support
72b49dd116ca netfilter: nftables: avoid overflows in nft_hash_buckets()
f665dedeedc9 kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources
1ec193255271 kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources
0886bb143cbb kernel: kexec_file: fix error return code of kexec_calculate_store_digests()
d43be02fc40b fs/proc/generic.c: fix incorrect pde_is_permanent check
f89b408d506e sched/fair: Fix unfairness caused by missing load decay
f7347c85490b sched: Fix out-of-bound access in uclamp
26359d362c93 can: m_can: m_can_tx_work_queue(): fix tx_skb race condition
eecb4df8ec9f can: mcp251x: fix resume from sleep before interface was brought up
02140d9d2712 can: mcp251xfd: mcp251xfd_probe(): add missing can_rx_offload_del() in error path
2c784a500f5e netfilter: nftables: Fix a memleak from userdata error path in new objects
403ccad066ec netfilter: nfnetlink_osf: Fix a missing skb_header_pointer() NULL check
cee6592d444a smc: disallow TCP_ULP in smc_setsockopt()
d6c635a8cc6a net: fix nla_strcmp to handle more then one trailing null character
26b7924707a4 ethtool: fix missing NLM_F_MULTI flag when dumping
673422b97ef3 mm/gup: check for isolation errors
096c9482cea2 mm/gup: return an error on migration failure
7df511ef376d mm/gup: check every subpage of a compound page during isolation
87c4e386b612 ksm: fix potential missing rmap_item for stable_node
aa0d6d1d3e77 mm/migrate.c: fix potential indeterminate pte entry in migrate_vma_insert_page()
9639a754cce5 mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts()
14d45fb5a3fc khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate()
51524fa8b5f7 arm64: entry: always set GIC_PRIO_PSR_I_SET during entry
c9f43423c41e arm64: entry: factor irq triage logic into macros
93dcaa8cba65 drm/radeon: Avoid power table parsing memory leaks
79208af94738 drm/radeon: Fix off-by-one power_state index heap overwrite
f551068f5f32 net: stmmac: Clear receive all(RA) bit when promiscuous mode is off
340de910d65e xsk: Fix for xp_aligned_validate_desc() when len == chunk_size
75ea98246903 netfilter: xt_SECMARK: add new revision to fix structure layout
db5f1c6f776d sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b
7afdd6aba95c ethernet:enic: Fix a use after free bug in enic_hard_start_xmit
3d808916d256 block/rnbd-clt: Check the return value of the function rtrs_clt_query
c1a90296a9b5 block/rnbd-clt: Change queue_depth type in rnbd_clt_session to size_t
4aae6eb6af7d libbpf: Fix signed overflow in ringbuf_process_ring
60bb2cecf47f sunrpc: Fix misplaced barrier in call_decode
208af7ffc351 RISC-V: Fix error code returned by riscv_hartid_to_cpuid()
f01988ecf365 sctp: do asoc update earlier in sctp_sf_do_dupcook_a
65084886c6ee net: hns3: disable phy loopback setting in hclge_mac_start_phy
5aa957e2b5fc net: hns3: use netif_tx_disable to stop the transmit queue
90120c475dd7 net: hns3: fix for vxlan gpe tx checksum bug
7a476a8a9cb6 net: hns3: add check for HNS3_NIC_STATE_INITED in hns3_reset_notify_up_enet()
bd4d527ea5f7 net: hns3: initialize the message content in hclge_get_link_mode()
5d326e253501 net: hns3: fix incorrect configuration for igu_egu_hw_err
494ade7aba11 rtc: ds1307: Fix wday settings for rx8130
5515b85e1a01 scsi: ufs: core: Narrow down fast path in system suspend path
e8295def80b7 scsi: ufs: core: Cancel rpm_dev_flush_recheck_work during system suspend
591602738e00 scsi: ufs: core: Do not put UFS power into LPM if link is broken
429ac0fb8375 scsi: qla2xxx: Prevent PRLI in target mode
bf45c9fe99aa ceph: fix inode leak on getattr error in __fh_to_dentry
a01572e21f09 swiotlb: Fix the type of index
04dad2ca1f5e xprtrdma: rpcrdma_mr_pop() already does list_del_init()
eddae8be7944 xprtrdma: Fix cwnd update ordering
89a31bf85c7b xprtrdma: Avoid Receive Queue wrapping
b22e8f427c3d pwm: atmel: Fix duty cycle calculation in .get_state()
0a9decf2dd4d SUNRPC: fix ternary sign expansion bug in tracing
dd41a0e51532 dmaengine: idxd: fix cdev setup and free device lifetime issues
975c4b2b9976 dmaengine: idxd: fix dma device lifetime
5756f757c725 dmaengine: idxd: Fix potential null dereference on pointer status
0f9d467ff139 rtc: fsl-ftm-alarm: add MODULE_TABLE()
90e8fa8bdfb3 nfsd: ensure new clients break delegations
b4bf335acacc NFSv4.x: Don't return NFS4ERR_NOMATCHING_LAYOUT if we're unmounting
5d254e17ca86 thermal/drivers/tsens: Fix missing put_device error
4f86a0a5eb61 SUNRPC: Handle major timeout in xprt_adjust_timeout()
8efd19bf754b SUNRPC: Remove trace_xprt_transmit_queued
7b906077fd99 SUNRPC: Move fault injection call sites
bfeb4e607d00 NFSv4.2 fix handling of sr_eof in SEEK's reply
1fbea60ea658 pNFS/flexfiles: fix incorrect size check in decode_nfs_fh()
fd65cac30d45 PCI: endpoint: Fix missing destroy_workqueue()
d21a5950cca6 NFS: Deal correctly with attribute generation counter overflow
cbc868ea28a8 NFSv4.2: Always flush out writes in nfs42_proc_fallocate()
a09afbb63620 NFS: Fix attribute bitmask in _nfs42_proc_fallocate()
ce2b470added NFS: nfs4_bitmask_adjust() must not change the server global bitmasks
0627cbc9b875 rpmsg: qcom_glink_native: fix error return code of qcom_glink_rx_data()
b59194c7ca29 f2fs: fix to avoid accessing invalid fio in f2fs_allocate_data_block()
1fd6a0641040 f2fs: Fix a hungtask problem in atomic write
98ccee81fe96 f2fs: fix to cover __allocate_new_section() with curseg_lock
105155a8146d f2fs: fix to avoid touching checkpointed data in get_victim()
bbed83d7060e PCI: endpoint: Fix NULL pointer dereference for ->get_features()
d5e85b92b457 PCI: endpoint: Make *_free_bar() to return error codes on failure
d98bfd4cc258 PCI: endpoint: Add helper API to get the 'next' unreserved BAR
5974766170d8 PCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR
8c8f7c49930d f2fs: fix to update last i_size if fallocate partially succeeds
74d2b0e74c3f f2fs: fix to align to section for fallocate() on pinned file
630146203108 ARM: 9064/1: hw_breakpoint: Do not directly check the event's overflow_handler hook
ee93cdcbe0b5 PCI: Release OF node in pci_scan_device()'s error path
c5c0ede221d7 PCI: iproc: Fix return value of iproc_msi_irq_domain_alloc()
1ce0d1d3656b remoteproc: qcom_q6v5_mss: Validate p_filesz in ELF loader
2ec65063e45a remoteproc: qcom_q6v5_mss: Replace ioremap with memremap
2d6d5b4fc498 f2fs: fix a redundant call to f2fs_balance_fs if an error occurs
1c20a4896409 f2fs: fix panic during f2fs_resize_fs()
81ba1634d1b6 f2fs: fix to allow migrating fully valid segment
de2041d92d2a f2fs: fix compat F2FS_IOC_{MOVE,GARBAGE_COLLECT}_RANGE
b7ff0885de7e f2fs: move ioctl interface definitions to separated file
997d24a932a9 thermal: thermal_of: Fix error return code of thermal_of_populate_bind_params()
a1b5fecedfa9 ASoC: rt286: Make RT286_SET_GPIO_* readable and writable
5b66867966bc watchdog: fix barriers when printing backtraces from all CPUs
a68c246065b6 watchdog/softlockup: remove logic that tried to prevent repeated reports
9413b1ee3858 watchdog: explicitly update timestamp when reporting softlockup
018655f8758a watchdog: rename __touch_watchdog() to a better descriptive name
1dc55c3a4862 ia64: module: fix symbolizer crash on fdescr
602795e247d1 bnxt_en: Add PCI IDs for Hyper-V VF devices.
d0736af81151 kbuild: generate Module.symvers only when vmlinux exists
9401b7ff91f9 selftests: mlxsw: Fix mausezahn invocation in ERSPAN scale test
dfa0e8461e99 selftests: mlxsw: Increase the tolerance of backlog buildup
99d9989ee53b net: ethernet: mtk_eth_soc: fix RX VLAN offload
320c50ff84a0 iavf: remove duplicate free resources calls
6289b028b5e2 powerpc/iommu: Annotate nested lock for lockdep
bece6aea3653 qtnfmac: Fix possible buffer overflow in qtnf_event_handle_external_auth
ededc7325dc2 wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join
83a7ed5b891c wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt
f3a5dee0f30c crypto: ccp: Free SEV device if SEV init fails
22ab352fcab7 mt76: mt7615: fix entering driver-own state on mt7663
5b02d6efdb1b drm/amdgpu: Add mem sync flag for IB allocated by SA
8be5e713f725 drm/amd/display: add handling for hdcp2 rx id list validation
fa9952e854c4 drm/amd/display: fixed divide by zero kernel crash during dsc enablement
d98b03bfd0c7 powerpc/pseries: Stop calling printk in rtas_stop_self()
799c3950680a samples/bpf: Fix broken tracex1 due to kprobe argument change
d4b0dc31df99 net: sched: tapr: prevent cycle_time == 0 in parse_taprio_schedule
05916c62f54a ethtool: ioctl: Fix out-of-bounds warning in store_link_ksettings_for_user()
b506357ab8bb ASoC: rt286: Generalize support for ALC3263 codec
33eee468f83a powerpc/smp: Set numa node before updating mask
245f5ab5ce52 flow_dissector: Fix out-of-bounds warning in __skb_flow_bpf_to_target()
d5716625f185 sctp: Fix out-of-bounds warning in sctp_process_asconf_param()
136b0261f119 ALSA: hda/hdmi: fix race in handling acomp ELD notification at resume
4ac5823083fa ASoC: Intel: sof_sdw: add quirk for new ADL-P Rvp
e3a2982bf63f ALSA: hda/realtek: Add quirk for Lenovo Ideapad S740
cc1956f8b278 kconfig: nconf: stop endless search loops
06b0037e6f02 selftests: Set CC to clang in lib.mk if LLVM is set
f9bc5e3f3f75 drm/amd/display: Force vsync flip when reconfiguring MPCC
63e9abe35df9 iommu/amd: Remove performance counter pre-initialization test
1097ecf826bc Revert "iommu/amd: Fix performance counter initialization"
a027e6155bb4 ASoC: rsnd: call rsnd_ssi_master_clk_start() from rsnd_ssi_init()
cc748965313b powerpc/mm: Add cond_resched() while removing hpte mappings
26f98b2d97a8 iwlwifi: pcie: make cfg vs. trans_cfg more robust
2bfc47dec5b8 cuse: prevent clone
2c20c7d96e45 virtiofs: fix userns
87fe0ca09b26 fuse: invalidate attrs when page writeback completes
f1c230d75b47 mt76: mt7915: fix txpower init for TSSI off chips
7eb1e84cfe28 mt76: mt76x0: disable GTK offloading
bbd3d0014cc4 mt76: mt7615: support loading EEPROM for MT7613BE
32b3e7e303bd rtw88: 8822c: add LC calibration for RTL8822C
28c2a1d65088 pinctrl: samsung: use 'int' for register masks in Exynos
2eac474900d3 mac80211: clear the beacon's CRC after channel switch
437a4746e47e IB/hfi1: Correct oversized ring allocation
d7592a5c376b coresight: Do not scan for graph if none is present
8f7806174fdb MIPS: Loongson64: Use _CACHE_UNCACHED instead of _CACHE_UNCACHED_ACCELERATED
2c098ad786d3 i2c: Add I2C_AQ_NO_REP_START adapter quirk
c6d2f8ffb145 ASoC: rt5670: Add a quirk for the Dell Venue 10 Pro 5055
6c9b2de44812 Bluetooth: btusb: Enable quirk boolean flag for Mediatek Chip.
c87b052deaa8 ice: handle increasing Tx or Rx ring sizes
eb28709c07a6 ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Hi8 tablet
7bd851a6d369 ip6_vti: proper dev_{hold|put} in ndo_[un]init methods
b502a6a44066 net: hns3: add handling for xmit skb with recursive fraglist
c56804f431db net: hns3: remediate a potential overflow risk of bd_num_list
286b3ff9fd98 powerpc/32: Statically initialise first emergency context
b9f9313c7501 selftests/powerpc: Fix L1D flushing tests for Power10
2033dde6aa01 Bluetooth: check for zapped sk before connecting
6421cdfbb6fb net: bridge: when suppression is enabled exclude RARP packets
fccb35bbf75f net/sched: cls_flower: use ntohs for struct flow_dissector_key_ports
a019b8d7dfd5 Bluetooth: initialize skb_queue_head at l2cap_chan_create()
e0dc9e93f7fd Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default
b972f345a17a ALSA: bebob: enable to deliver MIDI messages for multiple ports
d398f25007d5 ALSA: rme9652: don't disable if not enabled
9df07b0661e7 ALSA: hdspm: don't disable if not enabled
a950cd8cb05d ALSA: hdsp: don't disable if not enabled
faed3150a436 i2c: bail out early when RDWR parameters are wrong
18df2bc13b1f Bluetooth: Fix incorrect status handling in LE PHY UPDATE event
879a96d817ed ASoC: rsnd: core: Check convert rate in rsnd_hw_params
a2aeb5de26c1 net: stmmac: Set FIFO sizes for ipq806x
c0a62a441bbd net/mlx5e: Use net_prefetchw instead of prefetchw in MPWQE TX datapath
2d17c58a3a4f ASoC: Intel: bytcr_rt5640: Enable jack-detect support on Asus T100TAF
3d1bede85632 tipc: convert dest node's address to network order
a407b5881686 fs: dlm: flush swork on shutdown
ff58d1c72edf fs: dlm: check on minimum msglen size
ca973d2aeaf7 fs: dlm: add errno handling to check callback
06d59d21cb05 fs: dlm: fix debugfs dump
bd6017a942b9 ath11k: fix thermal temperature read
21756f878e82 kvm: Cap halt polling at kvm->max_halt_poll_ns
53d7eed0315a cpufreq: intel_pstate: Use HWP if enabled by platform firmware
182f1f72af2e PM: runtime: Fix unpaired parent child_count for force_resume
e97da47e9be0 ACPI: PM: Add ACPI ID of Alder Lake Fan
bfccc4eade2b KVM/VMX: Invoke NMI non-IST entry instead of IST entry
21f317826e17 KVM: x86/mmu: Remove the defunct update_pte() paging hook
53171e68a509 tpm, tpm_tis: Reserve locality in tpm_tis_resume()
923866165610 tpm, tpm_tis: Extend locality handling to TPM2 in tpm_tis_gen_interrupt()
8fe5a459186a tpm: fix error return code in tpm2_get_cc_attrs_tbl()
31c9a4b24d86 KEYS: trusted: Fix memory leak on object td
----

Link: https://lore.kernel.org/r/20210517140305.140529752@linuxfoundation.org
Link: Freescale/linux-fslc#345

Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
zandrey added a commit to zandrey/meta-freescale that referenced this pull request Jul 21, 2021
Kernel repository has been upgraded to v5.10.38 from stable korg.

Following upstream commits are included in this version:
----
689e89aee55c Linux 5.10.38
ed350825e89a ASoC: rsnd: check all BUSIF status when error
cd709c8e06b6 nvme: do not try to reconfigure APST when the controller is not live
054add24a869 ext4: fix debug format string warning
c5dffd422145 debugfs: Make debugfs_allow RO after init
81cb4f36d62c dt-bindings: serial: 8250: Remove duplicated compatible strings
c1514ad24c3e dt-bindings: media: renesas,vin: Make resets optional on R-Car Gen1
c4e3d8cf615b i2c: mediatek: Fix send master code at more than 1MHz
667627fa85a8 media: rkvdec: Remove of_match_ptr()
b0402e785351 clk: exynos7: Mark aclk_fsys1_200 as critical
805c990a9c54 drm/i915: Fix crash in auto_retire
cd47b861d225 drm/i915/overlay: Fix active retire callback alignment
a67c80dcb403 drm/i915: Read C0DRB3/C1DRB3 as 16 bits again
17928443db88 drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp
20530f7fde75 kobject_uevent: remove warning in init_uevent_argv()
6ece86e9e88f usb: typec: tcpm: Fix error while calculating PPS out values
5d2f09c44ff2 ARM: 9027/1: head.S: explicitly map DT even if it lives in the first physical section
ac421c7f90c8 ARM: 9020/1: mm: use correct section size macro to describe the FDT virtual address
1eb77569029d ARM: 9012/1: move device tree mapping out of linear region
6cdbafc2addd ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address
6d5fda434b1f clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940
06470de53e4f clocksource/drivers/timer-ti-dm: Prepare to handle dra7 timer wrap issue
462049cfb342 MIPS: Avoid handcoded DIVU in `__div64_32' altogether
d17af8b19d99 MIPS: Avoid DIVU in `__div64_32' is result would be zero
d2abb95bb1a4 MIPS: Reinstate platform `__div64_32' handler
cfddf6a685e3 mm: fix struct page layout on 32-bit systems
89bd62079870 iommu/vt-d: Remove WO permissions on second-level paging entries
0160f627929c iommu/vt-d: Preset Access/Dirty bits for IOVA over FL
a282b76166b1 Revert "iommu/vt-d: Preset Access/Dirty bits for IOVA over FL"
c1f2d0beab5c Revert "iommu/vt-d: Remove WO permissions on second-level paging entries"
31f29749ee97 KVM: VMX: Disable preemption when probing user return MSRs
79abde761e05 KVM: VMX: Do not advertise RDPID if ENABLE_RDTSCP control is unsupported
c8bf64e3fb77 KVM: nVMX: Always make an attempt to map eVMCS after migration
2f86dd3d2bcf KVM: x86: Move RDPID emulation intercept to its own enum
abbf8c99a9e1 KVM: x86: Emulate RDPID only if RDTSCP is supported
8a7027f011c5 xen/gntdev: fix gntdev_mmap() error exit path
652c9689f589 cdc-wdm: untangle a circular dependency between callback and softint
12d16c24f35f iio: tsl2583: Fix division by a zero lux_val
e8c6852bdba2 iio: gyro: mpu3050: Fix reported temperature value
70698dda4bca xhci: Add reset resume quirk for AMD xhci controller.
9d9526cc3c01 xhci: Do not use GFP_KERNEL in (potentially) atomic context
ca043cc02a88 xhci-pci: Allow host runtime PM as default for Intel Alder Lake xHCI
fa4b1363256d usb: typec: ucsi: Put fwnode in any case during ->probe()
e5366bea0277 usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4
9bd96a2e77fd usb: dwc3: gadget: Return success always for kick transfer in ep queue
45f37f54e7c1 usb: dwc3: gadget: Enable suspend events
9238492b9a84 usb: core: hub: fix race condition about TRSMRCY of resume
45ad6b592e64 usb: dwc2: Fix gadget DMA unmap direction
7ad9256b49a6 usb: xhci: Increase timeout for HC halt
42bb80ae0165 usb: dwc3: pci: Enable usb2-gadget-lpm-disable for Intel Merrifield
95e3da5b53ba usb: dwc3: omap: improve extcon initialization
3a96437f6bf8 blk-mq: Swap two calls in blk_mq_exit_queue()
c9c1ed08c174 blk-mq: plug request for shared sbitmap
cde4b55cfb24 nbd: Fix NULL pointer in flush_workqueue
a9fc163514d2 f2fs: compress: fix to assign cc.cluster_idx correctly
5639b73fd3bc f2fs: compress: fix race condition of overwrite vs truncate
72b0f3077ebd f2fs: compress: fix to free compress page correctly
64f3410c7bfc nvmet-rdma: Fix NULL deref when SEND is completed with error
c98ecfb18296 nvmet: fix inline bio check for bdev-ns
f8ae879b776c nvmet: add lba to sect conversion helpers
54dbe2d2c1fc kyber: fix out of bounds access when preempted
e2381174daea ACPI: scan: Fix a memory leak in an error handling path
a8dc16bbfe29 usb: musb: Fix an error message
550473900f80 hwmon: (occ) Fix poll rate limiting
0becd19b211a usb: fotg210-hcd: Fix an error message
2c3b4375e118 iio: hid-sensors: select IIO_TRIGGERED_BUFFER under HID_SENSOR_IIO_TRIGGER
020fe6f80f4f iio: proximity: pulsedlight: Fix rumtime PM imbalance on error
9db8ba3cac05 iio: light: gp2ap002: Fix rumtime PM imbalance on error
1ea775021282 usb: dwc3: gadget: Free gadget structure only after freeing endpoints
26c777470d57 perf tools: Fix dynamic libbpf link
1d8d7e02f6d0 xen/unpopulated-alloc: fix error return code in fill_list()
058122572676 xen/unpopulated-alloc: consolidate pgmap manipulation
9eaa10be0c08 dax: Wake up all waiters after invalidating dax entry
e9e70b78e163 dax: Add a wakeup mode parameter to put_unlocked_entry()
b93d3410e789 dax: Add an enum for specifying dax wakup mode
b9c663dc9a83 KVM: x86: Prevent deadlock against tk_core.seq
8aa7227a5d9b KVM: x86: Cancel pvclock_gtod_work on module removal
1fe269372244 drm/msm/dp: initialize audio_comp when audio starts
2e0ce36d0bf6 KVM: LAPIC: Accurately guarantee busy wait for timer to expire when using hv_timer
ce7639252357 kvm: exit halt polling on need_resched() as well
970c978d0591 drm/i915: Avoid div-by-zero on gen2
86cd6072157c drm/amd/display: Initialize attribute for hdcp_srm sysfs file
5a6fe45a3a7f drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected
bccb7dd137ad btrfs: fix race leading to unpersisted data and metadata on fsync
d6d66dbd5adc arm64: Fix race condition on PG_dcache_clean in __sync_icache_dcache()
d3bab7cbadfb arm64: mte: initialize RGSR_EL1.SEED in __cpu_setup
70748bba5565 blk-iocost: fix weight updates of inner active iocgs
014868616d48 mm/hugetlb: fix F_SEAL_FUTURE_WRITE
fe5c0a63ad22 kasan: fix unit tests with CONFIG_UBSAN_LOCAL_BOUNDS enabled
140cfd998012 userfaultfd: release page in error path to avoid BUG_ON
2ed1d90162a0 squashfs: fix divide error in calculate_skip()
adbd8a2a8cc0 hfsplus: prevent corruption in shrinking truncate
d2e3590ca39c powerpc/64s: Fix crashes when toggling entry flush barrier
51570beeb448 powerpc/64s: Fix crashes when toggling stf barrier
cb3e286f22ff ARC: mm: Use max_high_pfn as a HIGHMEM zone border
969de0f6599e ARC: mm: PAE: use 40-bit physical page mask
af9e5364c617 ARC: entry: fix off-by-one error in syscall number validation
23ecfe7f2c1f f2fs: avoid unneeded data copy in f2fs_ioc_move_range()
758fd227ed84 mptcp: fix splat when closing unaccepted socket
b8cf51a36da2 i40e: Fix PHY type identifiers for 2.5G and 5G adapters
06ef93b776f7 i40e: fix the restart auto-negotiation after FEC modified
829a713450b8 i40e: Fix use-after-free in i40e_client_subtask()
2692bf13e646 i40e: fix broken XDP support
72b49dd116ca netfilter: nftables: avoid overflows in nft_hash_buckets()
f665dedeedc9 kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources
1ec193255271 kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources
0886bb143cbb kernel: kexec_file: fix error return code of kexec_calculate_store_digests()
d43be02fc40b fs/proc/generic.c: fix incorrect pde_is_permanent check
f89b408d506e sched/fair: Fix unfairness caused by missing load decay
f7347c85490b sched: Fix out-of-bound access in uclamp
26359d362c93 can: m_can: m_can_tx_work_queue(): fix tx_skb race condition
eecb4df8ec9f can: mcp251x: fix resume from sleep before interface was brought up
02140d9d2712 can: mcp251xfd: mcp251xfd_probe(): add missing can_rx_offload_del() in error path
2c784a500f5e netfilter: nftables: Fix a memleak from userdata error path in new objects
403ccad066ec netfilter: nfnetlink_osf: Fix a missing skb_header_pointer() NULL check
cee6592d444a smc: disallow TCP_ULP in smc_setsockopt()
d6c635a8cc6a net: fix nla_strcmp to handle more then one trailing null character
26b7924707a4 ethtool: fix missing NLM_F_MULTI flag when dumping
673422b97ef3 mm/gup: check for isolation errors
096c9482cea2 mm/gup: return an error on migration failure
7df511ef376d mm/gup: check every subpage of a compound page during isolation
87c4e386b612 ksm: fix potential missing rmap_item for stable_node
aa0d6d1d3e77 mm/migrate.c: fix potential indeterminate pte entry in migrate_vma_insert_page()
9639a754cce5 mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts()
14d45fb5a3fc khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate()
51524fa8b5f7 arm64: entry: always set GIC_PRIO_PSR_I_SET during entry
c9f43423c41e arm64: entry: factor irq triage logic into macros
93dcaa8cba65 drm/radeon: Avoid power table parsing memory leaks
79208af94738 drm/radeon: Fix off-by-one power_state index heap overwrite
f551068f5f32 net: stmmac: Clear receive all(RA) bit when promiscuous mode is off
340de910d65e xsk: Fix for xp_aligned_validate_desc() when len == chunk_size
75ea98246903 netfilter: xt_SECMARK: add new revision to fix structure layout
db5f1c6f776d sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b
7afdd6aba95c ethernet:enic: Fix a use after free bug in enic_hard_start_xmit
3d808916d256 block/rnbd-clt: Check the return value of the function rtrs_clt_query
c1a90296a9b5 block/rnbd-clt: Change queue_depth type in rnbd_clt_session to size_t
4aae6eb6af7d libbpf: Fix signed overflow in ringbuf_process_ring
60bb2cecf47f sunrpc: Fix misplaced barrier in call_decode
208af7ffc351 RISC-V: Fix error code returned by riscv_hartid_to_cpuid()
f01988ecf365 sctp: do asoc update earlier in sctp_sf_do_dupcook_a
65084886c6ee net: hns3: disable phy loopback setting in hclge_mac_start_phy
5aa957e2b5fc net: hns3: use netif_tx_disable to stop the transmit queue
90120c475dd7 net: hns3: fix for vxlan gpe tx checksum bug
7a476a8a9cb6 net: hns3: add check for HNS3_NIC_STATE_INITED in hns3_reset_notify_up_enet()
bd4d527ea5f7 net: hns3: initialize the message content in hclge_get_link_mode()
5d326e253501 net: hns3: fix incorrect configuration for igu_egu_hw_err
494ade7aba11 rtc: ds1307: Fix wday settings for rx8130
5515b85e1a01 scsi: ufs: core: Narrow down fast path in system suspend path
e8295def80b7 scsi: ufs: core: Cancel rpm_dev_flush_recheck_work during system suspend
591602738e00 scsi: ufs: core: Do not put UFS power into LPM if link is broken
429ac0fb8375 scsi: qla2xxx: Prevent PRLI in target mode
bf45c9fe99aa ceph: fix inode leak on getattr error in __fh_to_dentry
a01572e21f09 swiotlb: Fix the type of index
04dad2ca1f5e xprtrdma: rpcrdma_mr_pop() already does list_del_init()
eddae8be7944 xprtrdma: Fix cwnd update ordering
89a31bf85c7b xprtrdma: Avoid Receive Queue wrapping
b22e8f427c3d pwm: atmel: Fix duty cycle calculation in .get_state()
0a9decf2dd4d SUNRPC: fix ternary sign expansion bug in tracing
dd41a0e51532 dmaengine: idxd: fix cdev setup and free device lifetime issues
975c4b2b9976 dmaengine: idxd: fix dma device lifetime
5756f757c725 dmaengine: idxd: Fix potential null dereference on pointer status
0f9d467ff139 rtc: fsl-ftm-alarm: add MODULE_TABLE()
90e8fa8bdfb3 nfsd: ensure new clients break delegations
b4bf335acacc NFSv4.x: Don't return NFS4ERR_NOMATCHING_LAYOUT if we're unmounting
5d254e17ca86 thermal/drivers/tsens: Fix missing put_device error
4f86a0a5eb61 SUNRPC: Handle major timeout in xprt_adjust_timeout()
8efd19bf754b SUNRPC: Remove trace_xprt_transmit_queued
7b906077fd99 SUNRPC: Move fault injection call sites
bfeb4e607d00 NFSv4.2 fix handling of sr_eof in SEEK's reply
1fbea60ea658 pNFS/flexfiles: fix incorrect size check in decode_nfs_fh()
fd65cac30d45 PCI: endpoint: Fix missing destroy_workqueue()
d21a5950cca6 NFS: Deal correctly with attribute generation counter overflow
cbc868ea28a8 NFSv4.2: Always flush out writes in nfs42_proc_fallocate()
a09afbb63620 NFS: Fix attribute bitmask in _nfs42_proc_fallocate()
ce2b470added NFS: nfs4_bitmask_adjust() must not change the server global bitmasks
0627cbc9b875 rpmsg: qcom_glink_native: fix error return code of qcom_glink_rx_data()
b59194c7ca29 f2fs: fix to avoid accessing invalid fio in f2fs_allocate_data_block()
1fd6a0641040 f2fs: Fix a hungtask problem in atomic write
98ccee81fe96 f2fs: fix to cover __allocate_new_section() with curseg_lock
105155a8146d f2fs: fix to avoid touching checkpointed data in get_victim()
bbed83d7060e PCI: endpoint: Fix NULL pointer dereference for ->get_features()
d5e85b92b457 PCI: endpoint: Make *_free_bar() to return error codes on failure
d98bfd4cc258 PCI: endpoint: Add helper API to get the 'next' unreserved BAR
5974766170d8 PCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR
8c8f7c49930d f2fs: fix to update last i_size if fallocate partially succeeds
74d2b0e74c3f f2fs: fix to align to section for fallocate() on pinned file
630146203108 ARM: 9064/1: hw_breakpoint: Do not directly check the event's overflow_handler hook
ee93cdcbe0b5 PCI: Release OF node in pci_scan_device()'s error path
c5c0ede221d7 PCI: iproc: Fix return value of iproc_msi_irq_domain_alloc()
1ce0d1d3656b remoteproc: qcom_q6v5_mss: Validate p_filesz in ELF loader
2ec65063e45a remoteproc: qcom_q6v5_mss: Replace ioremap with memremap
2d6d5b4fc498 f2fs: fix a redundant call to f2fs_balance_fs if an error occurs
1c20a4896409 f2fs: fix panic during f2fs_resize_fs()
81ba1634d1b6 f2fs: fix to allow migrating fully valid segment
de2041d92d2a f2fs: fix compat F2FS_IOC_{MOVE,GARBAGE_COLLECT}_RANGE
b7ff0885de7e f2fs: move ioctl interface definitions to separated file
997d24a932a9 thermal: thermal_of: Fix error return code of thermal_of_populate_bind_params()
a1b5fecedfa9 ASoC: rt286: Make RT286_SET_GPIO_* readable and writable
5b66867966bc watchdog: fix barriers when printing backtraces from all CPUs
a68c246065b6 watchdog/softlockup: remove logic that tried to prevent repeated reports
9413b1ee3858 watchdog: explicitly update timestamp when reporting softlockup
018655f8758a watchdog: rename __touch_watchdog() to a better descriptive name
1dc55c3a4862 ia64: module: fix symbolizer crash on fdescr
602795e247d1 bnxt_en: Add PCI IDs for Hyper-V VF devices.
d0736af81151 kbuild: generate Module.symvers only when vmlinux exists
9401b7ff91f9 selftests: mlxsw: Fix mausezahn invocation in ERSPAN scale test
dfa0e8461e99 selftests: mlxsw: Increase the tolerance of backlog buildup
99d9989ee53b net: ethernet: mtk_eth_soc: fix RX VLAN offload
320c50ff84a0 iavf: remove duplicate free resources calls
6289b028b5e2 powerpc/iommu: Annotate nested lock for lockdep
bece6aea3653 qtnfmac: Fix possible buffer overflow in qtnf_event_handle_external_auth
ededc7325dc2 wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join
83a7ed5b891c wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt
f3a5dee0f30c crypto: ccp: Free SEV device if SEV init fails
22ab352fcab7 mt76: mt7615: fix entering driver-own state on mt7663
5b02d6efdb1b drm/amdgpu: Add mem sync flag for IB allocated by SA
8be5e713f725 drm/amd/display: add handling for hdcp2 rx id list validation
fa9952e854c4 drm/amd/display: fixed divide by zero kernel crash during dsc enablement
d98b03bfd0c7 powerpc/pseries: Stop calling printk in rtas_stop_self()
799c3950680a samples/bpf: Fix broken tracex1 due to kprobe argument change
d4b0dc31df99 net: sched: tapr: prevent cycle_time == 0 in parse_taprio_schedule
05916c62f54a ethtool: ioctl: Fix out-of-bounds warning in store_link_ksettings_for_user()
b506357ab8bb ASoC: rt286: Generalize support for ALC3263 codec
33eee468f83a powerpc/smp: Set numa node before updating mask
245f5ab5ce52 flow_dissector: Fix out-of-bounds warning in __skb_flow_bpf_to_target()
d5716625f185 sctp: Fix out-of-bounds warning in sctp_process_asconf_param()
136b0261f119 ALSA: hda/hdmi: fix race in handling acomp ELD notification at resume
4ac5823083fa ASoC: Intel: sof_sdw: add quirk for new ADL-P Rvp
e3a2982bf63f ALSA: hda/realtek: Add quirk for Lenovo Ideapad S740
cc1956f8b278 kconfig: nconf: stop endless search loops
06b0037e6f02 selftests: Set CC to clang in lib.mk if LLVM is set
f9bc5e3f3f75 drm/amd/display: Force vsync flip when reconfiguring MPCC
63e9abe35df9 iommu/amd: Remove performance counter pre-initialization test
1097ecf826bc Revert "iommu/amd: Fix performance counter initialization"
a027e6155bb4 ASoC: rsnd: call rsnd_ssi_master_clk_start() from rsnd_ssi_init()
cc748965313b powerpc/mm: Add cond_resched() while removing hpte mappings
26f98b2d97a8 iwlwifi: pcie: make cfg vs. trans_cfg more robust
2bfc47dec5b8 cuse: prevent clone
2c20c7d96e45 virtiofs: fix userns
87fe0ca09b26 fuse: invalidate attrs when page writeback completes
f1c230d75b47 mt76: mt7915: fix txpower init for TSSI off chips
7eb1e84cfe28 mt76: mt76x0: disable GTK offloading
bbd3d0014cc4 mt76: mt7615: support loading EEPROM for MT7613BE
32b3e7e303bd rtw88: 8822c: add LC calibration for RTL8822C
28c2a1d65088 pinctrl: samsung: use 'int' for register masks in Exynos
2eac474900d3 mac80211: clear the beacon's CRC after channel switch
437a4746e47e IB/hfi1: Correct oversized ring allocation
d7592a5c376b coresight: Do not scan for graph if none is present
8f7806174fdb MIPS: Loongson64: Use _CACHE_UNCACHED instead of _CACHE_UNCACHED_ACCELERATED
2c098ad786d3 i2c: Add I2C_AQ_NO_REP_START adapter quirk
c6d2f8ffb145 ASoC: rt5670: Add a quirk for the Dell Venue 10 Pro 5055
6c9b2de44812 Bluetooth: btusb: Enable quirk boolean flag for Mediatek Chip.
c87b052deaa8 ice: handle increasing Tx or Rx ring sizes
eb28709c07a6 ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Hi8 tablet
7bd851a6d369 ip6_vti: proper dev_{hold|put} in ndo_[un]init methods
b502a6a44066 net: hns3: add handling for xmit skb with recursive fraglist
c56804f431db net: hns3: remediate a potential overflow risk of bd_num_list
286b3ff9fd98 powerpc/32: Statically initialise first emergency context
b9f9313c7501 selftests/powerpc: Fix L1D flushing tests for Power10
2033dde6aa01 Bluetooth: check for zapped sk before connecting
6421cdfbb6fb net: bridge: when suppression is enabled exclude RARP packets
fccb35bbf75f net/sched: cls_flower: use ntohs for struct flow_dissector_key_ports
a019b8d7dfd5 Bluetooth: initialize skb_queue_head at l2cap_chan_create()
e0dc9e93f7fd Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default
b972f345a17a ALSA: bebob: enable to deliver MIDI messages for multiple ports
d398f25007d5 ALSA: rme9652: don't disable if not enabled
9df07b0661e7 ALSA: hdspm: don't disable if not enabled
a950cd8cb05d ALSA: hdsp: don't disable if not enabled
faed3150a436 i2c: bail out early when RDWR parameters are wrong
18df2bc13b1f Bluetooth: Fix incorrect status handling in LE PHY UPDATE event
879a96d817ed ASoC: rsnd: core: Check convert rate in rsnd_hw_params
a2aeb5de26c1 net: stmmac: Set FIFO sizes for ipq806x
c0a62a441bbd net/mlx5e: Use net_prefetchw instead of prefetchw in MPWQE TX datapath
2d17c58a3a4f ASoC: Intel: bytcr_rt5640: Enable jack-detect support on Asus T100TAF
3d1bede85632 tipc: convert dest node's address to network order
a407b5881686 fs: dlm: flush swork on shutdown
ff58d1c72edf fs: dlm: check on minimum msglen size
ca973d2aeaf7 fs: dlm: add errno handling to check callback
06d59d21cb05 fs: dlm: fix debugfs dump
bd6017a942b9 ath11k: fix thermal temperature read
21756f878e82 kvm: Cap halt polling at kvm->max_halt_poll_ns
53d7eed0315a cpufreq: intel_pstate: Use HWP if enabled by platform firmware
182f1f72af2e PM: runtime: Fix unpaired parent child_count for force_resume
e97da47e9be0 ACPI: PM: Add ACPI ID of Alder Lake Fan
bfccc4eade2b KVM/VMX: Invoke NMI non-IST entry instead of IST entry
21f317826e17 KVM: x86/mmu: Remove the defunct update_pte() paging hook
53171e68a509 tpm, tpm_tis: Reserve locality in tpm_tis_resume()
923866165610 tpm, tpm_tis: Extend locality handling to TPM2 in tpm_tis_gen_interrupt()
8fe5a459186a tpm: fix error return code in tpm2_get_cc_attrs_tbl()
31c9a4b24d86 KEYS: trusted: Fix memory leak on object td
----

Link: https://lore.kernel.org/r/20210517140305.140529752@linuxfoundation.org
Link: Freescale/linux-fslc#345

Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
otavio pushed a commit that referenced this pull request Apr 10, 2024
[ Upstream commit 114b5b3 ]

A64_LDRSW() takes three registers: Xt, Xn, Xm as arguments and it loads
and sign extends the value at address Xn + Xm into register Xt.

Currently, the offset is being directly used in place of the tmp
register which has the offset already loaded by the last emitted
instruction.

This will cause JIT failures. The easiest way to reproduce this is to
test the following code through test_bpf module:

{
	"BPF_LDX_MEMSX | BPF_W",
	.u.insns_int = {
		BPF_LD_IMM64(R1, 0x00000000deadbeefULL),
		BPF_LD_IMM64(R2, 0xffffffffdeadbeefULL),
		BPF_STX_MEM(BPF_DW, R10, R1, -7),
		BPF_LDX_MEMSX(BPF_W, R0, R10, -7),
		BPF_JMP_REG(BPF_JNE, R0, R2, 1),
		BPF_ALU64_IMM(BPF_MOV, R0, 0),
		BPF_EXIT_INSN(),
	},
	INTERNAL,
	{ },
	{ { 0, 0 } },
	.stack_depth = 7,
},

We need to use the offset as -7 to trigger this code path, there could
be other valid ways to trigger this from proper BPF programs as well.

This code is rejected by the JIT because -7 is passed to A64_LDRSW() but
it expects a valid register (0 - 31).

 roott@pjy:~# modprobe test_bpf test_name="BPF_LDX_MEMSX | BPF_W"
 [11300.490371] test_bpf: test_bpf: set 'test_bpf' as the default test_suite.
 [11300.491750] test_bpf: #345 BPF_LDX_MEMSX | BPF_W
 [11300.493179] aarch64_insn_encode_register: unknown register encoding -7
 [11300.494133] aarch64_insn_encode_register: unknown register encoding -7
 [11300.495292] FAIL to select_runtime err=-524
 [11300.496804] test_bpf: Summary: 0 PASSED, 1 FAILED, [0/0 JIT'ed]
 modprobe: ERROR: could not insert 'test_bpf': Invalid argument

Applying this patch fixes the issue.

 root@pjy:~# modprobe test_bpf test_name="BPF_LDX_MEMSX | BPF_W"
 [  292.837436] test_bpf: test_bpf: set 'test_bpf' as the default test_suite.
 [  292.839416] test_bpf: #345 BPF_LDX_MEMSX | BPF_W jited:1 156 PASS
 [  292.844794] test_bpf: Summary: 1 PASSED, 0 FAILED, [1/1 JIT'ed]

Fixes: cc88f54 ("bpf, arm64: Support sign-extension load instructions")
Signed-off-by: Puranjay Mohan <puranjay12@gmail.com>
Message-ID: <20240312235917.103626-1-puranjay12@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet