Commit bca02300 authored by Xiongfeng Wang's avatar Xiongfeng Wang
Browse files

hrtimer: Fix kabi broken of struct hrtimer_cpu_base

hulk inclusion
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBPLI0



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

Fix kabi broken caused by the following commit.
Because the reserved size is not enough, and struct hrtimer_cpu_base is
not contained by any other structure, we use KABI_EXTEND to fix the kabi.
Use KABI_FILL_HOLE() to fix kabi broken caused by the bit variable
'online'.

Fixes: 14548083da37 ("hrtimers: Force migrate away hrtimers queued after CPUHP_AP_HRTIMERS_DYING")
Fixes: 8fa783f89c8c ("hrtimer: Report offline hrtimer enqueue")
Signed-off-by: default avatarXiongfeng Wang <wangxiongfeng2@huawei.com>
parent c3ab16b6
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -234,8 +234,8 @@ struct hrtimer_cpu_base {
	unsigned int			hres_active		: 1,
					in_hrtirq		: 1,
					hang_detected		: 1,
					softirq_activated       : 1,
					online			: 1;
					softirq_activated       : 1;
	KABI_FILL_HOLE(unsigned int	online:1)
#ifdef CONFIG_HIGH_RES_TIMERS
	unsigned int			nr_events;
	unsigned short			nr_retries;
@@ -251,10 +251,10 @@ struct hrtimer_cpu_base {
	ktime_t				softirq_expires_next;
	struct hrtimer			*softirq_next_timer;
	struct hrtimer_clock_base	clock_base[HRTIMER_MAX_CLOCK_BASES];
	call_single_data_t		csd;

	KABI_RESERVE(1)
	KABI_RESERVE(2)
	KABI_EXTEND(call_single_data_t csd)
} ____cacheline_aligned;

static inline void hrtimer_set_expires(struct hrtimer *timer, ktime_t time)