netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH][XFRM]: nlmsg length not computed correctly in the presence of subpolicies
@ 2006-11-17 13:48 jamal
  2006-11-18  9:08 ` Masahide NAKAMURA
  0 siblings, 1 reply; 3+ messages in thread
From: jamal @ 2006-11-17 13:48 UTC (permalink / raw)
  To: David Miller; +Cc: Masahide NAKAMURA, netdev

[-- Attachment #1: Type: text/plain, Size: 186 bytes --]

Another one in the same spirit as before. Compiles. I dont have
a good test case, but looks right.
Nakamura-san please ACK and Dave (as before this goes in as a bug-fix).

cheers,
jamal

[-- Attachment #2: ipsec-subp2 --]
[-- Type: text/plain, Size: 2003 bytes --]

[XFRM]: nlmsg length not computed correctly in the presence of subpolicies

I actually dont have a test case for these; i just found them by
inspection. Refer to patch "[XFRM]: Sub-policies broke policy events"
for more info

Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>

---
commit c3d793454ab2a36c2d618d226d7de975ab9b7570
tree 26198ba84d85317b4f1b54c0e10c220dbe0d97da
parent b53ec68c276ac1d879759de130620a72254cb969
author Jamal Hadi Salim <hadi@cyberus.ca> Fri, 17 Nov 2006 08:39:52 -0500
committer Jamal Hadi Salim <hadi@jzny2.(none)> Fri, 17 Nov 2006 08:39:52 -0500

 net/xfrm/xfrm_user.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
index 2dae1c1..c4cde57 100644
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -1927,6 +1927,9 @@ static int xfrm_send_acquire(struct xfrm
 	len = RTA_SPACE(sizeof(struct xfrm_user_tmpl) * xp->xfrm_nr);
 	len += NLMSG_SPACE(sizeof(struct xfrm_user_acquire));
 	len += RTA_SPACE(xfrm_user_sec_ctx_size(xp));
+#ifdef CONFIG_XFRM_SUB_POLICY
+	len += RTA_SPACE(sizeof(struct xfrm_userpolicy_type));
+#endif
 	skb = alloc_skb(len, GFP_ATOMIC);
 	if (skb == NULL)
 		return -ENOMEM;
@@ -2034,6 +2037,9 @@ static int xfrm_exp_policy_notify(struct
 	len = RTA_SPACE(sizeof(struct xfrm_user_tmpl) * xp->xfrm_nr);
 	len += NLMSG_SPACE(sizeof(struct xfrm_user_polexpire));
 	len += RTA_SPACE(xfrm_user_sec_ctx_size(xp));
+#ifdef CONFIG_XFRM_SUB_POLICY
+	len += RTA_SPACE(sizeof(struct xfrm_userpolicy_type));
+#endif
 	skb = alloc_skb(len, GFP_ATOMIC);
 	if (skb == NULL)
 		return -ENOMEM;
@@ -2109,10 +2115,12 @@ static int xfrm_notify_policy_flush(stru
 	struct nlmsghdr *nlh;
 	struct sk_buff *skb;
 	unsigned char *b;
+	int len = 0;
 #ifdef CONFIG_XFRM_SUB_POLICY
 	struct xfrm_userpolicy_type upt;
+	len += RTA_SPACE(sizeof(struct xfrm_userpolicy_type));
 #endif
-	int len = NLMSG_LENGTH(0);
+	len += NLMSG_LENGTH(0);
 
 	skb = alloc_skb(len, GFP_ATOMIC);
 	if (skb == NULL)

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH][XFRM]: nlmsg length not computed correctly in the presence of subpolicies
  2006-11-17 13:48 [PATCH][XFRM]: nlmsg length not computed correctly in the presence of subpolicies jamal
@ 2006-11-18  9:08 ` Masahide NAKAMURA
  2006-11-19 22:55   ` David Miller
  0 siblings, 1 reply; 3+ messages in thread
From: Masahide NAKAMURA @ 2006-11-18  9:08 UTC (permalink / raw)
  To: hadi; +Cc: David Miller, netdev

On Fri, 17 Nov 2006 08:48:31 -0500
jamal <hadi@cyberus.ca> wrote:

> Another one in the same spirit as before. Compiles. I dont have
> a good test case, but looks right.
> Nakamura-san please ACK and Dave (as before this goes in as a bug-fix).

Acked-by: Masahide NAKAMURA <nakam@linux-ipv6.org>

I've tested with your patch and the result is fine.

However, unlike the add/delete XFRM policy case pointed by Jamal
as the previous patch, I don't see the error without this patch on my
environment about acqiure.
(Maybe, does acquire path happen to make some buffer for policy type
since the structures is not aligned cleanly?)

..Anyway, the fix is correct for me. David, please apply it, too.


> [XFRM]: nlmsg length not computed correctly in the presence of subpolicies
> 
> I actually dont have a test case for these; i just found them by
> inspection. Refer to patch "[XFRM]: Sub-policies broke policy events"
> for more info
> 
> Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
> 
> ---
> commit c3d793454ab2a36c2d618d226d7de975ab9b7570
> tree 26198ba84d85317b4f1b54c0e10c220dbe0d97da
> parent b53ec68c276ac1d879759de130620a72254cb969
> author Jamal Hadi Salim <hadi@cyberus.ca> Fri, 17 Nov 2006 08:39:52 -0500
> committer Jamal Hadi Salim <hadi@jzny2.(none)> Fri, 17 Nov 2006 08:39:52 -0500


-- 
Masahide NAKAMURA


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH][XFRM]: nlmsg length not computed correctly in the presence of subpolicies
  2006-11-18  9:08 ` Masahide NAKAMURA
@ 2006-11-19 22:55   ` David Miller
  0 siblings, 0 replies; 3+ messages in thread
From: David Miller @ 2006-11-19 22:55 UTC (permalink / raw)
  To: nakam; +Cc: hadi, netdev

From: Masahide NAKAMURA <nakam@linux-ipv6.org>
Date: Sat, 18 Nov 2006 18:08:42 +0900

> On Fri, 17 Nov 2006 08:48:31 -0500
> jamal <hadi@cyberus.ca> wrote:
> 
> > Another one in the same spirit as before. Compiles. I dont have
> > a good test case, but looks right.
> > Nakamura-san please ACK and Dave (as before this goes in as a bug-fix).
> 
> Acked-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
> 
> I've tested with your patch and the result is fine.
> 
> However, unlike the add/delete XFRM policy case pointed by Jamal
> as the previous patch, I don't see the error without this patch on my
> environment about acqiure.
> (Maybe, does acquire path happen to make some buffer for policy type
> since the structures is not aligned cleanly?)
> 
> ..Anyway, the fix is correct for me. David, please apply it, too.

Applied, thanks.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-11-19 22:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-17 13:48 [PATCH][XFRM]: nlmsg length not computed correctly in the presence of subpolicies jamal
2006-11-18  9:08 ` Masahide NAKAMURA
2006-11-19 22:55   ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).