ext4: constify static data that is never modified
PATCH 1/1 ext4: constify static data that is never modified
From: Eric Biggers <[email protected]>
Constify static data in ext4 that is never (intentionally) modified so that it is placed in .rodata and benefits from memory protection.
Signed-off-by Eric Biggers <[email protected]>
--- fs/ext4/ext4.h | 4 ++-- fs/ext4/mballoc.c | 2 +- fs/ext4/super.c | 5 +++-- fs/ext4/sysfs.c | 8 ++++---- fs/ext4/xattr.c | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-)
fs/ext4/ext4.h +2 -2
@@ -2366,7 +2366,7 @@ static inline void ext4_update_dx_flag(struct inode *inode)if (!ext4_has_feature_dir_index (inode->i_sb))ext4_clear_inode_flag (inode,EXT4_INODE_INDEX ); } -static unsigned char ext4_filetype_table[] = { +static const unsigned char ext4_filetype_table[] = {DT_UNKNOWN ,DT_REG ,DT_DIR ,DT_CHR ,DT_BLK ,DT_FIFO ,DT_SOCK ,DT_LNK };
@@ -3050,7 +3050,7 @@ extern int ext4_handle_dirty_dirent_node(handle_t *handle,struct inode *inode, struct buffer_head *bh);#define S_SHIFT 12 -static unsigned char ext4_type_by_mode[S_IFMT >>S_SHIFT ] = { +static const unsigned char ext4_type_by_mode[S_IFMT >>S_SHIFT ] = { [S_IFREG >>S_SHIFT ] =EXT4_FT_REG_FILE , [S_IFDIR >>S_SHIFT ] =EXT4_FT_DIR , [S_IFCHR >>S_SHIFT ] =EXT4_FT_CHRDEV ,
fs/ext4/mballoc.c +1 -1
@@ -357,7 +357,7 @@ static struct kmem_cache *ext4_free_data_cachep;#define NR_GRPINFO_CACHES 8static struct kmem_cache *ext4_groupinfo_caches[NR_GRPINFO_CACHES ]; -static const char *ext4_groupinfo_slab_names[NR_GRPINFO_CACHES ] = { +static const char *const ext4_groupinfo_slab_names[NR_GRPINFO_CACHES ] = {"ext4_groupinfo_1k" ,"ext4_groupinfo_2k" ,"ext4_groupinfo_4k" ,"ext4_groupinfo_8k" ,"ext4_groupinfo_16k" ,"ext4_groupinfo_32k" ,"ext4_groupinfo_64k" ,"ext4_groupinfo_128k"
fs/ext4/super.c +3 -2
@@ -1210,7 +1210,7 @@ static const struct fscrypt_operations ext4_cryptops = {#endif #ifdef CONFIG_QUOTA -static char *quotatypes[] =INITQFNAMES ; +static const char *const quotatypes[] =INITQFNAMES ;#define QTYPE2NAME (t) (quotatypes[t])static int ext4_write_dquot (struct dquot *dquot);
@@ -1424,7 +1424,8 @@ static ext4_fsblk_t get_sb_block(void **data) }#define DEFAULT_JOURNAL_IOPRIO (IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, 3)) -static char deprecated_msg[] ="Mount option \"%s\" will be removed by %s\n" +static const char deprecated_msg[] = +"Mount option \"%s\" will be removed by %s\n" "Contact [email protected] if you think we should keep it.\n" ;#ifdef CONFIG_QUOTA
fs/ext4/sysfs.c +4 -4
@@ -34,7 +34,7 @@ typedef enum { ptr_ext4_super_block_offset, } attr_ptr_t; -static const char *proc_dirname ="fs/ext4" ; +static const char proc_dirname[] ="fs/ext4" ;static struct proc_dir_entry *ext4_proc_root; struct ext4_attr {
@@ -375,7 +375,7 @@ static const struct file_operations ext4_seq_##name##_fops = { \PROC_FILE_SHOW_DEFN (es_shrinker_info);PROC_FILE_SHOW_DEFN (options); -static struct ext4_proc_files { +static const struct ext4_proc_files {const char *name;const struct file_operations *fops; } proc_files[] = {
@@ -388,7 +388,7 @@ static struct ext4_proc_files {int ext4_register_sysfs (struct super_block *sb) {struct ext4_sb_info *sbi =EXT4_SB (sb); -struct ext4_proc_files *p; +const struct ext4_proc_files *p;int err; sbi->s_kobj.kset = &ext4_kset;
@@ -412,7 +412,7 @@ int ext4_register_sysfs(struct super_block *sb)void ext4_unregister_sysfs (struct super_block *sb) {struct ext4_sb_info *sbi =EXT4_SB (sb); -struct ext4_proc_files *p; +const struct ext4_proc_files *p;if (sbi->s_proc) {for (p = proc_files; p->name; p++)
fs/ext4/xattr.c +1 -1
@@ -81,7 +81,7 @@ static void ext4_xattr_rehash(struct ext4_xattr_header *,static int ext4_xattr_list (struct dentry *dentry,char *buffer,size_t buffer_size); -static const struct xattr_handler *ext4_xattr_handler_map[] = { +static const struct xattr_handler *const ext4_xattr_handler_map[] = { [EXT4_XATTR_INDEX_USER ] = &ext4_xattr_user_handler, #ifdef CONFIG_EXT4_FS_POSIX_ACL [EXT4_XATTR_INDEX_POSIX_ACL_ACCESS] = &posix_acl_access_xattr_handler,
Signature · 1 line
2.12.0
Quoted 6 lines · Eric Biggers
From: Eric Biggers <[email protected]>
Constify static data in ext4 that is never (intentionally) modified so that it is placed in .rodata and benefits from memory protection.
Signed-off-by Eric Biggers <[email protected]>
Thanks, applied.
- Ted