2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-19 11:04:00 +08:00
linux-next/fs/ubifs
Richard Weinberger 9ca2d73264 ubifs: Limit number of xattrs per inode
Since we have to write one deletion inode per xattr
into the journal, limit the max number of xattrs.

In theory UBIFS supported up to 65535 xattrs per inode.
But this never worked correctly, expect no powercuts happened.
Now we support only as many xattrs as we can store in 50% of a
LEB.
Even for tiny flashes this allows dozens of xattrs per inode,
which is for an embedded filesystem still fine.

In case someone has existing inodes with much more xattrs, it is
still possible to delete them.
UBIFS will fall back to an non-atomic deletion mode.

Reported-by: Stefan Agner <stefan@agner.ch>
Fixes: 1e51764a3c ("UBIFS: add new flash file system")
Signed-off-by: Richard Weinberger <richard@nod.at>
2019-05-07 21:58:31 +02:00
..
auth.c ubifs: work around high stack usage with clang 2019-05-07 21:36:39 +02:00
budget.c ubifs: Pass struct ubifs_info to ubifs_assert() 2018-08-15 00:25:21 +02:00
commit.c ubifs: Pass struct ubifs_info to ubifs_assert() 2018-08-15 00:25:21 +02:00
compress.c UBIFS: extend debug/message capabilities 2015-03-25 11:08:41 +02:00
crypto.c ubifs: Pass struct ubifs_info to ubifs_assert() 2018-08-15 00:25:21 +02:00
debug.c ubifs: Format changes for authentication support 2018-10-23 13:48:29 +02:00
debug.h ubifs: Rework ubifs_assert() 2018-08-15 00:25:21 +02:00
dir.c ubifs: Limit number of xattrs per inode 2019-05-07 21:58:31 +02:00
file.c mm: migrate: drop unused argument of migrate_page_move_mapping() 2018-12-28 12:11:51 -08:00
find.c ubifs: find.c: replace swap function with built-in one 2019-05-07 21:58:29 +02:00
gc.c ubifs: Add auth nodes to garbage collector journal head 2018-10-23 13:48:40 +02:00
io.c ubifs: Create functions to embed a HMAC in a node 2018-10-23 13:48:37 +02:00
ioctl.c ubifs: remove unnecessary #ifdef around fscrypt_ioctl_get_policy() 2019-05-07 21:36:39 +02:00
journal.c ubifs: Limit number of xattrs per inode 2019-05-07 21:58:31 +02:00
Kconfig fscrypt: remove filesystem specific build config option 2019-01-23 23:56:43 -05:00
key.h ubifs: Pass struct ubifs_info to ubifs_assert() 2018-08-15 00:25:21 +02:00
log.c ubifs: Add authentication nodes to journal 2018-10-23 13:48:39 +02:00
lprops.c ubifs: Pass struct ubifs_info to ubifs_assert() 2018-08-15 00:25:21 +02:00
lpt_commit.c ubifs: authentication: Authenticate LPT 2018-10-23 13:48:47 +02:00
lpt.c ubifs: Fix memory leak on error condition 2018-12-13 22:09:13 +01:00
Makefile fscrypt: remove filesystem specific build config option 2019-01-23 23:56:43 -05:00
master.c ubfis: authentication: Authenticate master node 2018-10-23 13:48:52 +02:00
misc.c ubifs: Allow setting assert action as mount parameter 2018-08-15 00:25:21 +02:00
misc.h ubifs: Limit number of xattrs per inode 2019-05-07 21:58:31 +02:00
orphan.c ubifs: orphan: Handle xattrs like files 2019-05-07 21:58:30 +02:00
recovery.c ubifs: Do not update inode size in-place in authenticated mode 2018-10-23 13:48:57 +02:00
replay.c ubifs: Handle re-linking of inodes correctly while recovery 2018-12-13 22:18:24 +01:00
sb.c fscrypt: remove filesystem specific build config option 2019-01-23 23:56:43 -05:00
scan.c ubifs: Pass struct ubifs_info to ubifs_assert() 2018-08-15 00:25:21 +02:00
shrinker.c ubifs: Pass struct ubifs_info to ubifs_assert() 2018-08-15 00:25:21 +02:00
super.c ubifs: Limit number of xattrs per inode 2019-05-07 21:58:31 +02:00
tnc_commit.c ubifs: authentication: Add hashes to index nodes 2018-10-23 13:48:39 +02:00
tnc_misc.c ubifs: authentication: Add hashes to index nodes 2018-10-23 13:48:39 +02:00
tnc.c ubifs: Do not skip hash checking in data nodes 2019-05-07 21:58:23 +02:00
ubifs-media.h ubifs: Format changes for authentication support 2018-10-23 13:48:29 +02:00
ubifs.h ubifs: Limit number of xattrs per inode 2019-05-07 21:58:31 +02:00
xattr.c ubifs: Limit number of xattrs per inode 2019-05-07 21:58:31 +02:00