Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1240282

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

From Marc Kleine-Budde <mkl@pengutronix.de>
Newsgroups linux.kernel
Subject Re: [PATCH 12/12] [RFC] can: avoid using timeval for uapi
Date 2015-10-06 11:10 +0200
Message-ID <qgwpY-1Fi-15@gated-at.bofh.it> (permalink)
References <qenKa-3xS-3@gated-at.bofh.it> <qenKb-3xS-35@gated-at.bofh.it> <qgj9o-7qa-3@gated-at.bofh.it> <qgvWX-S5-35@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

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@arndb.de>
>>> Cc: Oliver Hartkopp <socketcan@hartkopp.net>
>>
>> Thanks for your good suggestion to make the BCM API y2038 proof!
>>
>> Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
> 
> 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@pengutronix.de>

add upstream the 2038 fixes as a block.

Marc
-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 12/12] [RFC] can: avoid using timeval for uapi Arnd Bergmann <arnd@arndb.de> - 2015-09-30 13:30 +0200
  Re: [PATCH 12/12] [RFC] can: avoid using timeval for uapi Oliver Hartkopp <socketcan@hartkopp.net> - 2015-10-05 21:00 +0200
    Re: [PATCH 12/12] [RFC] can: avoid using timeval for uapi Arnd Bergmann <arnd@arndb.de> - 2015-10-06 10:40 +0200
      Re: [PATCH 12/12] [RFC] can: avoid using timeval for uapi Marc Kleine-Budde <mkl@pengutronix.de> - 2015-10-06 11:10 +0200
        Re: [PATCH 12/12] [RFC] can: avoid using timeval for uapi Arnd Bergmann <arnd@arndb.de> - 2015-10-06 11:20 +0200
          Re: [PATCH 12/12] [RFC] can: avoid using timeval for uapi Marc Kleine-Budde <mkl@pengutronix.de> - 2015-10-06 11:40 +0200

csiph-web