linux/fs/ubifs
Zhihao Cheng c4c0d19d39 ubifs: Limit dumping length by size of memory which is allocated for the node
To prevent memory out-of-bounds accessing in ubifs_dump_node(), actual
dumping length should be restricted by another condition(size of memory
which is allocated for the node).

This patch handles following situations (These situations may be caused
by bit flipping due to hardware error, writing bypass ubifs, unknown
bugs in ubifs, etc.):
1. bad node_len: Dumping data according to 'ch->len' which may exceed
   the size of memory allocated for node.
2. bad node content: Some kinds of node can record additional data, eg.
   index node and orphan node, make sure the size of additional data
   not beyond the node length.
3. node_type changes: Read data according to type A, but expected type
   B, before that, node is allocated according to type B's size. Length
   of type A node is greater than type B node.

Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
2020-12-13 22:11:36 +01:00
..
auth.c ubifs: Fix error return code in ubifs_init_authentication() 2020-12-13 21:57:20 +01:00
budget.c ubifs: Limit the number of pages in shrink_liability 2019-08-22 17:25:33 +02:00
commit.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
compress.c ubifs: Add support for zstd compression. 2019-07-08 19:43:53 +02:00
crypto.c fscrypt: introduce fscrypt_decrypt_block_inplace() 2019-05-28 10:27:53 -07:00
debug.c ubifs: Limit dumping length by size of memory which is allocated for the node 2020-12-13 22:11:36 +01:00
debug.h ubifs: Limit dumping length by size of memory which is allocated for the node 2020-12-13 22:11:36 +01:00
dir.c ubifs: Code cleanup by removing ifdef macro surrounding 2020-12-13 21:51:59 +01:00
file.c ubifs: Code cleanup by removing ifdef macro surrounding 2020-12-13 21:51:59 +01:00
find.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
gc.c ubifs: Fix some kernel-doc warnings in gc.c 2020-09-17 23:06:53 +02:00
io.c ubifs: wbuf: Don't leak kernel memory to flash 2020-12-13 21:57:20 +01:00
ioctl.c ubifs: setflags: Don't show error message when vfs_ioc_setflags_prepare() fails 2020-09-17 22:56:19 +02:00
journal.c ubifs: journal: Make sure to not dirty twice for auth nodes 2020-09-29 10:43:05 +02:00
Kconfig fscrypt: Allow modular crypto algorithms 2019-12-31 10:33:51 -06:00
key.h ubifs: allow both hash and disk name to be provided in no-key names 2020-01-22 14:49:56 -08:00
log.c ubifs: remove unnecessary check in ubifs_log_start_commit 2019-07-08 19:43:51 +02:00
lprops.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
lpt_commit.c mm: remove the pgprot argument to __vmalloc 2020-06-02 10:59:11 -07:00
lpt.c ubifs: Fix the printing type of c->big_lpt 2020-12-13 21:57:10 +01:00
Makefile fscrypt: remove filesystem specific build config option 2019-01-23 23:56:43 -05:00
master.c ubifs: use crypto_shash_tfm_digest() 2020-05-08 15:32:15 +10:00
misc.c ubifs: Allow setting assert action as mount parameter 2018-08-15 00:25:21 +02:00
misc.h ubifs: misc.h: delete a duplicated word 2020-08-02 22:59:03 +02:00
orphan.c ubifs: xattr: Fix some potential memory leaks while iterating entries 2020-09-17 22:55:41 +02:00
recovery.c ubifs: Fix typo of output in get_cs_sqnum 2019-07-08 19:43:43 +02:00
replay.c ubifs: Delete duplicated words + other fixes 2020-12-13 21:51:46 +01:00
sb.c ubifs: add option to specify version for new file systems 2020-08-02 22:23:46 +02:00
scan.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
shrinker.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
super.c ubifs: Fixed print foramt mismatch in ubifs 2020-12-13 21:57:21 +01:00
tnc_commit.c ubifs: ubifs_tnc_start_commit: Fix OOB in layout_in_gaps 2019-11-17 22:22:54 +01:00
tnc_misc.c ubifs: Delete duplicated words + other fixes 2020-12-13 21:51:46 +01:00
tnc.c ubifs: Delete duplicated words + other fixes 2020-12-13 21:51:46 +01:00
ubifs-media.h ubifs: Add support for zstd compression. 2019-07-08 19:43:53 +02:00
ubifs.h ubifs: Code cleanup by removing ifdef macro surrounding 2020-12-13 21:51:59 +01:00
xattr.c ubifs: xattr: Fix some potential memory leaks while iterating entries 2020-09-17 22:55:41 +02:00