Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ocfs2: move ocfs2_xattr_handlers and ocfs2_xattr_handler_map to .rodata

This makes it harder for accidental or malicious changes to
ocfs2_xattr_handlers or ocfs2_xattr_handler_map at runtime.

Cc: Mark Fasheh <mark@fasheh.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Joseph Qi <joseph.qi@linux.alibaba.com>
Cc: ocfs2-devel@lists.linux.dev
Signed-off-by: Wedson Almeida Filho <walmeida@microsoft.com>
Link: https://lore.kernel.org/r/20230930050033.41174-21-wedsonaf@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>

authored by

Wedson Almeida Filho and committed by
Christian Brauner
2cba9af9 5bf1dd94

+3 -3
+2 -2
fs/ocfs2/xattr.c
··· 87 87 .xv.xr_list.l_count = cpu_to_le16(1), 88 88 }; 89 89 90 - const struct xattr_handler *ocfs2_xattr_handlers[] = { 90 + const struct xattr_handler * const ocfs2_xattr_handlers[] = { 91 91 &ocfs2_xattr_user_handler, 92 92 &ocfs2_xattr_trusted_handler, 93 93 &ocfs2_xattr_security_handler, 94 94 NULL 95 95 }; 96 96 97 - static const struct xattr_handler *ocfs2_xattr_handler_map[OCFS2_XATTR_MAX] = { 97 + static const struct xattr_handler * const ocfs2_xattr_handler_map[OCFS2_XATTR_MAX] = { 98 98 [OCFS2_XATTR_INDEX_USER] = &ocfs2_xattr_user_handler, 99 99 [OCFS2_XATTR_INDEX_POSIX_ACL_ACCESS] = &nop_posix_acl_access, 100 100 [OCFS2_XATTR_INDEX_POSIX_ACL_DEFAULT] = &nop_posix_acl_default,
+1 -1
fs/ocfs2/xattr.h
··· 30 30 extern const struct xattr_handler ocfs2_xattr_user_handler; 31 31 extern const struct xattr_handler ocfs2_xattr_trusted_handler; 32 32 extern const struct xattr_handler ocfs2_xattr_security_handler; 33 - extern const struct xattr_handler *ocfs2_xattr_handlers[]; 33 + extern const struct xattr_handler * const ocfs2_xattr_handlers[]; 34 34 35 35 ssize_t ocfs2_listxattr(struct dentry *, char *, size_t); 36 36 int ocfs2_xattr_get_nolock(struct inode *, struct buffer_head *, int,