Commit graph

973,903 commits

Author SHA1 Message Date
Huang Jianan
7eb2ac540a
UPSTREAM: erofs: use workqueue decompression for atomic contexts only
z_erofs_decompressqueue_endio may not be executed in the atomic
context, for example, when dm-verity is turned on. In this scenario,
data can be decompressed directly to get rid of additional kworker
scheduling overhead.

Link: https://lore.kernel.org/r/20210317035448.13921-2-huangjianan@oppo.com
Reviewed-by: Gao Xiang <hsiangkao@redhat.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
Signed-off-by: Guo Weichao <guoweichao@oppo.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 190585249
Change-Id: I369268e398ce8b16362ace2e6a03a5061caebd90
(cherry picked from commit 648f2de053a882c87c05f0060f47d3b11841fdbe)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2024-04-16 16:57:30 +03:00
Huang Jianan
cdb254fa4d
UPSTREAM: erofs: avoid memory allocation failure during rolling decompression
Currently, err would be treated as io error. Therefore, it'd be
better to ensure memory allocation during rolling decompression
to avoid such io error.

In the long term, we might consider adding another !Uptodate case
for such case.

Link: https://lore.kernel.org/r/20210316031515.90954-1-huangjianan@oppo.com
Reviewed-by: Gao Xiang <hsiangkao@redhat.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
Signed-off-by: Guo Weichao <guoweichao@oppo.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>

Bug: 190585249
Change-Id: I8bab4ab3e0d26b698fc0054517065872eafa5d15
(cherry picked from commit b4892fa3e7fd69e78a82356de45b90758589cafc)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2024-04-16 16:57:30 +03:00
Gao Xiang
534c9f0a10
UPSTREAM: erofs: force inplace I/O under low memory scenario
Try to forcely switch to inplace I/O under low memory scenario in
order to avoid direct memory reclaim due to cached page allocation.

Link: https://lore.kernel.org/r/20201209123717.12430-1-hsiangkao@aol.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
Signed-off-by: Huang Jianan <huangjianan@oppo.com>

Bug: 190585249
Change-Id: I877e97f493a74c94e94c3671d2cd8a102ad5ed54
(cherry picked from commit 1825c8d7ce93c4725cb04ad09627fc2829de32ca)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2024-04-16 16:57:30 +03:00
Gao Xiang
6e297fc3c6
UPSTREAM: erofs: insert to managed cache after adding to pcl
Previously, it could be some concern to call add_to_page_cache_lru()
with page->mapping == Z_EROFS_MAPPING_STAGING (!= NULL).

In contrast, page->private is used instead now, so partially revert
commit 5ddcee1f3a1c ("erofs: get rid of __stagingpage_alloc helper")
with some adaption for simplicity.

Link: https://lore.kernel.org/r/20201208095834.3133565-2-hsiangkao@redhat.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
Signed-off-by: Huang Jianan <huangjianan@oppo.com>

Bug: 190585249
Change-Id: Ia67c77a85f1e22bce2b1c0f238639fbb615d613a
(cherry picked from commit bf225074ff211f219cff2166cea17b158a0d06a9)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2024-04-16 16:57:30 +03:00
Gao Xiang
ae779c41c5
UPSTREAM: erofs: get rid of magical Z_EROFS_MAPPING_STAGING
Previously, we played around with magical page->mapping for short-lived
temporary pages since we need to identify different types of pages in
the same pcluster but both invalidated and short-lived temporary pages
can have page->mapping == NULL. It was considered as safe because that
temporary pages are all non-LRU / non-movable pages.

This patch tends to use specific page->private to identify short-lived
pages instead so it won't rely on page->mapping anymore. Details are
described in "compress.h" as well.

Link: https://lore.kernel.org/r/20201208095834.3133565-1-hsiangkao@redhat.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
Signed-off-by: Huang Jianan <huangjianan@oppo.com>

Bug: 190585249
Change-Id: I0beb89854846dc5fe9bf167bc9ce311659003dc3
(cherry picked from commit 6aaa7b0664e6886f6154070edbc24435d6e1f86b)
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2024-04-16 16:57:30 +03:00
Guoqing Jiang
9811f088fc
include/linux/pagemap.h: introduce attach/detach_page_private
Patch series "Introduce attach/detach_page_private to cleanup code".

This patch (of 10):

The logic in attach_page_buffers and __clear_page_buffers are quite
paired, but

1. they are located in different files.

2. attach_page_buffers is implemented in buffer_head.h, so it could be
   used by other files. But __clear_page_buffers is static function in
   buffer.c and other potential users can't call the function, md-bitmap
   even copied the function.

So, introduce the new attach/detach_page_private to replace them.  With
the new pair of function, we will remove the usage of attach_page_buffers
and __clear_page_buffers in next patches.  Thanks for suggestions about
the function name from Alexander Viro, Andreas Grünbacher, Christoph
Hellwig and Matthew Wilcox.

Suggested-by: Matthew Wilcox <willy@infradead.org>
Change-Id: I46d97d65243c78cb22ad26da092d9a386ca0e6c0
Signed-off-by: Guoqing Jiang <guoqing.jiang@cloud.ionos.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: William Kucharski <william.kucharski@oracle.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Andreas Gruenbacher <agruenba@redhat.com>
Cc: Yang Shi <yang.shi@linux.alibaba.com>
Cc: Yafang Shao <laoar.shao@gmail.com>
Cc: Song Liu <song@kernel.org>
Cc: Chris Mason <clm@fb.com>
Cc: Josef Bacik <josef@toxicpanda.com>
Cc: David Sterba <dsterba@suse.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: Chao Yu <chao@kernel.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Anton Altaparmakov <anton@tuxera.com>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Roman Gushchin <guro@fb.com>
Cc: Andreas Dilger <adilger@dilger.ca>
Cc: Chao Yu <yuchao0@huawei.com>
Cc: Dave Chinner <david@fromorbit.com>
Link: http://lkml.kernel.org/r/20200517214718.468-1-guoqing.jiang@cloud.ionos.com
Link: http://lkml.kernel.org/r/20200517214718.468-2-guoqing.jiang@cloud.ionos.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-04-16 16:57:29 +03:00
Gao Xiang
93ebc7df59
erofs: don't trigger WARN() when decompression fails
[ Upstream commit a0961f351d82d43ab0b845304caa235dfe249ae9 ]

syzbot reported a WARNING [1] due to corrupted compressed data.

As Dmitry said, "If this is not a kernel bug, then the code should
not use WARN. WARN if for kernel bugs and is recognized as such by
all testing systems and humans."

[1] https://lore.kernel.org/r/000000000000b3586105cf0ff45e@google.com

Link: https://lore.kernel.org/r/20211025074311.130395-1-hsiangkao@linux.alibaba.com
Cc: Dmitry Vyukov <dvyukov@google.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Reported-by: syzbot+d8aaffc3719597e8cfb4@syzkaller.appspotmail.com
Change-Id: Iabf98450c13059e71bc859f7013a811ce359ddec
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-16 16:57:29 +03:00
Wei Yongjun
74a9822fda
erofs: fix error return code in erofs_read_superblock()
commit 0508c1ad0f264a24c4643701823a45f6c9bd8146 upstream.

'ret' will be overwritten to 0 if erofs_sb_has_sb_chksum() return true,
thus 0 will return in some error handling cases. Fix to return negative
error code -EINVAL instead of 0.

Link: https://lore.kernel.org/r/20210519141657.3062715-1-weiyongjun1@huawei.com
Fixes: b858a4844cfb ("erofs: support superblock checksum")
Cc: stable <stable@vger.kernel.org> # 5.5+
Reported-by: Hulk Robot <hulkci@huawei.com>
Change-Id: Ic4ca54cc51b12e814dfc44b569e4bbe354a6e8f7
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Reviewed-by: Gao Xiang <xiang@kernel.org>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <xiang@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-04-16 16:57:29 +03:00
Gao Xiang
d0d2e8ba35
erofs: fix setting up pcluster for temporary pages
pcluster should be only set up for all managed pages instead of
temporary pages. Since it currently uses page->mapping to identify,
the impact is minor for now.

[ Update: Vladimir reported the kernel log becomes polluted
  because PAGE_FLAGS_CHECK_AT_FREE flag(s) set if the page
  allocation debug option is enabled. ]

Link: https://lore.kernel.org/r/20201022145724.27284-1-hsiangkao@aol.com
Fixes: 5ddcee1f3a1c ("erofs: get rid of __stagingpage_alloc helper")
Cc: <stable@vger.kernel.org> # 5.5+
Tested-by: Vladimir Zapolskiy <vladimir@tuxera.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: I86d19e0c73a7cd8bb50a384fe848502ff423bddf
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
2024-04-16 16:57:29 +03:00
Chengguang Xu
6e324b8d41
erofs: remove unnecessary enum entries
Opt_nouser_xattr and Opt_noacl are useless, so just remove them.

Change-Id: I43b4b7911793357b183c5b8c810a7052590e9119
Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
Reviewed-by: Gao Xiang <hsiangkao@redhat.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Link: https://lore.kernel.org/r/20201005071550.66193-1-cgxu519@mykernel.net
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
2024-04-16 16:57:28 +03:00
Gao Xiang
52f906c325
erofs: fold in should_decompress_synchronously()
should_decompress_synchronously() has one single condition
for now, so fold it instead.

Reviewed-by: Chao Yu <yuchao0@huawei.com>
Link: https://lore.kernel.org/r/20200919072730.24989-2-hsiangkao@redhat.com
Change-Id: I54e4a519c9a423d5abd8bca9e0278470540196f1
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
2024-04-16 16:57:26 +03:00
Gao Xiang
d5c15fcdcc
erofs: avoid unnecessary variable `err'
variable `err' in z_erofs_submit_queue() isn't useful
here, remove it instead.

