From patchwork Wed Dec 2 17:17:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Deacon X-Patchwork-Id: 11946441 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-22.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,INCLUDES_PULL_REQUEST, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6A195C64E7B for ; Wed, 2 Dec 2020 17:19:16 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EEE6821D7F for ; Wed, 2 Dec 2020 17:19:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EEE6821D7F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-ID:Subject:To:From:Date: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=jdvJnreaspxThJVyKetEhLH3bLSFl99kq3ZBqbVk+vs=; b=c6JTzH4iuTFtZFHAlqet18THmq Hsln6uDUcFi6Iv7yRgIXj+PRs2Ho1f5D++2MtoTSuSlIGUqSEBOwO7vrCwzd/ohyES13p2Vex6iJo 5xvqK9HVccjf2tHpof1R2QOaBxI5nUXq6mMAHkobM2e4V5XHkOTe4UwShyDRh272AZ0zMrGSk1pfj 8PYMTpwuCPo353gZ16cdggFcWGb2jPFHFu6QrC+YgCBu5MoQeRt5hllny9aYxHJsiswuecnyraUPM 5xONsSoHdOTLSoQvIL7Ok3cnjSchgShd/ljsWjVFGsAvDyyNQG6P9l50KE6q61NwosxXTAx6vjGw2 6aII0SRQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kkVlQ-00007P-8L; Wed, 02 Dec 2020 17:18:00 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kkVlN-00005v-Vl for linux-arm-kernel@lists.infradead.org; Wed, 02 Dec 2020 17:17:59 +0000 Date: Wed, 2 Dec 2020 17:17:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1606929476; bh=j+prTbBP5N18p2oaYarI9+lmn4VBukxoQRMVo540nMo=; h=From:To:Cc:Subject:From; b=u8QuLvkH4SB/FsRMXY6Zg2JT0IiiUpW+FCfaiWeuQxKmpUDAEMsjFFBeLwf+iL/Un WMULI7KGT4nPu3QKpwrEh3qVR0ciPLZGbGeJypEyGADMdb24V7y9m2U/zr16VEa7hl lyiNkNhnY2duR2f2LmfhgMr2MOF/upBo4ZIAF/Zg= From: Will Deacon To: torvalds@linux-foundation.org Subject: [GIT PULL] arm64 fixes for -rc7 Message-ID: <20201202171750.GA29813@willie-the-truck> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201202_121758_177227_78A870F4 X-CRM114-Status: GOOD ( 13.46 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, peterz@infradead.org, catalin.marinas@arm.com, linux-kernel@vger.kernel.org, kernel-team@android.com, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Linus, I'm sad to say that we've got an unusually large arm64 fixes pull for -rc7 which addresses numerous significant instrumentation issues with our entry code. Without these patches, lockdep is hopelessly unreliable in some configurations [1,2] and syzkaller is therefore not a lot of use because it's so noisy. Although much of this has always been broken, it appears to have been exposed more readily by other changes such as 044d0d6de9f5 ("lockdep: Only trace IRQ edges") and general lockdep improvements around IRQ tracing and NMIs. Fixing this properly required moving much of the instrumentation hooks from our entry assembly into C, which Mark has been working on for the last few weeks. We're not quite ready to move to the recently added generic functions yet, but the code here has been deliberately written to mimic that closely so we can look at cleaning things up once we have a bit more breathing room. Having said all that, the second version of these patches was posted last week and I pushed it into our CI (kernelci and cki) along with a commit which forced on PROVE_LOCKING, NOHZ_FULL and CONTEXT_TRACKING_FORCE. The result? We found a real bug in the md/raid10 code [3]. Oh, and there's also a really silly typo patch that's unrelated. In other words, none of this warrants an -rc8 if you end up considering it. Please pull. Cheers, Will [1] https://lore.kernel.org/r/CACT4Y+aAzoJ48Mh1wNYD17pJqyEcDnrxGfApir=-j171TnQXhw@mail.gmail.com [2] https://lore.kernel.org/r/20201119193819.GA2601289@elver.google.com [3] https://lore.kernel.org/r/94c76d5e-466a-bc5f-e6c2-a11b65c39f83@redhat.com --->8 The following changes since commit ff1712f953e27f0b0718762ec17d0adb15c9fd0b: arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect() (2020-11-23 16:13:18 +0000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes for you to fetch changes up to 9e5344e0ffc33f4fee899f98b6939a0682b1d9c3: arm64: mte: Fix typo in macro definition (2020-11-30 17:36:52 +0000) ---------------------------------------------------------------- arm64 fixes for -rc7 - Fix numerous issues with instrumentation and exception entry - Fix hideous typo in unused register field definition ---------------------------------------------------------------- Mark Rutland (11): arm64: syscall: exit userspace before unmasking exceptions arm64: mark idle code as noinstr arm64: entry: mark entry code as noinstr arm64: entry: move enter_from_user_mode to entry-common.c arm64: entry: prepare ret_to_user for function call arm64: entry: move el1 irq/nmi logic to C arm64: entry: fix non-NMI user<->kernel transitions arm64: ptrace: prepare for EL1 irq/rcu tracking arm64: entry: fix non-NMI kernel<->kernel transitions arm64: entry: fix NMI {user, kernel}->kernel transitions arm64: entry: fix EL1 debug transitions Vincenzo Frascino (1): arm64: mte: Fix typo in macro definition arch/arm64/include/asm/daifflags.h | 3 + arch/arm64/include/asm/exception.h | 5 + arch/arm64/include/asm/ptrace.h | 4 + arch/arm64/include/asm/sysreg.h | 2 +- arch/arm64/kernel/entry-common.c | 254 +++++++++++++++++++++++++++---------- arch/arm64/kernel/entry.S | 78 ++++-------- arch/arm64/kernel/irq.c | 15 --- arch/arm64/kernel/process.c | 8 +- arch/arm64/kernel/sdei.c | 7 +- arch/arm64/kernel/syscall.c | 1 - arch/arm64/kernel/traps.c | 22 ++-- arch/arm64/mm/fault.c | 25 ---- 12 files changed, 243 insertions(+), 181 deletions(-)