Sebastian Smolorz wrote:
> Hi Wolfgang,
> 
> we currently face an issue regarding the filtering of CAN messages since 
> Xenomai 2.4. It was introduced in rev. 2202 (I know it is long ago but 
> the problem popped up last week). The line in question is
> 
> http://www.rts.uni-hannover.de/xenomai/lxr/source/ksrc/drivers/can/rtcan_raw_filter.c?v=2.3.5#064
> 
> and
> 
> http://www.rts.uni-hannover.de/xenomai/lxr/source/ksrc/drivers/can/rtcan_raw_filter.c?v=2.4.4#062
> 
> respectively.
> 
> What worries me is the removal of the AND-operation (can_id & can_mask). 
>  From my POV this offends the CAN specification which says that the CAN 
> filter mask shall indicate which bits are taken into account when 
> comparing a CAN identifier and which shall be seen as "don't care".
> 
>  From your Changelog entry the reason for this modification was to be up 
> to date with the Linux Socket CAN project. So maybe there is also the 
> need to bring up this topic on their ML, too.

No, this looks like a Xenomai-exclusive bug. If I quick-read mainline
correctly, this line prevents that bits in can_id which should be
ignored according to the mask can cause problems when they are set:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=net/can/af_can.c;h=7d4d2b3c137ef6b84598d9bebd50b1a69dfaf707;hb=HEAD#l340

So, unless I'm now also misled, we are basically lacking a final

recv_filter->can_id &= recv_filter->can_mask;

in rtcan_raw_mount_filter. Wolfgang, correct?

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to