Reviewed-by: Chao Yu <yuchao0@huawei.com>
Link: https://lore.kernel.org/r/20200919072730.24989-1-hsiangkao@redhat.com
Change-Id: I67b4100f93351faa690d493a6d5360e07ba41ec2
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
2024-04-16 03:38:38 +03:00
Chao Yu
8e64e25ad7
erofs: remove unneeded parameter
After commit 0615090c5044 ("erofs: convert compressed files from
readpages to readahead"), add_to_page_cache_lru() was moved to mm
code, so that in below call path, no page will be cached into
@pagepool list or grabbed from @pagepool list:
- z_erofs_readpage
 - z_erofs_do_read_page
  - preload_compressed_pages
  - erofs_allocpage

Let's get rid of this unneeded @pagepool parameter.

Change-Id: I2c3b8555b1f183b5d44fa8c4ce410ac0b44bb594
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Link: https://lore.kernel.org/r/20200917011821.22767-1-yuchao0@huawei.com
Reviewed-by: Gao Xiang <hsiangkao@redhat.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
2024-04-16 03:38:31 +03:00
Gustavo A. R. Silva
c2741e1cce
erofs: Use fallthrough pseudo-keyword
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
fall-through markings when it is the case.

[1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

Change-Id: I230752b5b0473d6841db00c3cf8cfdb438946c95
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
2024-04-16 03:38:22 +03:00
Gao Xiang
65a6af6496
erofs: remove WQ_CPU_INTENSIVE flag from unbound wq's
The documentation [1] says that WQ_CPU_INTENSIVE is "meaningless" for
unbound wq. I remove this flag from places where unbound queue is
allocated. This is supposed to improve code readability.

[1] https://www.kernel.org/doc/html/latest/core-api/workqueue.html#flags
Change-Id: I8234adbbd8b33a6e4dc8f697f7fdb4971a8fa421
Signed-off-by: Maksym Planeta <mplaneta@os.inf.tu-dresden.de>
[Gao Xiang: since the original treewide patch [2] hasn't been merged
            yet, handling the EROFS part only for the next cycle. ]
[2] https://lore.kernel.org/r/20200213141823.2174236-1-mplaneta@os.inf.tu-dresden.de
Link: https://lore.kernel.org/r/20200731024049.16495-1-hsiangkao@aol.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
2024-04-16 03:38:19 +03:00
Gao Xiang
e751287ae4
erofs: fold in used-once helper erofs_workgroup_unfreeze_final()
It's expected that erofs_workgroup_unfreeze_final() won't
be used in other places. Let's fold it to simplify the code.

Link: https://lore.kernel.org/r/20200729180235.25443-1-hsiangkao@redhat.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: Iff1ac2565ea40e67a6811ad7541d30e2c987897e
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
2024-04-16 03:38:09 +03:00
Alexander A. Klimov
7a343c42b9
erofs: Replace HTTP links with HTTPS ones
Rationale:
Reduces attack surface on kernel devs opening the links for MITM
as HTTPS traffic is much harder to manipulate.

Deterministic algorithm:
For each file:
  If not .svg:
    For each line:
      If doesn't contain `\bxmlns\b`:
        For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
	  If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
            If both the HTTP and HTTPS versions
            return 200 OK and serve the same content:
              Replace HTTP with HTTPS.

Reviewed-by: Gao Xiang <hsiangkao@redhat.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: I1c8f61bf4991ab077719ff1b771b06dabd190db7
Signed-off-by: Alexander A. Klimov <grandmaster@al2klimov.de>
Link: https://lore.kernel.org/r/20200713130944.34419-1-grandmaster@al2klimov.de
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
2024-04-16 03:37:54 +03:00
Kees Cook
b94bd57a80
erofs: Remove uninitialized_var() usage
Using uninitialized_var() is dangerous as it papers over real bugs[1]
(or can in the future), and suppresses unrelated compiler warnings
(e.g. "unused variable"). If the compiler thinks it is uninitialized,
either simply initialize the variable or make compiler changes.

In preparation for removing[2] the[3] macro[4], remove all remaining
needless uses with the following script:

git grep '\buninitialized_var\b' | cut -d: -f1 | sort -u | \
	xargs perl -pi -e \
		's/\buninitialized_var\(([^\)]+)\)/\1/g;
		 s:\s*/\* (GCC be quiet|to make compiler happy) \*/$::g;'

drivers/video/fbdev/riva/riva_hw.c was manually tweaked to avoid
pathological white-space.

No outstanding warnings were found building allmodconfig with GCC 9.3.0
for x86_64, i386, arm64, arm, powerpc, powerpc64le, s390x, mips, sparc64,
alpha, and m68k.

[1] https://lore.kernel.org/lkml/20200603174714.192027-1-glider@google.com/
[2] https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK6CernOU6eedsudAixw@mail.gmail.com/
[3] https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpzyR5J8n1vKT1VZdz9knmPuXhOeg@mail.gmail.com/
[4] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/

Reviewed-by: Leon Romanovsky <leonro@mellanox.com> # drivers/infiniband and mlx4/mlx5
Acked-by: Jason Gunthorpe <jgg@mellanox.com> # IB
Acked-by: Kalle Valo <kvalo@codeaurora.org> # wireless drivers
Reviewed-by: Chao Yu <yuchao0@huawei.com> # erofs
Change-Id: If77dad2c11421fce9d2fad6d034e7f36d405e11c
Signed-off-by: Kees Cook <keescook@chromium.org>
2024-04-16 03:37:35 +03:00
Gao Xiang
9316ac8cd6
erofs: suppress false positive last_block warning
As Andrew mentioned, some rare specific gcc versions could report
last_block uninitialized warning. Actually last_block doesn't need
to be uninitialized first from its implementation due to bio == NULL
condition. After a bio is allocated, last_block will be assigned
then.

The detailed analysis is in this thread [1]. So let's silence those
confusing gccs simply.

[1] https://lore.kernel.org/r/20200421072839.GA13867@hsiangkao-HP-ZHAN-66-Pro-G1

Cc: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Link: https://lore.kernel.org/r/20200528084844.23359-1-hsiangkao@redhat.com
Change-Id: I61d969c75f646137df13f18e36c4da811bb57648
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
2024-04-16 03:37:29 +03:00
Michael Bestas
7c697abfc7
erofs: Adapt to <5.6 fsparam_enum
>=5.6 kernels have commit 2710c957a8ef4fb00f21acb306e3bd6bcf80c81f

Change-Id: Ia361cf5df8e2bdec99f2bd364cccfedfaa58d68a
Signed-off-by: Michael Bestas <mkbestas@lineageos.org>
2024-04-16 03:37:24 +03:00
Chao Yu
bc0e73e6ea
erofs: convert to use the new mount fs_context api
Convert the erofs to use new internal mount API as the old one will
be obsoleted and removed.  This allows greater flexibility in
communication of mount parameters between userspace, the VFS and the
filesystem.

See Documentation/filesystems/mount_api.txt for more information.

Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: David Howells <dhowells@redhat.com>
Change-Id: Iba03d16013cc9957af9a841dd8def8adbb05b8c7
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Link: https://lore.kernel.org/r/20200529104836.17843-1-hsiangkao@redhat.com
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
2024-04-16 03:37:21 +03:00
Chengguang Xu
3556e994ac
erofs: code cleanup by removing ifdef macro surrounding
Define erofs_listxattr and erofs_xattr_handlers to NULL when
CONFIG_EROFS_FS_XATTR is not enabled, then we can remove many
ugly ifdef macros in the code.

Change-Id: Ie2276b888c74c3a1b8ddbcd14ac0d0e61499a508
Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
Reviewed-by: Gao Xiang <hsiangkao@redhat.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Link: https://lore.kernel.org/r/20200526090343.22794-1-cgxu519@mykernel.net
Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
2024-04-16 03:37:07 +03:00
Gao Xiang
3f69c57df7
erofs: handle corrupted images whose decompressed size less than it'd be
As Lasse pointed out, "Looking at fs/erofs/decompress.c,
the return value from LZ4_decompress_safe_partial is only
checked for negative value to catch errors. ... So if
I understood it correctly, if there is bad data whose
uncompressed size is much less than it should be, it can
leave part of the output buffer untouched and expose the
previous data as the file content. "

Let's fix it now.

Cc: Lasse Collin <lasse.collin@tukaani.org>
Fixes: 7fc45dbc93 ("staging: erofs: introduce generic decompression backend")
[ Gao Xiang: v5.3+, I will manually backport this to stable later. ]
Link: https://lore.kernel.org/r/20200226081008.86348-3-gaoxiang25@huawei.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: I0dfe0e09837cd9d39da2980818928281fea5bad9
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:37:00 +03:00
Gao Xiang
62a86985df
erofs: use LZ4_decompress_safe() for full decoding
As Lasse pointed out, "EROFS uses LZ4_decompress_safe_partial
for both partial and full blocks. Thus when it is decoding a
full block, it doesn't know if the LZ4 decoder actually decoded
all the input. The real uncompressed size could be bigger than
the value stored in the file system metadata.

Using LZ4_decompress_safe instead of _safe_partial when
decompressing a full block would help to detect errors."

So it's reasonable to use _safe in case of potential corrupted
images and it might have some speed gain as well although
I didn't observe much difference.

Note that legacy compressor (< 5.3, no LZ4_0PADDING) could
encode extra data in a pcluster, which is excluded as well.

Cc: Lasse Collin <lasse.collin@tukaani.org>
Fixes: 0ffd71bcc3 ("staging: erofs: introduce LZ4 decompression inplace")
[ Gao Xiang: v5.3+, I will manually backport this to stable later. ]
Link: https://lore.kernel.org/r/20200226081008.86348-2-gaoxiang25@huawei.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: Ic8f01ed11c94983fdd1c5b6252b8d15bc8d70c3f
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:36:33 +03:00
Gao Xiang
69ddc63110
erofs: convert workstn to XArray
XArray has friendly APIs and it will replace the old radix
tree in the near future.

This convert makes use of __xa_cmpxchg when inserting on
a just inserted item by other thread. In detail, instead
of totally looking up again as what we did for the old
radix tree, it will try to legitimize the current in-tree
item in the XArray therefore more effective.

In addition, naming is rather a challenge for non-English
speaker like me. The basic idea of workstn is to provide
a runtime sparse array with items arranged in the physical
block number order. Such items (was called workgroup) can be
used to record compress clusters or for later new features.

However, both workgroup and workstn seem not good names from
whatever point of view, so I'd like to rename them as pslot
and managed_pslots to stand for physical slots. This patch
handles the second as a part of the radix tree convert.

Cc: Matthew Wilcox <willy@infradead.org>
Link: https://lore.kernel.org/r/20200220024642.91529-1-gaoxiang25@huawei.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: I38011a74040ea8d7cfe9669c2736aae8ad2f92ab
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:36:29 +03:00
Gao Xiang
ef878d217f
erofs: clean up z_erofs_submit_queue()
A label and extra variables will be eliminated,
which is more cleaner.

Link: https://lore.kernel.org/r/20200121064819.139469-1-gaoxiang25@huawei.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: Ie2695bb8cb46b4e2aa4b979b7558b02c52079af9
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:36:27 +03:00
Gao Xiang
1972549147
erofs: fold in postsubmit_is_all_bypassed()
No need to introduce such separated helper since
cache strategy compile configs were changed into
runtime options instead in v5.4. No logic changes.

Link: https://lore.kernel.org/r/20200121064747.138987-1-gaoxiang25@huawei.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: I2653ee9a7d8de2d84c36c7a7f736d79814b6f113
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:36:23 +03:00
Vladimir Zapolskiy
2b968c0f04
erofs: remove void tagging/untagging of workgroup pointers
Because workgroup pointers inserted to a radix tree are always tagged with
a single value of 0, it is possible to remove tagging and untagging of the
pointers completely.

Change-Id: I148904fa4ad13d0de593a5cf5b308638253da446
Signed-off-by: Vladimir Zapolskiy <vladimir@tuxera.com>
Link: https://lore.kernel.org/r/20200102120118.14979-4-vladimir@tuxera.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:36:16 +03:00
Vladimir Zapolskiy
795dc2d942
erofs: remove unused tag argument while registering a workgroup
All workgroups are registered with tag value set to 0, to simplify
erofs_register_workgroup() interface the tag argument can be removed,
if its only value is sent down to the function body.

Change-Id: I109b88af9f753f5dc0db8973e62a9056c36dc5ee
Signed-off-by: Vladimir Zapolskiy <vladimir@tuxera.com>
Link: https://lore.kernel.org/r/20200102120118.14979-3-vladimir@tuxera.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:36:13 +03:00
Vladimir Zapolskiy
8353c5446e
erofs: remove unused tag argument while finding a workgroup
It is feasible to simplify erofs_find_workgroup() interface by removing
an unused function argument. While formally the argument is used in the
function itself, its assigned value is ignored on the caller side.

Change-Id: I9b10d39aef877d42ddbd3f864afbe05b273d258c
Signed-off-by: Vladimir Zapolskiy <vladimir@tuxera.com>
Link: https://lore.kernel.org/r/20200102120118.14979-2-vladimir@tuxera.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:36:10 +03:00
Vladimir Zapolskiy
a7b2c05006
erofs: correct indentation of an assigned structure inside a function
Trivial change, the expected indentation ruled by the coding style
hasn't been met.

Change-Id: I1c6c75ea37d1cd560ad6560aa0d6b7fc1256658b
Signed-off-by: Vladimir Zapolskiy <vladimir@tuxera.com>
Link: https://lore.kernel.org/r/20200102120232.15074-1-vladimir@tuxera.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:36:08 +03:00
Chengguang Xu
b6f2a7b170
erofs: remove unnecessary output in erofs_show_options()
We have already handled cache_strategy option carefully,
so incorrect setting could not pass option parsing.
Meanwhile, print 'cache_strategy=(unknown)' can cause
failure on remount.

Link: https://lore.kernel.org/r/20191119115049.3401-1-cgxu519@mykernel.net
Change-Id: Ic63fcce3f5f0aca5eef37f5b738149f15444c3a8
Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
Reviewed-by: Gao Xiang <gaoxiang25@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:36:05 +03:00
Gao Xiang
6ed324732d
erofs: drop all vle annotations for runtime names
VLE was an old informal name of fixed-sized output
compression which came from published ATC'19 paper [1].

Drop those old annotations since erofs can handle
all encoded clusters in block-aligned basis, which
is wider than fixed-sized output compression after
larger clustersize feature is fully implemented.

Unaligned encoding won't be considered in EROFS
since it's not friendly to inplace I/O and perhaps
decompression inplace.

a) Fixed-sized output compression with 16KB pcluster:
  ___________________________________
 |xxxxxxxx|xxxxxxxx|xxxxxxxx|xxxxxxxx|
 |___ 0___|___ 1___|___ 2___|___ 3___| physical blocks

b) Block-aligned fixed-sized input compression with
   16KB pcluster:
  ___________________________________
 |xxxxxxxx|xxxxxxxx|xxxxxxxx|xxx00000|
 |___ 0___|___ 1___|___ 2___|___ 3___| physical blocks

