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 A03CBCD37B0 for ; Mon, 18 Sep 2023 08:13:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EA8B46B02B3; Mon, 18 Sep 2023 04:13:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E58BA6B02B4; Mon, 18 Sep 2023 04:13:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D03846B02B5; Mon, 18 Sep 2023 04:13:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id BE9F26B02B3 for ; Mon, 18 Sep 2023 04:13:05 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 8F074120BDC for ; Mon, 18 Sep 2023 08:13:05 +0000 (UTC) X-FDA: 81249002730.23.06502C4 Received: from mailgw02.mediatek.com (mailgw02.mediatek.com [216.200.240.185]) by imf17.hostedemail.com (Postfix) with ESMTP id 07FD14000E for ; Mon, 18 Sep 2023 08:13:01 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=mediatek.com header.s=dk header.b=afTrg5B8; dmarc=pass (policy=quarantine) header.from=mediatek.com; spf=pass (imf17.hostedemail.com: domain of haibo.li@mediatek.com designates 216.200.240.185 as permitted sender) smtp.mailfrom=haibo.li@mediatek.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695024783; a=rsa-sha256; cv=none; b=rNu76bxt6piU+uFAGVJr70MUXymkTQWOah+vFaKUSQTQQV7BeJxH/593e9uLk4Oq/8y2T0 Jl//HGFIJStVX0LqbnEz4n21hCFy3eBOkLe07Ah1W/34PeEefXYlSOh1T5qmEdXgG5eaAH tXW2pLhmj7mzQhHv5AoiUqBS8Chbrkk= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=mediatek.com header.s=dk header.b=afTrg5B8; dmarc=pass (policy=quarantine) header.from=mediatek.com; spf=pass (imf17.hostedemail.com: domain of haibo.li@mediatek.com designates 216.200.240.185 as permitted sender) smtp.mailfrom=haibo.li@mediatek.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695024783; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=kqnvu8e5BxdxEQxTzumthghfrEuZ7r4SRpLOXCrpQuo=; b=AP9r27o6mb26Jk0M5UdLhFWEZwxbxsqtJHZJKWKHEvk2Dq5r6tCa6iVs5aL/7VaNDt60oM c+lW2kYQKhKYDUSDmfWgbds51nAmOCrZNK/g26AAO1/7mOflYEvyTwOEwp/vjjUlAXwYEU G7+hP6Nq/iwBR1uBXBy7vzDZzxt1CVo= X-UUID: 2b760ce855fb11ee86758d4a7c00f3a0-20230918 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=kqnvu8e5BxdxEQxTzumthghfrEuZ7r4SRpLOXCrpQuo=; b=afTrg5B8iZFmMfi+TL9Chc4sBpKokhlcMESjDopFTRL3jur8nGfpd9c9J98vFp2z1ef+1mCNvnkNkMhmeu41xqGoLXFinfKyoBXRVgvRp9dlMuo4ymrmN4vPekM4ywU8iIw9M+4uW3YUvN7eybpr+bTyvuhGXe8nq7NMcMaC29w=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.31,REQID:cfe193b3-374b-4b2c-a900-378ce0aaf95a,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:0ad78a4,CLOUDID:3938f6be-14cc-44ca-b657-2d2783296e72,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:817|102,TC:nil,Content:0|-5,EDM:-3,I P:nil,URL:0,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1, SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0 X-CID-BVR: 1,FCT|NGT X-CID-BAS: 1,FCT|NGT,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-UUID: 2b760ce855fb11ee86758d4a7c00f3a0-20230918 Received: from mtkmbs14n1.mediatek.inc [(172.21.101.75)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1787645198; Mon, 18 Sep 2023 01:12:54 -0700 Received: from mtkmbs13n2.mediatek.inc (172.21.101.108) by MTKMBS14N1.mediatek.inc (172.21.101.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Mon, 18 Sep 2023 16:12:51 +0800 Received: from mszsdtlt102.gcn.mediatek.inc (10.16.4.142) by mtkmbs13n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Mon, 18 Sep 2023 16:12:51 +0800 From: Haibo Li To: CC: , , , , , , , , , , , , , , , Subject: Re: [PATCH] kasan:fix access invalid shadow address when input is illegal Date: Mon, 18 Sep 2023 16:12:50 +0800 Message-ID: <20230918081250.143237-1-haibo.li@mediatek.com> X-Mailer: git-send-email 2.34.3 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-AS-Result: No-10--15.802200-8.000000 X-TMASE-MatchedRID: HXSqh3WYKfs4HKI/yaqRmya1MaKuob8PfjJOgArMOCZb6PBUqmq+Uq7d jM7nXzpjKDVpUrn+OoQmNpzri1sed7Ud2R7XKvn3dAg4yd14qARUXmZR3qwgxiS30GKAkBxWqjK 1cw/inhPUdOHHz4uZ2bNVqZo4wx+HlOGdJawUY9voGS5BmR0KUThaxI2If9ReK7S6qybDnxlvKp xZPgVlFySl042qLBGShRAr0eCrd7QLd3u89FoqUbiMC5wdwKqdvtVce6w5+K/US7RV+C9GRaPFj JEFr+olwXCBO/GKkVqOhzOa6g8KrZRMZUCEHkRt X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--15.802200-8.000000 X-TMASE-Version: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-SNTS-SMTP: 526554D9131F0E7FF150090659C59FFAFE008B7EB75342DF66FB39481924F4332000:8 X-MTK: N X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 07FD14000E X-Stat-Signature: 4hg6hjpbh31z7fg4j1ip443c3nmcuo1e X-HE-Tag: 1695024781-145189 X-HE-Meta: U2FsdGVkX19D8o3wxkVtzZc//9442Swh2OIoesdR5MIDqvcACPwn0YZPJkJCVeZzP4x+Y9yc8HUlvBxZU/dQ0fquEByjkhMtrcKPDHUc20V7zqKQ4I7VqGjPgoJAicXXmLMaY5rrgNuC6Z8Pf8MEkcVOnTEHvfxaOgqnYswpG+9um/NqJ8swMQmcqW5lAzXq6CjK4nNF1xFp6IcG+RZM5wpZRHUG8hA3yBUw3fYhb4y45PhbR9grmRLAVMwcPKt/wvM1x7FJJ8F2pZpGo3XQ4yGp2JyBYJyKxQi0ODCW4Iah6Ebl5g6TiP4Mzcbhj1DqoCDaWKt3YW5CO1Ox+Czz1c+Joaw+1K6kDzZfsJj3mkM80ckMaxikBMxvj30BEGHplnr3Mn+KvCj5kOXEpcM96eTNwH2OEGilIUZpPFYFJFpZoPl17BHnxP7aBwvWjsXJeqFMXV6zFekAc4vkYGxGIxOLo16jcCEyeaa3+ATL2Wv3fRnHmlKuAKbNUEpHYIs4TwTzcVpVDy+UAW6MIR0BjmOzs3WBOcxh9Oxt+KldMiA1XiGxBSR/HFbdMCqaAhqpst5COvsSDRfU8c2vnbKQ+ZcsgtMt/V58M8km8bLbOWivK7jcS0bF9N7hfggMxQnQGpSZ1ItCYF8P6KbZ8GXrQMQmpt3Xjb+BF+h2NAMgRDW/hca1680Zv771xmUFni9NR3+HfH2QEp/zuGAKC5AsL6ghLWqbo3IcMkRNUl+w4L4S3dNgRU+Sm7EgWAwbqa2dmI+Kykl4BojcNTQN/tLoyrW2oDoxui6RTCifIXiOTI2fRM0XeLWkve1PaLBCxSOeVYCGPSM949wD+HfJWaIVbloZ3eAbuE2IrG333giKPKa4ywVTaJQO0uHuY76V1cjryKQ/XkQ8UHYVSfzFA2blFKUMqg6SP0gzrVsXD7XQNPcoObUuq+jDQ1hwKFtUjokcj5qDpbVKcVODIbhEWDR MpCK/XBj 4nDTS4Kx93taYslr4CTmvy9m3l4njRKfQF+jDi+yIHwVqgAgtYfJKiMSPMewoG1zIzvXdwpUnt2/F/sxNI32QERVQlYzV1xmK9SAQkerd2BO57J/G11gorchR4K93BbcMTFOSvXPPMxIokbTQx95A+/bs5rZhIh9x3cWV1qgTLI5OBcFyaJ5jf3V1ceXm7/ev/bAPP/LUaX8t8C7kGneFNgTRqmF1LV7Lh5n/TNpRq5kbqt7TRnBtnc4s9gOld+NK1r1efYTPsQ/N+rygPCql391Se99XqD3xSbD4vr/SYHIM2d2p7VDCQhSuOw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: > On Fri, Sep 15, 2023 at 6:51 PM Andrey Konovalov wrote: > > On Fri, Sep 15, 2023 at 4:46 AM 'Haibo Li' via kasan-dev > > wrote: > > > > > > The patch checks each shadow address,so it introduces extra overhead. > > > > Ack. Could still be fine, depends on the overhead. > > > > But if the message printed by kasan_non_canonical_hook is good enough > > for your use case, I would rather stick to that. If we check shadow address before invalid access, we get below message before oops: " BUG: KASAN: invalid-access in do_ib_ob+0xf4/0x110 Read of size 8 at addr caffff80aaaaaaaa by task sh/100 " We get below message while using kasan_non_canonical_hook: " Unable to handle kernel paging request at virtual address ffffff80aaaaaaaa KASAN: maybe wild-memory-access in range [0xfffffc0aaaaaaaa0-0xfffffc0aaaaaaaaf] " Both indicate the original accessed address which causes oops. > > > > > Now kasan_non_canonical_hook only works for CONFIG_KASAN_INLINE. > > > > > > And CONFIG_KASAN_OUTLINE is set in my case. > > > > > > Is it possible to make kasan_non_canonical_hook works for both > > > INLINE and OUTLINE by simply remove the "#ifdef CONFIG_KASAN_INLINE"? > > > > Yes, it should just work if you remove the ifdefs in mm/kasan/report.c > > and in include/linux/kasan.h. > > > > Jann, do you have any objections to enabling kasan_non_canonical_hook > > for the outline mode too? > > No objections from me. Thanks. Shall I send a new patch to fix this problem by using kasan_non_canonical_hook