[PATCH net-next 0/7] net: ipa: validation cleanup

Alex Elder
2022-10-21T19:13:57Z

This series gathers a set of IPA driver cleanups, mostly involving
code that ensures certain things are known to be correct *early*
(either at build or initializatin time), so they can be assumed good
during normal operation.

The first removes three constant symbols, by making a (reasonable)
assumption that a routing table consists of entries for the modem
followed by entries for the AP, with no unused entries between them.

The second removes two checks that are redundant (they verify the
sizes of two memory regions are in range, which will have been done
earlier for all regions).

The third adds some new checks to routing and filter tables that
can be done at "init time" (without requiring any access to IPA
hardware).

The fourth moves a check that routing and filter table addresses can
be encoded within certain IPA immediate commands, so it's performed
earlier; the checks can be done without touching IPA hardware. The
fifth moves some other command-related checks earlier, for the same
reason.

The sixth removes the definition ipa_table_valid(), because what it
does has become redundant. Finally, the last patch moves two more
validation calls so they're done very early in the probe process.
This will be required by some upcoming patches, which will record
the size of the routing and filter tables at this time so they're
available for subsequent initialization.

-Alex

Alex Elder (7):
net: ipa: kill two constant symbols
net: ipa: remove two memory region checks
net: ipa: validate IPA table memory earlier
net: ipa: verify table sizes fit in commands early
net: ipa: introduce ipa_cmd_init()
net: ipa: kill ipa_table_valid()
net: ipa: check table memory regions earlier

drivers/net/ipa/ipa_cmd.c | 53 ++++--------
drivers/net/ipa/ipa_cmd.h | 16 +++-
drivers/net/ipa/ipa_mem.c | 14 ++--
drivers/net/ipa/ipa_table.c | 162 +++++++++++++++++++++---------------
drivers/net/ipa/ipa_table.h | 15 ++--
5 files changed, 138 insertions(+), 122 deletions(-)

--
2.34.1