Unverified Commit 626b8e94 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!4566 v2 reserve kabi space for some structures

Merge Pull Request from: @ci-robot 
 
PR sync from: Li Lingfeng <lilingfeng3@huawei.com>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/VXFWDT3S4KBZY6JVEEJLNOGMLVBQLRWB/ 
Reserve kabi space for some structures in
elevator/libata/libnvdimm.

v1->v2:
  Add KABI_RESERVE in ata_link;
  Move KABI_RESERVE in front of inherits in ata_port_operations;
  Add two more KABI_RESERVE in nvdimm_security_ops.

Li Lingfeng (3):
  elevator: reserve space for structures in elevator
  ata: libata: reserve space for structures in libata
  libnvdimm: reserve space for structures in libnvdimm


-- 
2.31.1
 
https://gitee.com/openeuler/kernel/issues/I8ZUL1 
 
Link:https://gitee.com/openeuler/kernel/pulls/4566

 

Reviewed-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
Reviewed-by: default avatarHou Tao <houtao1@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parents ad149a39 6d71f8ed
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@

#include <linux/percpu.h>
#include <linux/hashtable.h>
#include <linux/kabi.h>
#include "blk-mq.h"

struct io_cq;
@@ -48,6 +49,15 @@ struct elevator_mq_ops {
	struct request *(*next_request)(struct request_queue *, struct request *);
	void (*init_icq)(struct io_cq *);
	void (*exit_icq)(struct io_cq *);

	KABI_RESERVE(1)
	KABI_RESERVE(2)
	KABI_RESERVE(3)
	KABI_RESERVE(4)
	KABI_RESERVE(5)
	KABI_RESERVE(6)
	KABI_RESERVE(7)
	KABI_RESERVE(8)
};

#define ELV_NAME_MAX	(16)
@@ -84,6 +94,11 @@ struct elevator_type
	/* managed by elevator core */
	char icq_cache_name[ELV_NAME_MAX + 6];	/* elvname + "_io_cq" */
	struct list_head list;

	KABI_RESERVE(1)
	KABI_RESERVE(2)
	KABI_RESERVE(3)
	KABI_RESERVE(4)
};

static inline bool elevator_tryget(struct elevator_type *e)
+39 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include <linux/cdrom.h>
#include <linux/sched.h>
#include <linux/async.h>
#include <linux/kabi.h>

/*
 * Define if arch has non-standard setup.  This is a _PCI_ standard
@@ -549,6 +550,11 @@ struct ata_taskfile {
	u32			auxiliary;	/* auxiliary field */
						/* from SATA 3.1 and */
						/* ATA-8 ACS-3 */

	KABI_RESERVE(1)
	KABI_RESERVE(2)
	KABI_RESERVE(3)
	KABI_RESERVE(4)
};

#ifdef CONFIG_ATA_SFF
@@ -728,6 +734,14 @@ struct ata_device {
	int			spdn_cnt;
	/* ering is CLEAR_END, read comment above CLEAR_END */
	struct ata_ering	ering;

	KABI_RESERVE(1)
	KABI_RESERVE(2)
	KABI_RESERVE(3)
	KABI_RESERVE(4)
	KABI_RESERVE(5)
	KABI_RESERVE(6)
	KABI_RESERVE(7)
};

/* Fields between ATA_DEVICE_CLEAR_BEGIN and ATA_DEVICE_CLEAR_END are
@@ -799,6 +813,15 @@ struct ata_link {
	struct ata_device	device[ATA_MAX_DEVICES];

	unsigned long		last_lpm_change; /* when last LPM change happened */

	KABI_RESERVE(1)
	KABI_RESERVE(2)
	KABI_RESERVE(3)
	KABI_RESERVE(4)
	KABI_RESERVE(5)
	KABI_RESERVE(6)
	KABI_RESERVE(7)

};
#define ATA_LINK_CLEAR_BEGIN		offsetof(struct ata_link, active_tag)
#define ATA_LINK_CLEAR_END		offsetof(struct ata_link, device[0])
@@ -877,6 +900,15 @@ struct ata_port {
	/* owned by EH */
	u8			*ncq_sense_buf;
	u8			sector_buf[ATA_SECT_SIZE] ____cacheline_aligned;

	KABI_RESERVE(1)
	KABI_RESERVE(2)
	KABI_RESERVE(3)
	KABI_RESERVE(4)
	KABI_RESERVE(5)
	KABI_RESERVE(6)
	KABI_RESERVE(7)
	KABI_RESERVE(8)
};

/* The following initializer overrides a method to NULL whether one of
@@ -981,6 +1013,10 @@ struct ata_port_operations {
	ssize_t (*transmit_led_message)(struct ata_port *ap, u32 state,
					ssize_t size);

	KABI_RESERVE(1)
	KABI_RESERVE(2)
	KABI_RESERVE(3)
	KABI_RESERVE(4)
	/*
	 * ->inherits must be the last field and all the preceding
	 * fields must be pointers.
@@ -996,6 +1032,9 @@ struct ata_port_info {
	unsigned int		udma_mask;
	struct ata_port_operations *port_ops;
	void 			*private_data;

	KABI_RESERVE(1)
	KABI_RESERVE(2)
};

struct ata_timing {
+9 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
#include <linux/uuid.h>
#include <linux/spinlock.h>
#include <linux/bio.h>
#include <linux/kabi.h>

struct badrange_entry {
	u64 start;
@@ -136,6 +137,9 @@ struct nd_region_desc {
	int memregion;
	struct device_node *of_node;
	int (*flush)(struct nd_region *nd_region, struct bio *bio);

	KABI_RESERVE(1)
	KABI_RESERVE(2)
};

struct device;
@@ -193,6 +197,11 @@ struct nvdimm_security_ops {
	int (*query_overwrite)(struct nvdimm *nvdimm);
	int (*disable_master)(struct nvdimm *nvdimm,
			      const struct nvdimm_key_data *key_data);

	KABI_RESERVE(1)
	KABI_RESERVE(2)
	KABI_RESERVE(3)
	KABI_RESERVE(4)
};

enum nvdimm_fwa_state {
+13 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
#include <linux/device.h>
#include <linux/badblocks.h>
#include <linux/perf_event.h>
#include <linux/kabi.h>

enum nvdimm_event {
	NVDIMM_REVALIDATE_POISON,
@@ -54,6 +55,12 @@ struct nvdimm_pmu {
	enum cpuhp_state cpuhp_state;
	/* cpumask provided by arch/platform specific code */
	struct cpumask arch_cpumask;

	KABI_RESERVE(1)
	KABI_RESERVE(2)
	KABI_RESERVE(3)
	KABI_RESERVE(4)
	KABI_RESERVE(5)
};

struct platform_device;
@@ -82,6 +89,9 @@ struct nd_device_driver {
	void (*remove)(struct device *dev);
	void (*shutdown)(struct device *dev);
	void (*notify)(struct device *dev, enum nvdimm_event event);

	KABI_RESERVE(1)
	KABI_RESERVE(2)
};

static inline struct nd_device_driver *to_nd_device_driver(
@@ -142,6 +152,9 @@ struct nd_namespace_pmem {
	char *alt_name;
	uuid_t *uuid;
	int id;

	KABI_RESERVE(1)
	KABI_RESERVE(2)
};

static inline struct nd_namespace_io *to_nd_namespace_io(const struct device *dev)