From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Rostislav Lisovy <lisovy@gmail.com>
Cc: netdev@vger.kernel.org, linux-can@vger.kernel.org,
lartc@vger.kernel.org, pisa@cmp.felk.cvut.cz,
sojkam1@fel.cvut.cz
Subject: Re: [PATCH net-next] em_canid: Ematch rule to match CAN frames according to their identifiers
Date: Mon, 02 Jul 2012 07:04:01 +0200 [thread overview]
Message-ID: <4FF12BC1.9030906@hartkopp.net> (raw)
In-Reply-To: <4FEDCD42.8010203@hartkopp.net>
One additional remark:
When applying your patch on Dave Millers net-next tree there are some offsets
in the patch ...
Please send the next patch based on the net-next tree, as this would be the
tree, it will be applied to. See URLs at:
http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git
Tnx!
Oliver
On 29.06.2012 17:44, Oliver Hartkopp wrote:
> Hello Rostislav,
>
> looks really good now.
>
> 1. Your Signed-off-by: is missing.
>
> 2. One remark to a removed length check:
>
> (..)
>
>> +static int em_canid_change(struct tcf_proto *tp, void *data, int len,
>> + struct tcf_ematch *m)
>> +{
>> + struct can_filter *conf = data; /* Array with rules,
>> + * fixed size EM_CAN_RULES_SIZE
>> + */
>> + struct canid_match *cm;
>> + struct canid_match *cm_old = (struct canid_match *) m->data;
>> + int i;
>> + int rulescnt;
>> +
>
>
> What about a zero length check here?
>
> if (!len)
> return -EINVAL;
>
> ???
>
>> + if (len % sizeof(struct can_filter))
>> + return -EINVAL;
>> +
>> + if (len > sizeof(struct can_filter) * EM_CAN_RULES_MAX)
>> + return -EINVAL;
>> +
>> + rulescnt = len / sizeof(struct can_filter);
>> +
>> + cm = kzalloc(sizeof(struct canid_match) + sizeof(struct can_filter) *
>> + rulescnt, GFP_KERNEL);
>> + if (!cm)
>> + return -ENOMEM;
>
>
> The length could alternatively be checked here too
>
> http://lxr.linux.no/#linux+v3.4.4/net/sched/ematch.c#L235
>
> if em->ops->datalen is set.
>
> But here's no
>
> .datalen = sizeof(struct can_filter),
>
> defined, right?
>
>> +static struct tcf_ematch_ops em_canid_ops = {
>> + .kind = TCF_EM_CANID,
>> + .change = em_canid_change,
>> + .match = em_canid_match,
>> + .destroy = em_canid_destroy,
>> + .dump = em_canid_dump,
>> + .owner = THIS_MODULE,
>> + .link = LIST_HEAD_INIT(em_canid_ops.link)
>> +};
>
>
> Regards,
> Oliver
> --
> To unsubscribe from this list: send the line "unsubscribe linux-can" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2012-07-02 5:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-28 17:07 [PATCH net-next] em_canid: Ematch rule to match CAN frames according to their identifiers Rostislav Lisovy
2012-06-29 15:44 ` Oliver Hartkopp
2012-07-02 5:04 ` Oliver Hartkopp [this message]
2012-07-02 14:12 ` Rostislav Lisovy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FF12BC1.9030906@hartkopp.net \
--to=socketcan@hartkopp.net \
--cc=lartc@vger.kernel.org \
--cc=linux-can@vger.kernel.org \
--cc=lisovy@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pisa@cmp.felk.cvut.cz \
--cc=sojkam1@fel.cvut.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.