anolis: kabi: Reserve some fields
ANBZ: #3879 Based on upstream struct size to reserve specific fields for kabi related structs. Signed-off-by: Guixin Liu <kanie@linux.alibaba.com> Acked-by: Joseph Qi <joseph.qi@linux.alibaba.com> Reviewed-by: Xu Yu <xuyu@linux.alibaba.com> Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Reviewed-by: Tianchen Ding <dtcccc@linux.alibaba.com> Reviewed-by: Yihao Wu <wuyihao@linux.alibaba.com> Reviewed-by: Xunlei Pang <xlpang@linux.alibaba.com> Link: https://gitee.com/anolis/cloud-kernel/pulls/1148
This commit is contained in:
parent
0ef985a036
commit
2af3c87980
|
@ -7,6 +7,7 @@
|
|||
#ifndef _ARM_PROBES_H
|
||||
#define _ARM_PROBES_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <asm/insn.h>
|
||||
|
||||
typedef u32 probe_opcode_t;
|
||||
|
@ -24,6 +25,9 @@ struct arch_probe_insn {
|
|||
typedef u32 kprobe_opcode_t;
|
||||
struct arch_specific_insn {
|
||||
struct arch_probe_insn api;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#ifndef __ASM_THREAD_INFO_H
|
||||
#define __ASM_THREAD_INFO_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/compiler.h>
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
@ -45,6 +46,9 @@ struct thread_info {
|
|||
#ifdef CONFIG_ARM64_MPAM
|
||||
u64 mpam_partid_pmg;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
#define thread_saved_pc(tsk) \
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
* See arch/x86/kernel/kprobes.c for x86 kprobes history.
|
||||
*/
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <asm-generic/kprobes.h>
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
|
@ -68,6 +69,9 @@ struct arch_specific_insn {
|
|||
bool if_modifier;
|
||||
/* Number of bytes of text poked */
|
||||
int tp_len;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
struct arch_optimized_insn {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#ifndef _ASM_X86_THREAD_INFO_H
|
||||
#define _ASM_X86_THREAD_INFO_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/percpu.h>
|
||||
|
@ -56,6 +57,9 @@ struct task_struct;
|
|||
struct thread_info {
|
||||
unsigned long flags; /* low level flags */
|
||||
u32 status; /* thread synchronous flags */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
#define INIT_THREAD_INFO(tsk) \
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
#ifndef INT_BLK_MQ_TAG_H
|
||||
#define INT_BLK_MQ_TAG_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
|
||||
/*
|
||||
* Tag address space map.
|
||||
*/
|
||||
|
@ -26,6 +28,11 @@ struct blk_mq_tags {
|
|||
* request pool
|
||||
*/
|
||||
spinlock_t lock;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
extern struct blk_mq_tags *blk_mq_init_tags(unsigned int nr_tags,
|
||||
|
|
|
@ -158,6 +158,10 @@ struct blk_mq_alloc_data {
|
|||
/* input & output parameter */
|
||||
struct blk_mq_ctx *ctx;
|
||||
struct blk_mq_hw_ctx *hctx;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
};
|
||||
|
||||
static inline bool blk_mq_is_sbitmap_shared(unsigned int flags)
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef DRIVERS_PCI_H
|
||||
#define DRIVERS_PCI_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/pci.h>
|
||||
|
||||
/* Number of possible devfns: 0.0 to 1f.7 inclusive */
|
||||
|
@ -343,6 +344,15 @@ struct pci_sriov {
|
|||
u16 subsystem_device; /* VF subsystem device */
|
||||
resource_size_t barsz[PCI_SRIOV_NUM_BARS]; /* VF BAR size */
|
||||
bool drivers_autoprobe; /* Auto probing of VFs by driver */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#ifndef _PTP_PRIVATE_H_
|
||||
#define _PTP_PRIVATE_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/cdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/kthread.h>
|
||||
|
@ -46,6 +47,11 @@ struct ptp_clock {
|
|||
const struct attribute_group *pin_attr_groups[2];
|
||||
struct kthread_worker *kworker;
|
||||
struct kthread_delayed_work aux_work;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/mount.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/poll.h>
|
||||
|
@ -78,6 +79,8 @@ struct mount {
|
|||
int mnt_expiry_mark; /* true if marked for expiry */
|
||||
struct hlist_head mnt_pins;
|
||||
struct hlist_head mnt_stuck_children;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
} __randomize_layout;
|
||||
|
||||
#define MNT_NS_INTERNAL ERR_PTR(-EINVAL) /* distinct from any mnt_namespace */
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#ifndef __ACPI_BUS_H__
|
||||
#define __ACPI_BUS_H__
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/property.h>
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#ifndef DRM_ATOMIC_H_
|
||||
#define DRM_ATOMIC_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <drm/drm_crtc.h>
|
||||
#include <drm/drm_util.h>
|
||||
|
||||
|
@ -225,6 +226,8 @@ struct drm_private_state_funcs {
|
|||
*/
|
||||
void (*atomic_destroy_state)(struct drm_private_obj *obj,
|
||||
struct drm_private_state *state);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -297,6 +300,8 @@ struct drm_private_obj {
|
|||
*/
|
||||
struct drm_private_state {
|
||||
struct drm_atomic_state *state;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
struct __drm_private_objs_state {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#ifndef _DRM_CLIENT_H_
|
||||
#define _DRM_CLIENT_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/lockdep.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/types.h>
|
||||
|
@ -149,6 +150,8 @@ struct drm_client_buffer {
|
|||
* @fb: DRM framebuffer
|
||||
*/
|
||||
struct drm_framebuffer *fb;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
struct drm_client_buffer *
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#ifndef __DRM_CONNECTOR_H__
|
||||
#define __DRM_CONNECTOR_H__
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/llist.h>
|
||||
#include <linux/ctype.h>
|
||||
|
@ -207,6 +208,9 @@ struct drm_hdmi_info {
|
|||
|
||||
/** @y420_dc_modes: bitmap of deep color support index */
|
||||
u8 y420_dc_modes;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -269,6 +273,8 @@ enum drm_panel_orientation {
|
|||
struct drm_monitor_range_info {
|
||||
u8 min_vfreq;
|
||||
u8 max_vfreq;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -541,6 +547,9 @@ struct drm_display_info {
|
|||
* @monitor_range: Frequency range supported by monitor range descriptor
|
||||
*/
|
||||
struct drm_monitor_range_info monitor_range;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
int drm_display_info_set_bus_formats(struct drm_display_info *info,
|
||||
|
@ -1030,6 +1039,9 @@ struct drm_connector_funcs {
|
|||
*/
|
||||
void (*atomic_print_state)(struct drm_printer *p,
|
||||
const struct drm_connector_state *state);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1506,6 +1518,19 @@ struct drm_connector {
|
|||
|
||||
/** @hdr_sink_metadata: HDR Metadata Information read from sink */
|
||||
struct hdr_sink_metadata hdr_sink_metadata;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
CK_KABI_RESERVE(9)
|
||||
CK_KABI_RESERVE(10)
|
||||
CK_KABI_RESERVE(11)
|
||||
CK_KABI_RESERVE(12)
|
||||
};
|
||||
|
||||
#define obj_to_connector(x) container_of(x, struct drm_connector, base)
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#ifndef __DRM_CRTC_H__
|
||||
#define __DRM_CRTC_H__
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/types.h>
|
||||
|
@ -392,6 +393,8 @@ struct drm_crtc_state {
|
|||
|
||||
/** @state: backpointer to global drm_atomic_state */
|
||||
struct drm_atomic_state *state;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1172,6 +1175,8 @@ struct drm_crtc {
|
|||
* Initialized via drm_self_refresh_helper_init().
|
||||
*/
|
||||
struct drm_self_refresh_data *self_refresh_data;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#ifndef __DRM_MODESET_HELPER_VTABLES_H__
|
||||
#define __DRM_MODESET_HELPER_VTABLES_H__
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <drm/drm_crtc.h>
|
||||
#include <drm/drm_encoder.h>
|
||||
|
||||
|
@ -1406,6 +1407,8 @@ struct drm_mode_config_helper_funcs {
|
|||
* drm_atomic_helper_commit_tail().
|
||||
*/
|
||||
void (*atomic_commit_tail)(struct drm_atomic_state *state);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#ifndef DRM_MODESET_LOCK_H_
|
||||
#define DRM_MODESET_LOCK_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/ww_mutex.h>
|
||||
|
||||
struct drm_modeset_lock;
|
||||
|
@ -63,6 +64,8 @@ struct drm_modeset_acquire_ctx {
|
|||
|
||||
/* Perform interruptible waits on this context. */
|
||||
bool interruptible;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#ifndef __DRM_PLANE_H__
|
||||
#define __DRM_PLANE_H__
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <drm/drm_mode_object.h>
|
||||
|
@ -724,6 +725,8 @@ struct drm_plane {
|
|||
* See drm_plane_create_color_properties().
|
||||
*/
|
||||
struct drm_property *color_range_property;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
#define obj_to_plane(x) container_of(x, struct drm_plane, base)
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
#ifndef __DRM_WRITEBACK_H__
|
||||
#define __DRM_WRITEBACK_H__
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <drm/drm_connector.h>
|
||||
#include <drm/drm_encoder.h>
|
||||
#include <linux/workqueue.h>
|
||||
|
@ -82,6 +83,19 @@ struct drm_writeback_connector {
|
|||
* The name of the connector's fence timeline.
|
||||
*/
|
||||
char timeline_name[32];
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
CK_KABI_RESERVE(9)
|
||||
CK_KABI_RESERVE(10)
|
||||
CK_KABI_RESERVE(11)
|
||||
CK_KABI_RESERVE(12)
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#ifndef _TTM_RESOURCE_H_
|
||||
#define _TTM_RESOURCE_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/dma-fence.h>
|
||||
|
@ -136,6 +137,9 @@ struct ttm_resource_manager {
|
|||
* Protected by @move_lock.
|
||||
*/
|
||||
struct dma_fence *move;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef __LINUX_BACKING_DEV_DEFS_H
|
||||
#define __LINUX_BACKING_DEV_DEFS_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/radix-tree.h>
|
||||
#include <linux/rbtree.h>
|
||||
|
@ -165,6 +166,10 @@ struct bdi_writeback {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
};
|
||||
|
||||
struct backing_dev_info {
|
||||
|
@ -206,6 +211,8 @@ struct backing_dev_info {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
enum {
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_BINFMTS_H
|
||||
#define _LINUX_BINFMTS_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/unistd.h>
|
||||
#include <asm/exec.h>
|
||||
|
@ -85,6 +86,8 @@ struct coredump_params {
|
|||
int vma_count;
|
||||
size_t vma_data_size;
|
||||
struct core_vma_metadata *vma_meta;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#ifndef __LINUX_BIO_H
|
||||
#define __LINUX_BIO_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/mempool.h>
|
||||
#include <linux/ioprio.h>
|
||||
|
@ -336,6 +337,10 @@ struct bio_integrity_payload {
|
|||
struct work_struct bip_work; /* I/O completion */
|
||||
|
||||
struct bio_vec *bip_vec;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
|
||||
struct bio_vec bip_inline_vecs[];/* embedded bvec array */
|
||||
};
|
||||
|
||||
|
@ -712,6 +717,8 @@ struct bio_set {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct biovec_slab {
|
||||
|
|
|
@ -141,6 +141,8 @@ struct blkcg_gq {
|
|||
int last_use;
|
||||
|
||||
struct rcu_head rcu_head;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
typedef struct blkcg_policy_data *(blkcg_pol_alloc_cpd_fn)(gfp_t gfp);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef BLK_MQ_H
|
||||
#define BLK_MQ_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/blkdev.h>
|
||||
#include <linux/sbitmap.h>
|
||||
#include <linux/srcu.h>
|
||||
|
@ -178,6 +179,10 @@ struct blk_mq_hw_ctx {
|
|||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
|
||||
/**
|
||||
* @srcu: Sleepable RCU. Use as lock when type of the hardware queue is
|
||||
|
@ -276,6 +281,10 @@ struct blk_mq_tag_set {
|
|||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -401,6 +410,12 @@ struct blk_mq_ops {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
enum {
|
||||
|
|
|
@ -52,6 +52,8 @@ struct block_device {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
} __randomize_layout;
|
||||
|
||||
/*
|
||||
|
@ -273,6 +275,8 @@ struct bio {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
|
||||
/*
|
||||
* We can inline a number of vecs at the end of the bio, to avoid
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_BLKDEV_H
|
||||
#define _LINUX_BLKDEV_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/sched/clock.h>
|
||||
#include <linux/major.h>
|
||||
|
@ -357,6 +358,12 @@ struct queue_limits {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
typedef int (*report_zones_cb)(struct blk_zone *zone, unsigned int idx,
|
||||
|
@ -1272,6 +1279,11 @@ struct blk_plug {
|
|||
unsigned short rq_count;
|
||||
bool multiple_queues;
|
||||
bool nowait;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct blk_plug_cb;
|
||||
|
@ -1714,6 +1726,9 @@ struct blk_integrity_profile {
|
|||
integrity_prepare_fn *prepare_fn;
|
||||
integrity_complete_fn *complete_fn;
|
||||
const char *name;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
extern void blk_integrity_register(struct gendisk *, struct blk_integrity *);
|
||||
|
@ -1908,6 +1923,11 @@ struct block_device_operations {
|
|||
char *(*devnode)(struct gendisk *disk, umode_t *mode);
|
||||
struct module *owner;
|
||||
const struct pr_ops *pr_ops;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _BPF_CGROUP_H
|
||||
#define _BPF_CGROUP_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/bpf.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/jump_label.h>
|
||||
|
@ -101,6 +102,9 @@ struct cgroup_bpf {
|
|||
|
||||
/* cgroup_bpf is released using a work queue */
|
||||
struct work_struct release_work;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
int cgroup_bpf_inherit(struct cgroup *cgrp);
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
#include <linux/kallsyms.h>
|
||||
#include <linux/capability.h>
|
||||
#include <linux/percpu-refcount.h>
|
||||
#include <linux/ck_kabi.h>
|
||||
|
||||
struct bpf_verifier_env;
|
||||
struct bpf_verifier_log;
|
||||
|
@ -132,6 +133,11 @@ struct bpf_map_ops {
|
|||
|
||||
/* bpf_iter info used to open a seq_file */
|
||||
const struct bpf_iter_seq_info *iter_seq_info;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct bpf_map_memory {
|
||||
|
@ -481,6 +487,9 @@ struct bpf_insn_access_aux {
|
|||
u32 btf_id;
|
||||
};
|
||||
struct bpf_verifier_log *log; /* for verbose logs */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
static inline void
|
||||
|
@ -564,6 +573,9 @@ struct bpf_prog_stats {
|
|||
u64 cnt;
|
||||
u64 nsecs;
|
||||
struct u64_stats_sync syncp;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
} __aligned(2 * sizeof(u64));
|
||||
|
||||
struct btf_func_model {
|
||||
|
@ -684,6 +696,9 @@ struct bpf_trampoline {
|
|||
/* Executable image of trampoline */
|
||||
struct bpf_tramp_image *cur_image;
|
||||
u64 selector;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
struct bpf_attach_target_info {
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#ifndef _LINUX_BPF_VERIFIER_H
|
||||
#define _LINUX_BPF_VERIFIER_H 1
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/bpf.h> /* for enum bpf_reg_type */
|
||||
#include <linux/filter.h> /* for MAX_BPF_STACK */
|
||||
#include <linux/tnum.h>
|
||||
|
@ -199,6 +200,8 @@ struct bpf_func_state {
|
|||
struct bpf_reference_state *refs;
|
||||
int allocated_stack;
|
||||
struct bpf_stack_state *stack;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
struct bpf_idx_pair {
|
||||
|
@ -336,6 +339,9 @@ struct bpf_insn_aux_data {
|
|||
/* below fields are initialized once */
|
||||
unsigned int orig_idx; /* original instruction index */
|
||||
bool prune_point;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
#define MAX_USED_MAPS 64 /* max number of maps accessed by one eBPF program */
|
||||
|
@ -445,6 +451,11 @@ struct bpf_verifier_env {
|
|||
u32 longest_mark_read_walk;
|
||||
/* buffer used in reg_type_str() to generate reg_type string */
|
||||
char type_str_buf[TYPE_STR_BUF_LEN];
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
__printf(2, 0) void bpf_verifier_vlog(struct bpf_verifier_log *log,
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_BSG_H
|
||||
#define _LINUX_BSG_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <uapi/linux/bsg.h>
|
||||
|
||||
struct request;
|
||||
|
@ -13,6 +14,9 @@ struct bsg_ops {
|
|||
fmode_t mode);
|
||||
int (*complete_rq)(struct request *rq, struct sg_io_v4 *hdr);
|
||||
void (*free_rq)(struct request *rq);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
struct bsg_class_device {
|
||||
|
@ -20,6 +24,9 @@ struct bsg_class_device {
|
|||
int minor;
|
||||
struct request_queue *queue;
|
||||
const struct bsg_ops *ops;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
int bsg_register_queue(struct request_queue *q, struct device *parent,
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#ifndef _LINUX_CGROUP_DEFS_H
|
||||
#define _LINUX_CGROUP_DEFS_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/limits.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/idr.h>
|
||||
|
@ -144,6 +145,9 @@ struct cgroup_file {
|
|||
struct kernfs_node *kn;
|
||||
unsigned long notified_at;
|
||||
struct timer_list notify_timer;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -201,6 +205,8 @@ struct cgroup_subsys_state {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
|
||||
/*
|
||||
* PI: the parent css. Placed here for cache proximity to following
|
||||
|
@ -307,6 +313,8 @@ struct css_set {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct cgroup_base_stat {
|
||||
|
@ -519,6 +527,11 @@ struct cgroup {
|
|||
struct kernfs_root *hidden_place; /* tree to hide cgroup in pool. */
|
||||
struct delayed_work supply_pool_work;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
|
||||
/* ids of the ancestors at each level including self */
|
||||
u64 ancestor_ids[];
|
||||
};
|
||||
|
@ -554,6 +567,8 @@ struct cgroup_root {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
|
||||
/* The path to use for release notifications. */
|
||||
char release_agent_path[PATH_MAX];
|
||||
|
@ -652,6 +667,8 @@ struct cftype {
|
|||
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
||||
struct lock_class_key lockdep_key;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -683,6 +700,8 @@ struct cgroup_subsys {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
|
||||
bool early_init:1;
|
||||
|
||||
|
@ -852,6 +871,8 @@ struct sock_cgroup_data {
|
|||
#endif
|
||||
u64 val;
|
||||
};
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#ifndef _LINUX_CPUIDLE_H
|
||||
#define _LINUX_CPUIDLE_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/hrtimer.h>
|
||||
|
@ -43,6 +44,11 @@ struct cpuidle_state_usage {
|
|||
unsigned long long s2idle_usage;
|
||||
unsigned long long s2idle_time; /* in US */
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct cpuidle_state {
|
||||
|
@ -73,6 +79,11 @@ struct cpuidle_state {
|
|||
int (*enter_s2idle)(struct cpuidle_device *dev,
|
||||
struct cpuidle_driver *drv,
|
||||
int index);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
/* Idle State Flags */
|
||||
|
@ -110,6 +121,11 @@ struct cpuidle_device {
|
|||
cpumask_t coupled_cpus;
|
||||
struct cpuidle_coupled *coupled;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
DECLARE_PER_CPU(struct cpuidle_device *, cpuidle_devices);
|
||||
|
@ -135,6 +151,9 @@ struct cpuidle_driver {
|
|||
|
||||
/* preferred governor to switch at register time */
|
||||
const char *governor;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
#ifdef CONFIG_CPU_IDLE
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#ifndef _LINUX_CRED_H
|
||||
#define _LINUX_CRED_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/capability.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/key.h>
|
||||
|
@ -150,6 +151,15 @@ struct cred {
|
|||
int non_rcu; /* Can we skip RCU deletion? */
|
||||
struct rcu_head rcu; /* RCU deletion hook */
|
||||
};
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
} __randomize_layout;
|
||||
|
||||
extern void __put_cred(struct cred *);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef __LINUX_DCACHE_H
|
||||
#define __LINUX_DCACHE_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/rculist.h>
|
||||
|
@ -119,6 +120,8 @@ struct dentry {
|
|||
struct rcu_head d_rcu;
|
||||
} d_u;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
} __randomize_layout;
|
||||
|
||||
/*
|
||||
|
@ -148,6 +151,11 @@ struct dentry_operations {
|
|||
struct vfsmount *(*d_automount)(struct path *);
|
||||
int (*d_manage)(const struct path *, bool);
|
||||
struct dentry *(*d_real)(struct dentry *, const struct inode *);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
} ____cacheline_aligned;
|
||||
|
||||
/*
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#ifndef _LINUX_DELAYACCT_H
|
||||
#define _LINUX_DELAYACCT_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <uapi/linux/taskstats.h>
|
||||
|
||||
/*
|
||||
|
@ -53,6 +54,13 @@ struct task_delay_info {
|
|||
|
||||
u32 freepages_count; /* total count of memory reclaim */
|
||||
u32 thrashing_count; /* total count of thrash waits */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#ifndef _DEVICE_H_
|
||||
#define _DEVICE_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/dev_printk.h>
|
||||
#include <linux/energy_model.h>
|
||||
#include <linux/ioport.h>
|
||||
|
@ -566,6 +567,23 @@ struct device {
|
|||
#ifdef CONFIG_DMA_OPS_BYPASS
|
||||
bool dma_ops_bypass : 1;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
CK_KABI_RESERVE(9)
|
||||
CK_KABI_RESERVE(10)
|
||||
CK_KABI_RESERVE(11)
|
||||
CK_KABI_RESERVE(12)
|
||||
CK_KABI_RESERVE(13)
|
||||
CK_KABI_RESERVE(14)
|
||||
CK_KABI_RESERVE(15)
|
||||
CK_KABI_RESERVE(16)
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#ifndef _DEVICE_BUS_H_
|
||||
#define _DEVICE_BUS_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/klist.h>
|
||||
#include <linux/pm.h>
|
||||
|
@ -112,6 +113,9 @@ struct bus_type {
|
|||
struct lock_class_key lock_key;
|
||||
|
||||
bool need_parent_lock;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
extern int __must_check bus_register(struct bus_type *bus);
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#ifndef _DEVICE_CLASS_H_
|
||||
#define _DEVICE_CLASS_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/klist.h>
|
||||
#include <linux/pm.h>
|
||||
|
@ -75,6 +76,11 @@ struct class {
|
|||
const struct dev_pm_ops *pm;
|
||||
|
||||
struct subsys_private *p;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct class_dev_iter {
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#ifndef _DEVICE_DRIVER_H_
|
||||
#define _DEVICE_DRIVER_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/klist.h>
|
||||
#include <linux/pm.h>
|
||||
|
@ -118,6 +119,11 @@ struct device_driver {
|
|||
void (*coredump) (struct device *dev);
|
||||
|
||||
struct driver_private *p;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#ifndef _LINUX_DMA_MAP_OPS_H
|
||||
#define _LINUX_DMA_MAP_OPS_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/pgtable.h>
|
||||
|
||||
|
@ -64,6 +65,13 @@ struct dma_map_ops {
|
|||
u64 (*get_required_mask)(struct device *dev);
|
||||
size_t (*max_mapping_size)(struct device *dev);
|
||||
unsigned long (*get_merge_boundary)(struct device *dev);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
};
|
||||
|
||||
#ifdef CONFIG_DMA_OPS
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_ELEVATOR_H
|
||||
#define _LINUX_ELEVATOR_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/hashtable.h>
|
||||
|
||||
|
@ -53,6 +54,12 @@ struct elevator_mq_ops {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
#define ELV_NAME_MAX (16)
|
||||
|
@ -89,6 +96,11 @@ struct elevator_type
|
|||
/* managed by elevator core */
|
||||
char icq_cache_name[ELV_NAME_MAX + 6]; /* elvname + "_io_cq" */
|
||||
struct list_head list;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
#define ELV_HASH_BITS 6
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _LINUX_ENERGY_MODEL_H
|
||||
#define _LINUX_ENERGY_MODEL_H
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/cpumask.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/jump_label.h>
|
||||
|
@ -23,6 +24,8 @@ struct em_perf_state {
|
|||
unsigned long frequency;
|
||||
unsigned long power;
|
||||
unsigned long cost;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -43,6 +46,9 @@ struct em_perf_state {
|
|||
struct em_perf_domain {
|
||||
struct em_perf_state *table;
|
||||
int nr_perf_states;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
|
||||
unsigned long cpus[];
|
||||
};
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#ifndef _LINUX_ETHTOOL_H
|
||||
#define _LINUX_ETHTOOL_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/bitmap.h>
|
||||
#include <linux/compat.h>
|
||||
#include <uapi/linux/ethtool.h>
|
||||
|
@ -124,6 +125,8 @@ struct ethtool_link_ksettings {
|
|||
__ETHTOOL_DECLARE_LINK_MODE_MASK(advertising);
|
||||
__ETHTOOL_DECLARE_LINK_MODE_MASK(lp_advertising);
|
||||
} link_modes;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -505,6 +508,23 @@ struct ethtool_ops {
|
|||
const struct ethtool_tunable *, void *);
|
||||
int (*set_phy_tunable)(struct net_device *,
|
||||
const struct ethtool_tunable *, const void *);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
CK_KABI_RESERVE(9)
|
||||
CK_KABI_RESERVE(10)
|
||||
CK_KABI_RESERVE(11)
|
||||
CK_KABI_RESERVE(12)
|
||||
CK_KABI_RESERVE(13)
|
||||
CK_KABI_RESERVE(14)
|
||||
CK_KABI_RESERVE(15)
|
||||
CK_KABI_RESERVE(16)
|
||||
};
|
||||
|
||||
int ethtool_check_ops(const struct ethtool_ops *ops);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#define LINUX_EXPORTFS_H 1
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/ck_kabi.h>
|
||||
|
||||
struct dentry;
|
||||
struct iattr;
|
||||
|
@ -213,6 +214,9 @@ struct export_operations {
|
|||
bool write, u32 *device_generation);
|
||||
int (*commit_blocks)(struct inode *inode, struct iomap *iomaps,
|
||||
int nr_iomaps, struct iattr *iattr);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
extern int exportfs_encode_inode_fh(struct inode *inode, struct fid *fid,
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_FB_H
|
||||
#define _LINUX_FB_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/kgdb.h>
|
||||
#include <uapi/linux/fb.h>
|
||||
|
||||
|
@ -208,6 +209,8 @@ struct fb_deferred_io {
|
|||
/* callback */
|
||||
void (*first_io)(struct fb_info *info);
|
||||
void (*deferred_io)(struct fb_info *info, struct list_head *pagelist);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_FS_H
|
||||
#define _LINUX_FS_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/wait_bit.h>
|
||||
#include <linux/kdev_t.h>
|
||||
|
@ -414,6 +415,11 @@ struct address_space_operations {
|
|||
int (*swap_activate)(struct swap_info_struct *sis, struct file *file,
|
||||
sector_t *span);
|
||||
void (*swap_deactivate)(struct file *file);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
extern const struct address_space_operations empty_aops;
|
||||
|
@ -476,6 +482,8 @@ struct address_space {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
} __attribute__((aligned(sizeof(long)))) __randomize_layout;
|
||||
/*
|
||||
* On most architectures that alignment is already the case; but
|
||||
|
@ -732,6 +740,9 @@ struct inode {
|
|||
|
||||
void *i_private; /* fs or device private pointer */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
|
||||
} __randomize_layout;
|
||||
|
||||
struct timespec64 timestamp_truncate(struct timespec64 t, struct inode *inode);
|
||||
|
@ -1025,6 +1036,9 @@ struct file_lock;
|
|||
struct file_lock_operations {
|
||||
void (*fl_copy_lock)(struct file_lock *, struct file_lock *);
|
||||
void (*fl_release_private)(struct file_lock *);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
struct lock_manager_operations {
|
||||
|
@ -1036,6 +1050,11 @@ struct lock_manager_operations {
|
|||
int (*lm_change)(struct file_lock *, int, struct list_head *);
|
||||
void (*lm_setup)(struct file_lock *, void **);
|
||||
bool (*lm_breaker_owns_lease)(struct file_lock *);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct lock_manager {
|
||||
|
@ -1109,6 +1128,8 @@ struct file_lock {
|
|||
unsigned int debug_id;
|
||||
} afs;
|
||||
} fl_u;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
} __randomize_layout;
|
||||
|
||||
struct file_lock_context {
|
||||
|
@ -1880,6 +1901,11 @@ struct file_operations {
|
|||
int (*fadvise)(struct file *, loff_t, loff_t, int);
|
||||
int (*uring_cmd)(struct io_uring_cmd *ioucmd, unsigned int issue_flags);
|
||||
bool may_pollfree;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
} __randomize_layout;
|
||||
|
||||
struct inode_operations {
|
||||
|
@ -1910,6 +1936,11 @@ struct inode_operations {
|
|||
umode_t create_mode);
|
||||
int (*tmpfile) (struct inode *, struct dentry *, umode_t);
|
||||
int (*set_acl)(struct inode *, struct posix_acl *, int);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
} ____cacheline_aligned;
|
||||
|
||||
static inline ssize_t call_read_iter(struct file *file, struct kiocb *kio,
|
||||
|
@ -1986,6 +2017,11 @@ struct super_operations {
|
|||
struct shrink_control *);
|
||||
long (*free_cached_objects)(struct super_block *,
|
||||
struct shrink_control *);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -2275,6 +2311,11 @@ struct file_system_type {
|
|||
struct lock_class_key i_lock_key;
|
||||
struct lock_class_key i_mutex_key;
|
||||
struct lock_class_key i_mutex_dir_key;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
#define MODULE_ALIAS_FS(NAME) MODULE_ALIAS("fs-" NAME)
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#ifndef _LINUX_FTRACE_H
|
||||
#define _LINUX_FTRACE_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/trace_clock.h>
|
||||
#include <linux/kallsyms.h>
|
||||
#include <linux/linkage.h>
|
||||
|
@ -217,6 +218,8 @@ struct ftrace_ops {
|
|||
unsigned long trampoline_size;
|
||||
struct list_head list;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
extern struct ftrace_ops __rcu *ftrace_ops_list;
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#ifndef _LINUX_FWNODE_H_
|
||||
#define _LINUX_FWNODE_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
struct fwnode_operations;
|
||||
|
@ -18,6 +19,13 @@ struct fwnode_handle {
|
|||
struct fwnode_handle *secondary;
|
||||
const struct fwnode_operations *ops;
|
||||
struct device *dev;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -147,6 +155,11 @@ struct fwnode_operations {
|
|||
struct fwnode_endpoint *endpoint);
|
||||
int (*add_links)(const struct fwnode_handle *fwnode,
|
||||
struct device *dev);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
#define fwnode_has_op(fwnode, op) \
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
* <drew@colorado.edu>
|
||||
*/
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kdev_t.h>
|
||||
#include <linux/rcupdate.h>
|
||||
|
@ -76,6 +77,8 @@ struct hd_struct {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -165,6 +168,9 @@ struct blk_integrity {
|
|||
unsigned char tuple_size;
|
||||
unsigned char interval_exp;
|
||||
unsigned char tag_size;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
struct gendisk {
|
||||
|
@ -215,6 +221,8 @@ struct gendisk {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
#if IS_REACHABLE(CONFIG_CDROM)
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#ifndef _LINUX_HRTIMER_H
|
||||
#define _LINUX_HRTIMER_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/hrtimer_defs.h>
|
||||
#include <linux/rbtree.h>
|
||||
#include <linux/init.h>
|
||||
|
@ -124,6 +125,10 @@ struct hrtimer {
|
|||
u8 is_rel;
|
||||
u8 is_soft;
|
||||
u8 is_hard;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -165,6 +170,9 @@ struct hrtimer_clock_base {
|
|||
struct timerqueue_head active;
|
||||
ktime_t (*get_time)(void);
|
||||
ktime_t offset;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
} __hrtimer_clock_base_align;
|
||||
|
||||
enum hrtimer_base_type {
|
||||
|
@ -235,6 +243,9 @@ struct hrtimer_cpu_base {
|
|||
ktime_t softirq_expires_next;
|
||||
struct hrtimer *softirq_next_timer;
|
||||
struct hrtimer_clock_base clock_base[HRTIMER_MAX_CLOCK_BASES];
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
} ____cacheline_aligned;
|
||||
|
||||
static inline void hrtimer_set_expires(struct hrtimer *timer, ktime_t time)
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#ifndef _LINUX_I2C_H
|
||||
#define _LINUX_I2C_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/acpi.h> /* for acpi_handle */
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <linux/device.h> /* for struct device */
|
||||
|
@ -544,6 +545,9 @@ struct i2c_algorithm {
|
|||
int (*reg_slave)(struct i2c_client *client);
|
||||
int (*unreg_slave)(struct i2c_client *client);
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -633,6 +637,9 @@ struct i2c_bus_recovery_info {
|
|||
struct pinctrl *pinctrl;
|
||||
struct pinctrl_state *pins_default;
|
||||
struct pinctrl_state *pins_gpio;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
int i2c_recover_bus(struct i2c_adapter *adap);
|
||||
|
@ -723,6 +730,9 @@ struct i2c_adapter {
|
|||
const struct i2c_adapter_quirks *quirks;
|
||||
|
||||
struct irq_domain *host_notify_domain;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
#define to_i2c_adapter(d) container_of(d, struct i2c_adapter, dev)
|
||||
|
||||
|
|
|
@ -13,11 +13,14 @@
|
|||
#include <linux/sysctl.h>
|
||||
#include <linux/rtnetlink.h>
|
||||
#include <linux/refcount.h>
|
||||
#include <linux/ck_kabi.h>
|
||||
|
||||
struct ipv4_devconf {
|
||||
void *sysctl;
|
||||
int data[IPV4_DEVCONF_MAX];
|
||||
DECLARE_BITMAP(state, IPV4_DEVCONF_MAX);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
#define MC_HASH_SZ_LOG 9
|
||||
|
@ -48,6 +51,9 @@ struct in_device {
|
|||
struct neigh_parms *arp_parms;
|
||||
struct ipv4_devconf cnf;
|
||||
struct rcu_head rcu_head;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
#define IPV4_DEVCONF(cnf, attr) ((cnf).data[IPV4_DEVCONF_ ## attr - 1])
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#ifndef _LINUX_INTERRUPT_H
|
||||
#define _LINUX_INTERRUPT_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/cpumask.h>
|
||||
|
@ -298,6 +299,8 @@ struct irq_affinity {
|
|||
unsigned int set_size[IRQ_AFFINITY_MAX_SETS];
|
||||
void (*calc_sets)(struct irq_affinity *, unsigned int nvecs);
|
||||
void *priv;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -717,7 +720,7 @@ extern void tasklet_setup(struct tasklet_struct *t,
|
|||
* if more than one irq occurred.
|
||||
*/
|
||||
|
||||
#if !defined(CONFIG_GENERIC_IRQ_PROBE)
|
||||
#if !defined(CONFIG_GENERIC_IRQ_PROBE)
|
||||
static inline unsigned long probe_irq_on(void)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#ifndef __LINUX_IOMMU_H
|
||||
#define __LINUX_IOMMU_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/scatterlist.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/types.h>
|
||||
|
@ -93,6 +94,11 @@ struct iommu_domain {
|
|||
struct mutex switch_log_lock;
|
||||
ioasid_t dma_pasid; /* Used for DMA requests with PASID */
|
||||
atomic_t dma_pasid_users;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
enum iommu_cap {
|
||||
|
@ -203,6 +209,9 @@ struct iommu_iotlb_gather {
|
|||
unsigned long end;
|
||||
size_t pgsize;
|
||||
struct page *freelist;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -368,6 +377,15 @@ struct iommu_ops {
|
|||
|
||||
unsigned long pgsize_bitmap;
|
||||
struct module *owner;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
#include <linux/compiler.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/bits.h>
|
||||
#include <linux/ck_kabi.h>
|
||||
|
||||
/*
|
||||
* Resources are tree-like, allowing
|
||||
* nesting etc..
|
||||
|
@ -24,6 +26,11 @@ struct resource {
|
|||
unsigned long flags;
|
||||
unsigned long desc;
|
||||
struct resource *parent, *sibling, *child;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _IPV6_H
|
||||
#define _IPV6_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <uapi/linux/ipv6.h>
|
||||
|
||||
#define ipv6_optlen(p) (((p)->hdrlen+1) << 3)
|
||||
|
@ -77,6 +78,11 @@ struct ipv6_devconf {
|
|||
__s32 rpl_seg_enabled;
|
||||
|
||||
struct ctl_table_header *sysctl_header;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct ipv6_params {
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
* Thanks. --rmk
|
||||
*/
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/cache.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/cpumask.h>
|
||||
|
@ -156,6 +157,9 @@ struct irq_common_data {
|
|||
#ifdef CONFIG_GENERIC_IRQ_IPI
|
||||
unsigned int ipi_offset;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -554,6 +558,8 @@ struct irq_chip {
|
|||
void (*irq_nmi_teardown)(struct irq_data *data);
|
||||
|
||||
unsigned long flags;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -1019,6 +1025,8 @@ struct irq_chip_type {
|
|||
u32 type;
|
||||
u32 mask_cache_priv;
|
||||
u32 *mask_cache;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_IRQ_WORK_H
|
||||
#define _LINUX_IRQ_WORK_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/smp_types.h>
|
||||
|
||||
/*
|
||||
|
@ -22,6 +23,8 @@ struct irq_work {
|
|||
};
|
||||
};
|
||||
void (*func)(struct irq_work *);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
static inline
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_IRQDESC_H
|
||||
#define _LINUX_IRQDESC_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/rcupdate.h>
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/mutex.h>
|
||||
|
@ -102,6 +103,8 @@ struct irq_desc {
|
|||
int parent_irq;
|
||||
struct module *owner;
|
||||
const char *name;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
} ____cacheline_internodealigned_in_smp;
|
||||
|
||||
#ifdef CONFIG_SPARSE_IRQ
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#ifndef _LINUX_IRQDOMAIN_H
|
||||
#define _LINUX_IRQDOMAIN_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/irqhandler.h>
|
||||
#include <linux/of.h>
|
||||
|
@ -185,6 +186,12 @@ struct irq_domain {
|
|||
unsigned int revmap_size;
|
||||
struct radix_tree_root revmap_tree;
|
||||
struct mutex revmap_tree_mutex;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
|
||||
unsigned int linear_revmap[];
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#ifndef __LINUX_KERNFS_H
|
||||
#define __LINUX_KERNFS_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/list.h>
|
||||
|
@ -98,6 +99,8 @@ struct kernfs_elem_dir {
|
|||
* better directly in kernfs_node but is here to save space.
|
||||
*/
|
||||
struct kernfs_root *root;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
struct kernfs_elem_symlink {
|
||||
|
@ -175,6 +178,11 @@ struct kernfs_syscall_ops {
|
|||
const char *new_name);
|
||||
int (*show_path)(struct seq_file *sf, struct kernfs_node *kn,
|
||||
struct kernfs_root *root);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct kernfs_root {
|
||||
|
@ -268,6 +276,9 @@ struct kernfs_ops {
|
|||
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
||||
struct lock_class_key lockdep_key;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#ifndef _LINUX_KEY_TYPE_H
|
||||
#define _LINUX_KEY_TYPE_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/key.h>
|
||||
#include <linux/errno.h>
|
||||
|
||||
|
@ -35,6 +36,8 @@ struct key_preparsed_payload {
|
|||
size_t datalen; /* Raw datalen */
|
||||
size_t quotalen; /* Quota length for proposed payload */
|
||||
time64_t expiry; /* Expiry time of key */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
} __randomize_layout;
|
||||
|
||||
typedef int (*request_key_actor_t)(struct key *auth_key, void *aux);
|
||||
|
@ -55,6 +58,8 @@ struct key_match_data {
|
|||
unsigned lookup_type; /* Type of lookup for this search. */
|
||||
#define KEYRING_SEARCH_LOOKUP_DIRECT 0x0000 /* Direct lookup by description. */
|
||||
#define KEYRING_SEARCH_LOOKUP_ITERATE 0x0001 /* Iterative search. */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#ifndef _LINUX_KEY_H
|
||||
#define _LINUX_KEY_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/rbtree.h>
|
||||
|
@ -272,6 +273,9 @@ struct key {
|
|||
* restriction.
|
||||
*/
|
||||
struct key_restriction *restrict_link;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
|
||||
};
|
||||
|
||||
extern struct key *key_alloc(struct key_type *type,
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#ifndef _KOBJECT_H_
|
||||
#define _KOBJECT_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/sysfs.h>
|
||||
|
@ -77,6 +78,11 @@ struct kobject {
|
|||
unsigned int state_add_uevent_sent:1;
|
||||
unsigned int state_remove_uevent_sent:1;
|
||||
unsigned int uevent_suppress:1;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
extern __printf(2, 3)
|
||||
|
@ -143,6 +149,11 @@ struct kobj_type {
|
|||
const struct kobj_ns_type_operations *(*child_ns_type)(struct kobject *kobj);
|
||||
const void *(*namespace)(struct kobject *kobj);
|
||||
void (*get_ownership)(struct kobject *kobj, kuid_t *uid, kgid_t *gid);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct kobj_uevent_env {
|
||||
|
@ -194,6 +205,11 @@ struct kset {
|
|||
spinlock_t list_lock;
|
||||
struct kobject kobj;
|
||||
const struct kset_uevent_ops *uevent_ops;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
} __randomize_layout;
|
||||
|
||||
extern void kset_init(struct kset *kset);
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
* <jkenisto@us.ibm.com> and Prasanna S Panchamukhi
|
||||
* <prasanna@in.ibm.com> added function-return probes.
|
||||
*/
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/list.h>
|
||||
|
@ -98,6 +99,8 @@ struct kprobe {
|
|||
* Protected by kprobe_mutex after this kprobe is registered.
|
||||
*/
|
||||
u32 flags;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/* Kprobe status flags */
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#ifndef _LRU_LIST_H
|
||||
#define _LRU_LIST_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/nodemask.h>
|
||||
#include <linux/shrinker.h>
|
||||
|
@ -59,6 +60,9 @@ struct list_lru {
|
|||
int shrinker_id;
|
||||
bool memcg_aware;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
void list_lru_destroy(struct list_lru *lru);
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
#ifndef _LINUX_MEMCONTROL_H
|
||||
#define _LINUX_MEMCONTROL_H
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/cgroup.h>
|
||||
#include <linux/vm_event_item.h>
|
||||
#include <linux/hardirq.h>
|
||||
|
@ -108,6 +109,8 @@ struct alloc_context;
|
|||
struct mem_cgroup_id {
|
||||
int id;
|
||||
refcount_t ref;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -127,6 +130,9 @@ struct memcg_vmstats_percpu {
|
|||
unsigned long events[NR_VM_EVENT_ITEMS];
|
||||
unsigned long nr_page_events;
|
||||
unsigned long targets[MEM_CGROUP_NTARGETS];
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
struct mem_cgroup_reclaim_iter {
|
||||
|
@ -173,6 +179,11 @@ struct mem_cgroup_per_node {
|
|||
bool on_tree;
|
||||
struct mem_cgroup *memcg; /* Back pointer, we cannot */
|
||||
/* use container_of */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct mem_cgroup_threshold {
|
||||
|
@ -488,6 +499,10 @@ struct mem_cgroup {
|
|||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
|
||||
struct mem_cgroup_per_node *nodeinfo[0];
|
||||
/* WARNING: nodeinfo must be the last member here */
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include <linux/nodemask.h>
|
||||
#include <linux/pagemap.h>
|
||||
#include <uapi/linux/mempolicy.h>
|
||||
#include <linux/ck_kabi.h>
|
||||
|
||||
struct mm_struct;
|
||||
|
||||
|
@ -55,6 +56,8 @@ struct mempolicy {
|
|||
nodemask_t cpuset_mems_allowed; /* relative to these nodes */
|
||||
nodemask_t user_nodemask; /* nodemask passed by user */
|
||||
} w;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include <linux/sizes.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/pgtable.h>
|
||||
#include <linux/ck_kabi.h>
|
||||
|
||||
struct mempolicy;
|
||||
struct anon_vma;
|
||||
|
@ -545,6 +546,8 @@ struct vm_fault {
|
|||
* page table to avoid allocation from
|
||||
* atomic context.
|
||||
*/
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/* page entry size for vm->huge_fault() */
|
||||
|
@ -629,6 +632,8 @@ struct vm_operations_struct {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
static inline void vma_init(struct vm_area_struct *vma, struct mm_struct *mm)
|
||||
|
|
|
@ -602,6 +602,12 @@ struct mm_struct {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
|
||||
/*
|
||||
* The mm_cpumask needs to be at the end of mm_struct, because it
|
||||
|
|
|
@ -310,6 +310,8 @@ struct lruvec {
|
|||
#ifdef CONFIG_MEMCG
|
||||
struct pglist_data *pgdat;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/* Isolate unmapped pages */
|
||||
|
@ -376,6 +378,8 @@ struct per_cpu_pageset {
|
|||
struct per_cpu_nodestat {
|
||||
s8 stat_threshold;
|
||||
s8 vm_node_stat_diff[NR_VM_NODE_STAT_ITEMS];
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
#endif /* !__GENERATING_BOUNDS.H */
|
||||
|
@ -634,6 +638,8 @@ struct zone {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
} ____cacheline_internodealigned_in_smp;
|
||||
|
||||
enum pgdat_flags {
|
||||
|
@ -890,6 +896,8 @@ typedef struct pglist_data {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
} pg_data_t;
|
||||
|
||||
#define node_present_pages(nid) (NODE_DATA(nid)->node_present_pages)
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#ifndef _LINUX_MODULE_H
|
||||
#define _LINUX_MODULE_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/stat.h>
|
||||
#include <linux/compiler.h>
|
||||
|
@ -534,6 +535,11 @@ struct module {
|
|||
struct error_injection_entry *ei_funcs;
|
||||
unsigned int num_ei_funcs;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
} ____cacheline_aligned __randomize_layout;
|
||||
#ifndef MODULE_ARCH_INIT
|
||||
#define MODULE_ARCH_INIT {}
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#ifndef _LINUX_MOUNT_H
|
||||
#define _LINUX_MOUNT_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/nodemask.h>
|
||||
|
@ -72,6 +73,8 @@ struct vfsmount {
|
|||
struct dentry *mnt_root; /* root of the mounted tree */
|
||||
struct super_block *mnt_sb; /* pointer to superblock */
|
||||
int mnt_flags;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
} __randomize_layout;
|
||||
|
||||
struct file; /* forward dec */
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef LINUX_MSI_H
|
||||
#define LINUX_MSI_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/list.h>
|
||||
#include <asm/msi.h>
|
||||
|
@ -179,6 +180,9 @@ struct msi_desc {
|
|||
struct ti_sci_inta_msi_desc inta;
|
||||
struct device_msi_desc device_msi;
|
||||
};
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/* Helpers to hide struct msi_desc implementation details */
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#ifndef _LINUX_NET_H
|
||||
#define _LINUX_NET_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/stringify.h>
|
||||
#include <linux/random.h>
|
||||
#include <linux/wait.h>
|
||||
|
@ -203,6 +204,15 @@ struct proto_ops {
|
|||
int (*sendmsg_locked)(struct sock *sk, struct msghdr *msg,
|
||||
size_t size);
|
||||
int (*set_rcvlowat)(struct sock *sk, int val);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
#define DECLARE_SOCKADDR(type, dst, src) \
|
||||
|
|
|
@ -226,6 +226,8 @@ struct netdev_hw_addr {
|
|||
struct netdev_hw_addr_list {
|
||||
struct list_head list;
|
||||
int count;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
#define netdev_hw_addr_list_count(l) ((l)->count)
|
||||
|
@ -280,6 +282,9 @@ struct header_ops {
|
|||
const unsigned char *haddr);
|
||||
bool (*validate)(const char *ll_header, unsigned int len);
|
||||
__be16 (*parse_protocol)(const struct sk_buff *skb);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/* These flag bits are private to the generic network queueing
|
||||
|
@ -349,6 +354,11 @@ struct napi_struct {
|
|||
struct list_head dev_list;
|
||||
struct hlist_node napi_hash_node;
|
||||
unsigned int napi_id;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -617,6 +627,15 @@ struct netdev_queue {
|
|||
#ifdef CONFIG_BQL
|
||||
struct dql dql;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
} ____cacheline_aligned_in_smp;
|
||||
|
||||
extern int sysctl_fb_tunnels_only_for_init_net;
|
||||
|
@ -740,6 +759,15 @@ struct netdev_rx_queue {
|
|||
#ifdef CONFIG_XDP_SOCKETS
|
||||
struct xsk_buff_pool *pool;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
} ____cacheline_aligned_in_smp;
|
||||
|
||||
/*
|
||||
|
@ -772,6 +800,9 @@ struct xps_map {
|
|||
*/
|
||||
struct xps_dev_maps {
|
||||
struct rcu_head rcu;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
|
||||
struct xps_map __rcu *attr_map[]; /* Either CPUs map or RXQs map */
|
||||
};
|
||||
|
||||
|
@ -920,6 +951,11 @@ struct xfrmdev_ops {
|
|||
bool (*xdo_dev_offload_ok) (struct sk_buff *skb,
|
||||
struct xfrm_state *x);
|
||||
void (*xdo_dev_state_advance_esn) (struct xfrm_state *x);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -1486,6 +1522,20 @@ struct net_device_ops {
|
|||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
CK_KABI_RESERVE(9)
|
||||
CK_KABI_RESERVE(10)
|
||||
CK_KABI_RESERVE(11)
|
||||
CK_KABI_RESERVE(12)
|
||||
CK_KABI_RESERVE(13)
|
||||
CK_KABI_RESERVE(14)
|
||||
CK_KABI_RESERVE(15)
|
||||
CK_KABI_RESERVE(16)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -2172,6 +2222,22 @@ struct net_device {
|
|||
|
||||
/* protected by rtnl_lock */
|
||||
struct bpf_xdp_entity xdp_state[__MAX_XDP_MODE];
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
CK_KABI_RESERVE(9)
|
||||
CK_KABI_RESERVE(10)
|
||||
CK_KABI_RESERVE(11)
|
||||
CK_KABI_RESERVE(13)
|
||||
CK_KABI_RESERVE(14)
|
||||
CK_KABI_RESERVE(15)
|
||||
CK_KABI_RESERVE(16)
|
||||
};
|
||||
#define to_net_dev(d) container_of(d, struct net_device, dev)
|
||||
|
||||
|
@ -2545,6 +2611,11 @@ struct packet_type {
|
|||
struct net *af_packet_net;
|
||||
void *af_packet_priv;
|
||||
struct list_head list;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct offload_callbacks {
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef __LINUX_NETFILTER_H
|
||||
#define __LINUX_NETFILTER_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/skbuff.h>
|
||||
#include <linux/net.h>
|
||||
|
@ -171,6 +172,8 @@ struct nf_sockopt_ops {
|
|||
int (*get)(struct sock *sk, int optval, void __user *user, int *len);
|
||||
/* Use the module struct to lock set/get code in place */
|
||||
struct module *owner;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/* Function to register/unregister hook points. */
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _NF_CONNTRACK_COMMON_H
|
||||
#define _NF_CONNTRACK_COMMON_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/atomic.h>
|
||||
#include <uapi/linux/netfilter/nf_conntrack_common.h>
|
||||
|
||||
|
@ -18,6 +19,8 @@ struct ip_conntrack_stat {
|
|||
unsigned int expect_create;
|
||||
unsigned int expect_delete;
|
||||
unsigned int search_restart;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
#define NFCT_INFOMASK 7UL
|
||||
|
|
|
@ -2,12 +2,15 @@
|
|||
#ifndef _LINUX_NS_COMMON_H
|
||||
#define _LINUX_NS_COMMON_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
struct proc_ns_operations;
|
||||
|
||||
struct ns_common {
|
||||
atomic_long_t stashed;
|
||||
const struct proc_ns_operations *ops;
|
||||
unsigned int inum;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_NSPROXY_H
|
||||
#define _LINUX_NSPROXY_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/sched.h>
|
||||
|
||||
|
@ -38,6 +39,15 @@ struct nsproxy {
|
|||
struct time_namespace *time_ns;
|
||||
struct time_namespace *time_ns_for_children;
|
||||
struct cgroup_namespace *cgroup_ns;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
extern struct nsproxy init_nsproxy;
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
* Updates for SPARC64 by David S. Miller
|
||||
* Derived from PowerPC and Sparc prom.h files by Stephen Rothwell, IBM Corp.
|
||||
*/
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/errno.h>
|
||||
|
@ -68,6 +69,13 @@ struct device_node {
|
|||
unsigned int unique_id;
|
||||
struct of_irq_controller *irq_trans;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
};
|
||||
|
||||
#define MAX_PHANDLE_ARGS 16
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
/*
|
||||
* Copyright 1995 Linus Torvalds
|
||||
*/
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/list.h>
|
||||
|
@ -836,6 +837,8 @@ struct readahead_control {
|
|||
pgoff_t _index;
|
||||
unsigned int _nr_pages;
|
||||
unsigned int _batch_count;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
#define DEFINE_READAHEAD(rac, f, m, i) \
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#define LINUX_PCI_H
|
||||
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
|
||||
#include <linux/types.h>
|
||||
|
@ -522,6 +523,23 @@ struct pci_dev {
|
|||
char *driver_override; /* Driver name to force a match */
|
||||
|
||||
unsigned long priv_flags; /* Private flags for the PCI driver */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
CK_KABI_RESERVE(9)
|
||||
CK_KABI_RESERVE(10)
|
||||
CK_KABI_RESERVE(11)
|
||||
CK_KABI_RESERVE(12)
|
||||
CK_KABI_RESERVE(13)
|
||||
CK_KABI_RESERVE(14)
|
||||
CK_KABI_RESERVE(15)
|
||||
CK_KABI_RESERVE(16)
|
||||
};
|
||||
|
||||
static inline struct pci_dev *pci_physfn(struct pci_dev *dev)
|
||||
|
@ -659,6 +677,15 @@ struct pci_bus {
|
|||
struct bin_attribute *legacy_mem; /* Legacy mem */
|
||||
unsigned int is_added:1;
|
||||
unsigned int unsafe_warn:1; /* warned about RW1C config write */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
#define to_pci_bus(n) container_of(n, struct pci_bus, dev)
|
||||
|
@ -892,6 +919,15 @@ struct pci_driver {
|
|||
const struct attribute_group **groups;
|
||||
struct device_driver driver;
|
||||
struct pci_dynids dynids;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
#define to_pci_driver(drv) container_of(drv, struct pci_driver, driver)
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
#ifndef _PCI_HOTPLUG_H
|
||||
#define _PCI_HOTPLUG_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
|
||||
/**
|
||||
* struct hotplug_slot_ops -the callbacks that the hotplug pci core can use
|
||||
* @enable_slot: Called when the user wants to enable a specific pci slot
|
||||
|
@ -46,6 +48,15 @@ struct hotplug_slot_ops {
|
|||
int (*get_adapter_status)(struct hotplug_slot *slot, u8 *value);
|
||||
int (*reset_slot)(struct hotplug_slot *slot, int probe);
|
||||
int (*set_power_indicator)(struct hotplug_slot *slot, u8 value);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -62,6 +73,15 @@ struct hotplug_slot {
|
|||
struct pci_slot *pci_slot;
|
||||
struct module *owner;
|
||||
const char *mod_name;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
static inline const char *hotplug_slot_name(const struct hotplug_slot *slot)
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#ifndef _LINUX_PERF_EVENT_H
|
||||
#define _LINUX_PERF_EVENT_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <uapi/linux/perf_event.h>
|
||||
#include <uapi/linux/bpf_perf_event.h>
|
||||
|
||||
|
@ -513,6 +514,11 @@ struct pmu {
|
|||
* Check period value for PERF_EVENT_IOC_PERIOD ioctl.
|
||||
*/
|
||||
int (*check_period) (struct perf_event *event, u64 value); /* optional */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
enum perf_addr_filter_action_t {
|
||||
|
@ -837,6 +843,8 @@ struct perf_event_context {
|
|||
#endif
|
||||
void *task_ctx_data; /* pmu specific data */
|
||||
struct rcu_head rcu_head;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -875,6 +883,8 @@ struct perf_cpu_context {
|
|||
int heap_size;
|
||||
struct perf_event **heap;
|
||||
struct perf_event *heap_default[2];
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
struct perf_output_handle {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#ifndef _LINUX_PM_H
|
||||
#define _LINUX_PM_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
@ -542,6 +543,13 @@ struct pm_subsys_data {
|
|||
#ifdef CONFIG_PM_GENERIC_DOMAINS
|
||||
struct pm_domain_data *domain_data;
|
||||
#endif
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -621,6 +629,9 @@ struct dev_pm_info {
|
|||
struct pm_subsys_data *subsys_data; /* Owned by the subsystem. */
|
||||
void (*set_latency_tolerance)(struct device *, s32);
|
||||
struct dev_pm_qos *qos;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
extern int dev_pm_get_subsys_data(struct device *dev);
|
||||
|
@ -647,6 +658,9 @@ struct dev_pm_domain {
|
|||
int (*activate)(struct device *dev);
|
||||
void (*sync)(struct device *dev);
|
||||
void (*dismiss)(struct device *dev);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#ifndef _LINUX_PM_QOS_H
|
||||
#define _LINUX_PM_QOS_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/plist.h>
|
||||
#include <linux/notifier.h>
|
||||
#include <linux/device.h>
|
||||
|
@ -112,6 +113,9 @@ struct dev_pm_qos_request {
|
|||
struct freq_qos_request freq;
|
||||
} data;
|
||||
struct device *dev;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
struct dev_pm_qos {
|
||||
|
@ -122,6 +126,9 @@ struct dev_pm_qos {
|
|||
struct dev_pm_qos_request *resume_latency_req;
|
||||
struct dev_pm_qos_request *latency_tolerance_req;
|
||||
struct dev_pm_qos_request *flags_req;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/* Action requested to pm_qos_update_target */
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#ifndef _LINUX_PM_WAKEUP_H
|
||||
#define _LINUX_PM_WAKEUP_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#ifndef _DEVICE_H_
|
||||
# error "please don't include this file directly"
|
||||
#endif
|
||||
|
@ -61,6 +62,9 @@ struct wakeup_source {
|
|||
struct device *dev;
|
||||
bool active:1;
|
||||
bool autosleep_enabled:1;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
#define for_each_wakeup_source(ws) \
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#ifndef _LINUX_POSIX_CLOCK_H_
|
||||
#define _LINUX_POSIX_CLOCK_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/cdev.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/poll.h>
|
||||
|
@ -62,6 +63,11 @@ struct posix_clock_operations {
|
|||
|
||||
ssize_t (*read) (struct posix_clock *pc,
|
||||
uint flags, char __user *buf, size_t cnt);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -88,6 +94,15 @@ struct posix_clock {
|
|||
struct device *dev;
|
||||
struct rw_semaphore rwsem;
|
||||
bool zombie;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#ifndef _PTP_CLOCK_KERNEL_H_
|
||||
#define _PTP_CLOCK_KERNEL_H_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/pps_kernel.h>
|
||||
#include <linux/ptp_clock.h>
|
||||
|
@ -144,6 +145,12 @@ struct ptp_clock_info {
|
|||
int (*verify)(struct ptp_clock_info *ptp, unsigned int pin,
|
||||
enum ptp_pin_function func, unsigned int chan);
|
||||
long (*do_aux_work)(struct ptp_clock_info *ptp);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
};
|
||||
|
||||
struct ptp_clock;
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#ifndef _LINUX_QUOTA_
|
||||
#define _LINUX_QUOTA_
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/rwsem.h>
|
||||
|
@ -316,6 +317,9 @@ struct quota_format_ops {
|
|||
int (*commit_dqblk)(struct dquot *dquot); /* Write structure for one user */
|
||||
int (*release_dqblk)(struct dquot *dquot); /* Called when last reference to dquot is being dropped */
|
||||
int (*get_next_id)(struct super_block *sb, struct kqid *qid); /* Get next ID with existing structure in the quota file */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
/* Operations working with dquots */
|
||||
|
@ -335,6 +339,9 @@ struct dquot_operations {
|
|||
int (*get_inode_usage) (struct inode *, qsize_t *);
|
||||
/* Get next ID with active quota structure */
|
||||
int (*get_next_id) (struct super_block *sb, struct kqid *qid);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
struct path;
|
||||
|
@ -438,6 +445,11 @@ struct quotactl_ops {
|
|||
int (*set_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);
|
||||
int (*get_state)(struct super_block *, struct qc_state *);
|
||||
int (*rm_xquota)(struct super_block *, unsigned int);
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
struct quota_format_type {
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#ifndef __INCLUDE_LINUX_RCU_SEGCBLIST_H
|
||||
#define __INCLUDE_LINUX_RCU_SEGCBLIST_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/atomic.h>
|
||||
|
||||
|
@ -74,6 +75,11 @@ struct rcu_segcblist {
|
|||
#endif
|
||||
u8 enabled;
|
||||
u8 offloaded;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
};
|
||||
|
||||
#define RCU_SEGCBLIST_INITIALIZER(n) \
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
* Declarations for Reverse Mapping functions in mm/rmap.c
|
||||
*/
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/mm.h>
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#ifndef __LINUX_SCALE_BITMAP_H
|
||||
#define __LINUX_SCALE_BITMAP_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
|
@ -65,6 +66,8 @@ struct sbitmap {
|
|||
* @map: Allocated bitmap.
|
||||
*/
|
||||
struct sbitmap_word *map;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
#define SBQ_WAIT_QUEUES 8
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_SCHED_SIGNAL_H
|
||||
#define _LINUX_SCHED_SIGNAL_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/rculist.h>
|
||||
#include <linux/signal.h>
|
||||
#include <linux/sched.h>
|
||||
|
@ -237,6 +238,8 @@ struct signal_struct {
|
|||
*/
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
} __randomize_layout;
|
||||
|
||||
/*
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_SCHED_USER_H
|
||||
#define _LINUX_SCHED_USER_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/uidgid.h>
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/refcount.h>
|
||||
|
@ -42,6 +43,9 @@ struct user_struct {
|
|||
|
||||
/* Miscellaneous per-user rate limit */
|
||||
struct ratelimit_state ratelimit;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
};
|
||||
|
||||
extern int uids_sysfs_init(void);
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#ifndef _LINUX_SKBUFF_H
|
||||
#define _LINUX_SKBUFF_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/time.h>
|
||||
|
@ -914,7 +915,17 @@ struct sk_buff {
|
|||
__u32 headers_end[0];
|
||||
/* public: */
|
||||
|
||||
/*
|
||||
* kABI: The kmem_caches of struct sk_buff are initialized with
|
||||
* SLAB_HWCACHE_ALIGN flag, such as skbuff_head_cache and
|
||||
* skbuff_fclone_cache, which causes each skb to be forcibly
|
||||
* aligned with cacheline size(64 bytes).
|
||||
* Reserve 24 bytes, total 248 bytes, this will not break
|
||||
* cacheline alignment.
|
||||
*/
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
|
||||
/* These elements must be at the end, see alloc_skb() for details. */
|
||||
sk_buff_data_t tail;
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#define _LINUX_SOCKET_H
|
||||
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <asm/socket.h> /* arch-dependent defines */
|
||||
#include <linux/sockios.h> /* the SIOCxxx I/O controls */
|
||||
#include <linux/uio.h> /* iovec support */
|
||||
|
@ -75,6 +76,8 @@ struct user_msghdr {
|
|||
void __user *msg_control; /* ancillary data */
|
||||
__kernel_size_t msg_controllen; /* ancillary data buffer length */
|
||||
unsigned int msg_flags; /* flags on received message */
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
/* For recvmmsg/sendmmsg */
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#ifndef _LINUX_SRCU_TREE_H
|
||||
#define _LINUX_SRCU_TREE_H
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/rcu_node_tree.h>
|
||||
#include <linux/completion.h>
|
||||
|
||||
|
@ -40,6 +41,15 @@ struct srcu_data {
|
|||
/* ->srcu_data_have_cbs[]. */
|
||||
int cpu;
|
||||
struct srcu_struct *ssp;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
CK_KABI_RESERVE(2)
|
||||
CK_KABI_RESERVE(3)
|
||||
CK_KABI_RESERVE(4)
|
||||
CK_KABI_RESERVE(5)
|
||||
CK_KABI_RESERVE(6)
|
||||
CK_KABI_RESERVE(7)
|
||||
CK_KABI_RESERVE(8)
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_STOP_MACHINE
|
||||
#define _LINUX_STOP_MACHINE
|
||||
|
||||
#include <linux/ck_kabi.h>
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/cpumask.h>
|
||||
#include <linux/smp.h>
|
||||
|
@ -26,6 +27,8 @@ struct cpu_stop_work {
|
|||
cpu_stop_fn_t fn;
|
||||
void *arg;
|
||||
struct cpu_stop_done *done;
|
||||
|
||||
CK_KABI_RESERVE(1)
|
||||
};
|
||||
|
||||
int stop_one_cpu(unsigned int cpu, cpu_stop_fn_t fn, void *arg);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue