Re: [PATCH v6] sun4i-emac.c: add dma support

From: Kees Cook
Date: Fri Jan 07 2022 - 18:34:22 EST


On Wed, Dec 29, 2021 at 09:43:51AM +0800, conleylee@xxxxxxxxxxx wrote:
> From: Conley Lee <conleylee@xxxxxxxxxxx>
>
> Thanks for your review. Here is the new version for this patch.
>
> This patch adds support for the emac rx dma present on sun4i. The emac
> is able to move packets from rx fifo to RAM by using dma.
>
> Change since v4.
> - rename sbk field to skb
> - rename alloc_emac_dma_req to emac_alloc_dma_req
> - using kzalloc(..., GPF_ATOMIC) in interrupt context to avoid
> sleeping
> - retry by using emac_inblk_32bit when emac_dma_inblk_32bit fails
> - fix some code style issues
>
> Change since v5.
> - fix some code style issue
>
> Signed-off-by: Conley Lee <conleylee@xxxxxxxxxxx>
> ---
> drivers/net/ethernet/allwinner/sun4i-emac.c | 200 ++++++++++++++++++++
> 1 file changed, 200 insertions(+)

This is causing build failures:

$ make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 allmodconfig
$ make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 -j... -k -s
drivers/net/ethernet/allwinner/sun4i-emac.c: In function 'emac_configure_dma':
drivers/net/ethernet/allwinner/sun4i-emac.c:922:60: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'resource_size_t' {aka 'long long unsigned int'} [-Werror=format=]
922 | netdev_info(ndev, "get io resource from device: 0x%x, size = %u\n",
| ~^
| | | unsigned int
| %llx
923 | regs->start, resource_size(regs));
| ~~~~~~~~~~~
| |
| resource_size_t {aka long long unsigned int}
drivers/net/ethernet/allwinner/sun4i-emac.c:922:71: error: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'resource_size_t' {aka 'long long unsigned int'} [-Werror=format=]
922 | netdev_info(ndev, "get io resource from device: 0x%x, size = %u\n",
| ~^
| |
| unsigned int
| %llu
923 | regs->start, resource_size(regs));
| ~~~~~~~~~~~~~~~~~~~
| |
| resource_size_t {aka long long unsigned int}


--
Kees Cook