Commit 9b49f558 authored by Patrisious Haddad's avatar Patrisious Haddad Committed by Steffen Klassert
Browse files

xfrm: Remove documentation WARN_ON to limit return values for offloaded SA



The original idea to put WARN_ON() on return value from driver code was
to make sure that packet offload doesn't have silent fallback to
SW implementation, like crypto offload has.

In reality, this is not needed as all *swan implementations followed
this request and used explicit configuration style to make sure that
"users will get what they ask".
So instead of forcing drivers to make sure that even their internal flows
don't return -EOPNOTSUPP, let's remove this WARN_ON.

Signed-off-by: default avatarPatrisious Haddad <phaddad@nvidia.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
parent 8e0c0ec9
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -328,12 +328,8 @@ int xfrm_dev_state_add(struct net *net, struct xfrm_state *x,
		/* User explicitly requested packet offload mode and configured
		 * policy in addition to the XFRM state. So be civil to users,
		 * and return an error instead of taking fallback path.
		 *
		 * This WARN_ON() can be seen as a documentation for driver
		 * authors to do not return -EOPNOTSUPP in packet offload mode.
		 */
		WARN_ON(err == -EOPNOTSUPP && is_packet_offload);
		if (err != -EOPNOTSUPP || is_packet_offload) {
		if ((err != -EOPNOTSUPP && !is_packet_offload) || is_packet_offload) {
			NL_SET_ERR_MSG_WEAK(extack, "Device failed to offload this state");
			return err;
		}