From: Petr Tesarik <ptesarik@suse.com>
Subject: net/smc: kABI workarounds for struct smc_sock
Patch-mainline: Never, kABI workaround
References: git-fixes
Commit 341adeec9adad0874f29a0a1af35638207352a39 adds new fields to
struct smc_sock. Since the size of this structure is only needed
to allocate the socket, kABI can be preserved by adding the new
fields to the end.
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
---
net/smc/smc.h | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
--- a/net/smc/smc.h
+++ b/net/smc/smc.h
@@ -233,14 +233,8 @@ struct smc_connection {
struct smc_sock { /* smc sock container */
struct sock sk;
struct socket *clcsock; /* internal tcp socket */
- void (*clcsk_state_change)(struct sock *sk);
- /* original stat_change fct. */
void (*clcsk_data_ready)(struct sock *sk);
/* original data_ready fct. */
- void (*clcsk_write_space)(struct sock *sk);
- /* original write_space fct. */
- void (*clcsk_error_report)(struct sock *sk);
- /* original error_report fct. */
struct smc_connection conn; /* smc connection */
struct smc_sock *listen_smc; /* listen parent */
struct work_struct connect_work; /* handle non-blocking connect*/
@@ -268,6 +262,14 @@ struct smc_sock { /* smc sock contain
/* protects clcsock of a listen
* socket
* */
+#ifndef __GENKSYMS__
+ void (*clcsk_state_change)(struct sock *sk);
+ /* original stat_change fct. */
+ void (*clcsk_write_space)(struct sock *sk);
+ /* original write_space fct. */
+ void (*clcsk_error_report)(struct sock *sk);
+ /* original error_report fct. */
+#endif
};
static inline struct smc_sock *smc_sk(const struct sock *sk)