Re: [PATCH 12/12] [RFC] can: avoid using timeval for uapi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 05 October 2015 20:51:08 Oliver Hartkopp wrote:
> 
> I double checked some (more) BCM applications I have access to.
> 
> E.g. https://github.com/linux-can/can-tests
> 
> When you do a 'git grep ival1' there you get something like
> 
> tst-bcm-cycle.c:        msg.msg_head.ival1.tv_sec = 1;
> tst-bcm-cycle.c:        msg.msg_head.ival1.tv_usec = 0;
> tst-bcm-cycle.c:        msg.msg_head.ival1.tv_sec = 0;
> tst-bcm-cycle.c:        msg.msg_head.ival1.tv_usec = 0;
> tst-bcm-dump.c: msg.msg_head.ival1.tv_sec       = timeout / 1000000;
> tst-bcm-dump.c: msg.msg_head.ival1.tv_usec      = timeout % 1000000;
> (..)
> 
> So the usual way to assign values to ival1 and ival2 is NOT to assign an
> existing struct timeval but to directly assign its tv_[u]sec elements.

Ok, very good.

> I applied your bcm.h changes to my local can-tests tree and it compiles
> without any problems - as expected. I don't see any serious drawback with your
> idea. I wonder whether developers would ever notice this change ...
> 
> > We could address problem a) by using '__u32' or 'int' members
> > rather than 'long', but that would have a more significant
> > downside in also breaking support for all existing 64-bit user
> > binaries that might be using this interface, which is likely
> > not acceptable.
> 
> Indeed.
> 
> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> > Cc: Oliver Hartkopp <socketcan@xxxxxxxxxxxx>
> 
> Thanks for your good suggestion to make the BCM API y2038 proof!
> 
> Acked-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx>

Thanks.

What is the normal path for CAN patches? Should I resend with your
Ack and without the RFC for Marc to pick it up?

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux