* [net-next PATCH v2] net: sched: cls_u32: rcu can not be last node
@ 2014-09-17 17:31 John Fastabend
2014-09-17 17:48 ` Eric Dumazet
0 siblings, 1 reply; 3+ messages in thread
From: John Fastabend @ 2014-09-17 17:31 UTC (permalink / raw)
To: xiyou.wangcong, davem, eric.dumazet; +Cc: netdev, jhs
tc_u32_sel 'sel' in tc_u_knode expects to be the last element in the
structure and pads the structure with tc_u32_key fields for each key.
kzalloc(sizeof(*n) + s->nkeys*sizeof(struct tc_u32_key), GFP_KERNEL)
CC: Eric Dumazet <edumazet@google.com>
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
---
net/sched/cls_u32.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index eceeb04..8462132 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -64,8 +64,9 @@ struct tc_u_knode {
u32 __percpu *pcpu_success;
#endif
struct tcf_proto *tp;
- struct tc_u32_sel sel;
struct rcu_head rcu;
+ struct tc_u32_sel sel;
+ /* tc_u32_keys allocated at end of structure */
};
struct tc_u_hnode {
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [net-next PATCH v2] net: sched: cls_u32: rcu can not be last node
2014-09-17 17:31 [net-next PATCH v2] net: sched: cls_u32: rcu can not be last node John Fastabend
@ 2014-09-17 17:48 ` Eric Dumazet
2014-09-17 18:03 ` John Fastabend
0 siblings, 1 reply; 3+ messages in thread
From: Eric Dumazet @ 2014-09-17 17:48 UTC (permalink / raw)
To: John Fastabend; +Cc: xiyou.wangcong, davem, netdev, jhs
On Wed, 2014-09-17 at 10:31 -0700, John Fastabend wrote:
> tc_u32_sel 'sel' in tc_u_knode expects to be the last element in the
> structure and pads the structure with tc_u32_key fields for each key.
>
> kzalloc(sizeof(*n) + s->nkeys*sizeof(struct tc_u32_key), GFP_KERNEL)
>
> CC: Eric Dumazet <edumazet@google.com>
> Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
> ---
> net/sched/cls_u32.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
> index eceeb04..8462132 100644
> --- a/net/sched/cls_u32.c
> +++ b/net/sched/cls_u32.c
> @@ -64,8 +64,9 @@ struct tc_u_knode {
> u32 __percpu *pcpu_success;
> #endif
> struct tcf_proto *tp;
> - struct tc_u32_sel sel;
> struct rcu_head rcu;
> + struct tc_u32_sel sel;
> + /* tc_u32_keys allocated at end of structure */
> };
>
> struct tc_u_hnode {
Sorry to be picky, but comment should be before 'sel' or at same line.
It should mention that 'sel' MUST be last field.
Thanks !
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [net-next PATCH v2] net: sched: cls_u32: rcu can not be last node
2014-09-17 17:48 ` Eric Dumazet
@ 2014-09-17 18:03 ` John Fastabend
0 siblings, 0 replies; 3+ messages in thread
From: John Fastabend @ 2014-09-17 18:03 UTC (permalink / raw)
To: Eric Dumazet; +Cc: xiyou.wangcong, davem, netdev, jhs
On 09/17/2014 10:48 AM, Eric Dumazet wrote:
> On Wed, 2014-09-17 at 10:31 -0700, John Fastabend wrote:
>> tc_u32_sel 'sel' in tc_u_knode expects to be the last element in the
>> structure and pads the structure with tc_u32_key fields for each key.
>>
>> kzalloc(sizeof(*n) + s->nkeys*sizeof(struct tc_u32_key), GFP_KERNEL)
>>
>> CC: Eric Dumazet <edumazet@google.com>
>> Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
>> ---
>> net/sched/cls_u32.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
>> index eceeb04..8462132 100644
>> --- a/net/sched/cls_u32.c
>> +++ b/net/sched/cls_u32.c
>> @@ -64,8 +64,9 @@ struct tc_u_knode {
>> u32 __percpu *pcpu_success;
>> #endif
>> struct tcf_proto *tp;
>> - struct tc_u32_sel sel;
>> struct rcu_head rcu;
>> + struct tc_u32_sel sel;
>> + /* tc_u32_keys allocated at end of structure */
>> };
>>
>> struct tc_u_hnode {
>
> Sorry to be picky, but comment should be before 'sel' or at same line.
no problem lets get it right, I'll post a v3 now and write a better
comment.
>
> It should mention that 'sel' MUST be last field.
>
> Thanks !
>
--
John Fastabend Intel Corporation
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-09-17 18:03 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-17 17:31 [net-next PATCH v2] net: sched: cls_u32: rcu can not be last node John Fastabend
2014-09-17 17:48 ` Eric Dumazet
2014-09-17 18:03 ` John Fastabend
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).