Re: [PATCH] staging: rtl8192e: Fix return type for implementation of ndo_start_xmit

From: Philipp Hortmann
Date: Fri Sep 09 2022 - 13:20:22 EST


On 9/9/22 10:00, Greg Kroah-Hartman wrote:
On Fri, Sep 09, 2022 at 09:56:59AM +0200, Greg Kroah-Hartman wrote:
On Thu, Sep 08, 2022 at 10:32:43PM +0200, Philipp Hortmann 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.

Suggested-by: Dan Carpenter <error27@xxxxxxxxx>
Signed-off-by: Philipp Hortmann <philipp.g.hortmann@xxxxxxxxx>
---
Tested with rtl8192e
Transferred this patch over wlan connection of rtl8192e
---
drivers/staging/rtl8192e/rtllib.h | 2 +-
drivers/staging/rtl8192e/rtllib_tx.c | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)

Someone sent the same patch before you did:
https://lore.kernel.org/r/20220905130053.10731-1-guozihua@xxxxxxxxxx


This patch does not apply to my tree either :(

Please rebase and resubmit.

thanks,

greg k-h


Sorry Greg,

I cannot find my error.
I just downloaded the patch and applied it to the staging-next branch and that worked fine.

Please find my logs below:


kernel@matrix-ESPRIMO-P710:~/Documents/git/kernels/staging$ git remote show origin
* remote origin
Fetch URL: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
Push URL: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
HEAD branch: master
Remote branches:
bus_cleanup tracked
greybus tracked
main tracked
master tracked
staging-linus tracked
staging-next tracked
staging-octeon tracked
staging-testing tracked
Local branches configured for 'git pull':
master merges with remote master
staging-next merges with remote staging-next
staging-testing merges with remote staging-testing
Local refs configured for 'git push':
master pushes to master (up to date)
staging-next pushes to staging-next (up to date)
staging-testing pushes to staging-testing (local out of date)


kernel@matrix-ESPRIMO-P710:~/Documents/git/kernels/staging$ git pull
Already up to date.


kernel@matrix-ESPRIMO-P710:~/Documents/git/kernels/staging$ git branch -a
checkout
master
* staging-next
staging-testing
remotes/origin/HEAD -> origin/master
remotes/origin/bus_cleanup
remotes/origin/greybus
remotes/origin/main
remotes/origin/master
remotes/origin/staging-linus
remotes/origin/staging-next
remotes/origin/staging-octeon
remotes/origin/staging-testing


kernel@matrix-ESPRIMO-P710:~/Documents/git/kernels/staging$ cat ~/Downloads/PATCH-staging-rtl8192e-Fix-return-type-for-implementation-of-ndo_start_xmit.txt | git am
Applying: staging: rtl8192e: Fix return type for implementation of ndo_start_xmit


kernel@matrix-ESPRIMO-P710:~/Documents/git/kernels/staging$ git log
commit 1990e48f8e9fef88e044e65918566bd87f274b1c (HEAD -> staging-next)
Author: Philipp Hortmann <philipp.g.hortmann@xxxxxxxxx>
Date: Thu Sep 8 22:32:43 2022 +0200

staging: rtl8192e: Fix return type for implementation of ndo_start_xmit

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.

Suggested-by: Dan Carpenter <error27@xxxxxxxxx>
Signed-off-by: Philipp Hortmann <philipp.g.hortmann@xxxxxxxxx>

commit 28a2a54901f66a45ab339e944fdfc69667e639c1 (origin/staging-next, staging-testing)
Merge: 7bd581f3c263 7e18e42e4b28
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Mon Sep 5 07:57:37 2022 +0200

Merge 6.0-rc4 into staging-next

Resolves the merge issue with:
drivers/staging/r8188eu/os_dep/os_intfs.c

Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

commit 7e18e42e4b280c85b76967a9106a13ca61c16179 (tag: v6.0-rc4, origin/staging-linus, origin/main)


Or have you applied the patch already from GUO Zihua <guozihua@xxxxxxxxxx>?

When I would have seen that GUO Zihua has send that patch already I would not have send it. Sorry.

Thanks for your support.

Bye Philipp