Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ab64a85 authored by Martin Schwidefsky's avatar Martin Schwidefsky
Browse files

s390/time: fix get_tod_clock_ext inline assembly



The get_tod_clock_ext inline assembly does not specify its output
operands correctly. This can cause incorrect code to be generated.

Cc: stable@vger.kernel.org # 3.12
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent ac526f42
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -71,9 +71,11 @@ static inline void local_tick_enable(unsigned long long comp)

typedef unsigned long long cycles_t;

static inline void get_tod_clock_ext(char *clk)
static inline void get_tod_clock_ext(char clk[16])
{
	asm volatile("stcke %0" : "=Q" (*clk) : : "cc");
	typedef struct { char _[sizeof(clk)]; } addrtype;

	asm volatile("stcke %0" : "=Q" (*(addrtype *) clk) : : "cc");
}

static inline unsigned long long get_tod_clock(void)