<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/jffs2, branch linux-5.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-04-08T12:05:24Z</updated>
<entry>
<title>jffs2: fix memory leak in jffs2_scan_medium</title>
<updated>2022-04-08T12:05:24Z</updated>
<author>
<name>Baokun Li</name>
</author>
<published>2022-01-14T10:28:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b26bbc0c122cad038831f226a4cb4de702225e16'/>
<id>urn:sha1:b26bbc0c122cad038831f226a4cb4de702225e16</id>
<content type='text'>
commit 9cdd3128874f5fe759e2c4e1360ab7fb96a8d1df upstream.

If an error is returned in jffs2_scan_eraseblock() and some memory
has been added to the jffs2_summary *s, we can observe the following
kmemleak report:

--------------------------------------------
unreferenced object 0xffff88812b889c40 (size 64):
  comm "mount", pid 692, jiffies 4294838325 (age 34.288s)
  hex dump (first 32 bytes):
    40 48 b5 14 81 88 ff ff 01 e0 31 00 00 00 50 00  @H........1...P.
    00 00 01 00 00 00 01 00 00 00 02 00 00 00 09 08  ................
  backtrace:
    [&lt;ffffffffae93a3a3&gt;] __kmalloc+0x613/0x910
    [&lt;ffffffffaf423b9c&gt;] jffs2_sum_add_dirent_mem+0x5c/0xa0
    [&lt;ffffffffb0f3afa8&gt;] jffs2_scan_medium.cold+0x36e5/0x4794
    [&lt;ffffffffb0f3dbe1&gt;] jffs2_do_mount_fs.cold+0xa7/0x2267
    [&lt;ffffffffaf40acf3&gt;] jffs2_do_fill_super+0x383/0xc30
    [&lt;ffffffffaf40c00a&gt;] jffs2_fill_super+0x2ea/0x4c0
    [&lt;ffffffffb0315d64&gt;] mtd_get_sb+0x254/0x400
    [&lt;ffffffffb0315f5f&gt;] mtd_get_sb_by_nr+0x4f/0xd0
    [&lt;ffffffffb0316478&gt;] get_tree_mtd+0x498/0x840
    [&lt;ffffffffaf40bd15&gt;] jffs2_get_tree+0x25/0x30
    [&lt;ffffffffae9f358d&gt;] vfs_get_tree+0x8d/0x2e0
    [&lt;ffffffffaea7a98f&gt;] path_mount+0x50f/0x1e50
    [&lt;ffffffffaea7c3d7&gt;] do_mount+0x107/0x130
    [&lt;ffffffffaea7c5c5&gt;] __se_sys_mount+0x1c5/0x2f0
    [&lt;ffffffffaea7c917&gt;] __x64_sys_mount+0xc7/0x160
    [&lt;ffffffffb10142f5&gt;] do_syscall_64+0x45/0x70
unreferenced object 0xffff888114b54840 (size 32):
  comm "mount", pid 692, jiffies 4294838325 (age 34.288s)
  hex dump (first 32 bytes):
    c0 75 b5 14 81 88 ff ff 02 e0 02 00 00 00 02 00  .u..............
    00 00 84 00 00 00 44 00 00 00 6b 6b 6b 6b 6b a5  ......D...kkkkk.
  backtrace:
    [&lt;ffffffffae93be24&gt;] kmem_cache_alloc_trace+0x584/0x880
    [&lt;ffffffffaf423b04&gt;] jffs2_sum_add_inode_mem+0x54/0x90
    [&lt;ffffffffb0f3bd44&gt;] jffs2_scan_medium.cold+0x4481/0x4794
    [...]
