HSI: cmt_speech: fix timestamp interface
authorSebastian Reichel <sre@kernel.org>
Thu, 16 Apr 2015 17:05:18 +0000 (19:05 +0200)
committerSebastian Reichel <sre@kernel.org>
Tue, 23 Jun 2015 00:40:03 +0000 (02:40 +0200)
commit5023a5ca8e144846ec0646554336000abb11e04f
treeee7d239e6b231977c9f03bd011de1fefcdc61194
parentb953c0d234bc72e8489d3bf51a276c5c4ec85345
HSI: cmt_speech: fix timestamp interface

The user interface for timestamps in the new cmt_speech
driver is broken in multiple ways:

- The layout is incompatible between 32-bit and 64-bit user
  space, because of the size differences in 'struct timespec'.
  This means that the driver can not work when used with 32-bit
  user space on a 64-bit kernel.

- As there are plans to change 32-bit user space to use
  a 64-bit time_t type in the future, it will also be
  incompatible with new 32-bit user space.

- It is using ktime_get_ts under it's deprecated alias
  (do_posix_clock_monotonic_gettime).

To keep support for the user space tools written for this driver (which
have lived many years out-of-tree), the interface has been hardened to
unsigned 32-bit values.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
drivers/hsi/clients/cmt_speech.c
include/uapi/linux/hsi/cs-protocol.h