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 852E3C52D7B for ; Wed, 14 Aug 2024 14:33:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1AE4C6B0089; Wed, 14 Aug 2024 10:33:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 15EB76B008A; Wed, 14 Aug 2024 10:33:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F1B446B008C; Wed, 14 Aug 2024 10:33:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id D64B66B0089 for ; Wed, 14 Aug 2024 10:33:56 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 4A6B4C0F60 for ; Wed, 14 Aug 2024 14:33:56 +0000 (UTC) X-FDA: 82451095272.16.9EB7847 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) by imf14.hostedemail.com (Postfix) with ESMTP id 6D0A010001F for ; Wed, 14 Aug 2024 14:33:51 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=NbOEUcMQ; spf=pass (imf14.hostedemail.com: domain of dan.j.williams@intel.com designates 198.175.65.18 as permitted sender) smtp.mailfrom=dan.j.williams@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723645975; 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=brcw+k/6fY7LynuZdBHhzlToHXwgmwgXpv32prFLblU=; b=CNHufXTyiDs9dAuk0nbXjPkBPsHdpSBTGF3CQH6aTp9ILSK927wDwTjXjFDZTo33KGp+CB simqf11q4l7i1TnKuG4eyoOb9OuZIzrGXIBl5k3sjZGgz7IwQCosNg3rUudQrt/am8DM75 7bBTsuQ1iGRszgodWHv71YVl25YUq1I= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=NbOEUcMQ; spf=pass (imf14.hostedemail.com: domain of dan.j.williams@intel.com designates 198.175.65.18 as permitted sender) smtp.mailfrom=dan.j.williams@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1723645975; a=rsa-sha256; cv=fail; b=kE/lB/O/wY/2lKVkJRcT1X2bjjhJFQjsXXeGQrhe+6n90sygfbQm8NVai1fUsZrdGAgs+t PxUvSvA688LQ3fJ2SIm1EYYvOt9ZIg6Z8aaW+X44cSJ5QPwL6lG5V3+QERvCMsPoMjAXo2 mF9ssr/1ozQC8qBNXPVCOR0EIfxpYQM= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1723646032; x=1755182032; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=s6sggYRWDdeuwa+cfZ2920hF21WbnZuHvcV5ipeFK74=; b=NbOEUcMQZx2fly9IqmNxvIbVPEhDpH2YMzo91rYZiHO0vKn+LL3LIZQh GB5da2PGWvHZUIalfRx0RkeZr3HAtvDkZ3D2dQEKpM5G439IGZK1jL9Vh f/2eQAWYwq4wRq/fvit3RAl6ruX9UUo+QV3VxNWY9sb4qjbVh7CujK9LD FNQljQyIGitoNJS6VEFMfovzA+LcfI8EcjpQXhaUfcN2mRsaBMNC+uK3e hFB4PtMaWsgsU/WiKHOyQn9LNVsUb7AobJ0of8fMxf7/kP46W/nDGw+Df +GqIjWVeVinFoZ9bblfUX3iL4g3KvXVWMMgCldLdm/n86Rjlql6wEPqmw A==; X-CSE-ConnectionGUID: t/+Vv/VNSGqCVi4WQqo7lA== X-CSE-MsgGUID: RyxvE+jQT1SShnLplZS+Ww== X-IronPort-AV: E=McAfee;i="6700,10204,11164"; a="22018385" X-IronPort-AV: E=Sophos;i="6.10,146,1719903600"; d="scan'208";a="22018385" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Aug 2024 07:33:36 -0700 X-CSE-ConnectionGUID: I7QKr/f2QHuF08gIhSO2cQ== X-CSE-MsgGUID: dSwI/+moRqW7ta5az5n1Cw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,146,1719903600"; d="scan'208";a="59008652" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa009.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Aug 2024 07:33:36 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 14 Aug 2024 07:33:35 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Wed, 14 Aug 2024 07:33:35 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.175) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 14 Aug 2024 07:33:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZL+9luwQIijHektMq1T0uD1sbGfBCgqTEgdrS0YD2WNCfqFrrIidI3Cej7XqTtJUViVwCLuUuulex/eYP3Pu4tiKtJJea9t7/OGpNiSK41Zm4Zpn5wO8StLvGfO5uxYRD8/nfjWoZSZW/zZvrC09vDDgNsrYZzkXS1t0LlQ/6BTGuExMkgJjGD2JZVgxW09E4b8mKDHTyAx+KwMPi/fY4L6+ueRhEljxEiWRNLRSS5oEOFEqU1G4r4uOZWE6UOZol4t9A/k/OqHEJKu5YlCGnNTlYIKzhobYPDonbcw2k+r56vh4tkwOAdIhSfyxQrzvR22WYRprvXVWED5t8ybLww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=brcw+k/6fY7LynuZdBHhzlToHXwgmwgXpv32prFLblU=; b=tSeNUO9Lk53dwAKmHGQaEReOsijr8nRJRRpIx+fKUgY2WiiWNR1BlDDu9QFJkJIqD+f+hZL/Teh5t1lPJ2HOUXR/zoqYcokNUQ9eJ/1awZLSLkKin/wR9znDGyLQqr7uYfK8M4qEhPtwck62QKqgAWUuaWOHGLaswQ7oGMtFLwZeRQqVv/wyVmsBWdZoZxEZeQ8iqrb6qgeM3OHC2ctNx48ay7TUnBOOc3fsUG1zbEqvblXE6+fuwBHT6mkC82nHJ5GLjdnYsYx7OEeYvhGZ311badlbPnUX/K92VlO02ZNUC7xbRJNqOdkn9f0Qpx64LQ1cDMgu9WZinluvXwscPg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) by CH0PR11MB5219.namprd11.prod.outlook.com (2603:10b6:610:e2::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.17; Wed, 14 Aug 2024 14:33:32 +0000 Received: from PH8PR11MB8107.namprd11.prod.outlook.com ([fe80::6b05:74cf:a304:ecd8]) by PH8PR11MB8107.namprd11.prod.outlook.com ([fe80::6b05:74cf:a304:ecd8%4]) with mapi id 15.20.7875.016; Wed, 14 Aug 2024 14:33:32 +0000 Date: Wed, 14 Aug 2024 07:33:29 -0700 From: Dan Williams To: Thomas Gleixner , Alistair Popple CC: , Dan Williams , , , , , , , Kees Cook , Andrew Morton , David Hildenbrand , Oscar Salvador , Subject: Re: x86/kaslr: Expose and use the end of the physical memory address space Message-ID: <66bcc0396d8d1_1c182946e@dwillia2-mobl3.amr.corp.intel.com.notmuch> References: <87seve4e37.fsf@nvdebian.thelocal> <66b59314b3d4_c1448294d3@dwillia2-xfh.jf.intel.com.notmuch> <87zfpks23v.ffs@tglx> <87o75y428z.fsf@nvdebian.thelocal> <87ikw6rrau.ffs@tglx> <87frr9swmw.ffs@tglx> <87bk1x42vk.fsf@nvdebian.thelocal> <87sev8rfyx.ffs@tglx> <87le10p3ak.ffs@tglx> <87ed6soy3z.ffs@tglx> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <87ed6soy3z.ffs@tglx> X-ClientProxiedBy: MW4PR03CA0285.namprd03.prod.outlook.com (2603:10b6:303:b5::20) To PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|CH0PR11MB5219:EE_ X-MS-Office365-Filtering-Correlation-Id: e68819a8-ac6f-4716-2817-08dcbc6e128e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014; X-Microsoft-Antispam-Message-Info: aTSLqSmOvlR8rUK0hUD9+WHI5OvZl40NGBQQK230DwD0C1jqH6XDHUAWMrl/34qTM/4+4izipzyt38BFlAwf6w7o0OWXSefXTIG24BULT0hfnc3K6y7Sd2Srx/cAsJ3Hm27CsHZtVwzSYGIZ66ci4BERyjCUleKU3AkJiLKcGl2GRuPWqoxOybocGIes8e7+ZWe+8QweuKJ8Qw+dEESbWyzAIqCFQy4rqSQBL7q8uR0OQ9nZKOdaWXsGhOd4N5P7+VBeQFKh/UbyEbm7cfiUUVWskLHlbrtMQAGhYlGz9zMz7VRDS0LwZVpIplm7+u9kH8BSJd4pmM7vL1/2U9wb5KJQ1mzNUgAVusVyOTopUPH9Dmj3O1PCtTIah3Ej3rlD1gO7feQUULUBFoY6AdKIh4YgESYeL7GIQagJQPEDJT9uumTSzNlPXIP0uWixnJ6lxzPAWIQZq9BMArHmj9hdS+l5c3iSoqTu/SImAEoR5yBl7hR/miYF3Sqzt6iAPAdDU+b3ioUcNmEA8+XBwU8O+xgMOOYNOAdsA3RkEXvPkC3VMFcvdGDjI4zic1U13t+Ee2SOPI6gFvkZb6RiiEVk5S1eE9GGHpzcHvKV4CnUH9sS4OzrvkStPf2jJvietC4OFkq1K418JX6hSjYWU87EdtxEE5JPVI40y8HU1I5ch4I= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?8j7dwg64mfG8L9ZPvzEUb5knhO08IW+rIh7fjI8EyM+wANQC0kSKz1bop/rl?= =?us-ascii?Q?lhNHPzLnWd2UP/glhn8qc3qqgUeV7dr/WWIV0hqjWNDpZ+TRrM6xKLjuWOJh?= =?us-ascii?Q?uKY+VysPwSRDgiDSxaBldqBVToWoEz0TBNjTnP93MtPlSKAhAsgatgUXwW+H?= =?us-ascii?Q?Kqk72PBFWDg9aqMqZVVjtuGAzeM/kMkS2se+RqAv5NPsjWsEaAbtAaIiCxNn?= =?us-ascii?Q?IvX9dxnpgu6OfFh30oDNqn993flafsY88rOMRq5HNH1S6F/7l57ZGDPNyTfI?= =?us-ascii?Q?gZ/5Y2GO2OlGb7ylgg4jEMxMExwVSYulnKBCZk5isWwN+ZrbaiS8+XJi95xH?= =?us-ascii?Q?WqY45kvcor9EipxCKYxe5GrS3SrDxMrUSVuO7D/P/bbQlK6Yko98BRngjnKZ?= =?us-ascii?Q?OKF65AUaz+rUPQpSXkTkLolSp0wuSxEU22U43XO2Edz9CHrluwttBr8J0i7Y?= =?us-ascii?Q?ODnYvKJAxuaCoHz1NOAqNKPHpQ0Iyc39gd/395Sqmx4HNNf9Wr1iBCHNWFL2?= =?us-ascii?Q?+OJJuY83nQqZgPqToTOl5PX63fIi7bhrDDUVV80FV6JIOlc6aa7YEXFGQUet?= =?us-ascii?Q?/71NwyZSgX0gwRMsShwhjDa+B3nPhQgZKg/aF2c7nRGQxL9U4czWPjQw8VXZ?= =?us-ascii?Q?Zk/xf3WF9vEt/banUeXHEWXTmJ7H09DQKydMMk1yWxvusEkTPXghkODi9Rfi?= =?us-ascii?Q?rNsFovF1B96oIIq6bfYnPaObCHgt5R8+UPzitwoT2kNtG84UmNMtRRLTZfSr?= =?us-ascii?Q?vwFNNCuNsnGUNGixAUehTur2VQ7vFm1fo3vkHseZ6ceNUYWNS4MNCcs34CNg?= =?us-ascii?Q?3r4PVVxzSZth9ZRDmOmT2e68Av6ZACfSknbYBUqLVICKXl/HBCY1r+IM7Tl7?= =?us-ascii?Q?P/arGSbdc0PAPg4wpuswUAuVuxn8Vl4a8FbT4ihMfohOPhRi4tc1LhEOknoN?= =?us-ascii?Q?EQ1SSuvmzqZVdqX6PEuoGnIGgm3Wrvj7fViSlSU83wm+bVpkxxeRO9CrlSeB?= =?us-ascii?Q?s4N5sK+75zVge7WA5v06BfYtdCdjJAYuDLU3gyslBV+cz9+6VOsEnOi/K21f?= =?us-ascii?Q?JjTym1v1qsulWrCiD1EFLGpHwDVqRRERFGxQyFTqguwefd/Uqtm9X35YNP7O?= =?us-ascii?Q?/9hLs09FhMFyNM1HtTcUvkTHs3eecUks7oCzE8t08rj3NNKGBTvQlXpah9ft?= =?us-ascii?Q?0GiaCfVlbHQIi72dP3NGFstv+/igBwFFU/7SDhqg+IJQzYB5hkx1nhmLqXLN?= =?us-ascii?Q?WzvxzzngF9rlljW6pmk6pYmyMZC4fbJJVwsH7WM8wdXaMsZAXEjtdQnmD2RZ?= =?us-ascii?Q?Qrc1F0VlDNBhe3boConZ+4F5UbZQSk0rnfa8t9z86Lglm+J6JxoXN2MqzW9m?= =?us-ascii?Q?FbIZ53DLeRQytoM2hRJ2xnWq9/tIG8UZo7IQ3paD666Gdm5570Ld7PxJjM6R?= =?us-ascii?Q?lFi6mUWj8m8dw8T4wa8tiqBerwZC4Z2iQsD45RWuXHO+HwNAG3e80KVamAvf?= =?us-ascii?Q?hACHh2QpNnmO6Lj4c+iYWMYvkkzDUPQeW9rAO5UvvWMC1gzjvgD64aS3AyFf?= =?us-ascii?Q?ZHRnxY5p9RfAdlv/+YC5T/X93nbLN4++9H0S9gpJpQLo/8Ibkyxfprenu2pp?= =?us-ascii?Q?qg=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: e68819a8-ac6f-4716-2817-08dcbc6e128e X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2024 14:33:32.5917 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9K5wi+pBKYBfrRmVunhWbB9kkqubaCYpwDXbC56Mt0UUb5Fs+SuZCwOLXCo8pw4d3oD5yXd7OPw3pkhBeYuUa3+s9phYdJenElh9QA/jl7g= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB5219 X-OriginatorOrg: intel.com X-Stat-Signature: ga4yjtjx5gt8w8xmyche9k3x9e9koibp X-Rspam-User: X-Rspamd-Queue-Id: 6D0A010001F X-Rspamd-Server: rspam02 X-HE-Tag: 1723646031-396533 X-HE-Meta: U2FsdGVkX1+B+01FmLEUNfH7jPIRbUPgXn9wk5WD8AV+uKkeYsSdktrhP6+/bFSFNv2ErN7rLBXiMIDOZDuYOcBXZGwCY/TD5mB+UJ5SNMCJf4XcvU5VrntyQtq8EOHrV95is2DyFCVHLS4xlfAhkPlLoiukdlEqLBJi9t9dhJWqW1yItWCtuKTvRC2ihsYflIqzjllf8orc/MUl1EewD9J8R5QHVDDShfa7zHYR6vjxUvM1w1mdIjZqpDNsG6DVM7WDcOtMjNOMC0OBp+ZMagcI7KlcA99oZek03AmTim/LZcBTFEvQSbtsJyhhch0OeTxhPLMMsKmkPDfQpFiVFnVYXKlC/jRhUh+7F/oHEmMVcgaiUQRRS1j2S9ztedU/myLNo1HaDiFDloQPbYC1l3wNNsop+uU8dbkU9LAxsEgDKcPDv6BESnXK0ok53vqqv3608OpNvVdU5mlCgStVYhpMZmirNIpyvtH9lRZR83vnm6fNYAuT3U4ag1IbZL7A51qYza/WbtIRAWAxyRhGts+cN8jNRpSYiujD1cYPJBuGlrHVLqV0VQZZG0lQVCOovBPBHMEXhVMiWAVhH7ZqGVjlOby1A7OqMapOzVomdNFiB7dUzOX/qFohT1S64qAKS4ZIY7dYpIEO2wnL1L9AJDowfPNCM4CI72s6HS8z2oNtmqLrtUnY7QbzZuuLkmw8sCzlIcf9dOzsY24xPcIXb5SPMzQEtHYbio02fcRQ1JsymJsImFZNby1Pi7zN4bUmwo1s3orrA9C8BU18jisnPd+JiXSdvtU2qf+fbZW1sF6wyY5Wk0/AeGlPJBrKlros+ROTWXAlKSnqJjMhLgwUGX+gOfgJuE1O7JtUXdGkdvhhdvwlPkb8ckEeXuRsKiHglMwNx7aC+VoRfDd/goKdltezhCYCF+uCn39CKRVlqxwy9YrBpFfRQYwGcBt+41PPSyuFjqN4ovF8l/4UNUN 0c4tIHHJ 81Yn8Dm9e2Mo4MIl039YMSa+jG39tZc2O9wuKiuSNFDnM6pB/0XWz+oqBpl+uvQJYvxI2N/bUr/yEkxlWVEaIe3q51GWW+uIH6hs2SimAFNP49PKQcrXg6qpJbKg+KRuzKgEv40QcSkyE1J4LA/a4mfjBASlNprnYlxgWnq+mvbaI4y/uA+EPGHWfAIKnA8slA/326yKqLqqEM5JV0cM6z0CqhYfXWau9emX1AUtYHkCGMA/7PJCAYknSaA2oJfFxVJUmxDMNMTIUdBot1S6LVyJWki1J72vB1GjRuRSU9hu8ktqluYyqYSbNj3LVd50RgqtBerFrolqdFImATCbGxHgA4JTHa47i90duZYSjw+/y9N2Bb9LXVpG1MK8RKkrIPd+s2D6c11PIN8WtX0PWdCE5MHzMK04rVJX7vbMB7kQnpu8= 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: List-Subscribe: List-Unsubscribe: Thomas Gleixner wrote: > iounmap() on x86 occasionally fails to unmap because the provided valid > ioremap address is not below high_memory. It turned out that this > happens due to KASLR. > > KASLR uses the full address space between PAGE_OFFSET and vaddr_end to > randomize the starting points of the direct map, vmalloc and vmemmap > regions. It thereby limits the size of the direct map by using the > installed memory size plus an extra configurable margin for hot-plug > memory. This limitation is done to gain more randomization space > because otherwise only the holes between the direct map, vmalloc, > vmemmap and vaddr_end would be usable for randomizing. > > The limited direct map size is not exposed to the rest of the kernel, so > the memory hot-plug and resource management related code paths still > operate under the assumption that the available address space can be > determined with MAX_PHYSMEM_BITS. > > request_free_mem_region() allocates from (1 << MAX_PHYSMEM_BITS) - 1 > downwards. That means the first allocation happens past the end of the > direct map and if unlucky this address is in the vmalloc space, which > causes high_memory to become greater than VMALLOC_START and consequently > causes iounmap() to fail for valid ioremap addresses. > > MAX_PHYSMEM_BITS cannot be changed for that because the randomization > does not align with address bit boundaries and there are other places > which actually require to know the maximum number of address bits. All > remaining usage sites of MAX_PHYSMEM_BITS have been analyzed and found > to be correct. > > Cure this by exposing the end of the direct map via PHYSMEM_END and use > that for the memory hot-plug and resource management related places > instead of relying on MAX_PHYSMEM_BITS. In the KASLR case PHYSMEM_END > maps to a variable which is initialized by the KASLR initialization and > otherwise it is based on MAX_PHYSMEM_BITS as before. > > To prevent future hickups add a check into add_pages() to catch callers > trying to add memory above PHYSMEM_END. > > Fixes: 0483e1fa6e09 ("x86/mm: Implement ASLR for kernel memory regions") > Reported-by: Max Ramanouski > Reported-by: Alistair Popple > Signed-off-by: Thomas Gleixner [..] > --- a/arch/x86/mm/kaslr.c > +++ b/arch/x86/mm/kaslr.c [..] > @@ -134,6 +147,8 @@ void __init kernel_randomize_memory(void > */ > vaddr += get_padding(&kaslr_regions[i]); > vaddr = round_up(vaddr + 1, PUD_SIZE); > + if (kaslr_regions[i].end) > + *kaslr_regions[i].end = __pa(vaddr) - 1; In the context of the patch it is clear that this is physmem_end, when someone comes to read this later maybe a comment like: /* * KASLR trims the maximum possible size of the direct-map record that * physmem_end boundary here */ With or without that the patch looks good to me: Reviewed-by: Dan Williams