ANDROID: GKI: sched.h: add Android ABI padding to some structures

Try to mitigate potential future driver core api changes by adding a
pointer to struct signal_struct, struct sched_entity, struct
sched_rt_entity, and struct task_struct.

Based on a patch from Michal Marek <mmarek@suse.cz> from the SLES kernel

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1449735b836399e9b356608727092334daf5c36b
This commit is contained in:
Greg Kroah-Hartman
2020-03-10 18:39:57 +01:00
parent 071fbc0683
commit b14ffb0250
2 changed files with 25 additions and 0 deletions

View File

@@ -29,6 +29,7 @@
#include <linux/mm_event.h>
#include <linux/task_io_accounting.h>
#include <linux/rseq.h>
#include <linux/android_kabi.h>
/* task_struct member predeclarations (sorted alphabetically): */
struct audit_context;
@@ -486,6 +487,11 @@ struct sched_entity {
*/
struct sched_avg avg;
#endif
ANDROID_KABI_RESERVE(1);
ANDROID_KABI_RESERVE(2);
ANDROID_KABI_RESERVE(3);
ANDROID_KABI_RESERVE(4);
};
struct sched_rt_entity {
@@ -504,6 +510,11 @@ struct sched_rt_entity {
/* rq "owned" by this entity/group: */
struct rt_rq *my_q;
#endif
ANDROID_KABI_RESERVE(1);
ANDROID_KABI_RESERVE(2);
ANDROID_KABI_RESERVE(3);
ANDROID_KABI_RESERVE(4);
} __randomize_layout;
struct sched_dl_entity {
@@ -1282,6 +1293,15 @@ struct task_struct {
void *security;
#endif
ANDROID_KABI_RESERVE(1);
ANDROID_KABI_RESERVE(2);
ANDROID_KABI_RESERVE(3);
ANDROID_KABI_RESERVE(4);
ANDROID_KABI_RESERVE(5);
ANDROID_KABI_RESERVE(6);
ANDROID_KABI_RESERVE(7);
ANDROID_KABI_RESERVE(8);
/*
* New fields for task_struct should be added above here, so that
* they are included in the randomized portion of task_struct.

View File

@@ -8,6 +8,7 @@
#include <linux/sched/jobctl.h>
#include <linux/sched/task.h>
#include <linux/cred.h>
#include <linux/android_kabi.h>
/*
* Types defining task->signal and task->sighand and APIs using them:
@@ -232,6 +233,10 @@ struct signal_struct {
struct mutex cred_guard_mutex; /* guard against foreign influences on
* credential calculations
* (notably. ptrace) */
ANDROID_KABI_RESERVE(1);
ANDROID_KABI_RESERVE(2);
ANDROID_KABI_RESERVE(3);
ANDROID_KABI_RESERVE(4);
} __randomize_layout;
/*