c) Block-unaligned fixed-sized input compression with
   16KB compression unit:
  ____________________________________________
 |..xxxxxx|xxxxxxxx|xxxxxxxx|xxxxxxxx|x.......|
 |___ 0___|___ 1___|___ 2___|___ 3___|___ 4___| physical blocks

Refine better names for those as well.

[1] https://www.usenix.org/conference/atc19/presentation/gao

Link: https://lore.kernel.org/r/20191108033733.63919-1-gaoxiang25@huawei.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: I398224bf5a0690ed0d388bdf32bf9c77dc720d3e
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:36:03 +03:00
Pratik Shinde
290c49c74e
erofs: support superblock checksum
Introduce superblock checksum feature in order to
check at mounting time.

Note that the first 1024 bytes are ignore for x86
boot sectors and other oddities.

Link: https://lore.kernel.org/r/20191104024937.113939-1-gaoxiang25@huawei.com
Change-Id: Ibd3a0d0ec04edd990f54da1d1ed5d1228534a5dd
Signed-off-by: Pratik Shinde <pratikshinde320@gmail.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:36:00 +03:00
Gao Xiang
fe851dcc3b
erofs: set iowait for sync decompression
For those tasks waiting I/O for sync decompression,
they should be better marked as IO wait state.

Link: https://lore.kernel.org/r/20191008125616.183715-5-gaoxiang25@huawei.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: I6922f7e3201b5d69642167c882f5580fb4d11a03
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:35:58 +03:00
Gao Xiang
bffca72f25
erofs: clean up decompress queue stuffs
Previously, both z_erofs_unzip_io and z_erofs_unzip_io_sb
record decompress queues for backend to use.

The only difference is that z_erofs_unzip_io is used for
on-stack sync decompression so that it doesn't have a super
block field (since the caller can pass it in its context),
but it increases complexity with only a pointer saving.

Rename z_erofs_unzip_io to z_erofs_decompressqueue with
a fixed super_block member and kill the other entirely,
and it can fallback to sync decompression if memory
allocation failure.

Link: https://lore.kernel.org/r/20191008125616.183715-4-gaoxiang25@huawei.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: I7cbe96d40baaa224984c9f959f89af742a203abc
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:35:54 +03:00
Gao Xiang
8436623a4e
erofs: get rid of __stagingpage_alloc helper
Now open code is much cleaner due to iterative development.

Link: https://lore.kernel.org/r/20191124025217.12345-1-hsiangkao@aol.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: I450d0405c8a6f747c9b32a6d97631452ba7b9ee4
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:35:51 +03:00
Gao Xiang
8742d3d4c3
erofs: remove dead code since managed cache is now built-in
After commit 4279f3f988 ("staging: erofs: turn cache
strategies into mount options"), cache strategies are
changed into mount options rather than old build configs.

Let's kill useless code for obsoleted build options.

Link: https://lore.kernel.org/r/20191008125616.183715-2-gaoxiang25@huawei.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: I62652b33f227a8ddbd6e51750f5fb5493940fd0a
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:35:43 +03:00
Gao Xiang
e180682c29
erofs: clean up collection handling routines
- change return value to int since collection is
   already returned within the collector.
 - better function naming.

Link: https://lore.kernel.org/r/20191008125616.183715-1-gaoxiang25@huawei.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Change-Id: Ic3ef48384778efc6fb04acf041b918dbc16acd72
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
2024-04-16 03:35:38 +03:00
Nick Terrell
9cfc7508b5
lz4: fix kernel decompression speed
This patch replaces all memcpy() calls with LZ4_memcpy() which calls
__builtin_memcpy() so the compiler can inline it.

LZ4 relies heavily on memcpy() with a constant size being inlined.  In x86
and i386 pre-boot environments memcpy() cannot be inlined because memcpy()
doesn't get defined as __builtin_memcpy().

An equivalent patch has been applied upstream so that the next import
won't lose this change [1].

I've measured the kernel decompression speed using QEMU before and after
this patch for the x86_64 and i386 architectures.  The speed-up is about
10x as shown below.

Code	Arch	Kernel Size	Time	Speed
v5.8	x86_64	11504832 B	148 ms	 79 MB/s
patch	x86_64	11503872 B	 13 ms	885 MB/s
v5.8	i386	 9621216 B	 91 ms	106 MB/s
patch	i386	 9620224 B	 10 ms	962 MB/s

I also measured the time to decompress the initramfs on x86_64, i386, and
arm.  All three show the same decompression speed before and after, as
expected.

[1] https://github.com/lz4/lz4/pull/890

Signed-off-by: Nick Terrell <terrelln@fb.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Yann Collet <yann.collet.73@gmail.com>
Cc: Gao Xiang <gaoxiang25@huawei.com>
Cc: Sven Schmidt <4sschmid@informatik.uni-hamburg.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Arvind Sankar <nivedita@alum.mit.edu>
Link: http://lkml.kernel.org/r/20200803194022.2966806-1-nickrterrell@gmail.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Change-Id: I3e725b70595227145a8c8b42a6626cb0629fdddf
2024-04-16 03:34:44 +03:00
Michael Bestas
d561bf243b
Merge branch 'for-kernel-version-from-4.1.0' of https://github.com/namjaejeon/linux-exfat-oot into android13-5.4-lahaina
* 'for-kernel-version-from-4.1.0' of https://github.com/namjaejeon/linux-exfat-oot:
  exfat: github action: run buiuld and tests on for-kernel-version-from-4.1.0 branch
  exfat: fix ALIGN_DOWN undefined error
  exfat: using ffs instead of internal logic
  exfat: using hweight instead of internal logic
  exfat: fix ctime is not updated
  exfat: fix setting uninitialized time to ctime/atime
  exfat: convert to new timestamp accessors
  exfat: convert to ctime accessor functions
  exfat: fs: pass the request_mask to generic_fillattr
  exfat: convert to simple_rename_timestamp
  exfat: ensure that ctime is updated whenever the mtime is
  exfat: fs: add CONFIG_BUFFER_HEAD
  exfat: use fat ioctls definitions from include/uapi/linux/msdos_fs.h
  exfat: github action: remove liunx-4.1 source to get more disk space
  exfat: support create zero-size directory
  exfat: support handle zero-size directory
  exfat: add ioctls for accessing attributes
  exfat: vfs: get rid of old '->iterate' directory operation

Change-Id: I7e8add708697faf95952cacdb24bf5f504190fe4
2024-04-16 00:03:08 +03:00
Michael Bestas
f49eef3f77
Merge tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers into android13-5.4-lahaina
"LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0"

* tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/display-drivers:
  disp: msm: sde: program read pointer after configuring vsync_counter_en

Change-Id: I4d7e2a8c137e8ac6c608e3cc37f5ac3758211480
2024-03-23 17:42:23 +02:00
Michael Bestas
edd5792efd
Merge tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/dataipa into android13-5.4-lahaina
"LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0"

* tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/dataipa:
  msm: ipa3: reduce rx-wan pool and cmn page, temp pool sizes
  msm: ipa: allocate page recycling buffers only once
  msm: ipa: avoid OOM Killer for temp allocations
  msm: ipa3: Flush free page WQ only for page recyle replenish handler
  msm: ipa3: Fix to flush to workqueue during teardown pipe
  msm: ipa3: Fix to destory workqueue only if created
  msm: ipa3: Changes to enhance find free pages from list
  msm: ipa: page pool recycling enhancements
  msm: ipa: page pool recycling enhancements

Change-Id: I21c0f5974f08fc032605d2710858eb28e592d1f0
2024-03-23 17:41:41 +02:00
Michael Bestas
c609876f88
Merge tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/camera-kernel into android13-5.4-lahaina
"LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0"

* tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/camera-kernel:
  msm: camera: sensor: Proper handling of race condition in util api
  msm: camera: sensor: Proper handling of race condition in util api
  msm: camera: memmgr: Add missing calls of put buf to avoid leak

Change-Id: I0aff5a21e16f44c2e13ed99b463f326eb57b1653
2024-03-23 17:40:57 +02:00
Michael Bestas
1971b36bd2
Merge tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0 into android13-5.4-lahaina
"LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0"

* tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0:
  Release 2.0.8.34M
  qcacld-3.0: Add a sanity check to prevent integer overflow
  Release 2.0.8.34L
  qcacld-3.0: Fix possible spinlock acquire after destroy
  Release 2.0.8.34K
  qcacld-3.0: Find 6 GHz power type for connection channel
  qcacld-3.0: Find best 6 GHz power type for connection
  Release 2.0.8.34J
  qcacld-3.0: Add vendor attribute for high RSSI roam trigger threshold

Change-Id: I740cd45f715d6609b53b19a9d42b0bf9df8983bc
2024-03-23 17:40:16 +02:00
Michael Bestas
386451381a
Merge tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn into android13-5.4-lahaina
"LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0"

* tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn:
  qcacmn: Fix out of bound read issue in ESP ie parse
  qcacmn: Update no. of DWORDs for htt_tx_msdu_desc_ext2_t
  qcacmn: Change minimum mbssid ie length value to 1
  qcacmn: Find 6 GHz power type for connection channel
  qcacmn: Add an API to translate the 6 GHz channel enum
  qcacmn: Find best 6 GHz power type for connection
  qcacmn: Support 5 GHz high RSSI roam
  qcacmn: Define QCA vendor attribute for high RSSI roam trigger threshold

Change-Id: Ie73b137390339317e5f3f4a72577b04d34c2f0c2
2024-03-23 17:39:34 +02:00
Michael Bestas
f4b7330ae8
Merge tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/fw-api into android13-5.4-lahaina
"LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0"

* tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/fw-api:
  fw-api: CL 25995600 - update fw common interface files
  fw-api: CL 25993098 - update fw common interface files
  fw-api: CL 25976261 - update fw common interface files
  fw-api: CL 25939563 - update fw common interface files
  fw-api: CL 25939560 - update fw common interface files
  fw-api: CL 25930751 - update fw common interface files
  fw-api: CL 25920610 - update fw common interface files
  fw-api: CL 25914677 - update fw common interface files
  fw-api: CL 25907622 - update fw common interface files
  fw-api: CL 25904384 - update fw common interface files
  fw-api: CL 25886772 - update fw common interface files
  fw-api: CL 25886388 - update fw common interface files
  fw-api: CL 25873461 - update fw common interface files
  fw-api: Add hardware header files for WCN7750
  fw-api: CL 25873460 - update fw common interface files
  fw-api: CL 25869885 - update fw common interface files
  fw-api: CL 25866433 - update fw common interface files
  fw-api: CL 25840790 - update fw common interface files
  fw-api: CL 25839627 - update fw common interface files
  fw-api: Fix compilation warnings
  fw-api: peach: v2: Fix compilation errors
  fw-api: CL 25798927 - update fw common interface files
  fw-api: CL 25795907 - update fw common interface files
  fw-api: CL 25779296 - update fw common interface files
  fw-api: CL 25777035 - update fw common interface files
  fw-api: CL 25775134 - update fw common interface files
  fw-api: CL 25746138 - update fw common interface files
  fw-api: CL 25739385 - update fw common interface files
  fw-api: CL 25734378 - update fw common interface files
  fw-api: CL 25734374 - update fw common interface files
  fw-api: CL 25722609 - update fw common interface files
  fw-api: CL 25706940 - update fw common interface files
  fw-api: CL 25706687 - update fw common interface files
  fw-api: CL 25682638 - update fw common interface files
  fw-api: CL 25672910 - update fw common interface files
  fw-api: CL 25663374 - update fw common interface files
  fw-api: CL 25652231 - update fw common interface files
  fw-api: Get V2 HW header files for peach
  fw-api: CL 25639871 - update fw common interface files
  fw-api: CL 25638846 - update fw common interface files
  fw-api: CL 25637760 - update fw common interface files
  fw-api: CL 25636238 - update fw common interface files
  fw-api: CL 25618622 - update fw common interface files
  fw-api: CL 25612024 - update fw common interface files
  fw-api: CL 25601210 - update fw common interface files
  fw-api: CL 25598308 - update fw common interface files
  fw-api: CL 25585821 - update fw common interface files
  fw-api: CL 25582070 - update fw common interface files
  fw-api: CL 25582068 - update fw common interface files
  fw-api: CL 25560130 - update fw common interface files
  fw-api: CL 25538998 - update fw common interface files
  fw-api: CL 25538692 - update fw common interface files
  fw-api: CL 25526295 - update fw common interface files
  fw-api: CL 25522189 - update fw common interface files
  fw-api: CL 25493022 - update fw common interface files
  fw-api: CL 25473754 - update fw common interface files

Change-Id: I1b11683c2661051d4847480e6c2173e7c31fe5d1
2024-03-23 17:38:34 +02:00
Michael Bestas
58d91073d9
Merge tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/kernel/msm-5.4 into android13-5.4-lahaina
"LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0"

* tag 'LA.UM.9.14.r1-24200-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/kernel/msm-5.4:
  bus: mhi: Fix potential out-of-bound access
  rpmsg: slatecom: maintain rx_size to read
  rpmsg: slatecom: out of bound read from process_cmd
  soc: qcom: add out of bound check for AON fifo
  soc: qcom: smem: Add boundary checks for partitions
  msm: kgsl: Do not release dma and anon buffers if unmap fails
  msm: kgsl: Do not release dma and anon buffers if unmap fails
  memshare: Prevent possible integer overflow
  msm: kgsl: Keep the timeline fence valid for logging
  msm: ipa: Add support for Private IP Forwarding
  msm: ipa3: add support to identify wifi attach
  soc: qcom: minidump_log: Protect md_dump_slabinfo under SLUB_DEBUG
  mm: slub: Declare slab_owner_ops only when SLUB DEBUG is enabled
  soc: qcom: Add BLAIR-LITE SoC information to socinfo
  soc: qcom: socinfo: Add soc information for BLAIR LTE
  msm_serial_hs: Fix race between mod_timer and del_timer calls

Change-Id: I5ab9a7732af0be4754b506f2c815ab29b236fb91
2024-03-23 17:36:59 +02:00
Bruno Martins
f32a592779 Merge tag 'ASB-2024-03-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
https://source.android.com/docs/security/bulletin/2024-03-01

* tag 'ASB-2024-03-05_11-5.4' of https://android.googlesource.com/kernel/common:
  ANDROID: GKI: Update symbol list for Zebra
  UPSTREAM: usb: raw-gadget: properly handle interrupted requests
  UPSTREAM: net: prevent skb corruption on frag list segmentation
  UPSTREAM: netfilter: nft_set_rbtree: skip end interval element from gc
  UPSTREAM: net: tls, update curr on splice as well

Change-Id: I7a6117e861e8c35bb66bcc3a9a21cc6db49946b2
2024-03-12 10:53:13 +00:00
Linux Build Service Account
0cb96a3ce3 Merge "bus: mhi: Fix potential out-of-bound access" into kernel.lnx.5.4.r1-rel 2024-03-11 03:51:17 -07:00