unreferenced object 0xffff888114b57280 (size 32):
  comm "mount", pid 692, jiffies 4294838393 (age 34.357s)
  hex dump (first 32 bytes):
    10 d5 6c 11 81 88 ff ff 08 e0 05 00 00 00 01 00  ..l.............
    00 00 38 02 00 00 28 00 00 00 6b 6b 6b 6b 6b a5  ..8...(...kkkkk.
  backtrace:
    [&lt;ffffffffae93be24&gt;] kmem_cache_alloc_trace+0x584/0x880
    [&lt;ffffffffaf423c34&gt;] jffs2_sum_add_xattr_mem+0x54/0x90
    [&lt;ffffffffb0f3a24f&gt;] jffs2_scan_medium.cold+0x298c/0x4794
    [...]
unreferenced object 0xffff8881116cd510 (size 16):
  comm "mount", pid 692, jiffies 4294838395 (age 34.355s)
  hex dump (first 16 bytes):
    00 00 00 00 00 00 00 00 09 e0 60 02 00 00 6b a5  ..........`...k.
  backtrace:
    [&lt;ffffffffae93be24&gt;] kmem_cache_alloc_trace+0x584/0x880
    [&lt;ffffffffaf423cc4&gt;] jffs2_sum_add_xref_mem+0x54/0x90
    [&lt;ffffffffb0f3b2e3&gt;] jffs2_scan_medium.cold+0x3a20/0x4794
    [...]
--------------------------------------------

Therefore, we should call jffs2_sum_reset_collected(s) on exit to
release the memory added in s. In addition, a new tag "out_buf" is
added to prevent the NULL pointer reference caused by s being NULL.
(thanks to Zhang Yi for this analysis)

Fixes: e631ddba5887 ("[JFFS2] Add erase block summary support (mount time improvement)")
Cc: stable@vger.kernel.org
Co-developed-with: Zhihao Cheng &lt;chengzhihao1@huawei.com&gt;
Signed-off-by: Baokun Li &lt;libaokun1@huawei.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>jffs2: fix memory leak in jffs2_do_mount_fs</title>
<updated>2022-04-08T12:05:24Z</updated>
<author>
<name>Baokun Li</name>
</author>
<published>2022-01-14T10:28:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5f34310d1376ca5b2ed798258def2c2ab3cc6699'/>
<id>urn:sha1:5f34310d1376ca5b2ed798258def2c2ab3cc6699</id>
<content type='text'>
commit d051cef784de4d54835f6b6836d98a8f6935772c upstream.

If jffs2_build_filesystem() in jffs2_do_mount_fs() returns an error,
we can observe the following kmemleak report:

--------------------------------------------
unreferenced object 0xffff88811b25a640 (size 64):
  comm "mount", pid 691, jiffies 4294957728 (age 71.952s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffffa493be24&gt;] kmem_cache_alloc_trace+0x584/0x880
    [&lt;ffffffffa5423a06&gt;] jffs2_sum_init+0x86/0x130
    [&lt;ffffffffa5400e58&gt;] jffs2_do_mount_fs+0x798/0xac0
    [&lt;ffffffffa540acf3&gt;] jffs2_do_fill_super+0x383/0xc30
    [&lt;ffffffffa540c00a&gt;] jffs2_fill_super+0x2ea/0x4c0
    [...]
unreferenced object 0xffff88812c760000 (size 65536):
  comm "mount", pid 691, jiffies 4294957728 (age 71.952s)
  hex dump (first 32 bytes):
    bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb  ................
    bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb  ................
  backtrace:
    [&lt;ffffffffa493a449&gt;] __kmalloc+0x6b9/0x910
    [&lt;ffffffffa5423a57&gt;] jffs2_sum_init+0xd7/0x130
    [&lt;ffffffffa5400e58&gt;] jffs2_do_mount_fs+0x798/0xac0
    [&lt;ffffffffa540acf3&gt;] jffs2_do_fill_super+0x383/0xc30
    [&lt;ffffffffa540c00a&gt;] jffs2_fill_super+0x2ea/0x4c0
    [...]
--------------------------------------------

This is because the resources allocated in jffs2_sum_init() are not
released. Call jffs2_sum_exit() to release these resources to solve
the problem.

Fixes: e631ddba5887 ("[JFFS2] Add erase block summary support (mount time improvement)")
Cc: stable@vger.kernel.org
Signed-off-by: Baokun Li &lt;libaokun1@huawei.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>jffs2: fix use-after-free in jffs2_clear_xattr_subsystem</title>
<updated>2022-04-08T12:05:24Z</updated>
<author>
<name>Baokun Li</name>
</author>
<published>2021-12-28T12:54:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=22327bd7988f21de3a53c1373f3b81542bfe1f44'/>
<id>urn:sha1:22327bd7988f21de3a53c1373f3b81542bfe1f44</id>
<content type='text'>
commit 4c7c44ee1650677fbe89d86edbad9497b7679b5c upstream.

When we mount a jffs2 image, assume that the first few blocks of
the image are normal and contain at least one xattr-related inode,
but the next block is abnormal. As a result, an error is returned
in jffs2_scan_eraseblock(). jffs2_clear_xattr_subsystem() is then
called in jffs2_build_filesystem() and then again in
jffs2_do_fill_super().

Finally we can observe the following report:
 ==================================================================
 BUG: KASAN: use-after-free in jffs2_clear_xattr_subsystem+0x95/0x6ac
 Read of size 8 at addr ffff8881243384e0 by task mount/719

 Call Trace:
  dump_stack+0x115/0x16b
  jffs2_clear_xattr_subsystem+0x95/0x6ac
  jffs2_do_fill_super+0x84f/0xc30
  jffs2_fill_super+0x2ea/0x4c0
  mtd_get_sb+0x254/0x400
  mtd_get_sb_by_nr+0x4f/0xd0
  get_tree_mtd+0x498/0x840
  jffs2_get_tree+0x25/0x30
  vfs_get_tree+0x8d/0x2e0
  path_mount+0x50f/0x1e50
  do_mount+0x107/0x130
  __se_sys_mount+0x1c5/0x2f0
  __x64_sys_mount+0xc7/0x160
  do_syscall_64+0x45/0x70
  entry_SYSCALL_64_after_hwframe+0x44/0xa9

 Allocated by task 719:
  kasan_save_stack+0x23/0x60
  __kasan_kmalloc.constprop.0+0x10b/0x120
  kasan_slab_alloc+0x12/0x20
  kmem_cache_alloc+0x1c0/0x870
  jffs2_alloc_xattr_ref+0x2f/0xa0
  jffs2_scan_medium.cold+0x3713/0x4794
  jffs2_do_mount_fs.cold+0xa7/0x2253
  jffs2_do_fill_super+0x383/0xc30
  jffs2_fill_super+0x2ea/0x4c0
 [...]

 Freed by task 719:
  kmem_cache_free+0xcc/0x7b0
  jffs2_free_xattr_ref+0x78/0x98
  jffs2_clear_xattr_subsystem+0xa1/0x6ac
  jffs2_do_mount_fs.cold+0x5e6/0x2253
  jffs2_do_fill_super+0x383/0xc30
  jffs2_fill_super+0x2ea/0x4c0
 [...]

 The buggy address belongs to the object at ffff8881243384b8
  which belongs to the cache jffs2_xattr_ref of size 48
 The buggy address is located 40 bytes inside of
  48-byte region [ffff8881243384b8, ffff8881243384e8)
 [...]
 ==================================================================

The triggering of the BUG is shown in the following stack:
-----------------------------------------------------------
jffs2_fill_super
  jffs2_do_fill_super
    jffs2_do_mount_fs
      jffs2_build_filesystem
        jffs2_scan_medium
          jffs2_scan_eraseblock        &lt;--- ERROR
        jffs2_clear_xattr_subsystem    &lt;--- free
    jffs2_clear_xattr_subsystem        &lt;--- free again
-----------------------------------------------------------

An error is returned in jffs2_do_mount_fs(). If the error is returned
by jffs2_sum_init(), the jffs2_clear_xattr_subsystem() does not need to
be executed. If the error is returned by jffs2_build_filesystem(), the
jffs2_clear_xattr_subsystem() also does not need to be executed again.
So move jffs2_clear_xattr_subsystem() from 'out_inohash' to 'out_root'
to fix this UAF problem.

Fixes: aa98d7cf59b5 ("[JFFS2][XATTR] XATTR support on JFFS2 (version. 5)")
Cc: stable@vger.kernel.org
Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Signed-off-by: Baokun Li &lt;libaokun1@huawei.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>jffs2: GC deadlock reading a page that is used in jffs2_write_begin()</title>
<updated>2022-01-27T11:02:28Z</updated>
<author>
<name>Kyeong Yoo</name>
</author>
<published>2017-07-04T04:22:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2ee1f537cfb838fb1b4c080c3edf8989151f47db'/>
<id>urn:sha1:2ee1f537cfb838fb1b4c080c3edf8989151f47db</id>
<content type='text'>
[ Upstream commit aa39cc675799bc92da153af9a13d6f969c348e82 ]

GC task can deadlock in read_cache_page() because it may attempt
to release a page that is actually allocated by another task in
jffs2_write_begin().
The reason is that in jffs2_write_begin() there is a small window
a cache page is allocated for use but not set Uptodate yet.

This ends up with a deadlock between two tasks:
1) A task (e.g. file copy)
   - jffs2_write_begin() locks a cache page
   - jffs2_write_end() tries to lock "alloc_sem" from
	 jffs2_reserve_space() &lt;-- STUCK
2) GC task (jffs2_gcd_mtd3)
   - jffs2_garbage_collect_pass() locks "alloc_sem"
   - try to lock the same cache page in read_cache_page() &lt;-- STUCK

So to avoid this deadlock, hold "alloc_sem" in jffs2_write_begin()
while reading data in a cache page.

Signed-off-by: Kyeong Yoo &lt;kyeong.yoo@alliedtelesis.co.nz&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>vfs: add rcu argument to -&gt;get_acl() callback</title>
<updated>2021-08-18T20:08:24Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2021-08-18T20:08:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0cad6246621b5887d5b33fea84219d2a71f2f99a'/>
<id>urn:sha1:0cad6246621b5887d5b33fea84219d2a71f2f99a</id>
<content type='text'>
Add a rcu argument to the -&gt;get_acl() callback to allow
get_cached_acl_rcu() to call the -&gt;get_acl() method in the next patch.

Signed-off-by: Miklos Szeredi &lt;mszeredi@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'for-linus-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs</title>
<updated>2021-05-05T01:08:40Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2021-05-05T01:08:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=51f629446cd172e324deb0146741888cac5dedca'/>
<id>urn:sha1:51f629446cd172e324deb0146741888cac5dedca</id>
<content type='text'>
Pull JFFS2, UBI and UBIFS updates from Richard Weinberger:
 "JFFS2:
   - Use splice_write()
   - Fix for a slab-out-of-bounds bug

  UBI:
   - Fix for clang related warnings
   - Code cleanup

  UBIFS:
   - Fix for inode rebirth at replay
   - Set s_uuid
   - Use zstd for default filesystem"

* tag 'for-linus-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
  ubi: Remove unnecessary struct declaration
  jffs2: Hook up splice_write callback
  jffs2: avoid Wempty-body warnings
  jffs2: Fix kasan slab-out-of-bounds problem
  ubi: Fix fall-through warnings for Clang
  ubifs: Report max LEB count at mount time
  ubifs: Set s_uuid in super block to support ima/evm uuid options
  ubifs: Default to zstd compression
  ubifs: Only check replay with inode type to judge if inode linked
</content>
</entry>
<entry>
<title>jffs2: Hook up splice_write callback</title>
<updated>2021-04-15T20:01:14Z</updated>
<author>
<name>Joel Stanley</name>
</author>
<published>2021-03-30T13:45:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=42984af09afc414d540fcc8247f42894b0378a91'/>
<id>urn:sha1:42984af09afc414d540fcc8247f42894b0378a91</id>
<content type='text'>
overlayfs using jffs2 as the upper filesystem would fail in some cases
since moving to v5.10. The test case used was to run 'touch' on a file
that exists in the lower fs, causing the modification time to be
updated. It returns EINVAL when the bug is triggered.

A bisection showed this was introduced in v5.9-rc1, with commit
36e2c7421f02 ("fs: don't allow splice read/write without explicit ops").
Reverting that commit restores the expected behaviour.

Some digging showed that this was due to jffs2 lacking an implementation
of splice_write. (For unknown reasons the warn_unsupported that should
trigger was not displaying any output).

Adding this patch resolved the issue and the test now passes.

Cc: stable@vger.kernel.org
Fixes: 36e2c7421f02 ("fs: don't allow splice read/write without explicit ops")
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Tested-by: Lei YU &lt;yulei.sh@bytedance.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>jffs2: avoid Wempty-body warnings</title>
<updated>2021-04-15T20:01:11Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2021-03-22T11:34:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=81af4b7b53d3f2931db907c90822d0b89f0166b7'/>
<id>urn:sha1:81af4b7b53d3f2931db907c90822d0b89f0166b7</id>
<content type='text'>
Building with W=1 shows a few warnings for empty macros:

fs/jffs2/scan.c: In function 'jffs2_scan_xattr_node':
fs/jffs2/scan.c:378:66: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
  378 |                 jffs2_sum_add_xattr_mem(s, rx, ofs - jeb-&gt;offset);
      |                                                                  ^
fs/jffs2/scan.c: In function 'jffs2_scan_xref_node':
fs/jffs2/scan.c:434:65: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
  434 |                 jffs2_sum_add_xref_mem(s, rr, ofs - jeb-&gt;offset);
      |                                                                 ^
fs/jffs2/scan.c: In function 'jffs2_scan_eraseblock':
fs/jffs2/scan.c:893:88: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
  893 |                                 jffs2_sum_add_padding_mem(s, je32_to_cpu(node-&gt;totlen));
      |                                                                                        ^

Change all these macros to 'do { } while (0)' statements to avoid the
warnings and make the code a little more robust.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>jffs2: Fix kasan slab-out-of-bounds problem</title>
<updated>2021-04-15T20:00:46Z</updated>
<author>
<name>lizhe</name>
</author>
<published>2021-03-18T03:06:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=960b9a8a7676b9054d8b46a2c7db52a0c8766b56'/>
<id>urn:sha1:960b9a8a7676b9054d8b46a2c7db52a0c8766b56</id>
<content type='text'>
KASAN report a slab-out-of-bounds problem. The logs are listed below.
It is because in function jffs2_scan_dirent_node, we alloc "checkedlen+1"
bytes for fd-&gt;name and we check crc with length rd-&gt;nsize. If checkedlen
is less than rd-&gt;nsize, it will cause the slab-out-of-bounds problem.

jffs2: Dirent at *** has zeroes in name. Truncating to %d char
==================================================================
BUG: KASAN: slab-out-of-bounds in crc32_le+0x1ce/0x260 at addr ffff8800842cf2d1
Read of size 1 by task test_JFFS2/915
=============================================================================
BUG kmalloc-64 (Tainted: G    B      O   ): kasan: bad access detected
-----------------------------------------------------------------------------
INFO: Allocated in jffs2_alloc_full_dirent+0x2a/0x40 age=0 cpu=1 pid=915
	___slab_alloc+0x580/0x5f0
	__slab_alloc.isra.24+0x4e/0x64
	__kmalloc+0x170/0x300
	jffs2_alloc_full_dirent+0x2a/0x40
	jffs2_scan_eraseblock+0x1ca4/0x3b64
	jffs2_scan_medium+0x285/0xfe0
	jffs2_do_mount_fs+0x5fb/0x1bbc
	jffs2_do_fill_super+0x245/0x6f0
	jffs2_fill_super+0x287/0x2e0
	mount_mtd_aux.isra.0+0x9a/0x144
	mount_mtd+0x222/0x2f0
	jffs2_mount+0x41/0x60
	mount_fs+0x63/0x230
	vfs_kern_mount.part.6+0x6c/0x1f4
	do_mount+0xae8/0x1940
	SyS_mount+0x105/0x1d0
INFO: Freed in jffs2_free_full_dirent+0x22/0x40 age=27 cpu=1 pid=915
	__slab_free+0x372/0x4e4
	kfree+0x1d4/0x20c
	jffs2_free_full_dirent+0x22/0x40
	jffs2_build_remove_unlinked_inode+0x17a/0x1e4
	jffs2_do_mount_fs+0x1646/0x1bbc
	jffs2_do_fill_super+0x245/0x6f0
	jffs2_fill_super+0x287/0x2e0
	mount_mtd_aux.isra.0+0x9a/0x144
	mount_mtd+0x222/0x2f0
	jffs2_mount+0x41/0x60
	mount_fs+0x63/0x230
	vfs_kern_mount.part.6+0x6c/0x1f4
	do_mount+0xae8/0x1940
	SyS_mount+0x105/0x1d0
	entry_SYSCALL_64_fastpath+0x1e/0x97
Call Trace:
 [&lt;ffffffff815befef&gt;] dump_stack+0x59/0x7e
 [&lt;ffffffff812d1d65&gt;] print_trailer+0x125/0x1b0
 [&lt;ffffffff812d82c8&gt;] object_err+0x34/0x40
 [&lt;ffffffff812dadef&gt;] kasan_report.part.1+0x21f/0x534
 [&lt;ffffffff81132401&gt;] ? vprintk+0x2d/0x40
 [&lt;ffffffff815f1ee2&gt;] ? crc32_le+0x1ce/0x260
 [&lt;ffffffff812db41a&gt;] kasan_report+0x26/0x30
 [&lt;ffffffff812d9fc1&gt;] __asan_load1+0x3d/0x50
 [&lt;ffffffff815f1ee2&gt;] crc32_le+0x1ce/0x260
 [&lt;ffffffff814764ae&gt;] ? jffs2_alloc_full_dirent+0x2a/0x40
 [&lt;ffffffff81485cec&gt;] jffs2_scan_eraseblock+0x1d0c/0x3b64
 [&lt;ffffffff81488813&gt;] ? jffs2_scan_medium+0xccf/0xfe0
 [&lt;ffffffff81483fe0&gt;] ? jffs2_scan_make_ino_cache+0x14c/0x14c
 [&lt;ffffffff812da3e9&gt;] ? kasan_unpoison_shadow+0x35/0x50
 [&lt;ffffffff812da3e9&gt;] ? kasan_unpoison_shadow+0x35/0x50
 [&lt;ffffffff812da462&gt;] ? kasan_kmalloc+0x5e/0x70
 [&lt;ffffffff812d5d90&gt;] ? kmem_cache_alloc_trace+0x10c/0x2cc
 [&lt;ffffffff818169fb&gt;] ? mtd_point+0xf7/0x130
 [&lt;ffffffff81487dc9&gt;] jffs2_scan_medium+0x285/0xfe0
 [&lt;ffffffff81487b44&gt;] ? jffs2_scan_eraseblock+0x3b64/0x3b64
 [&lt;ffffffff812da3e9&gt;] ? kasan_unpoison_shadow+0x35/0x50
 [&lt;ffffffff812da3e9&gt;] ? kasan_unpoison_shadow+0x35/0x50
 [&lt;ffffffff812da462&gt;] ? kasan_kmalloc+0x5e/0x70
 [&lt;ffffffff812d57df&gt;] ? __kmalloc+0x12b/0x300
 [&lt;ffffffff812da462&gt;] ? kasan_kmalloc+0x5e/0x70
 [&lt;ffffffff814a2753&gt;] ? jffs2_sum_init+0x9f/0x240
 [&lt;ffffffff8148b2ff&gt;] jffs2_do_mount_fs+0x5fb/0x1bbc
 [&lt;ffffffff8148ad04&gt;] ? jffs2_del_noinode_dirent+0x640/0x640
 [&lt;ffffffff812da462&gt;] ? kasan_kmalloc+0x5e/0x70
 [&lt;ffffffff81127c5b&gt;] ? __init_rwsem+0x97/0xac
 [&lt;ffffffff81492349&gt;] jffs2_do_fill_super+0x245/0x6f0
 [&lt;ffffffff81493c5b&gt;] jffs2_fill_super+0x287/0x2e0
 [&lt;ffffffff814939d4&gt;] ? jffs2_parse_options+0x594/0x594
 [&lt;ffffffff81819bea&gt;] mount_mtd_aux.isra.0+0x9a/0x144
 [&lt;ffffffff81819eb6&gt;] mount_mtd+0x222/0x2f0
 [&lt;ffffffff814939d4&gt;] ? jffs2_parse_options+0x594/0x594
 [&lt;ffffffff81819c94&gt;] ? mount_mtd_aux.isra.0+0x144/0x144
 [&lt;ffffffff81258757&gt;] ? free_pages+0x13/0x1c
 [&lt;ffffffff814fa0ac&gt;] ? selinux_sb_copy_data+0x278/0x2e0
 [&lt;ffffffff81492b35&gt;] jffs2_mount+0x41/0x60
 [&lt;ffffffff81302fb7&gt;] mount_fs+0x63/0x230
 [&lt;ffffffff8133755f&gt;] ? alloc_vfsmnt+0x32f/0x3b0
 [&lt;ffffffff81337f2c&gt;] vfs_kern_mount.part.6+0x6c/0x1f4
 [&lt;ffffffff8133ceec&gt;] do_mount+0xae8/0x1940
 [&lt;ffffffff811b94e0&gt;] ? audit_filter_rules.constprop.6+0x1d10/0x1d10
 [&lt;ffffffff8133c404&gt;] ? copy_mount_string+0x40/0x40
 [&lt;ffffffff812cbf78&gt;] ? alloc_pages_current+0xa4/0x1bc
 [&lt;ffffffff81253a89&gt;] ? __get_free_pages+0x25/0x50
 [&lt;ffffffff81338993&gt;] ? copy_mount_options.part.17+0x183/0x264
 [&lt;ffffffff8133e3a9&gt;] SyS_mount+0x105/0x1d0
 [&lt;ffffffff8133e2a4&gt;] ? copy_mnt_ns+0x560/0x560
 [&lt;ffffffff810e8391&gt;] ? msa_space_switch_handler+0x13d/0x190
 [&lt;ffffffff81be184a&gt;] entry_SYSCALL_64_fastpath+0x1e/0x97
 [&lt;ffffffff810e9274&gt;] ? msa_space_switch+0xb0/0xe0
Memory state around the buggy address:
 ffff8800842cf180: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff8800842cf200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
&gt;ffff8800842cf280: fc fc fc fc fc fc 00 00 00 00 01 fc fc fc fc fc
                                                 ^
 ffff8800842cf300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff8800842cf380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
==================================================================

Cc: stable@vger.kernel.org
Reported-by: Kunkun Xu &lt;xukunkun1@huawei.com&gt;
Signed-off-by: lizhe &lt;lizhe67@huawei.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>fs/jffs2: Delete obsolete TODO file</title>
<updated>2021-03-30T23:54:49Z</updated>
<author>
<name>Wang Qing</name>
</author>
<published>2021-03-30T07:02:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab36ba4f3a81c5562cabab9988c6aa8ef65a5543'/>
<id>urn:sha1:ab36ba4f3a81c5562cabab9988c6aa8ef65a5543</id>
<content type='text'>
The TODO file here has not been updated for 14 years, and the function
development described in the file have been implemented or abandoned.

Its existence will mislead developers seeking to view outdated information.

Signed-off-by: Wang Qing &lt;wangqing@vivo.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
