All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] Make UTF-8 encoding loadable
@ 2021-03-23 18:31 ` Shreeya Patel
  0 siblings, 0 replies; 28+ messages in thread
From: Shreeya Patel @ 2021-03-23 18:31 UTC (permalink / raw)
  To: tytso, adilger.kernel, jaegeuk, chao, krisman, ebiggers, drosen,
	ebiggers, yuchao0
  Cc: linux-ext4, linux-kernel, linux-f2fs-devel, linux-fsdevel,
	kernel, andre.almeida

utf8data.h_shipped has a large database table which is an auto-generated
decodification trie for the unicode normalization functions and it is not
necessary to carry this large table in the kernel.
Goal is to make UTF-8 encoding loadable by converting it into a module
and adding a layer between the filesystems and the utf8 module which will
load the module whenever any filesystem that needs unicode is mounted.

1st patch in the series resolves the warning reported by kernel test robot
and 2nd patch fixes the incorrect use of utf8_unload() in ext4 and
f2fs filesystems.

Unicode is the subsystem and utf8 is a charachter encoding for the
subsystem, hence 3rd and 4th patches in the series are renaming functions
and file name to unicode for better understanding the difference between
UTF-8 module and unicode layer.

Last patch in the series adds the layer and utf8 module and also uses
static_call() function introducted for preventing speculative execution
attacks.

---
Changes in v3
  - Add a patch which checks if utf8 is loaded before calling utf8_unload()
    in ext4 and f2fs filesystems
  - Return error if strscpy() returns value < 0
  - Correct the conditions to prevent NULL pointer dereference while
    accessing functions via utf8_ops variable.
  - Add spinlock to avoid race conditions.
  - Use static_call() for preventing speculative execution attacks.

Changes in v2
  - Remove the duplicate file from the last patch.
  - Make the wrapper functions inline.
  - Remove msleep and use try_module_get() and module_put()
    for ensuring that module is loaded correctly and also
    doesn't get unloaded while in use.
  - Resolve the warning reported by kernel test robot.
  - Resolve all the checkpatch.pl warnings.

Shreeya Patel (4):
  fs: unicode: Use strscpy() instead of strncpy()
  fs: Check if utf8 encoding is loaded before calling utf8_unload()
  fs: unicode: Rename function names from utf8 to unicode
  fs: unicode: Rename utf8-core file to unicode-core

 fs/ext4/hash.c                             |  2 +-
 fs/ext4/namei.c                            | 12 ++---
 fs/ext4/super.c                            |  8 +--
 fs/f2fs/dir.c                              | 12 ++---
 fs/f2fs/super.c                            | 11 ++--
 fs/libfs.c                                 |  6 +--
 fs/unicode/Makefile                        |  2 +-
 fs/unicode/{utf8-core.c => unicode-core.c} | 62 +++++++++++-----------
 fs/unicode/utf8-selftest.c                 |  8 +--
 include/linux/unicode.h                    | 32 +++++------
 10 files changed, 81 insertions(+), 74 deletions(-)
 rename fs/unicode/{utf8-core.c => unicode-core.c} (72%)

-- 
2.30.1


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2021-03-23 22:20 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-23 18:31 [PATCH v3 0/4] Make UTF-8 encoding loadable Shreeya Patel
2021-03-23 18:31 ` [f2fs-dev] " Shreeya Patel
2021-03-23 18:31 ` [PATCH v3 1/5] fs: unicode: Use strscpy() instead of strncpy() Shreeya Patel
2021-03-23 18:31   ` [f2fs-dev] " Shreeya Patel
2021-03-23 19:09   ` Gabriel Krisman Bertazi
2021-03-23 19:09     ` [f2fs-dev] " Gabriel Krisman Bertazi
2021-03-23 18:31 ` [PATCH v3 2/5] fs: Check if utf8 encoding is loaded before calling utf8_unload() Shreeya Patel
2021-03-23 18:31   ` [f2fs-dev] " Shreeya Patel
2021-03-23 19:10   ` Gabriel Krisman Bertazi
2021-03-23 19:10     ` [f2fs-dev] " Gabriel Krisman Bertazi
2021-03-23 18:31 ` [PATCH v3 3/5] fs: unicode: Rename function names from utf8 to unicode Shreeya Patel
2021-03-23 18:31   ` [f2fs-dev] " Shreeya Patel
2021-03-23 19:14   ` Gabriel Krisman Bertazi
2021-03-23 19:14     ` [f2fs-dev] " Gabriel Krisman Bertazi
2021-03-23 18:32 ` [PATCH v3 4/5] fs: unicode: Rename utf8-core file to unicode-core Shreeya Patel
2021-03-23 18:32   ` [f2fs-dev] " Shreeya Patel
2021-03-23 19:15   ` Gabriel Krisman Bertazi
2021-03-23 19:15     ` [f2fs-dev] " Gabriel Krisman Bertazi
2021-03-23 18:32 ` [PATCH v3 5/5] fs: unicode: Add utf8 module and a unicode layer Shreeya Patel
2021-03-23 18:32   ` [f2fs-dev] " Shreeya Patel
2021-03-23 19:51   ` Gabriel Krisman Bertazi
2021-03-23 19:51     ` [f2fs-dev] " Gabriel Krisman Bertazi
2021-03-23 20:29     ` Eric Biggers
2021-03-23 20:29       ` [f2fs-dev] " Eric Biggers
2021-03-23 22:18       ` Shreeya Patel
2021-03-23 22:18         ` [f2fs-dev] " Shreeya Patel
2021-03-23 22:12     ` Shreeya Patel
2021-03-23 22:12       ` [f2fs-dev] " Shreeya Patel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.