All of lore.kernel.org
 help / color / mirror / Atom feed
From: "tip-bot2 for Thomas Gleixner" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Andreas Schwab <schwab@linux-m68k.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Christophe Leroy <christophe.leroy@c-s.fr>,
	stable@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
	Borislav Petkov <bp@alien8.de>,
	linux-kernel@vger.kernel.org
Subject: [tip: timers/urgent] lib/vdso: Make clock_getres() POSIX compliant again
Date: Wed, 23 Oct 2019 12:50:53 -0000	[thread overview]
Message-ID: <157183505345.29376.7588508845309452690.tip-bot2@tip-bot2> (raw)
In-Reply-To: <alpine.DEB.2.21.1910211202260.1904@nanos.tec.linutronix.de>

The following commit has been merged into the timers/urgent branch of tip:

Commit-ID:     1638b8f096ca165965189b9626564c933c79fe63
Gitweb:        https://git.kernel.org/tip/1638b8f096ca165965189b9626564c933c79fe63
Author:        Thomas Gleixner <tglx@linutronix.de>
AuthorDate:    Mon, 21 Oct 2019 12:07:15 +02:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Wed, 23 Oct 2019 14:48:23 +02:00

lib/vdso: Make clock_getres() POSIX compliant again

A recent commit removed the NULL pointer check from the clock_getres()
implementation causing a test case to fault.

POSIX requires an explicit NULL pointer check for clock_getres() aside of
the validity check of the clock_id argument for obscure reasons.

Add it back for both 32bit and 64bit.

Note, this is only a partial revert of the offending commit which does not
bring back the broken fallback invocation in the the 32bit compat
implementations of clock_getres() and clock_gettime().

Fixes: a9446a906f52 ("lib/vdso/32: Remove inconsistent NULL pointer checks")
Reported-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Christophe Leroy <christophe.leroy@c-s.fr>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/alpine.DEB.2.21.1910211202260.1904@nanos.tec.linutronix.de

---
 lib/vdso/gettimeofday.c |  9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/lib/vdso/gettimeofday.c b/lib/vdso/gettimeofday.c
index e630e7f..45f57fd 100644
--- a/lib/vdso/gettimeofday.c
+++ b/lib/vdso/gettimeofday.c
@@ -214,9 +214,10 @@ int __cvdso_clock_getres_common(clockid_t clock, struct __kernel_timespec *res)
 		return -1;
 	}
 
-	res->tv_sec = 0;
-	res->tv_nsec = ns;
-
+	if (likely(res)) {
+		res->tv_sec = 0;
+		res->tv_nsec = ns;
+	}
 	return 0;
 }
 
@@ -245,7 +246,7 @@ __cvdso_clock_getres_time32(clockid_t clock, struct old_timespec32 *res)
 		ret = clock_getres_fallback(clock, &ts);
 #endif
 
-	if (likely(!ret)) {
+	if (likely(!ret && res)) {
 		res->tv_sec = ts.tv_sec;
 		res->tv_nsec = ts.tv_nsec;
 	}

  parent reply	other threads:[~2019-10-23 12:51 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <0fc22a08-31d9-e4d1-557e-bf5b482a9a20__6444.28012180782$1571503753$gmane$org@c-s.fr>
2019-10-19 19:18 ` passing NULL to clock_getres (VDSO): terminated by unexpected signal 11 Andreas Schwab
2019-10-20  9:20   ` Christophe Leroy
2019-10-20  9:53     ` Andreas Schwab
2019-10-20 10:25       ` Christophe Leroy
2019-10-20 11:44         ` Thomas Gleixner
2019-10-20 12:07           ` Andreas Schwab
2019-10-20 15:45             ` Thomas Gleixner
2019-10-20 16:08               ` Andreas Schwab
2019-10-20 19:53                 ` Thomas Gleixner
2019-10-20 21:17                   ` Andreas Schwab
2019-10-21 10:07                     ` [PATCH] lib/vdso: Make clock_getres() POSIX compliant again Thomas Gleixner
2019-10-21 10:07                       ` Thomas Gleixner
2019-10-21 15:23                       ` Christophe Leroy
2019-10-23 12:50                       ` tip-bot2 for Thomas Gleixner [this message]
2019-10-21  9:03                   ` passing NULL to clock_getres (VDSO): terminated by unexpected signal 11 David Laight

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=157183505345.29376.7588508845309452690.tip-bot2@tip-bot2 \
    --to=tip-bot2@linutronix.de \
    --cc=bp@alien8.de \
    --cc=christophe.leroy@c-s.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=schwab@linux-m68k.org \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.