diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c index 186f1fee753403f7b0e0feac76cc7bfd4f20f373..127ca3239009766fa9ce9963ae60caa1e7506804 100644 --- a/drivers/char/ipmi/ipmi_msghandler.c +++ b/drivers/char/ipmi/ipmi_msghandler.c @@ -36,6 +36,7 @@ #include #include #include +#include #define IPMI_DRIVER_VERSION "39.2" @@ -203,6 +204,7 @@ struct ipmi_user { /* Free must run in process context for RCU cleanup. */ struct work_struct remove_work; + KABI_RESERVE(0) }; static struct workqueue_struct *remove_work_wq; @@ -603,6 +605,10 @@ struct ipmi_smi { * parameters passed by "low" level IPMI code. */ int run_to_completion; + KABI_RESERVE(0) + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) }; #define to_si_intf_from_dev(device) container_of(device, struct ipmi_smi, dev) diff --git a/include/linux/ipmi.h b/include/linux/ipmi.h index a1c9c0d48ebf65248f161a5e39ee065d4e929910..0ec8a79e2af1119f90408450fc55a95d160aa8c3 100644 --- a/include/linux/ipmi.h +++ b/include/linux/ipmi.h @@ -19,6 +19,7 @@ #include #include #include /* For acpi_handle */ +#include struct module; struct device; @@ -70,6 +71,7 @@ struct ipmi_recv_msg { * the size or existence of this, since it may change. */ unsigned char msg_data[IPMI_MAX_MSG_LENGTH]; + KABI_RESERVE(0) }; #define INIT_IPMI_RECV_MSG(done_handler) \ diff --git a/include/linux/ipmi_smi.h b/include/linux/ipmi_smi.h index 5d69820d8b027e1076cf8705d282b43b0c2a9733..76a726c75235ada30399e7229894ca41d9f6f53b 100644 --- a/include/linux/ipmi_smi.h +++ b/include/linux/ipmi_smi.h @@ -19,6 +19,7 @@ #include #include #include +#include struct device; @@ -123,6 +124,7 @@ struct ipmi_smi_msg { * (presumably to free it). */ void (*done)(struct ipmi_smi_msg *msg); + KABI_RESERVE(0) }; #define INIT_IPMI_SMI_MSG(done_handler) \ @@ -218,6 +220,7 @@ struct ipmi_smi_handlers { * block. */ void (*set_maintenance_mode)(void *send_info, bool enable); + KABI_RESERVE(0) }; struct ipmi_device_id { diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h index 7b12eebc5586dcc7cec786001fe7011f675ee9eb..0fe6576eb81fae4c39b6f314d4be372c37ebb816 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h @@ -9,6 +9,7 @@ #include #include +#include struct mmc_cid { unsigned int manfid; @@ -126,6 +127,8 @@ struct mmc_ext_csd { u8 device_life_time_est_typ_b; /* 269 */ unsigned int feature_support; + KABI_RESERVE(0) + KABI_RESERVE(1) #define MMC_DISCARD_FEATURE BIT(0) /* CMD38 feature */ }; @@ -341,6 +344,9 @@ struct mmc_card { unsigned int nr_parts; struct workqueue_struct *complete_wq; /* Private workqueue */ + KABI_RESERVE(0) + KABI_RESERVE(1) + KABI_RESERVE(2) }; static inline bool mmc_large_sector(struct mmc_card *card) diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 62a6847a3b6f00efab0c9129806ebd75e18a0af0..6e54e83cd918bd095a04798bfae03233d9c20a32 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -16,6 +16,7 @@ #include #include #include +#include struct mmc_ios { unsigned int clock; /* clock rate */ @@ -78,6 +79,8 @@ struct mmc_ios { #define MMC_SET_DRIVER_TYPE_D 3 bool enhanced_strobe; /* hs400es selection */ + KABI_RESERVE(0) + KABI_RESERVE(1) }; struct mmc_clk_phase { @@ -218,6 +221,8 @@ struct mmc_host_ops { /* Initialize an SD express card, mandatory for MMC_CAP2_SD_EXP. */ int (*init_sd_express)(struct mmc_host *host, struct mmc_ios *ios); + KABI_RESERVE(0) + KABI_RESERVE(1) }; struct mmc_cqe_ops { @@ -528,6 +533,9 @@ struct mmc_host { bool hsq_enabled; u32 err_stats[MMC_ERR_MAX]; + KABI_RESERVE(0) + KABI_RESERVE(1) + KABI_RESERVE(2) unsigned long private[] ____cacheline_aligned; }; diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index 7083a1da7be142ab9c5bc37e8d1642560da88e6d..393240c25602ea9552c31e02d1a1479e7d9bff58 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h @@ -78,6 +78,8 @@ struct mtd_oob_ops { uint8_t *datbuf; uint8_t *oobbuf; struct mtd_req_stats *stats; + KABI_RESERVE(0) + KABI_RESERVE(1) }; /** @@ -216,6 +218,8 @@ struct mtd_part { u64 offset; u64 size; u32 flags; + KABI_RESERVE(0) + KABI_RESERVE(1) }; /** @@ -234,6 +238,8 @@ struct mtd_master { struct mutex partitions_lock; struct mutex chrdev_lock; unsigned int suspended : 1; + KABI_RESERVE(0) + KABI_RESERVE(1) }; struct mtd_info { diff --git a/include/linux/tty.h b/include/linux/tty.h index f002d0f25db75346a16dd808d4b35cf24e851510..daddeca8737e3e21441c9cc44ff2fbf0b0156c76 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h @@ -15,6 +15,7 @@ #include #include #include +#include /* @@ -248,6 +249,12 @@ struct tty_struct { #define N_TTY_BUF_SIZE 4096 struct work_struct SAK_work; + KABI_RESERVE(0) + KABI_RESERVE(1) + KABI_RESERVE(2) + KABI_RESERVE(3) + KABI_RESERVE(4) + KABI_RESERVE(5) } __randomize_layout; /* Each of a tty's open files has private_data pointing to tty_file_private */ diff --git a/include/linux/tty_buffer.h b/include/linux/tty_buffer.h index 31125e3be3c55e4e65dd62d91fd13e96a91e6c27..82c6ad8bd59fe69291cf9f4250fac278b716bc0a 100644 --- a/include/linux/tty_buffer.h +++ b/include/linux/tty_buffer.h @@ -6,6 +6,7 @@ #include #include #include +#include struct tty_buffer { union { @@ -18,6 +19,8 @@ struct tty_buffer { unsigned int lookahead; /* Lazy update on recv, can become less than "read" */ unsigned int read; bool flags; + KABI_RESERVE(0) + KABI_RESERVE(1) /* Data points here */ u8 data[] __aligned(sizeof(unsigned long)); }; @@ -42,6 +45,8 @@ struct tty_bufhead { atomic_t mem_used; /* In-use buffers excluding free list */ int mem_limit; struct tty_buffer *tail; /* Active buffer */ + KABI_RESERVE(0) + KABI_RESERVE(1) }; /* diff --git a/include/linux/tty_driver.h b/include/linux/tty_driver.h index 18beff0cec1abb444bb1be7706785aadeb18035f..e4883dcf1656b14b819a46414920079e36881757 100644 --- a/include/linux/tty_driver.h +++ b/include/linux/tty_driver.h @@ -10,6 +10,7 @@ #include #include #include +#include struct tty_struct; struct tty_driver; @@ -391,6 +392,8 @@ struct tty_operations { void (*poll_put_char)(struct tty_driver *driver, int line, char ch); #endif int (*proc_show)(struct seq_file *m, void *driver); + KABI_RESERVE(0) + KABI_RESERVE(1) } __randomize_layout; /** diff --git a/include/linux/tty_ldisc.h b/include/linux/tty_ldisc.h index af01e89074b2d3fb55c6def86ed5e5966e9a80ff..89a41873372cbd1a9b4b22d1e84e7d95482cdbce 100644 --- a/include/linux/tty_ldisc.h +++ b/include/linux/tty_ldisc.h @@ -10,6 +10,7 @@ struct tty_struct; #include #include #include +#include /* * the semaphore definition @@ -264,6 +265,8 @@ struct tty_ldisc_ops { const u8 *fp, size_t count); struct module *owner; + KABI_RESERVE(0) + KABI_RESERVE(1) }; struct tty_ldisc { diff --git a/include/linux/tty_port.h b/include/linux/tty_port.h index 6b367eb17979a20436e856311d211859db101c1c..f30310a3b22632d22ad1bf0f923d10df6911da56 100644 --- a/include/linux/tty_port.h +++ b/include/linux/tty_port.h @@ -7,6 +7,7 @@ #include #include #include +#include struct attribute_group; struct tty_driver; @@ -121,6 +122,8 @@ struct tty_port { int drain_delay; struct kref kref; void *client_data; + KABI_RESERVE(0) + KABI_RESERVE(1) }; /* tty_port::iflags bits -- use atomic bit ops */ diff --git a/kernel/audit.h b/kernel/audit.h index 81e241039fd648b7d4680231443189c4ee89e32f..457ca207e08a36c15501690fd7d8197a51f81ffe 100644 --- a/kernel/audit.h +++ b/kernel/audit.h @@ -209,8 +209,8 @@ struct audit_context { }; int fds[2]; struct audit_proctitle proctitle; - KABI_RESERVE(0); - KABI_RESERVE(1); + KABI_RESERVE(0) + KABI_RESERVE(1) }; extern bool audit_ever_enabled;