On 2012年08月13日 15:08, Steffen Klassert wrote:
On Mon, Aug 13, 2012 at 02:25:57PM +0800, Fan Du wrote:
quoted
static int xfrm_send_acquire(struct xfrm_state *x, struct xfrm_tmpl *xt,
- struct xfrm_policy *xp, int dir)
+ struct xfrm_policy *xp)
{
struct net *net = xs_net(x);
struct sk_buff *skb;@@ -2614,7 +2614,7 @@ static int xfrm_send_acquire(struct xfrm_state *x, struct xfrm_tmpl *xt,
if (skb == NULL)
return -ENOMEM;
- if (build_acquire(skb, x, xt, xp, dir)< 0)
+ if (build_acquire(skb, x, xt, xp, XFRM_POLICY_OUT)< 0)
BUG();
xfrm_send_acquire() is the only caller of build_acquire().
So if you remove the dir parameter from xfrm_send_acquire(),
you can remove it from build_acquire() too.
Yep, looks like we can only remove "dir" at build_acquire, not into
copy_to_user_policy anymore :)
I will adopt your approach in v2 if Dave say *YES* about this patch.
thanks anyway.
--
Love each day!
--fan