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

From: Arnd Bergmann
Date: Tue Oct 06 2015 - 05:18:32 EST


On Tuesday 06 October 2015 11:05:32 Marc Kleine-Budde wrote:
> On 10/06/2015 10:32 AM, Arnd Bergmann wrote:
> > 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?
>
> You can add my:
>
> Acked-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
>
> add upstream the 2038 fixes as a block.

Davem already picked up the first 10 of the series. If you don't
mind, I'd prefer if you could take this one into your tree so I
have it off my list.
I have 200 other patches in various states and more getting added.

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