On Thu, Sep 4, 2025 at 11:27 AM Stanislav Fomichev sdf@fomichev.me wrote:
devmem test fails on NIPA. Most likely we get skb(s) with readable frags (why?)
I would expect if we get readable frags that the frags land in the host buffer we provide ncdevmem and we actually hit this error:
``` 1 if (!is_devmem) { 0 pr_err("flow steering error"); 1 goto err_close_client; 2 } ```
which as it says, should be root caused in a flow steering error. I don't know what would cause an EFAULT off the top of my head.
but the failure manifests as an OOM. The OOM happens because ncdevmem spams the following message:
recvmsg ret=-1 recvmsg: Bad address
As of today, ncdevmem can't deal with various reasons of EFAULT:
- falling back to regular recvmsg for non-devmem skbs
- increasing ctrl_data size (can't happen with ncdevmem's large buffer)
Exit (cleanly) with error when recvmsg returns EFAULT. This should at least cause the test to cleanup its state.
Signed-off-by: Stanislav Fomichev sdf@fomichev.me
Either way, change looks good to me.
Reviewed-by: Mina Almasry almasrymina@google.com