Commit 8ca2e93b557f2a0b35f7769038abf600177e1122

Authored by Jamal Hadi Salim
Committed by David S. Miller
1 parent 3d6acfa764

xfrm: SP lookups signature with mark

pass mark to all SP lookups to prepare them for when we add code
to have them search.

Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 4 changed files with 14 additions and 13 deletions Side-by-side Diff

... ... @@ -1450,11 +1450,12 @@
1450 1450 int (*func)(struct xfrm_policy *, int, int, void*), void *);
1451 1451 extern void xfrm_policy_walk_done(struct xfrm_policy_walk *walk);
1452 1452 int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl);
1453   -struct xfrm_policy *xfrm_policy_bysel_ctx(struct net *net, u8 type, int dir,
  1453 +struct xfrm_policy *xfrm_policy_bysel_ctx(struct net *net, u32 mark,
  1454 + u8 type, int dir,
1454 1455 struct xfrm_selector *sel,
1455 1456 struct xfrm_sec_ctx *ctx, int delete,
1456 1457 int *err);
1457   -struct xfrm_policy *xfrm_policy_byid(struct net *net, u8, int dir, u32 id, int delete, int *err);
  1458 +struct xfrm_policy *xfrm_policy_byid(struct net *net, u32 mark, u8, int dir, u32 id, int delete, int *err);
1458 1459 int xfrm_policy_flush(struct net *net, u8 type, struct xfrm_audit *audit_info);
1459 1460 u32 xfrm_get_acqseq(void);
1460 1461 extern int xfrm_alloc_spi(struct xfrm_state *x, u32 minspi, u32 maxspi);
... ... @@ -2326,7 +2326,7 @@
2326 2326 return err;
2327 2327 }
2328 2328  
2329   - xp = xfrm_policy_bysel_ctx(net, XFRM_POLICY_TYPE_MAIN,
  2329 + xp = xfrm_policy_bysel_ctx(net, DUMMY_MARK, XFRM_POLICY_TYPE_MAIN,
2330 2330 pol->sadb_x_policy_dir - 1, &sel, pol_ctx,
2331 2331 1, &err);
2332 2332 security_xfrm_policy_free(pol_ctx);
... ... @@ -2574,7 +2574,7 @@
2574 2574 return -EINVAL;
2575 2575  
2576 2576 delete = (hdr->sadb_msg_type == SADB_X_SPDDELETE2);
2577   - xp = xfrm_policy_byid(net, XFRM_POLICY_TYPE_MAIN,
  2577 + xp = xfrm_policy_byid(net, DUMMY_MARK, XFRM_POLICY_TYPE_MAIN,
2578 2578 dir, pol->sadb_x_policy_id, delete, &err);
2579 2579 if (xp == NULL)
2580 2580 return -ENOENT;
net/xfrm/xfrm_policy.c
... ... @@ -635,8 +635,8 @@
635 635 }
636 636 EXPORT_SYMBOL(xfrm_policy_insert);
637 637  
638   -struct xfrm_policy *xfrm_policy_bysel_ctx(struct net *net, u8 type, int dir,
639   - struct xfrm_selector *sel,
  638 +struct xfrm_policy *xfrm_policy_bysel_ctx(struct net *net, u32 mark, u8 type,
  639 + int dir, struct xfrm_selector *sel,
640 640 struct xfrm_sec_ctx *ctx, int delete,
641 641 int *err)
642 642 {
... ... @@ -676,8 +676,8 @@
676 676 }
677 677 EXPORT_SYMBOL(xfrm_policy_bysel_ctx);
678 678  
679   -struct xfrm_policy *xfrm_policy_byid(struct net *net, u8 type, int dir, u32 id,
680   - int delete, int *err)
  679 +struct xfrm_policy *xfrm_policy_byid(struct net *net, u32 mark, u8 type,
  680 + int dir, u32 id, int delete, int *err)
681 681 {
682 682 struct xfrm_policy *pol, *ret;
683 683 struct hlist_head *chain;
net/xfrm/xfrm_user.c
... ... @@ -1457,7 +1457,7 @@
1457 1457 return err;
1458 1458  
1459 1459 if (p->index)
1460   - xp = xfrm_policy_byid(net, type, p->dir, p->index, delete, &err);
  1460 + xp = xfrm_policy_byid(net, DUMMY_MARK, type, p->dir, p->index, delete, &err);
1461 1461 else {
1462 1462 struct nlattr *rt = attrs[XFRMA_SEC_CTX];
1463 1463 struct xfrm_sec_ctx *ctx;
... ... @@ -1474,8 +1474,8 @@
1474 1474 if (err)
1475 1475 return err;
1476 1476 }
1477   - xp = xfrm_policy_bysel_ctx(net, type, p->dir, &p->sel, ctx,
1478   - delete, &err);
  1477 + xp = xfrm_policy_bysel_ctx(net, DUMMY_MARK, type, p->dir,
  1478 + &p->sel, ctx, delete, &err);
1479 1479 security_xfrm_policy_free(ctx);
1480 1480 }
1481 1481 if (xp == NULL)
... ... @@ -1712,7 +1712,7 @@
1712 1712 return err;
1713 1713  
1714 1714 if (p->index)
1715   - xp = xfrm_policy_byid(net, type, p->dir, p->index, 0, &err);
  1715 + xp = xfrm_policy_byid(net, DUMMY_MARK, type, p->dir, p->index, 0, &err);
1716 1716 else {
1717 1717 struct nlattr *rt = attrs[XFRMA_SEC_CTX];
1718 1718 struct xfrm_sec_ctx *ctx;
... ... @@ -1729,7 +1729,7 @@
1729 1729 if (err)
1730 1730 return err;
1731 1731 }
1732   - xp = xfrm_policy_bysel_ctx(net, type, p->dir, &p->sel, ctx, 0, &err);
  1732 + xp = xfrm_policy_bysel_ctx(net, DUMMY_MARK, type, p->dir, &p->sel, ctx, 0, &err);
1733 1733 security_xfrm_policy_free(ctx);
1734 1734 }
1735 1735 if (xp == NULL)