Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751963AbdHCV5x (ORCPT ); Thu, 3 Aug 2017 17:57:53 -0400 Received: from shards.monkeyblade.net ([184.105.139.130]:49930 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751754AbdHCV5v (ORCPT ); Thu, 3 Aug 2017 17:57:51 -0400 Date: Thu, 03 Aug 2017 14:57:48 -0700 (PDT) Message-Id: <20170803.145748.1255019771865320896.davem@davemloft.net> To: mikpelinux@gmail.com Cc: sam@ravnborg.org, matorola@gmail.com, sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: strace-4.18 test suite oopses sparc64 4.12 and 4.13-rc kernels From: David Miller In-Reply-To: <22915.33137.173101.458489@gargle.gargle.HOWL> References: <20170801205829.GA7496@ravnborg.org> <20170802213647.GA5506@ravnborg.org> <22915.33137.173101.458489@gargle.gargle.HOWL> X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Thu, 03 Aug 2017 14:57:51 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1119 Lines: 34 From: Mikael Pettersson Date: Thu, 3 Aug 2017 22:02:57 +0200 > With that in place the kernel booted fine. > When I then ran the `poll' strace test binary, the OOPS was replaced by: > > [ 140.589913] _copy_from_user(fff000123c8dfa7c, (null), 240) res 240 > [ 140.753162] _copy_from_user(fff000123c8dfa7c, 00000000f7e4a000, 8) res 8 > [ 140.824155] _copy_from_user(fff000123c8dfa7c, 00000000f7e49ff8, 16) res 18442240552407530112 > > That last `res' doesn't look good. Please test this patch: diff --git a/arch/sparc/lib/U3memcpy.S b/arch/sparc/lib/U3memcpy.S index 54f9870..5a8cb37 100644 --- a/arch/sparc/lib/U3memcpy.S +++ b/arch/sparc/lib/U3memcpy.S @@ -145,13 +145,13 @@ ENDPROC(U3_retl_o2_plus_GS_plus_0x08) ENTRY(U3_retl_o2_and_7_plus_GS) and %o2, 7, %o2 retl - add %o2, GLOBAL_SPARE, %o2 + add %o2, GLOBAL_SPARE, %o0 ENDPROC(U3_retl_o2_and_7_plus_GS) ENTRY(U3_retl_o2_and_7_plus_GS_plus_8) add GLOBAL_SPARE, 8, GLOBAL_SPARE and %o2, 7, %o2 retl - add %o2, GLOBAL_SPARE, %o2 + add %o2, GLOBAL_SPARE, %o0 ENDPROC(U3_retl_o2_and_7_plus_GS_plus_8) #endif