Re: [PATCH net v2] net: mdio-ipq4019: fix possible invalid pointer dereference

From: Hui Tang
Date: Tue Nov 22 2022 - 20:11:30 EST




On 2022/11/21 22:36, Andrew Lunn wrote:
Hi, Andrew

My new patchset is ready, but I just found out that another patch has been
applied to netdev/net.git. Can I solve the problem in present way? And I
will add devm_ioremap_resource_optional() helper later to optimize related
drivers. How about this?

This is one of those harder to merge changes. patches to lib/devres.c
generally go via GregKH. Networking changes are merged via the netdev
list.

Did you find this issue via a static analyser? I assume you are
running it over the entire tree and are finding problems in multiple
subsystems? So devm_ioremap_resource_optional() is potentially going
to be needed in lots of places?

Yes, I grep the entire drives, some drivers is really going to
be needed for devm_ioremap_resource_optional() case.

For example:

drivers/mmc/host/mtk-sd.c
drivers/mmc/host/sdhci-st.c
drivers/ufs/host/ufs-qcom.c
drivers/mfd/bcm2835-pm.c
net/mdio/mdio-ipq4019.c
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c

One way to get this merged is to cross post the patch adding
devm_ioremap_resource_optional() and ask GregKH to ACK it, and then
get netdev to merge it. You can then use it within the netdev
subsystem. What you cannot do is use it in other subsystems until the
next kernel cycle when it will be globally available.

So three patches. One adding devm_ioremap_resource_optional(), one to
revert the 'fix', and one with the real fix using
devm_ioremap_resource_optional().

Thanks