From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 948FAC48286 for ; Sun, 4 Feb 2024 07:42:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 237066B0072; Sun, 4 Feb 2024 02:42:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1E7636B0075; Sun, 4 Feb 2024 02:42:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0AF556B0078; Sun, 4 Feb 2024 02:42:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id F14AC6B0072 for ; Sun, 4 Feb 2024 02:42:03 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 6858F1205FE for ; Sun, 4 Feb 2024 07:42:03 +0000 (UTC) X-FDA: 81753327726.04.1358CE1 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) by imf17.hostedemail.com (Postfix) with ESMTP id 36BC340002 for ; Sun, 4 Feb 2024 07:42:00 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=e6Tf8sLJ; dmarc=none; spf=pass (imf17.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.41 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707032521; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fuvlxA+anJtkOMreE35KRYFx2Wh10b5WLrE1tllolU0=; b=NlHIesEdwcKK+Nu/qXHHMq4coB3K2E3aqz8WFd77fgV2UYPqjjpEeQoQ+8OThvTe6lJPrB S7t7YtcyVo9vjPLfk3hQ6hAMd2dFpYWUiRJT33NFu+KHpYsFkAirSFXzy+frqDbORLMroD qwPHK864iNpE4gJI+XxFCL4ZQTZILOg= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=e6Tf8sLJ; dmarc=none; spf=pass (imf17.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.41 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707032521; a=rsa-sha256; cv=none; b=HgxVoVdVcQFJ9YI3wYFQRKy0dK3nf9iNU5cjlrbNc5fBbZ6k9I1ZEfLRS3dLCNZlpZswmR MhdvrYLRVtflvxYoDvFFFDpb4c8nmVyIn9TT9xZQZ0sZwHKRtNA75ZC9QJ+sFpS4b9ygD0 c6dxG1jIYx2cEqdZzsEutypg3JnaFjk= Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-a370e7e1e02so202428666b.0 for ; Sat, 03 Feb 2024 23:42:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1707032519; x=1707637319; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=fuvlxA+anJtkOMreE35KRYFx2Wh10b5WLrE1tllolU0=; b=e6Tf8sLJZ1dekY3FuGO5yMc6N3vQHhbj/mg3+WEKjLgczhn8ev8gCpEBj32Q5bBt5G Z2alv6/jy4wI3IKtzxWEabd32nk7xUozU9AC3Yx2E3wUdmQEAPonXj0Qn28RmTGeRdBg xz66efnRXZzHlC6Cqi1wSlKf0JE4dQkl8Exhw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707032519; x=1707637319; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=fuvlxA+anJtkOMreE35KRYFx2Wh10b5WLrE1tllolU0=; b=QyYEvoyDR6q4ijVxBu7vJ6olsy2QHw5FTXVqlJamTMP4Db7pvhjVCFkS1ch5hLB2KP Qbaya3T1XPR/GB4Jpg8XWj+/3pV+k3RVZu0pXDKGO0Manb/T/PAIMDOQtZinlMuqIoO0 nAlFi996WYfFgW4VrKe87Xb0Fzjx/py9isnWWTKVMvzR7X+7tKlBf1fnQa5qE1d0x7wV Y5w/Lss+aNpoHSid3u9axCukb7iDhLcE0t5OvS0GIyQjGIdprbp5hrUa8bKoxYbKZZJx +aVuxlG8TcXdjm+ESQdoZr1nJ9Ql7EhZ83EVtJSHa0zt1YM4B73phqEYERjUUPZRWsFS J1Qw== X-Gm-Message-State: AOJu0Yz10KiBh4Ssy14TdySjpuPdpDyDfquuI+90IQ/fGdA+3r6cHwZy 2Gb4M3+da9Rni++OETDm3Tm0xdR/rl+v4fdVoVytqWUPzZfSVbVyo31DQcM+3q0kr/CoccFqVJE rGDCjPw== X-Google-Smtp-Source: AGHT+IH81Cl9qS5QM2c4ch9d+Bdh+YcQ9EDeFLZxF/7CY0NV+ROIQEj8NfVH357h7s96QKG7aF+SUQ== X-Received: by 2002:a17:907:7746:b0:a36:fa8e:8796 with SMTP id kx6-20020a170907774600b00a36fa8e8796mr4811019ejc.21.1707032519477; Sat, 03 Feb 2024 23:41:59 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCXJZ0A6HHX9JlicxBvIeBLrKVefmORmU9D/ddr33WzgstJL1blMMDDzomS99DCUBdCD1y/XTq+XuEPz/yFOlnrfWPg= Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com. [209.85.208.53]) by smtp.gmail.com with ESMTPSA id l18-20020a170906079200b00a36f1470668sm2824417ejc.151.2024.02.03.23.41.58 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 03 Feb 2024 23:41:58 -0800 (PST) Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-558f523c072so4949990a12.2 for ; Sat, 03 Feb 2024 23:41:58 -0800 (PST) X-Received: by 2002:a05:6402:1507:b0:55f:f73d:c63b with SMTP id f7-20020a056402150700b0055ff73dc63bmr2660980edw.20.1707032517833; Sat, 03 Feb 2024 23:41:57 -0800 (PST) MIME-Version: 1.0 References: <20240202-exception_ip-v2-0-e6894d5ce705@flygoat.com> In-Reply-To: From: Linus Torvalds Date: Sun, 4 Feb 2024 07:41:41 +0000 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 0/3] Handle delay slot for extable lookup To: Jiaxun Yang Cc: Oleg Nesterov , Thomas Bogendoerfer , Andrew Morton , Ben Hutchings , linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, Xi Ruoyao Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 36BC340002 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 6783ze9nz8pr5p3stc7up14ubp1yrjdx X-HE-Tag: 1707032520-625137 X-HE-Meta: U2FsdGVkX1+0mi/kmtIPtHDgg25rb/RjPA9yXZugIDDG67gNkSJeUc7Zu8/6Wfhjc8zx7JfZhO40nfDVGRSl3JTQEyxgsw7204vSTmWN7O+I0sF5yGoZQhZP92O8tk/U2fI9uQkT9xadkg9ybAgwUMkJwJMmrmDdJ+7WmHcjDEV8V/gFGVf8lKvRKvQk1sk4irHnWI/yHKzPmrQiyCNmr+RjSXTeZ0nMQz0HE4THcY12QuW+Jo+NbgUgH5oaVgKejXiSxoAt/NigzrsKpnujqMzRqV7llnCOlZqk/E2jmdaKSjBAZ3P1GqgWNovTq9RWmmRe8YP1gAZr16Th2wwSd4zFvLOaMuWuLbpVca8D2Ionvn19GlsPz9orpJOdYVe3jhdqjXM2/H/XCxN1Wtc5RrK+c7mh4nRidg6br/AN5hbafsscrLCJ3rupza2uJnb4A7GbLyg93oykZ45E3IcqqBT+NmA4EoDk99KEkT8eHdZKa2/mqoLnDjPMTdJdHfNgWzfuYUXJk/37QXUZdQUcgW9sQh7IWytiS+QXvgOcU1V6fNIsx/qeWzli3/64n7UhsNJ4CaZelu0Am9KdUHsjWUJ+VmSkmTNiX3rJ7PP1GUjo5TYvSCRisdMD9zS1W+fz7eGJ1w/vP4VEi4hZGej53O8hcrwM0657cro7goQZGEtPPDBvIeFFS1GaAMQTcJPX3/r2dz1D10Cb+AO0mc/v0EtHP4BjGJliUDb8jAI0FyoRB0CG6GfbErEkl7BvFhrI0fRVm+u5totTfPU+8zGx2hR5D9CFm5VHK+Y7OTDruoe2LfPzbRpyfwCjiG+Lvj+IeYL5xyAOKRdSEdbkvvjjcBLCtsm6z5BZFwK7rOuE3Um/Dlx09G5KYeIdMCeBiMmXWtAVYKnsoEBpdomu1yMmld0qpXG/IFplqmaXIjEFMY3MISjbuGLS9qW6sFm8kyOV9xH72a5kIxtStGBA9oo QJYJGGPp Zujh9UTYJ0W4/BMkNx/tKu8Pdf4q40nrabUL/lvlKyj/JWrnY7MQ7jmC3S4blwGq6AzMLsJy5j3NQXp43kM2Ko9FUbz4lOHBnnT2ykCwVDWMjLx8gJ1levAhfvP37nD1iux33s3ij881DbqMgSDG/vKt2ZZPHM8jevwWwmX9ym7L9BZNwmcItGpHwHChcVQyW38LfSlIqaYjH8FH0ATx/rB5XYiASuo16IBEsJihPsT7TCJpWGm2isIR8TKTw9OM1ZysxjklMBFPVDyADTQ7Oa1UPR72YK6KsbEk7Weu5tJuBjk+U9fILCQBmBZe3Jp0hyWdQXtpmkvuDhSR5CJvEbnF9docKTgarh2vntiiM4YQ6a3leVvX6dDSUVkaKKmBhpJZtMfpWCgmyWYHM/AwZ8Jt7Ir0oYboM6+v9XGJIz+tQy1WLkklSaa8tPzKjAEUc16TQx0R9GDQuizsake6B3uOKqenpfTrxm0Ov51go89vt+0DW5ekvFSwK7po2+5LApHLWBKFG1upBipGNhf6KgNgUzp7QiMSHfZPWxc+fBcH8Adn2MMxlN6pivg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000017, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Sat, 3 Feb 2024 at 13:56, Jiaxun Yang wrote: > > Given that exception_ip is guarded by !user_mode(regs), EPC must points > to a kernel text address. There is no way accessing kernel text will generate such > exception.. Sadly, that's not actually likely true. The thing is, the only reason for the code in get_mmap_lock_carefully() is for kernel bugs. IOW, some kernel bug with a wild pointer, and we do not want to deadlock on the mm semaphore, we want to get back to the fault handler and it should report an oops. ... and one of the "wild pointers" might in fact be the instruction pointer, in case we've branched through a NULL function pointer or similar. IOW, the exception *source* might be the instruction pointer itself. So I realy think that MIPS needs to have some kind of "safe kernel exception pointer" helper. One that is guaranteed not to fault when evaluating the exception pointer. Assuming the kernel itself is never built with MIPS16e instructions, maybe that's a safe assumption thanks to the "get_isa16_mode()" check of EPC. But all of this makes me nervous. Linus