提交 b8bcbd99 编写于 作者: T Tan Xiaojun 提交者: Xie XiuQi

kabi: reserve space for blk related structure

hulk inclusion
category: feature
bugzilla: 13276
CVE: NA

-------------------------------

Reserve space for the structure in blk.
Signed-off-by: NTan Xiaojun <tanxiaojun@huawei.com>
Reviewed-by: NXie XiuQi <xiexiuqi@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 90edd900
...@@ -58,6 +58,11 @@ struct blkcg { ...@@ -58,6 +58,11 @@ struct blkcg {
struct list_head cgwb_list; struct list_head cgwb_list;
refcount_t cgwb_refcnt; refcount_t cgwb_refcnt;
#endif #endif
KABI_RESERVE(1)
KABI_RESERVE(2)
KABI_RESERVE(3)
KABI_RESERVE(4)
}; };
/* /*
...@@ -177,6 +182,11 @@ struct blkcg_policy { ...@@ -177,6 +182,11 @@ struct blkcg_policy {
blkcg_pol_free_pd_fn *pd_free_fn; blkcg_pol_free_pd_fn *pd_free_fn;
blkcg_pol_reset_pd_stats_fn *pd_reset_stats_fn; blkcg_pol_reset_pd_stats_fn *pd_reset_stats_fn;
blkcg_pol_stat_pd_fn *pd_stat_fn; blkcg_pol_stat_pd_fn *pd_stat_fn;
KABI_RESERVE(1)
KABI_RESERVE(2)
KABI_RESERVE(3)
KABI_RESERVE(4)
}; };
extern struct blkcg blkcg_root; extern struct blkcg blkcg_root;
......
...@@ -70,6 +70,15 @@ struct blk_mq_hw_ctx { ...@@ -70,6 +70,15 @@ struct blk_mq_hw_ctx {
struct dentry *sched_debugfs_dir; struct dentry *sched_debugfs_dir;
#endif #endif
KABI_RESERVE(1)
KABI_RESERVE(2)
KABI_RESERVE(3)
KABI_RESERVE(4)
KABI_RESERVE(5)
KABI_RESERVE(6)
KABI_RESERVE(7)
KABI_RESERVE(8)
/* Must be the last member - see also blk_mq_hw_ctx_size(). */ /* Must be the last member - see also blk_mq_hw_ctx_size(). */
struct srcu_struct srcu[0]; struct srcu_struct srcu[0];
}; };
...@@ -90,11 +99,22 @@ struct blk_mq_tag_set { ...@@ -90,11 +99,22 @@ struct blk_mq_tag_set {
struct mutex tag_list_lock; struct mutex tag_list_lock;
struct list_head tag_list; struct list_head tag_list;
KABI_RESERVE(1)
KABI_RESERVE(2)
KABI_RESERVE(3)
KABI_RESERVE(4)
KABI_RESERVE(5)
KABI_RESERVE(6)
KABI_RESERVE(7)
KABI_RESERVE(8)
}; };
struct blk_mq_queue_data { struct blk_mq_queue_data {
struct request *rq; struct request *rq;
bool last; bool last;
KABI_RESERVE(1)
}; };
typedef blk_status_t (queue_rq_fn)(struct blk_mq_hw_ctx *, typedef blk_status_t (queue_rq_fn)(struct blk_mq_hw_ctx *,
...@@ -174,6 +194,15 @@ struct blk_mq_ops { ...@@ -174,6 +194,15 @@ struct blk_mq_ops {
*/ */
void (*show_rq)(struct seq_file *m, struct request *rq); void (*show_rq)(struct seq_file *m, struct request *rq);
#endif #endif
KABI_RESERVE(1)
KABI_RESERVE(2)
KABI_RESERVE(3)
KABI_RESERVE(4)
KABI_RESERVE(5)
KABI_RESERVE(6)
KABI_RESERVE(7)
KABI_RESERVE(8)
}; };
enum { enum {
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#ifndef __LINUX_BLK_TYPES_H #ifndef __LINUX_BLK_TYPES_H
#define __LINUX_BLK_TYPES_H #define __LINUX_BLK_TYPES_H
#include <linux/kabi.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/bvec.h> #include <linux/bvec.h>
#include <linux/ktime.h> #include <linux/ktime.h>
...@@ -202,6 +203,10 @@ struct bio { ...@@ -202,6 +203,10 @@ struct bio {
struct bio_set *bi_pool; struct bio_set *bi_pool;
KABI_RESERVE(1)
KABI_RESERVE(2)
KABI_RESERVE(3)
/* /*
* We can inline a number of vecs at the end of the bio, to avoid * We can inline a number of vecs at the end of the bio, to avoid
* double allocations for a small number of bio_vecs. This member * double allocations for a small number of bio_vecs. This member
......
...@@ -392,6 +392,15 @@ struct queue_limits { ...@@ -392,6 +392,15 @@ struct queue_limits {
unsigned char cluster; unsigned char cluster;
unsigned char raid_partial_stripes_expensive; unsigned char raid_partial_stripes_expensive;
enum blk_zoned_model zoned; enum blk_zoned_model zoned;
KABI_RESERVE(1)
KABI_RESERVE(2)
KABI_RESERVE(3)
KABI_RESERVE(4)
KABI_RESERVE(5)
KABI_RESERVE(6)
KABI_RESERVE(7)
KABI_RESERVE(8)
}; };
#ifdef CONFIG_BLK_DEV_ZONED #ifdef CONFIG_BLK_DEV_ZONED
...@@ -1797,6 +1806,9 @@ struct blk_integrity_profile { ...@@ -1797,6 +1806,9 @@ struct blk_integrity_profile {
integrity_processing_fn *generate_fn; integrity_processing_fn *generate_fn;
integrity_processing_fn *verify_fn; integrity_processing_fn *verify_fn;
const char *name; const char *name;
KABI_RESERVE(1)
KABI_RESERVE(2)
}; };
extern void blk_integrity_register(struct gendisk *, struct blk_integrity *); extern void blk_integrity_register(struct gendisk *, struct blk_integrity *);
...@@ -1989,6 +2001,11 @@ struct block_device_operations { ...@@ -1989,6 +2001,11 @@ struct block_device_operations {
void (*swap_slot_free_notify) (struct block_device *, unsigned long); void (*swap_slot_free_notify) (struct block_device *, unsigned long);
struct module *owner; struct module *owner;
const struct pr_ops *pr_ops; const struct pr_ops *pr_ops;
KABI_RESERVE(1)
KABI_RESERVE(2)
KABI_RESERVE(3)
KABI_RESERVE(4)
}; };
extern int __blkdev_driver_ioctl(struct block_device *, fmode_t, unsigned int, extern int __blkdev_driver_ioctl(struct block_device *, fmode_t, unsigned int,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册