ANDROID: GKI: Fix abi break in struct scsi_cmd

In commit f2d30198c0 ("scsi: core: Use a structure member to track the
SCSI command submitter"), a new field is added to struct scsi_cmd, so to
preserve the ABI, use the space we have reserved already for this.

And update the .xml file to handle the structure change:

'struct scsi_cmnd at scsi_cmnd.h:69:1' changed:
  type size hasn't changed
  there are data member changes:
    data member u64 android_kabi_reserved1 at offset 3520 (in bits) became anonymous data member 'union {scsi_cmnd_submitter submitter; struct {u64 android_kabi_reserved1;}; union {};}'
  58 impacted interfaces


Bug: 161946584
Fixes: f2d30198c0 ("scsi: core: Use a structure member to track the SCSI command submitter")
Change-Id: Ie982511672bf23acb9774dc5ab43ce0b18733851
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Greg Kroah-Hartman
2024-01-09 14:20:20 +00:00
parent 8a9d593fd6
commit ffc061ba7d
2 changed files with 1483 additions and 1466 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -95,7 +95,6 @@ struct scsi_cmnd {
unsigned char prot_op; unsigned char prot_op;
unsigned char prot_type; unsigned char prot_type;
unsigned char prot_flags; unsigned char prot_flags;
enum scsi_cmnd_submitter submitter;
unsigned short cmd_len; unsigned short cmd_len;
enum dma_data_direction sc_data_direction; enum dma_data_direction sc_data_direction;
@@ -151,7 +150,7 @@ struct scsi_cmnd {
unsigned char tag; /* SCSI-II queued command tag */ unsigned char tag; /* SCSI-II queued command tag */
unsigned int extra_len; /* length of alignment and padding */ unsigned int extra_len; /* length of alignment and padding */
ANDROID_KABI_RESERVE(1); ANDROID_KABI_USE(1, enum scsi_cmnd_submitter submitter);
ANDROID_KABI_RESERVE(2); ANDROID_KABI_RESERVE(2);
ANDROID_KABI_RESERVE(3); ANDROID_KABI_RESERVE(3);
ANDROID_KABI_RESERVE(4); ANDROID_KABI_RESERVE(4);