Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 11913050 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

ANDROID: GKI: mm: add Android ABI padding to some structures



Try to mitigate potential future driver core api changes by adding a
padding to stuct vm_area_struct and struct zone.

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

Leaf changes summary: 3 artifacts changed
Changed leaf types summary: 3 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct vm_area_struct at mm_types.h:292:1' changed:
  type size changed from 1472 to 1728 (in bits)
  4 data member insertions:
    'u64 vm_area_struct::android_kabi_reserved1', at offset 1472 (in bits) at mm_types.h:365:1
    'u64 vm_area_struct::android_kabi_reserved2', at offset 1536 (in bits) at mm_types.h:366:1
    'u64 vm_area_struct::android_kabi_reserved3', at offset 1600 (in bits) at mm_types.h:367:1
    'u64 vm_area_struct::android_kabi_reserved4', at offset 1664 (in bits) at mm_types.h:368:1
  1435 impacted interfaces:

'struct zone at mmzone.h:420:1' changed:
  type size changed from 12800 to 13312 (in bits)
  4 data member insertions:
    'u64 zone::android_kabi_reserved1', at offset 12672 (in bits) at mmzone.h:569:1
    'u64 zone::android_kabi_reserved2', at offset 12736 (in bits) at mmzone.h:570:1
    'u64 zone::android_kabi_reserved3', at offset 12800 (in bits) at mmzone.h:571:1
    'u64 zone::android_kabi_reserved4', at offset 12864 (in bits) at mmzone.h:572:1
  624 impacted interfaces:

Bug: 151154716
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: I81702aa833f419928e0e32e9609722b98592c171
parent 2e1ae17b
Loading
Loading
Loading
Loading
+543 −519

File changed.

Preview size limit exceeded, changes collapsed.

+6 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
#include <linux/uprobes.h>
#include <linux/page-flags-layout.h>
#include <linux/workqueue.h>
#include <linux/android_kabi.h>

#include <asm/mmu.h>

@@ -360,6 +361,11 @@ struct vm_area_struct {
	struct mempolicy *vm_policy;	/* NUMA policy for the VMA */
#endif
	struct vm_userfaultfd_ctx vm_userfaultfd_ctx;

	ANDROID_KABI_RESERVE(1);
	ANDROID_KABI_RESERVE(2);
	ANDROID_KABI_RESERVE(3);
	ANDROID_KABI_RESERVE(4);
} __randomize_layout;

struct core_thread {
+6 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <linux/atomic.h>
#include <linux/mm_types.h>
#include <linux/page-flags.h>
#include <linux/android_kabi.h>
#include <asm/page.h>

/* Free memory management - zoned buddy allocator.  */
@@ -564,6 +565,11 @@ struct zone {
	/* Zone statistics */
	atomic_long_t		vm_stat[NR_VM_ZONE_STAT_ITEMS];
	atomic_long_t		vm_numa_stat[NR_VM_NUMA_STAT_ITEMS];

	ANDROID_KABI_RESERVE(1);
	ANDROID_KABI_RESERVE(2);
	ANDROID_KABI_RESERVE(3);
	ANDROID_KABI_RESERVE(4);
} ____cacheline_internodealigned_in_smp;

enum pgdat_flags {