diff options
Diffstat (limited to 'net/xfrm/xfrm_replay.c')
| -rw-r--r-- | net/xfrm/xfrm_replay.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/net/xfrm/xfrm_replay.c b/net/xfrm/xfrm_replay.c index ce56d659c55a..bc56c6305725 100644 --- a/net/xfrm/xfrm_replay.c +++ b/net/xfrm/xfrm_replay.c @@ -778,7 +778,8 @@ int xfrm_init_replay(struct xfrm_state *x, struct netlink_ext_ack *extack)  		}  		if (x->props.flags & XFRM_STATE_ESN) { -			if (replay_esn->replay_window == 0) { +			if (replay_esn->replay_window == 0 && +			    (!x->dir || x->dir == XFRM_SA_DIR_IN)) {  				NL_SET_ERR_MSG(extack, "ESN replay window must be > 0");  				return -EINVAL;  			}  |