* [PATCH v4] staging: r8188eu: Fix return type for implementation of ndo_start_xmit
@ 2022-09-08 1:13 GUO Zihua
2022-09-08 19:22 ` Philipp Hortmann
2022-09-09 7:59 ` Greg KH
0 siblings, 2 replies; 5+ messages in thread
From: GUO Zihua @ 2022-09-08 1:13 UTC (permalink / raw)
To: Larry.Finger, phil, gregkh, dan.carpenter; +Cc: linux-staging
CFI (Control Flow Integrity) is a safety feature allowing the system to
detect and react should a potential control flow hijacking occurs. In
particular, the Forward-Edge CFI protects indirect function calls by
ensuring the prototype of function that is actually called matches the
definition of the function hook.
Since Linux now supports CFI, it will be a good idea to fix mismatched
return type for implementation of hooks. Otherwise this would get
cought out by CFI and cause a panic.
Use enums from netdev_tx_t as return value instead, then change return
type to netdev_tx_t.
Fixes: cf68fffb66d6 ("add support for Clang CFI")
Signed-off-by: GUO Zihua <guozihua@huawei.com>
---
v4:
Added Fixes tag.
v3:
Provide detail on CFI.
v2:
Fix truncated subject.
---
drivers/staging/r8188eu/include/xmit_osdep.h | 2 +-
drivers/staging/r8188eu/os_dep/xmit_linux.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/r8188eu/include/xmit_osdep.h b/drivers/staging/r8188eu/include/xmit_osdep.h
index 00658681fef9..947242486144 100644
--- a/drivers/staging/r8188eu/include/xmit_osdep.h
+++ b/drivers/staging/r8188eu/include/xmit_osdep.h
@@ -28,7 +28,7 @@ struct sta_xmit_priv;
struct xmit_frame;
struct xmit_buf;
-int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev);
+netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev);
void rtw_os_xmit_schedule(struct adapter *padapter);
diff --git a/drivers/staging/r8188eu/os_dep/xmit_linux.c b/drivers/staging/r8188eu/os_dep/xmit_linux.c
index 91a1e4e3219a..0b04010d6d82 100644
--- a/drivers/staging/r8188eu/os_dep/xmit_linux.c
+++ b/drivers/staging/r8188eu/os_dep/xmit_linux.c
@@ -198,7 +198,7 @@ static int rtw_mlcst2unicst(struct adapter *padapter, struct sk_buff *skb)
return true;
}
-int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
+netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
{
struct adapter *padapter = (struct adapter *)rtw_netdev_priv(pnetdev);
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
@@ -233,5 +233,5 @@ int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
exit:
- return 0;
+ return NETDEV_TX_OK;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v4] staging: r8188eu: Fix return type for implementation of ndo_start_xmit
2022-09-08 1:13 [PATCH v4] staging: r8188eu: Fix return type for implementation of ndo_start_xmit GUO Zihua
@ 2022-09-08 19:22 ` Philipp Hortmann
2022-09-09 8:05 ` Guozihua (Scott)
2022-09-09 7:59 ` Greg KH
1 sibling, 1 reply; 5+ messages in thread
From: Philipp Hortmann @ 2022-09-08 19:22 UTC (permalink / raw)
To: GUO Zihua, Larry.Finger, phil, gregkh, dan.carpenter; +Cc: linux-staging
On 9/8/22 03:13, GUO Zihua wrote:
> CFI (Control Flow Integrity) is a safety feature allowing the system to
> detect and react should a potential control flow hijacking occurs. In
> particular, the Forward-Edge CFI protects indirect function calls by
> ensuring the prototype of function that is actually called matches the
> definition of the function hook.
>
> Since Linux now supports CFI, it will be a good idea to fix mismatched
> return type for implementation of hooks. Otherwise this would get
> cought out by CFI and cause a panic.
>
> Use enums from netdev_tx_t as return value instead, then change return
> type to netdev_tx_t.
>
> Fixes: cf68fffb66d6 ("add support for Clang CFI")
> Signed-off-by: GUO Zihua <guozihua@huawei.com>
> ---
>
> v4:
> Added Fixes tag.
>
> v3:
> Provide detail on CFI.
>
> v2:
> Fix truncated subject.
>
> ---
> drivers/staging/r8188eu/include/xmit_osdep.h | 2 +-
> drivers/staging/r8188eu/os_dep/xmit_linux.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/r8188eu/include/xmit_osdep.h b/drivers/staging/r8188eu/include/xmit_osdep.h
> index 00658681fef9..947242486144 100644
> --- a/drivers/staging/r8188eu/include/xmit_osdep.h
> +++ b/drivers/staging/r8188eu/include/xmit_osdep.h
> @@ -28,7 +28,7 @@ struct sta_xmit_priv;
> struct xmit_frame;
> struct xmit_buf;
>
> -int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev);
> +netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev);
>
> void rtw_os_xmit_schedule(struct adapter *padapter);
>
> diff --git a/drivers/staging/r8188eu/os_dep/xmit_linux.c b/drivers/staging/r8188eu/os_dep/xmit_linux.c
> index 91a1e4e3219a..0b04010d6d82 100644
> --- a/drivers/staging/r8188eu/os_dep/xmit_linux.c
> +++ b/drivers/staging/r8188eu/os_dep/xmit_linux.c
> @@ -198,7 +198,7 @@ static int rtw_mlcst2unicst(struct adapter *padapter, struct sk_buff *skb)
> return true;
> }
>
> -int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
> +netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
> {
> struct adapter *padapter = (struct adapter *)rtw_netdev_priv(pnetdev);
> struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
> @@ -233,5 +233,5 @@ int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
>
> exit:
>
> - return 0;
> + return NETDEV_TX_OK;
> }
Hi,
I cannot apply your patch:
Applying: staging: r8188eu: Fix return type for implementation of
ndo_start_xmit
error: drivers/staging/r8188eu/include/xmit_osdep.h: does not exist in index
error: drivers/staging/r8188eu/os_dep/xmit_linux.c: does not exist in index
Patch failed at 0001 staging: r8188eu: Fix return type for
implementation of ndo_start_xmit
Fetch URL: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
branch staging-testing
Do you know why?
Bye Philipp
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4] staging: r8188eu: Fix return type for implementation of ndo_start_xmit
2022-09-08 1:13 [PATCH v4] staging: r8188eu: Fix return type for implementation of ndo_start_xmit GUO Zihua
2022-09-08 19:22 ` Philipp Hortmann
@ 2022-09-09 7:59 ` Greg KH
1 sibling, 0 replies; 5+ messages in thread
From: Greg KH @ 2022-09-09 7:59 UTC (permalink / raw)
To: GUO Zihua; +Cc: Larry.Finger, phil, dan.carpenter, linux-staging
On Thu, Sep 08, 2022 at 09:13:23AM +0800, GUO Zihua wrote:
> CFI (Control Flow Integrity) is a safety feature allowing the system to
> detect and react should a potential control flow hijacking occurs. In
> particular, the Forward-Edge CFI protects indirect function calls by
> ensuring the prototype of function that is actually called matches the
> definition of the function hook.
>
> Since Linux now supports CFI, it will be a good idea to fix mismatched
> return type for implementation of hooks. Otherwise this would get
> cought out by CFI and cause a panic.
>
> Use enums from netdev_tx_t as return value instead, then change return
> type to netdev_tx_t.
>
> Fixes: cf68fffb66d6 ("add support for Clang CFI")
> Signed-off-by: GUO Zihua <guozihua@huawei.com>
> ---
>
> v4:
> Added Fixes tag.
>
> v3:
> Provide detail on CFI.
>
> v2:
> Fix truncated subject.
>
> ---
> drivers/staging/r8188eu/include/xmit_osdep.h | 2 +-
> drivers/staging/r8188eu/os_dep/xmit_linux.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/r8188eu/include/xmit_osdep.h b/drivers/staging/r8188eu/include/xmit_osdep.h
> index 00658681fef9..947242486144 100644
> --- a/drivers/staging/r8188eu/include/xmit_osdep.h
> +++ b/drivers/staging/r8188eu/include/xmit_osdep.h
> @@ -28,7 +28,7 @@ struct sta_xmit_priv;
> struct xmit_frame;
> struct xmit_buf;
>
> -int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev);
> +netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev);
>
> void rtw_os_xmit_schedule(struct adapter *padapter);
>
> diff --git a/drivers/staging/r8188eu/os_dep/xmit_linux.c b/drivers/staging/r8188eu/os_dep/xmit_linux.c
> index 91a1e4e3219a..0b04010d6d82 100644
> --- a/drivers/staging/r8188eu/os_dep/xmit_linux.c
> +++ b/drivers/staging/r8188eu/os_dep/xmit_linux.c
> @@ -198,7 +198,7 @@ static int rtw_mlcst2unicst(struct adapter *padapter, struct sk_buff *skb)
> return true;
> }
>
> -int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
> +netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
> {
> struct adapter *padapter = (struct adapter *)rtw_netdev_priv(pnetdev);
> struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
> @@ -233,5 +233,5 @@ int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
>
> exit:
>
> - return 0;
> + return NETDEV_TX_OK;
> }
> --
> 2.17.1
>
>
Hi,
This is the friendly patch-bot of Greg Kroah-Hartman. You have sent him
a patch that has triggered this response. He used to manually respond
to these common problems, but in order to save his sanity (he kept
writing the same thing over and over, yet to different people), I was
created. Hopefully you will not take offence and will fix the problem
in your patch and resubmit it so that it can be accepted into the Linux
kernel tree.
You are receiving this message because of the following common error(s)
as indicated below:
- Your patch did not apply to any known trees that Greg is in control
of. Possibly this is because you made it against Linus's tree, not
the linux-next tree, which is where all of the development for the
next version of the kernel is at. Please refresh your patch against
the linux-next tree, or even better yet, the development tree
specified in the MAINTAINERS file for the subsystem you are submitting
a patch for, and resend it.
If you wish to discuss this problem further, or you have questions about
how to resolve this issue, please feel free to respond to this email and
Greg will reply once he has dug out from the pending patches received
from other developers.
thanks,
greg k-h's patch email bot
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4] staging: r8188eu: Fix return type for implementation of ndo_start_xmit
2022-09-08 19:22 ` Philipp Hortmann
@ 2022-09-09 8:05 ` Guozihua (Scott)
2022-09-09 8:17 ` Greg KH
0 siblings, 1 reply; 5+ messages in thread
From: Guozihua (Scott) @ 2022-09-09 8:05 UTC (permalink / raw)
To: Philipp Hortmann, Larry.Finger, phil, gregkh, dan.carpenter; +Cc: linux-staging
On 2022/9/9 3:22, Philipp Hortmann wrote:
> On 9/8/22 03:13, GUO Zihua wrote:
>> CFI (Control Flow Integrity) is a safety feature allowing the system to
>> detect and react should a potential control flow hijacking occurs. In
>> particular, the Forward-Edge CFI protects indirect function calls by
>> ensuring the prototype of function that is actually called matches the
>> definition of the function hook.
>>
>> Since Linux now supports CFI, it will be a good idea to fix mismatched
>> return type for implementation of hooks. Otherwise this would get
>> cought out by CFI and cause a panic.
>>
>> Use enums from netdev_tx_t as return value instead, then change return
>> type to netdev_tx_t.
>>
>> Fixes: cf68fffb66d6 ("add support for Clang CFI")
>> Signed-off-by: GUO Zihua <guozihua@huawei.com>
>> ---
>>
>> v4:
>> Added Fixes tag.
>>
>> v3:
>> Provide detail on CFI.
>>
>> v2:
>> Fix truncated subject.
>>
>> ---
>> drivers/staging/r8188eu/include/xmit_osdep.h | 2 +-
>> drivers/staging/r8188eu/os_dep/xmit_linux.c | 4 ++--
>> 2 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/staging/r8188eu/include/xmit_osdep.h
>> b/drivers/staging/r8188eu/include/xmit_osdep.h
>> index 00658681fef9..947242486144 100644
>> --- a/drivers/staging/r8188eu/include/xmit_osdep.h
>> +++ b/drivers/staging/r8188eu/include/xmit_osdep.h
>> @@ -28,7 +28,7 @@ struct sta_xmit_priv;
>> struct xmit_frame;
>> struct xmit_buf;
>> -int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev);
>> +netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device
>> *pnetdev);
>> void rtw_os_xmit_schedule(struct adapter *padapter);
>> diff --git a/drivers/staging/r8188eu/os_dep/xmit_linux.c
>> b/drivers/staging/r8188eu/os_dep/xmit_linux.c
>> index 91a1e4e3219a..0b04010d6d82 100644
>> --- a/drivers/staging/r8188eu/os_dep/xmit_linux.c
>> +++ b/drivers/staging/r8188eu/os_dep/xmit_linux.c
>> @@ -198,7 +198,7 @@ static int rtw_mlcst2unicst(struct adapter
>> *padapter, struct sk_buff *skb)
>> return true;
>> }
>> -int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
>> +netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device
>> *pnetdev)
>> {
>> struct adapter *padapter = (struct adapter
>> *)rtw_netdev_priv(pnetdev);
>> struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
>> @@ -233,5 +233,5 @@ int rtw_xmit_entry(struct sk_buff *pkt, struct
>> net_device *pnetdev)
>> exit:
>> - return 0;
>> + return NETDEV_TX_OK;
>> }
>
> Hi,
>
> I cannot apply your patch:
>
> Applying: staging: r8188eu: Fix return type for implementation of
> ndo_start_xmit
> error: drivers/staging/r8188eu/include/xmit_osdep.h: does not exist in
> index
> error: drivers/staging/r8188eu/os_dep/xmit_linux.c: does not exist in index
> Patch failed at 0001 staging: r8188eu: Fix return type for
> implementation of ndo_start_xmit
>
>
> Fetch URL: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
>
> branch staging-testing
>
> Do you know why?
>
> Bye Philipp
> .
Hi Philipp,
It seems that folder drivers/staging/r8188eu no longer presents on the
branch you mentioned. However, they are still there on master branch.
--
Best
GUO Zihua
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4] staging: r8188eu: Fix return type for implementation of ndo_start_xmit
2022-09-09 8:05 ` Guozihua (Scott)
@ 2022-09-09 8:17 ` Greg KH
0 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2022-09-09 8:17 UTC (permalink / raw)
To: Guozihua (Scott)
Cc: Philipp Hortmann, Larry.Finger, phil, dan.carpenter,
linux-staging
On Fri, Sep 09, 2022 at 04:05:02PM +0800, Guozihua (Scott) wrote:
> On 2022/9/9 3:22, Philipp Hortmann wrote:
> > On 9/8/22 03:13, GUO Zihua wrote:
> > > CFI (Control Flow Integrity) is a safety feature allowing the system to
> > > detect and react should a potential control flow hijacking occurs. In
> > > particular, the Forward-Edge CFI protects indirect function calls by
> > > ensuring the prototype of function that is actually called matches the
> > > definition of the function hook.
> > >
> > > Since Linux now supports CFI, it will be a good idea to fix mismatched
> > > return type for implementation of hooks. Otherwise this would get
> > > cought out by CFI and cause a panic.
> > >
> > > Use enums from netdev_tx_t as return value instead, then change return
> > > type to netdev_tx_t.
> > >
> > > Fixes: cf68fffb66d6 ("add support for Clang CFI")
> > > Signed-off-by: GUO Zihua <guozihua@huawei.com>
> > > ---
> > >
> > > v4:
> > > Added Fixes tag.
> > >
> > > v3:
> > > Provide detail on CFI.
> > >
> > > v2:
> > > Fix truncated subject.
> > >
> > > ---
> > > drivers/staging/r8188eu/include/xmit_osdep.h | 2 +-
> > > drivers/staging/r8188eu/os_dep/xmit_linux.c | 4 ++--
> > > 2 files changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/staging/r8188eu/include/xmit_osdep.h
> > > b/drivers/staging/r8188eu/include/xmit_osdep.h
> > > index 00658681fef9..947242486144 100644
> > > --- a/drivers/staging/r8188eu/include/xmit_osdep.h
> > > +++ b/drivers/staging/r8188eu/include/xmit_osdep.h
> > > @@ -28,7 +28,7 @@ struct sta_xmit_priv;
> > > struct xmit_frame;
> > > struct xmit_buf;
> > > -int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev);
> > > +netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device
> > > *pnetdev);
> > > void rtw_os_xmit_schedule(struct adapter *padapter);
> > > diff --git a/drivers/staging/r8188eu/os_dep/xmit_linux.c
> > > b/drivers/staging/r8188eu/os_dep/xmit_linux.c
> > > index 91a1e4e3219a..0b04010d6d82 100644
> > > --- a/drivers/staging/r8188eu/os_dep/xmit_linux.c
> > > +++ b/drivers/staging/r8188eu/os_dep/xmit_linux.c
> > > @@ -198,7 +198,7 @@ static int rtw_mlcst2unicst(struct adapter
> > > *padapter, struct sk_buff *skb)
> > > return true;
> > > }
> > > -int rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev)
> > > +netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device
> > > *pnetdev)
> > > {
> > > struct adapter *padapter = (struct adapter
> > > *)rtw_netdev_priv(pnetdev);
> > > struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
> > > @@ -233,5 +233,5 @@ int rtw_xmit_entry(struct sk_buff *pkt, struct
> > > net_device *pnetdev)
> > > exit:
> > > - return 0;
> > > + return NETDEV_TX_OK;
> > > }
> >
> > Hi,
> >
> > I cannot apply your patch:
> >
> > Applying: staging: r8188eu: Fix return type for implementation of
> > ndo_start_xmit
> > error: drivers/staging/r8188eu/include/xmit_osdep.h: does not exist in
> > index
> > error: drivers/staging/r8188eu/os_dep/xmit_linux.c: does not exist in index
> > Patch failed at 0001 staging: r8188eu: Fix return type for
> > implementation of ndo_start_xmit
> >
> >
> > Fetch URL: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
> >
> > branch staging-testing
> >
> > Do you know why?
> >
> > Bye Philipp
> > .
>
> Hi Philipp,
>
> It seems that folder drivers/staging/r8188eu no longer presents on the
> branch you mentioned. However, they are still there on master branch.
As my bot says, always work against either linux-next, or the
development branch of the subsystem you are wanting to submit a patch
to. Otherwise your patch will be rejected as it can not be applied for
obvious reasons.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-09-09 8:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-08 1:13 [PATCH v4] staging: r8188eu: Fix return type for implementation of ndo_start_xmit GUO Zihua
2022-09-08 19:22 ` Philipp Hortmann
2022-09-09 8:05 ` Guozihua (Scott)
2022-09-09 8:17 ` Greg KH
2022-09-09 7:59 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox