From: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Subject: kabi: team: Hide new member header_ops
Patch-mainline: Never, kabi workaround
References: bsc#1220870 CVE-2023-52574
Commit 492032760127 ("team: fix null-ptr-deref when team device type
is changed") adds a new member to struct team, which kABI relevant.
Move the new member at the end of the struct and kABI protect it.
Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/net/team/team.c | 3 +--
include/linux/if_team.h | 5 +++--
2 files changed, 4 insertions(+), 4 deletions(-)
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -572,8 +572,7 @@ static int __team_change_mode(struct tea
team_mode_put(team->mode);
team_set_no_mode(team);
/* zero private data area */
- memset(&team->mode_priv, 0,
- sizeof(struct team) - offsetof(struct team, mode_priv));
+ memset(&team->mode_priv, 0, sizeof(team->mode_priv));
}
if (!new_mode)
--- a/include/linux/if_team.h
+++ b/include/linux/if_team.h
@@ -178,8 +178,6 @@ struct team {
struct net_device *dev; /* associated netdevice */
struct team_pcpu_stats __percpu *pcpu_stats;
- const struct header_ops *header_ops_cache;
-
struct mutex lock; /* used for overall locking, e.g. port lists write */
/*
@@ -212,6 +210,9 @@ struct team {
struct delayed_work dw;
} mcast_rejoin;
long mode_priv[TEAM_MODE_PRIV_LONGS];
+#ifndef __GENKSYMS__
+ const struct header_ops *header_ops_cache;
+#endif
};
static inline int team_dev_queue_xmit(struct team *team, struct team_port *port,