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: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I81702aa833f419928e0e32e9609722b98592c171
This commit is contained in:
Greg Kroah-Hartman
2020-03-10 18:42:05 +01:00
parent dd9195d6df
commit 5229a81ee3
2 changed files with 12 additions and 0 deletions

View File

@@ -15,6 +15,7 @@
#include <linux/page-flags-layout.h>
#include <linux/workqueue.h>
#include <linux/seqlock.h>
#include <linux/android_kabi.h>
#include <asm/mmu.h>
@@ -383,6 +384,11 @@ struct vm_area_struct {
seqcount_t vm_sequence;
atomic_t vm_ref_count; /* see vma_get(), vma_put() */
#endif
ANDROID_KABI_RESERVE(1);
ANDROID_KABI_RESERVE(2);
ANDROID_KABI_RESERVE(3);
ANDROID_KABI_RESERVE(4);
} __randomize_layout;
struct core_thread {

View File

@@ -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. */
@@ -601,6 +602,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 {