From: Nathan Huckleberry <nhuck@google•com>
To: kuba@kernel•org
Cc: davem@davemloft•net, decui@microsoft•com, edumazet@google•com,
error27@gmail•com, haiyangz@microsoft•com, kys@microsoft•com,
linux-hyperv@vger•kernel.org, linux-kernel@vger•kernel.org,
llvm@lists•linux.dev, nathan@kernel•org, ndesaulniers@google•com,
netdev@vger•kernel.org, nhuck@google•com, pabeni@redhat•com,
sthemmin@microsoft•com, trix@redhat•com, wei.liu@kernel•org
Subject: [PATCH v2] net: mana: Fix return type of mana_start_xmit
Date: Thu, 29 Sep 2022 11:14:11 -0700 [thread overview]
Message-ID: <20220929181411.61331-1-nhuck@google.com> (raw)
In-Reply-To: <20220919182832.158c0ea2@kernel.org>
The ndo_start_xmit field in net_device_ops is expected to be of type
netdev_tx_t (*ndo_start_xmit)(struct sk_buff *skb, struct net_device *dev).
The mismatched return type breaks forward edge kCFI since the underlying
function definition does not match the function hook definition.
The return type of mana_start_xmit should be changed from int to
netdev_tx_t.
Reported-by: Dan Carpenter <error27@gmail•com>
Link: https://github.com/ClangBuiltLinux/linux/issues/1703
Cc: llvm@lists•linux.dev
Signed-off-by: Nathan Huckleberry <nhuck@google•com>
Reviewed-by: Dexuan Cui <decui@microsoft•com>
---
Changes v1 -> v2
- Update header file
drivers/net/ethernet/microsoft/mana/mana_en.c | 2 +-
include/net/mana/mana.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c b/drivers/net/ethernet/microsoft/mana/mana_en.c
index 7ca313c7b7b3..a3df5678bb4f 100644
--- a/drivers/net/ethernet/microsoft/mana/mana_en.c
+++ b/drivers/net/ethernet/microsoft/mana/mana_en.c
@@ -141,7 +141,7 @@ static int mana_map_skb(struct sk_buff *skb, struct mana_port_context *apc,
return -ENOMEM;
}
-int mana_start_xmit(struct sk_buff *skb, struct net_device *ndev)
+netdev_tx_t mana_start_xmit(struct sk_buff *skb, struct net_device *ndev)
{
enum mana_tx_pkt_format pkt_fmt = MANA_SHORT_PKT_FMT;
struct mana_port_context *apc = netdev_priv(ndev);
diff --git a/include/net/mana/mana.h b/include/net/mana/mana.h
index 20212ffeefb9..3bb579962a14 100644
--- a/include/net/mana/mana.h
+++ b/include/net/mana/mana.h
@@ -390,7 +390,7 @@ struct mana_port_context {
struct mana_ethtool_stats eth_stats;
};
-int mana_start_xmit(struct sk_buff *skb, struct net_device *ndev);
+netdev_tx_t mana_start_xmit(struct sk_buff *skb, struct net_device *ndev);
int mana_config_rss(struct mana_port_context *ac, enum TRI_STATE rx,
bool update_hash, bool update_tab);
--
2.38.0.rc1.362.ged0d419d3c-goog
next prev parent reply other threads:[~2022-09-29 18:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-12 21:43 [PATCH] net: mana: Fix return type of mana_start_xmit Nathan Huckleberry
2022-09-12 21:56 ` Dexuan Cui
2022-09-20 1:28 ` Jakub Kicinski
2022-09-29 18:14 ` Nathan Huckleberry [this message]
2022-10-03 23:39 ` [PATCH v2] " Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220929181411.61331-1-nhuck@google.com \
--to=nhuck@google$(echo .)com \
--cc=davem@davemloft$(echo .)net \
--cc=decui@microsoft$(echo .)com \
--cc=edumazet@google$(echo .)com \
--cc=error27@gmail$(echo .)com \
--cc=haiyangz@microsoft$(echo .)com \
--cc=kuba@kernel$(echo .)org \
--cc=kys@microsoft$(echo .)com \
--cc=linux-hyperv@vger$(echo .)kernel.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=llvm@lists$(echo .)linux.dev \
--cc=nathan@kernel$(echo .)org \
--cc=ndesaulniers@google$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=pabeni@redhat$(echo .)com \
--cc=sthemmin@microsoft$(echo .)com \
--cc=trix@redhat$(echo .)com \
--cc=wei.liu@kernel$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox