Skip to content

Commit 1f4a72f

Browse files
tititiou36liu-song-6
authored andcommitted
md-cluster: Constify struct md_cluster_operations
'struct md_cluster_operations' is not modified in this driver. Constifying this structure moves some data to a read-only section, so increase overall security. On a x86_64, with allmodconfig, as an example: Before: ====== text data bss dec hex filename 51941 1442 80 53463 d0d7 drivers/md/md-cluster.o After: ===== text data bss dec hex filename 52133 1246 80 53459 d0d3 drivers/md/md-cluster.o Signed-off-by: Christophe JAILLET <[email protected]> Signed-off-by: Song Liu <[email protected]> Link: https://lore.kernel.org/r/3727f3ce9693cae4e62ae6778ea13971df805479.1719173852.git.christophe.jaillet@wanadoo.fr
1 parent ae72067 commit 1f4a72f

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

drivers/md/md-cluster.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1570,7 +1570,7 @@ static int gather_bitmaps(struct md_rdev *rdev)
15701570
return err;
15711571
}
15721572

1573-
static struct md_cluster_operations cluster_ops = {
1573+
static const struct md_cluster_operations cluster_ops = {
15741574
.join = join,
15751575
.leave = leave,
15761576
.slot_number = slot_number,

drivers/md/md.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ static DEFINE_SPINLOCK(pers_lock);
8585

8686
static const struct kobj_type md_ktype;
8787

88-
struct md_cluster_operations *md_cluster_ops;
88+
const struct md_cluster_operations *md_cluster_ops;
8989
EXPORT_SYMBOL(md_cluster_ops);
9090
static struct module *md_cluster_mod;
9191

@@ -8543,7 +8543,7 @@ int unregister_md_personality(struct md_personality *p)
85438543
}
85448544
EXPORT_SYMBOL(unregister_md_personality);
85458545

8546-
int register_md_cluster_operations(struct md_cluster_operations *ops,
8546+
int register_md_cluster_operations(const struct md_cluster_operations *ops,
85478547
struct module *module)
85488548
{
85498549
int ret = 0;

drivers/md/md.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -849,7 +849,7 @@ static inline void safe_put_page(struct page *p)
849849

850850
extern int register_md_personality(struct md_personality *p);
851851
extern int unregister_md_personality(struct md_personality *p);
852-
extern int register_md_cluster_operations(struct md_cluster_operations *ops,
852+
extern int register_md_cluster_operations(const struct md_cluster_operations *ops,
853853
struct module *module);
854854
extern int unregister_md_cluster_operations(void);
855855
extern int md_setup_cluster(struct mddev *mddev, int nodes);
@@ -932,7 +932,7 @@ static inline void rdev_dec_pending(struct md_rdev *rdev, struct mddev *mddev)
932932
}
933933
}
934934

935-
extern struct md_cluster_operations *md_cluster_ops;
935+
extern const struct md_cluster_operations *md_cluster_ops;
936936
static inline int mddev_is_clustered(struct mddev *mddev)
937937
{
938938
return mddev->cluster_info && mddev->bitmap_info.nodes > 1;

0 commit comments

Comments
 (0)