Petr Tesarik 831583
From: Petr Tesarik <ptesarik@suse.com>
Petr Tesarik 831583
Date: Mon, 14 Feb 2022 13:00:13 +0100
Petr Tesarik 831583
Subject: kabi: Hide changes to s390/AP structures
Petr Tesarik 831583
Patch-mainline: Never, kabi workaround
Petr Tesarik 831583
References: jsc#SLE-20809
Petr Tesarik 831583
Petr Tesarik 831583
Kernel commit bd39654a2282c1a51c044575a6bc00d641d5dfd1 adds these new
Petr Tesarik 831583
fields:
Petr Tesarik 831583
Petr Tesarik 831583
- struct ap_card: unsigned int maxmsgsize
Petr Tesarik 831583
  Can be added at end, because struct ap_card is allocated only by
Petr Tesarik 831583
  ap_card_create (which gets the correct new size), it is not embedded
Petr Tesarik 831583
  in any other structure, and its definition is in a driver-private header
Petr Tesarik 831583
  file (so potential out-of-tree users do not know its size).
Petr Tesarik 831583
Petr Tesarik 831583
- struct ap_message: unsigned int bufsize
Petr Tesarik 831583
  Fits into the hole at offset 44, filling it completely.
Petr Tesarik 831583
Petr Tesarik 831583
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
Petr Tesarik 831583
Petr Tesarik 831583
---
Petr Tesarik 831583
 drivers/s390/crypto/ap_bus.h |    8 ++++++--
Petr Tesarik 831583
 1 file changed, 6 insertions(+), 2 deletions(-)
Petr Tesarik 831583
Petr Tesarik 831583
--- a/drivers/s390/crypto/ap_bus.h
Petr Tesarik 831583
+++ b/drivers/s390/crypto/ap_bus.h
Petr Tesarik 831583
@@ -175,8 +175,10 @@ struct ap_card {
Petr Tesarik 831583
 	unsigned int functions;		/* AP device function bitfield. */
Petr Tesarik 831583
 	int queue_depth;		/* AP queue depth.*/
Petr Tesarik 831583
 	int id;				/* AP card number. */
Petr Tesarik 831583
-	unsigned int maxmsgsize;	/* AP msg limit for this card */
Petr Tesarik 831583
 	atomic_t total_request_count;	/* # requests ever for this AP device.*/
Petr Tesarik 831583
+#ifndef __GENKSYMS__
Petr Tesarik 831583
+	unsigned int maxmsgsize;	/* AP msg limit for this card */
Petr Tesarik 831583
+#endif
Petr Tesarik 831583
 };
Petr Tesarik 831583
 
Petr Tesarik 831583
 #define to_ap_card(x) container_of((x), struct ap_card, ap_dev.device)
Petr Tesarik 831583
@@ -210,8 +212,10 @@ struct ap_message {
Petr Tesarik 831583
 	unsigned long long psmid;	/* Message id. */
Petr Tesarik 831583
 	void *message;			/* Pointer to message buffer. */
Petr Tesarik 831583
 	size_t length;			/* actual msg len in msg buffer */
Petr Tesarik 831583
-	unsigned int bufsize;		/* allocated msg buffer size */
Petr Tesarik 831583
 	int rc;				/* Return code for this message */
Petr Tesarik 831583
+#ifndef __GENKSYMS__
Petr Tesarik 831583
+	unsigned int bufsize;		/* allocated msg buffer size */
Petr Tesarik 831583
+#endif
Petr Tesarik 831583
 
Petr Tesarik 831583
 	void *private;			/* ap driver private pointer. */
Petr Tesarik 831583
 	unsigned int special:1;		/* Used for special commands. */