Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3366773pxf; Mon, 5 Apr 2021 10:08:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyroRJS0LCTUGtds0cM6+6jmRwunHCBecMAYqqIBEltOs4MCa+alyNG1hkLplTnK9/0wOGK X-Received: by 2002:a92:c244:: with SMTP id k4mr20187248ilo.303.1617642506291; Mon, 05 Apr 2021 10:08:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617642506; cv=none; d=google.com; s=arc-20160816; b=yqhV2olgscnSLdgf7O4G5P+8qruW7WlVFjdwXbuuk9TgrRSK+Rkf1dyXXHhU89cP5/ HHlzb/8CuPCmpXrRoXoi73hU6pdwfF4TiDkN5MkoQm4cfoNUy4/HpXS1VdOc/4rw94jD F5uiGhc6D2Ct7C0mPOnT1Jw/6e2Iy4NQGMrJLcdSk50BSlDjHaahVq8EzXiWdARullj3 cxYolYu6zrKsFQuOdGQexkSOroIKRuyeKNttXfQbadXyi75T27+RMsSUR9VMqEL1L79i jW+AoykKGTMlGBQ20qwwokgMBUN0dQ6grL021Ufe2saRNSDfLyCX8FpywH1x5ckcqn3j hTfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=5v9LVZFLzqGTp3AiDBUG1ScjHlQemkLpCN5GOoCHH/I=; b=zgPYmTXTCCMDvwg1VRHjPMSGNjj9HYdXtyl6+o471ZXa0Rsr1c8R05uo8xhk/2DA5V 1Df/vomhFnoAchprsl5xRJSAGPtZ+NV7s8BhLM2Xq9p+apiGN2rDoIN9kHNFfbp5jsto Ne4/beq13sKHA9R7pAPY31w7MPeYT0ctKWgRAqvrt7zfm0WfEsBzDHUNIuAWFWlBRlep FNTVIKQxb2VlachMP3qRdRY1YgSfhmpXJ5E9+0KhNmAgr8kGy1Lwwv9SbtgHWPADXA6g OTu5hYhwj3/EH3dd82OE4/rI8mIbgVD9mFUtY6Euq/mgbqBni7kBsupvwQdp3i8inj1b 2OIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nfIN1cfT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z11si3055018ioq.81.2021.04.05.10.08.14; Mon, 05 Apr 2021 10:08:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nfIN1cfT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240088AbhDEJSv (ORCPT + 99 others); Mon, 5 Apr 2021 05:18:51 -0400 Received: from mail.kernel.org ([198.145.29.99]:34446 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240479AbhDEJPL (ORCPT ); Mon, 5 Apr 2021 05:15:11 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5C90261393; Mon, 5 Apr 2021 09:15:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1617614105; bh=OlbEFK3BpN3B46KeN0vztaAzXu3uxhzaVe32rMiOsJ8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nfIN1cfTVpn9k3nGrn006DhecT8tImrAwD0mcEYIoqLFlFgOrb0dxaVH3rjQDZlSt tRpA/gYKP9ww76GCtUmkPCUGw2PhIBIZFvt9zlybv62hPGagLBq+B4LURnjSWZw55U 9kyyXGe1GPvLfb/1ET3zLrPlJICE0KXja9ep0YMY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Heiko Carstens Subject: [PATCH 5.11 085/152] s390/vdso: fix tod_steering_delta type Date: Mon, 5 Apr 2021 10:53:54 +0200 Message-Id: <20210405085037.018841144@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210405085034.233917714@linuxfoundation.org> References: <20210405085034.233917714@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Heiko Carstens commit b24bacd67ffddd9192c4745500fd6f73dbfe565e upstream. The s390 specific vdso function __arch_get_hw_counter() is supposed to consider tod clock steering. If a tod clock steering event happens and the tod clock is set to a new value __arch_get_hw_counter() will not return the real tod clock value but slowly drift it from the old delta until the returned value finally matches the real tod clock value again. Unfortunately the type of tod_steering_delta unsigned while it is supposed to be signed. It depends on if tod_steering_delta is negative or positive in which direction the vdso code drifts the clock value. Worst case is now that instead of drifting the clock slowly it will jump into the opposite direction by a factor of two. Fix this by simply making tod_steering_delta signed. Fixes: 4bff8cb54502 ("s390: convert to GENERIC_VDSO") Cc: # 5.10 Signed-off-by: Heiko Carstens Signed-off-by: Greg Kroah-Hartman --- arch/s390/include/asm/vdso/data.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/s390/include/asm/vdso/data.h +++ b/arch/s390/include/asm/vdso/data.h @@ -6,7 +6,7 @@ #include struct arch_vdso_data { - __u64 tod_steering_delta; + __s64 tod_steering_delta; __u64 tod_steering_end; };