From 2d9161d8b1767eabf8a158ba1faac4b679d723ff Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 22 Apr 2020 15:35:08 +0200 Subject: [PATCH] ANDROID: GKI: scsi: add Android ABI padding to some structures Try to mitigate potential future driver core api changes by adding a padding to struct scsi_cmnd, struct scsi_device, and struct scsi_host_template. Based on a change made to the RHEL/CENTOS 8 kernel. Bug: 151154716 Signed-off-by: Greg Kroah-Hartman Change-Id: Ie6a2b91970e8f9063bf00e96a0dff661f77b8e8d --- include/scsi/scsi_cmnd.h | 6 ++++++ include/scsi/scsi_device.h | 7 +++++++ include/scsi/scsi_host.h | 6 ++++++ 3 files changed, 19 insertions(+) diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h index 59afe8787cf7..8ecf44d481f0 100644 --- a/include/scsi/scsi_cmnd.h +++ b/include/scsi/scsi_cmnd.h @@ -12,6 +12,7 @@ #include #include #include +#include struct Scsi_Host; struct scsi_driver; @@ -140,6 +141,11 @@ struct scsi_cmnd { unsigned long state; /* Command completion state */ unsigned int extra_len; /* length of alignment and padding */ + + ANDROID_KABI_RESERVE(1); + ANDROID_KABI_RESERVE(2); + ANDROID_KABI_RESERVE(3); + ANDROID_KABI_RESERVE(4); }; /* Variant of blk_mq_rq_from_pdu() that verifies the type of its argument. */ diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index 3b3dbc37653d..6b81c68c2667 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h @@ -9,6 +9,7 @@ #include #include #include +#include struct bsg_device; struct device; @@ -244,6 +245,12 @@ struct scsi_device { struct mutex state_mutex; enum scsi_device_state sdev_state; struct task_struct *quiesced_by; + + ANDROID_KABI_RESERVE(1); + ANDROID_KABI_RESERVE(2); + ANDROID_KABI_RESERVE(3); + ANDROID_KABI_RESERVE(4); + unsigned long sdev_data[]; } __attribute__((aligned(sizeof(unsigned long)))); diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index 1a02e58eb4e4..05b45d60a980 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h @@ -10,6 +10,7 @@ #include #include #include +#include struct block_device; struct completion; @@ -502,6 +503,11 @@ struct scsi_host_template { /* Delay for runtime autosuspend */ int rpm_autosuspend_delay; + + ANDROID_KABI_RESERVE(1); + ANDROID_KABI_RESERVE(2); + ANDROID_KABI_RESERVE(3); + ANDROID_KABI_RESERVE(4); }; /*