From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2E332748E for ; Sat, 22 Jun 2024 03:43:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719027786; cv=none; b=rRjW/AP6aA3GJiE+liwcpfJw84jwyfVQSnVWRuIfcl89wkpmn41Rfabn+40AqR/zgfFER+TNph5ZTHXEnHvsbudN7Nj3XBONH8Xa1e+fG5xs4ZhW39LdnWo8H4z3UhAfon2swBu5LjflGDRlFp0pn5QBpyKhl3IZzh2NK195SGc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719027786; c=relaxed/simple; bh=md+d5eOFEp72HoBlscvVP6VpQ3p1DCTxYW852JpK+2U=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=mSqHAGU38ko5IMVpW1KVAzxRzSvZ3Wjf8y9sQRjOanmei1uBhhAk03OU9qG0MuRyF7hIrIrMB+QoICLNOSKdJxPrltClFgecUXqXaQjVgELrIkaoBayLgSdg+pOoDZLU/WFCzWLKhes7VJoBfv3Q7Ntiy7RTRjMkxjLM1VC8fSw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rivosinc.com; spf=pass smtp.mailfrom=rivosinc.com; dkim=pass (2048-bit key) header.d=rivosinc-com.20230601.gappssmtp.com header.i=@rivosinc-com.20230601.gappssmtp.com header.b=limB+3Vs; arc=none smtp.client-ip=209.85.214.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=rivosinc-com.20230601.gappssmtp.com header.i=@rivosinc-com.20230601.gappssmtp.com header.b="limB+3Vs" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-1f9aa039327so22657595ad.2 for ; Fri, 21 Jun 2024 20:43:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1719027784; x=1719632584; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=h/9AP8f9oWnlydulW7IOn40tz3CggsdR+C3pRKzSoM0=; b=limB+3VsiXtN1+7DMjer8ZZ+Jz8ioSaqv717hz3g9cXSag7iE41voJPkILKgFpPUgF ADDoizPlFprMf2kgtUs+Sq6iQZ+viDJKa5HEshbTxLRtvBVP1P4PxM3jl+3CYNVE0JGJ 6aF1UWnZWMoXKMeEF8VUsEbspN+26gECBFOSUfbP8IKUPudaG4ewxSBysThv0Sy06q8a ZEi2Yfdx2b+53gcEqi64cTnK8tzPOn8NLutbefhTbx9SkDuscZdlgNSCRyxmPxtSAfmv nYmZKPBekR46csdaCqLXLXZGIo+URJLv7y6PwxCkdPG4lEQNZul/FtX9NqaOBW27odrq paMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719027784; x=1719632584; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=h/9AP8f9oWnlydulW7IOn40tz3CggsdR+C3pRKzSoM0=; b=A21N0KZPniHG1XgeLqXARwEUKqc5k8DamLUlbV0jWvgdNxvMAWXNNBov6dcvunWAUs zcAzvkFQ3P/tfbTepGglncpQRvr4+hgTJjKGd1WZHSYmBfgEFbxfyF/kLg2kcmGnAPa/ CCj8hmVoi/i3abceN2oLrrFiDElDXFWjlU27I+0/pEt1wa4VHYyYnCLntMc9AYZCnmPv 8Tywc6kFO0Xu8DLFgMXe2qBUrPWycBOifA1ARM6BMgmlCO8YnFrZ8sFdlC4qZ4kS/edF pd5XdjnjzUUTrsHq9MkaqZDl1yM1pYYaDk4WTgWVDjovcSorEl7KStVof2lMdiaMQYyD 3kTQ== X-Forwarded-Encrypted: i=1; AJvYcCWxSkSGw5jo32LxIbfgWTH4cP5x2w1tAHCT7/5nDMrMhjOuc2TSS/ESLSw14ZI9atT8hGIFoUeVNNhFB/uuZ5ABFLAI4rNk3Njc X-Gm-Message-State: AOJu0Yw3j+AD+KU3ufxVdME+vP6pLonzuR861+ll8r+m5vVoQMB7MlQi dcqtR8kdV4n6uBZoYJxdva2zV15sh8+OI6mAtOBk5qK6/tZqqzes8TQHRmZafxA= X-Google-Smtp-Source: AGHT+IFnH3cx78e2DnhyAAhYdYmgHcrINAoIi2vO4P6W4liQvBS+Wi4yLniRtuSQUuVrAUzG0K7r+g== X-Received: by 2002:a17:903:32c9:b0:1f9:bece:4a3c with SMTP id d9443c01a7336-1f9bece54bfmr100442475ad.2.1719027784380; Fri, 21 Jun 2024 20:43:04 -0700 (PDT) Received: from ghost ([2601:647:5700:6860:42ed:862d:aca2:ce0a]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1f9eb3d5bf2sm21643515ad.189.2024.06.21.20.43.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jun 2024 20:43:03 -0700 (PDT) Date: Fri, 21 Jun 2024 20:43:01 -0700 From: Charlie Jenkins To: Jisheng Zhang Cc: Paul Walmsley , Palmer Dabbelt , Albert Ou , Ard Biesheuvel , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org Subject: Re: [PATCH] riscv: enable HAVE_ARCH_STACKLEAK Message-ID: References: <20240617123029.723-1-jszhang@kernel.org> Precedence: bulk X-Mailing-List: linux-efi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Sat, Jun 22, 2024 at 08:45:16AM +0800, Jisheng Zhang wrote: > On Fri, Jun 21, 2024 at 03:10:42PM -0700, Charlie Jenkins wrote: > > On Mon, Jun 17, 2024 at 08:30:29PM +0800, Jisheng Zhang wrote: > > > Add support for the stackleak feature. Whenever the kernel returns to user > > > space the kernel stack is filled with a poison value. > > > > > > At the same time, disables the plugin in EFI stub code because EFI stub > > > is out of scope for the protection. > > > > > > Tested on qemu and milkv duo: > > > / # echo STACKLEAK_ERASING > /sys/kernel/debug/provoke-crash/DIRECT > > > [ 38.675575] lkdtm: Performing direct entry STACKLEAK_ERASING > > > [ 38.678448] lkdtm: stackleak stack usage: > > > [ 38.678448] high offset: 288 bytes > > > [ 38.678448] current: 496 bytes > > > [ 38.678448] lowest: 1328 bytes > > > [ 38.678448] tracked: 1328 bytes > > > [ 38.678448] untracked: 448 bytes > > > [ 38.678448] poisoned: 14312 bytes > > > [ 38.678448] low offset: 8 bytes > > > [ 38.689887] lkdtm: OK: the rest of the thread stack is properly erased > > > > > > Signed-off-by: Jisheng Zhang > > > --- > > > arch/riscv/Kconfig | 1 + > > > arch/riscv/kernel/entry.S | 4 ++++ > > > drivers/firmware/efi/libstub/Makefile | 3 ++- > > > 3 files changed, 7 insertions(+), 1 deletion(-) > > > > > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig > > > index 0525ee2d63c7..9cbfdffec96c 100644 > > > --- a/arch/riscv/Kconfig > > > +++ b/arch/riscv/Kconfig > > > @@ -118,6 +118,7 @@ config RISCV > > > select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT > > > select HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET > > > select HAVE_ARCH_SECCOMP_FILTER > > > + select HAVE_ARCH_STACKLEAK > > > > When this is selected, stackleak.h include > > arch/riscv/include/asm/thread_info.h without sizes.h and I hit: > > > > ./arch/riscv/include/asm/thread_info.h:30:33: error: ‘SZ_4K’ undeclared here (not in a function) > > 30 | #define OVERFLOW_STACK_SIZE SZ_4K > > | ^~~~~ > > > > Adding "#include " to thread_info.h resolves the issue. > > I am testing this based on 6.10-rc4. Did you encounter this? > > I didn't meet this kind of compiler error when testing. Mind > to share your .config file? It looks strange. The .config exceeds the mailing list character limit, but here is the defconfig created with savedefconfig. It is just defconfig + CONFIG_GCC_PLUGIN_STACKLEAK with modules removed. CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y CONFIG_NO_HZ_IDLE=y CONFIG_HIGH_RES_TIMERS=y CONFIG_BPF_SYSCALL=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_CGROUPS=y CONFIG_MEMCG=y CONFIG_CGROUP_SCHED=y CONFIG_CFS_BANDWIDTH=y CONFIG_RT_GROUP_SCHED=y CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_HUGETLB=y CONFIG_CPUSETS=y CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y CONFIG_CGROUP_BPF=y CONFIG_NAMESPACES=y CONFIG_USER_NS=y CONFIG_CHECKPOINT_RESTORE=y CONFIG_BLK_DEV_INITRD=y CONFIG_EXPERT=y # CONFIG_SYSFS_SYSCALL is not set CONFIG_PROFILING=y CONFIG_ARCH_MICROCHIP=y CONFIG_ARCH_RENESAS=y CONFIG_ARCH_SIFIVE=y CONFIG_ARCH_SOPHGO=y CONFIG_SOC_STARFIVE=y CONFIG_ARCH_SUNXI=y CONFIG_ARCH_THEAD=y CONFIG_ARCH_VIRT=y CONFIG_ARCH_CANAAN=y CONFIG_SMP=y CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPUFREQ_DT=y CONFIG_VIRTUALIZATION=y CONFIG_ACPI=y CONFIG_JUMP_LABEL=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_SPARSEMEM_MANUAL=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y CONFIG_IP_PNP_BOOTP=y CONFIG_IP_PNP_RARP=y CONFIG_NETFILTER=y CONFIG_NET_SCHED=y CONFIG_NETLINK_DIAG=y CONFIG_NET_L3_MASTER_DEV=y CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y CONFIG_NET_9P=y CONFIG_NET_9P_VIRTIO=y CONFIG_PCI=y CONFIG_PCIEPORTBUS=y CONFIG_PCI_HOST_GENERIC=y CONFIG_PCIE_XILINX=y CONFIG_PCIE_FU740=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_MTD=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y CONFIG_MTD_CFI_ADV_OPTIONS=y CONFIG_MTD_SPI_NOR=y CONFIG_BLK_DEV_LOOP=y CONFIG_VIRTIO_BLK=y CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SR=y CONFIG_SCSI_VIRTIO=y CONFIG_ATA=y CONFIG_SATA_AHCI=y CONFIG_SATA_AHCI_PLATFORM=y CONFIG_MD=y CONFIG_NETDEVICES=y CONFIG_VIRTIO_NET=y CONFIG_MACB=y CONFIG_E1000E=y CONFIG_R8169=y CONFIG_RAVB=y CONFIG_MICREL_PHY=y CONFIG_MICROSEMI_PHY=y CONFIG_INPUT_MOUSEDEV=y CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_DW=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_SERIAL_EARLYCON_RISCV_SBI=y CONFIG_SERIAL_SH_SCI=y CONFIG_VIRTIO_CONSOLE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_VIRTIO=y CONFIG_SPI=y CONFIG_SPI_SIFIVE=y CONFIG_SPI_SUN6I=y # CONFIG_PTP_1588_CLOCK is not set CONFIG_GPIO_SIFIVE=y CONFIG_CPU_THERMAL=y CONFIG_RZG2L_THERMAL=y CONFIG_WATCHDOG=y CONFIG_SUNXI_WATCHDOG=y CONFIG_RENESAS_RZG2LWDT=y CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_GPIO=y CONFIG_FB=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_SOC=y CONFIG_USB=y CONFIG_USB_OTG=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_PLATFORM=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_HCD_PLATFORM=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PLATFORM=y CONFIG_USB_STORAGE=y CONFIG_USB_UAS=y CONFIG_USB_GADGET=y CONFIG_MMC=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MMC_SDHCI_OF_DWCMSHC=y CONFIG_MMC_SDHCI_CADENCE=y CONFIG_MMC_SPI=y CONFIG_MMC_SDHI=y CONFIG_MMC_DW=y CONFIG_MMC_DW_STARFIVE=y CONFIG_MMC_SUNXI=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_SUN6I=y CONFIG_DMADEVICES=y CONFIG_DW_AXI_DMAC=y CONFIG_SYNC_FILE=y CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_BALLOON=y CONFIG_VIRTIO_INPUT=y CONFIG_VIRTIO_MMIO=y CONFIG_CLK_SOPHGO_CV1800=y # CONFIG_CLK_STARFIVE_JH7100_AUDIO is not set # CONFIG_CLK_STARFIVE_JH7110_AON is not set # CONFIG_CLK_STARFIVE_JH7110_STG is not set # CONFIG_CLK_STARFIVE_JH7110_ISP is not set # CONFIG_CLK_STARFIVE_JH7110_VOUT is not set # CONFIG_SUN8I_DE2_CCU is not set CONFIG_RENESAS_OSTM=y CONFIG_MAILBOX=y CONFIG_PCC=y CONFIG_SUN50I_IOMMU=y CONFIG_RPMSG_CHAR=y CONFIG_RPMSG_CTRL=y CONFIG_RPMSG_VIRTIO=y CONFIG_EXTCON=y CONFIG_IIO=y CONFIG_PHY_RCAR_GEN3_USB2=y CONFIG_LIBNVDIMM=y CONFIG_NVMEM_SUNXI_SID=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y CONFIG_AUTOFS_FS=y CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_HUGETLBFS=y # CONFIG_EFIVAR_FS is not set CONFIG_NFS_FS=y CONFIG_NFS_V4=y CONFIG_NFS_V4_1=y CONFIG_NFS_V4_2=y CONFIG_ROOT_NFS=y CONFIG_9P_FS=y CONFIG_NLS_CODEPAGE_437=y CONFIG_SECURITY=y CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_APPARMOR=y CONFIG_DEFAULT_SECURITY_DAC=y CONFIG_GCC_PLUGIN_STACKLEAK=y CONFIG_CRYPTO_USER_API_HASH=y CONFIG_CRYPTO_DEV_VIRTIO=y CONFIG_PRINTK_TIME=y CONFIG_DEBUG_FS=y CONFIG_DEBUG_PAGEALLOC=y CONFIG_SCHED_STACK_END_CHECK=y CONFIG_DEBUG_VM=y CONFIG_DEBUG_VM_PGFLAGS=y CONFIG_DEBUG_MEMORY_INIT=y CONFIG_DEBUG_PER_CPU_MAPS=y CONFIG_SOFTLOCKUP_DETECTOR=y CONFIG_WQ_WATCHDOG=y CONFIG_DEBUG_TIMEKEEPING=y CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_RWSEMS=y CONFIG_DEBUG_ATOMIC_SLEEP=y CONFIG_DEBUG_LIST=y CONFIG_DEBUG_PLIST=y CONFIG_DEBUG_SG=y # CONFIG_RCU_TRACE is not set CONFIG_RCU_EQS_DEBUG=y # CONFIG_FTRACE is not set # CONFIG_RUNTIME_TESTING_MENU is not set CONFIG_MEMTEST=y 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DFC70C27C53 for ; Sat, 22 Jun 2024 03:43:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ptCC7UcN20Qz8byMoh7Zob2eBgjPWdRtls90x2vE+VE=; b=p+Mz+2Cs7raXcY E4W5VtDxRrUH8w549T547dVr0LH9TqnmaZmMjruHvokzPByCiyp0899FwslIZQ7/k37Gf77C/slIU +02j7Qb8iWxLaCMu14yMfx7NBtKP+jwKWWuFmziPyilID3ImvvQN90JXgb+Cvn+YQOAwutYKXSOgH RwH8gv3+MWdDEGvVPpfAz13W88uXn5OY2XWq2RzXY0e4uDJSXLN1Xeee8BiaLmPpkWDXgKoOhYUjO 7Cpw6nfiKgNrf9aThdYMSyUBNM/EIDBNFcN/EJ6m8Fr7n4JL0rQIWwhehHJcH5ERGkvQsVo/NKZ/0 GnOyeCcychyuF8q4t0Mw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sKree-0000000BIKJ-0dmj; Sat, 22 Jun 2024 03:43:08 +0000 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sKreb-0000000BIJe-24Ya for linux-riscv@lists.infradead.org; Sat, 22 Jun 2024 03:43:07 +0000 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-1f64ecb1766so20693695ad.1 for ; Fri, 21 Jun 2024 20:43:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1719027784; x=1719632584; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=h/9AP8f9oWnlydulW7IOn40tz3CggsdR+C3pRKzSoM0=; b=cRewvqbJesskpT3rbV5gajS+mfRUyaZGuGG/7sWT/bPSBWN17Lq4AB+wcFW/w5m9Bb JwHiqqs5W8VDmuWc480f8mwPjJ8XsmbIJJXPGbnKHYuODSHImMWfMQ+Sw5LZFY/V72wo w+dtScbB6OVBRAh/G1cX4Pcn2cAMGo9WR5GreAehOoxjnU4iUk13HvglZmsmFRgAlOm9 ZH+/AVUi3wU3yIMWCviOrGaCG32nj1AqKOz6WNH4hLu2IDI0VLQ0bH1gkCX2wgcBr95B FvZ5NEdqxSSf659/+reetmBfahaZrJS/vAsiCs7g9bRE50DntNAvE6jrDIOqOUUQPL9D DbUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719027784; x=1719632584; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=h/9AP8f9oWnlydulW7IOn40tz3CggsdR+C3pRKzSoM0=; b=kFNGSesuglu0McqhB/yKdWKnLm5wHv0gI+jIMK9I6n5dfzA5h99jzVTunqzHRD6BOI kgNT1ulFUYQeFW35+QJ/twIUgCbfoPNwIeIzTXexNJiNAf08xTsImHZAekN9f7MJaABy 7XToDxrMiX92wcSt1IjSHfrRjvpZjWRAuntDyHKa+DVPo8WG7OJbhG3vh9o+UbIaEo+/ A3Pv62bywRWa8JD0Vb+jf+MG2ElHfYsc2k18omo1ttx1KNnUTz2bk9IzX/Fnqy7E+7HI 9EQb8knYlkyld1rLvr5CQCarlemaaKolo8FoeZ0hCX3h/eExLjm7kgP3v8fyYTAJmmse YBUA== X-Forwarded-Encrypted: i=1; AJvYcCUfVD444g9YsmO0Lxdl+lpwf63fOqKq6ggjZ//X5QNM/+VFFKIAVKeB36+Kl/d4RU4x6jM7q2KQqXZqCa8P//njzskY+JGZK13TXIgMhxR0 X-Gm-Message-State: AOJu0YxTtndRo1dr3vA+iGRHVHw6rQgMUmzscPKBBk6buZ9uPYFOHSKd jysKM7XHVVeYgoIFJBamF1DVVDRDUasvswnl4KuO0bnapqkNRXNuMKfST5r4PL8= X-Google-Smtp-Source: AGHT+IFnH3cx78e2DnhyAAhYdYmgHcrINAoIi2vO4P6W4liQvBS+Wi4yLniRtuSQUuVrAUzG0K7r+g== X-Received: by 2002:a17:903:32c9:b0:1f9:bece:4a3c with SMTP id d9443c01a7336-1f9bece54bfmr100442475ad.2.1719027784380; Fri, 21 Jun 2024 20:43:04 -0700 (PDT) Received: from ghost ([2601:647:5700:6860:42ed:862d:aca2:ce0a]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1f9eb3d5bf2sm21643515ad.189.2024.06.21.20.43.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jun 2024 20:43:03 -0700 (PDT) Date: Fri, 21 Jun 2024 20:43:01 -0700 From: Charlie Jenkins To: Jisheng Zhang Cc: Paul Walmsley , Palmer Dabbelt , Albert Ou , Ard Biesheuvel , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org Subject: Re: [PATCH] riscv: enable HAVE_ARCH_STACKLEAK Message-ID: References: <20240617123029.723-1-jszhang@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240621_204305_693924_2F6B9F43 X-CRM114-Status: GOOD ( 23.26 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gU2F0LCBKdW4gMjIsIDIwMjQgYXQgMDg6NDU6MTZBTSArMDgwMCwgSmlzaGVuZyBaaGFuZyB3 cm90ZToKPiBPbiBGcmksIEp1biAyMSwgMjAyNCBhdCAwMzoxMDo0MlBNIC0wNzAwLCBDaGFybGll IEplbmtpbnMgd3JvdGU6Cj4gPiBPbiBNb24sIEp1biAxNywgMjAyNCBhdCAwODozMDoyOVBNICsw ODAwLCBKaXNoZW5nIFpoYW5nIHdyb3RlOgo+ID4gPiBBZGQgc3VwcG9ydCBmb3IgdGhlIHN0YWNr bGVhayBmZWF0dXJlLiBXaGVuZXZlciB0aGUga2VybmVsIHJldHVybnMgdG8gdXNlcgo+ID4gPiBz cGFjZSB0aGUga2VybmVsIHN0YWNrIGlzIGZpbGxlZCB3aXRoIGEgcG9pc29uIHZhbHVlLgo+ID4g PiAKPiA+ID4gQXQgdGhlIHNhbWUgdGltZSwgZGlzYWJsZXMgdGhlIHBsdWdpbiBpbiBFRkkgc3R1 YiBjb2RlIGJlY2F1c2UgRUZJIHN0dWIKPiA+ID4gaXMgb3V0IG9mIHNjb3BlIGZvciB0aGUgcHJv dGVjdGlvbi4KPiA+ID4gCj4gPiA+IFRlc3RlZCBvbiBxZW11IGFuZCBtaWxrdiBkdW86Cj4gPiA+ IC8gIyBlY2hvIFNUQUNLTEVBS19FUkFTSU5HID4gL3N5cy9rZXJuZWwvZGVidWcvcHJvdm9rZS1j cmFzaC9ESVJFQ1QKPiA+ID4gWyAgIDM4LjY3NTU3NV0gbGtkdG06IFBlcmZvcm1pbmcgZGlyZWN0 IGVudHJ5IFNUQUNLTEVBS19FUkFTSU5HCj4gPiA+IFsgICAzOC42Nzg0NDhdIGxrZHRtOiBzdGFj a2xlYWsgc3RhY2sgdXNhZ2U6Cj4gPiA+IFsgICAzOC42Nzg0NDhdICAgaGlnaCBvZmZzZXQ6IDI4 OCBieXRlcwo+ID4gPiBbICAgMzguNjc4NDQ4XSAgIGN1cnJlbnQ6ICAgICA0OTYgYnl0ZXMKPiA+ ID4gWyAgIDM4LjY3ODQ0OF0gICBsb3dlc3Q6ICAgICAgMTMyOCBieXRlcwo+ID4gPiBbICAgMzgu Njc4NDQ4XSAgIHRyYWNrZWQ6ICAgICAxMzI4IGJ5dGVzCj4gPiA+IFsgICAzOC42Nzg0NDhdICAg dW50cmFja2VkOiAgIDQ0OCBieXRlcwo+ID4gPiBbICAgMzguNjc4NDQ4XSAgIHBvaXNvbmVkOiAg ICAxNDMxMiBieXRlcwo+ID4gPiBbICAgMzguNjc4NDQ4XSAgIGxvdyBvZmZzZXQ6ICA4IGJ5dGVz Cj4gPiA+IFsgICAzOC42ODk4ODddIGxrZHRtOiBPSzogdGhlIHJlc3Qgb2YgdGhlIHRocmVhZCBz dGFjayBpcyBwcm9wZXJseSBlcmFzZWQKPiA+ID4gCj4gPiA+IFNpZ25lZC1vZmYtYnk6IEppc2hl bmcgWmhhbmcgPGpzemhhbmdAa2VybmVsLm9yZz4KPiA+ID4gLS0tCj4gPiA+ICBhcmNoL3Jpc2N2 L0tjb25maWcgICAgICAgICAgICAgICAgICAgIHwgMSArCj4gPiA+ICBhcmNoL3Jpc2N2L2tlcm5l bC9lbnRyeS5TICAgICAgICAgICAgIHwgNCArKysrCj4gPiA+ICBkcml2ZXJzL2Zpcm13YXJlL2Vm aS9saWJzdHViL01ha2VmaWxlIHwgMyArKy0KPiA+ID4gIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9y aXNjdi9LY29uZmlnIGIvYXJjaC9yaXNjdi9LY29uZmlnCj4gPiA+IGluZGV4IDA1MjVlZTJkNjNj Ny4uOWNiZmRmZmVjOTZjIDEwMDY0NAo+ID4gPiAtLS0gYS9hcmNoL3Jpc2N2L0tjb25maWcKPiA+ ID4gKysrIGIvYXJjaC9yaXNjdi9LY29uZmlnCj4gPiA+IEBAIC0xMTgsNiArMTE4LDcgQEAgY29u ZmlnIFJJU0NWCj4gPiA+ICAJc2VsZWN0IEhBVkVfQVJDSF9NTUFQX1JORF9DT01QQVRfQklUUyBp ZiBDT01QQVQKPiA+ID4gIAlzZWxlY3QgSEFWRV9BUkNIX1JBTkRPTUlaRV9LU1RBQ0tfT0ZGU0VU Cj4gPiA+ICAJc2VsZWN0IEhBVkVfQVJDSF9TRUNDT01QX0ZJTFRFUgo+ID4gPiArCXNlbGVjdCBI QVZFX0FSQ0hfU1RBQ0tMRUFLCj4gPiAKPiA+IFdoZW4gdGhpcyBpcyBzZWxlY3RlZCwgc3RhY2ts ZWFrLmggaW5jbHVkZQo+ID4gYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS90aHJlYWRfaW5mby5oIHdp dGhvdXQgc2l6ZXMuaCBhbmQgSSBoaXQ6Cj4gPiAKPiA+IC4vYXJjaC9yaXNjdi9pbmNsdWRlL2Fz bS90aHJlYWRfaW5mby5oOjMwOjMzOiBlcnJvcjog4oCYU1pfNEvigJkgdW5kZWNsYXJlZCBoZXJl IChub3QgaW4gYSBmdW5jdGlvbikKPiA+ICAgIDMwIHwgI2RlZmluZSBPVkVSRkxPV19TVEFDS19T SVpFICAgICBTWl80Swo+ID4gICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+Cj4gPiAKPiA+IEFkZGluZyAiI2luY2x1ZGUgPGxpbnV4L3NpemVzLmg+IiB0byB0aHJl YWRfaW5mby5oIHJlc29sdmVzIHRoZSBpc3N1ZS4KPiA+IEkgYW0gdGVzdGluZyB0aGlzIGJhc2Vk IG9uIDYuMTAtcmM0LiBEaWQgeW91IGVuY291bnRlciB0aGlzPwo+IAo+IEkgZGlkbid0IG1lZXQg dGhpcyBraW5kIG9mIGNvbXBpbGVyIGVycm9yIHdoZW4gdGVzdGluZy4gTWluZAo+IHRvIHNoYXJl IHlvdXIgLmNvbmZpZyBmaWxlPyBJdCBsb29rcyBzdHJhbmdlLgoKVGhlIC5jb25maWcgZXhjZWVk cyB0aGUgbWFpbGluZyBsaXN0IGNoYXJhY3RlciBsaW1pdCwgYnV0IGhlcmUgaXMgdGhlCmRlZmNv bmZpZyBjcmVhdGVkIHdpdGggc2F2ZWRlZmNvbmZpZy4gSXQgaXMganVzdCBkZWZjb25maWcgKwpD T05GSUdfR0NDX1BMVUdJTl9TVEFDS0xFQUsgd2l0aCBtb2R1bGVzIHJlbW92ZWQuIAoKQ09ORklH X1NZU1ZJUEM9eQpDT05GSUdfUE9TSVhfTVFVRVVFPXkKQ09ORklHX05PX0haX0lETEU9eQpDT05G SUdfSElHSF9SRVNfVElNRVJTPXkKQ09ORklHX0JQRl9TWVNDQUxMPXkKQ09ORklHX0lLQ09ORklH PXkKQ09ORklHX0lLQ09ORklHX1BST0M9eQpDT05GSUdfQ0dST1VQUz15CkNPTkZJR19NRU1DRz15 CkNPTkZJR19DR1JPVVBfU0NIRUQ9eQpDT05GSUdfQ0ZTX0JBTkRXSURUSD15CkNPTkZJR19SVF9H Uk9VUF9TQ0hFRD15CkNPTkZJR19DR1JPVVBfUElEUz15CkNPTkZJR19DR1JPVVBfRlJFRVpFUj15 CkNPTkZJR19DR1JPVVBfSFVHRVRMQj15CkNPTkZJR19DUFVTRVRTPXkKQ09ORklHX0NHUk9VUF9E RVZJQ0U9eQpDT05GSUdfQ0dST1VQX0NQVUFDQ1Q9eQpDT05GSUdfQ0dST1VQX1BFUkY9eQpDT05G SUdfQ0dST1VQX0JQRj15CkNPTkZJR19OQU1FU1BBQ0VTPXkKQ09ORklHX1VTRVJfTlM9eQpDT05G SUdfQ0hFQ0tQT0lOVF9SRVNUT1JFPXkKQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKQ09ORklHX0VY UEVSVD15CiMgQ09ORklHX1NZU0ZTX1NZU0NBTEwgaXMgbm90IHNldApDT05GSUdfUFJPRklMSU5H PXkKQ09ORklHX0FSQ0hfTUlDUk9DSElQPXkKQ09ORklHX0FSQ0hfUkVORVNBUz15CkNPTkZJR19B UkNIX1NJRklWRT15CkNPTkZJR19BUkNIX1NPUEhHTz15CkNPTkZJR19TT0NfU1RBUkZJVkU9eQpD T05GSUdfQVJDSF9TVU5YST15CkNPTkZJR19BUkNIX1RIRUFEPXkKQ09ORklHX0FSQ0hfVklSVD15 CkNPTkZJR19BUkNIX0NBTkFBTj15CkNPTkZJR19TTVA9eQpDT05GSUdfQ1BVX0ZSRVE9eQpDT05G SUdfQ1BVX0ZSRVFfU1RBVD15CkNPTkZJR19DUFVfRlJFUV9HT1ZfVVNFUlNQQUNFPXkKQ09ORklH X0NQVV9GUkVRX0dPVl9PTkRFTUFORD15CkNPTkZJR19DUFVGUkVRX0RUPXkKQ09ORklHX1ZJUlRV QUxJWkFUSU9OPXkKQ09ORklHX0FDUEk9eQpDT05GSUdfSlVNUF9MQUJFTD15CkNPTkZJR19NT0RV TEVTPXkKQ09ORklHX01PRFVMRV9VTkxPQUQ9eQpDT05GSUdfU1BBUlNFTUVNX01BTlVBTD15CkNP TkZJR19ORVQ9eQpDT05GSUdfUEFDS0VUPXkKQ09ORklHX0lQX01VTFRJQ0FTVD15CkNPTkZJR19J UF9BRFZBTkNFRF9ST1VURVI9eQpDT05GSUdfSVBfUE5QPXkKQ09ORklHX0lQX1BOUF9ESENQPXkK Q09ORklHX0lQX1BOUF9CT09UUD15CkNPTkZJR19JUF9QTlBfUkFSUD15CkNPTkZJR19ORVRGSUxU RVI9eQpDT05GSUdfTkVUX1NDSEVEPXkKQ09ORklHX05FVExJTktfRElBRz15CkNPTkZJR19ORVRf TDNfTUFTVEVSX0RFVj15CkNPTkZJR19DR1JPVVBfTkVUX1BSSU89eQpDT05GSUdfQ0dST1VQX05F VF9DTEFTU0lEPXkKQ09ORklHX05FVF85UD15CkNPTkZJR19ORVRfOVBfVklSVElPPXkKQ09ORklH X1BDST15CkNPTkZJR19QQ0lFUE9SVEJVUz15CkNPTkZJR19QQ0lfSE9TVF9HRU5FUklDPXkKQ09O RklHX1BDSUVfWElMSU5YPXkKQ09ORklHX1BDSUVfRlU3NDA9eQpDT05GSUdfREVWVE1QRlM9eQpD T05GSUdfREVWVE1QRlNfTU9VTlQ9eQpDT05GSUdfTVREPXkKQ09ORklHX01URF9CTE9DSz15CkNP TkZJR19NVERfQ0ZJPXkKQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQpDT05GSUdfTVREX1NQ SV9OT1I9eQpDT05GSUdfQkxLX0RFVl9MT09QPXkKQ09ORklHX1ZJUlRJT19CTEs9eQpDT05GSUdf QkxLX0RFVl9TRD15CkNPTkZJR19CTEtfREVWX1NSPXkKQ09ORklHX1NDU0lfVklSVElPPXkKQ09O RklHX0FUQT15CkNPTkZJR19TQVRBX0FIQ0k9eQpDT05GSUdfU0FUQV9BSENJX1BMQVRGT1JNPXkK Q09ORklHX01EPXkKQ09ORklHX05FVERFVklDRVM9eQpDT05GSUdfVklSVElPX05FVD15CkNPTkZJ R19NQUNCPXkKQ09ORklHX0UxMDAwRT15CkNPTkZJR19SODE2OT15CkNPTkZJR19SQVZCPXkKQ09O RklHX01JQ1JFTF9QSFk9eQpDT05GSUdfTUlDUk9TRU1JX1BIWT15CkNPTkZJR19JTlBVVF9NT1VT RURFVj15CkNPTkZJR19TRVJJQUxfODI1MD15CkNPTkZJR19TRVJJQUxfODI1MF9DT05TT0xFPXkK Q09ORklHX1NFUklBTF84MjUwX0RXPXkKQ09ORklHX1NFUklBTF9PRl9QTEFURk9STT15CkNPTkZJ R19TRVJJQUxfRUFSTFlDT05fUklTQ1ZfU0JJPXkKQ09ORklHX1NFUklBTF9TSF9TQ0k9eQpDT05G SUdfVklSVElPX0NPTlNPTEU9eQpDT05GSUdfSFdfUkFORE9NPXkKQ09ORklHX0hXX1JBTkRPTV9W SVJUSU89eQpDT05GSUdfU1BJPXkKQ09ORklHX1NQSV9TSUZJVkU9eQpDT05GSUdfU1BJX1NVTjZJ PXkKIyBDT05GSUdfUFRQXzE1ODhfQ0xPQ0sgaXMgbm90IHNldApDT05GSUdfR1BJT19TSUZJVkU9 eQpDT05GSUdfQ1BVX1RIRVJNQUw9eQpDT05GSUdfUlpHMkxfVEhFUk1BTD15CkNPTkZJR19XQVRD SERPRz15CkNPTkZJR19TVU5YSV9XQVRDSERPRz15CkNPTkZJR19SRU5FU0FTX1JaRzJMV0RUPXkK Q09ORklHX1JFR1VMQVRPUj15CkNPTkZJR19SRUdVTEFUT1JfRklYRURfVk9MVEFHRT15CkNPTkZJ R19SRUdVTEFUT1JfR1BJTz15CkNPTkZJR19GQj15CkNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xF PXkKQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfREVURUNUX1BSSU1BUlk9eQpDT05GSUdfU09V TkQ9eQpDT05GSUdfU05EPXkKQ09ORklHX1NORF9TT0M9eQpDT05GSUdfVVNCPXkKQ09ORklHX1VT Ql9PVEc9eQpDT05GSUdfVVNCX1hIQ0lfSENEPXkKQ09ORklHX1VTQl9YSENJX1BMQVRGT1JNPXkK Q09ORklHX1VTQl9FSENJX0hDRD15CkNPTkZJR19VU0JfRUhDSV9IQ0RfUExBVEZPUk09eQpDT05G SUdfVVNCX09IQ0lfSENEPXkKQ09ORklHX1VTQl9PSENJX0hDRF9QTEFURk9STT15CkNPTkZJR19V U0JfU1RPUkFHRT15CkNPTkZJR19VU0JfVUFTPXkKQ09ORklHX1VTQl9HQURHRVQ9eQpDT05GSUdf TU1DPXkKQ09ORklHX01NQ19TREhDST15CkNPTkZJR19NTUNfU0RIQ0lfUExURk09eQpDT05GSUdf TU1DX1NESENJX09GX0RXQ01TSEM9eQpDT05GSUdfTU1DX1NESENJX0NBREVOQ0U9eQpDT05GSUdf TU1DX1NQST15CkNPTkZJR19NTUNfU0RIST15CkNPTkZJR19NTUNfRFc9eQpDT05GSUdfTU1DX0RX X1NUQVJGSVZFPXkKQ09ORklHX01NQ19TVU5YST15CkNPTkZJR19SVENfQ0xBU1M9eQpDT05GSUdf UlRDX0RSVl9TVU42ST15CkNPTkZJR19ETUFERVZJQ0VTPXkKQ09ORklHX0RXX0FYSV9ETUFDPXkK Q09ORklHX1NZTkNfRklMRT15CkNPTkZJR19WSVJUSU9fUENJPXkKQ09ORklHX1ZJUlRJT19CQUxM T09OPXkKQ09ORklHX1ZJUlRJT19JTlBVVD15CkNPTkZJR19WSVJUSU9fTU1JTz15CkNPTkZJR19D TEtfU09QSEdPX0NWMTgwMD15CiMgQ09ORklHX0NMS19TVEFSRklWRV9KSDcxMDBfQVVESU8gaXMg bm90IHNldAojIENPTkZJR19DTEtfU1RBUkZJVkVfSkg3MTEwX0FPTiBpcyBub3Qgc2V0CiMgQ09O RklHX0NMS19TVEFSRklWRV9KSDcxMTBfU1RHIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0xLX1NUQVJG SVZFX0pINzExMF9JU1AgaXMgbm90IHNldAojIENPTkZJR19DTEtfU1RBUkZJVkVfSkg3MTEwX1ZP VVQgaXMgbm90IHNldAojIENPTkZJR19TVU44SV9ERTJfQ0NVIGlzIG5vdCBzZXQKQ09ORklHX1JF TkVTQVNfT1NUTT15CkNPTkZJR19NQUlMQk9YPXkKQ09ORklHX1BDQz15CkNPTkZJR19TVU41MElf SU9NTVU9eQpDT05GSUdfUlBNU0dfQ0hBUj15CkNPTkZJR19SUE1TR19DVFJMPXkKQ09ORklHX1JQ TVNHX1ZJUlRJTz15CkNPTkZJR19FWFRDT049eQpDT05GSUdfSUlPPXkKQ09ORklHX1BIWV9SQ0FS X0dFTjNfVVNCMj15CkNPTkZJR19MSUJOVkRJTU09eQpDT05GSUdfTlZNRU1fU1VOWElfU0lEPXkK Q09ORklHX0VYVDRfRlM9eQpDT05GSUdfRVhUNF9GU19QT1NJWF9BQ0w9eQpDT05GSUdfRVhUNF9G U19TRUNVUklUWT15CkNPTkZJR19BVVRPRlNfRlM9eQpDT05GSUdfSVNPOTY2MF9GUz15CkNPTkZJ R19KT0xJRVQ9eQpDT05GSUdfWklTT0ZTPXkKQ09ORklHX01TRE9TX0ZTPXkKQ09ORklHX1ZGQVRf RlM9eQpDT05GSUdfVE1QRlM9eQpDT05GSUdfVE1QRlNfUE9TSVhfQUNMPXkKQ09ORklHX0hVR0VU TEJGUz15CiMgQ09ORklHX0VGSVZBUl9GUyBpcyBub3Qgc2V0CkNPTkZJR19ORlNfRlM9eQpDT05G SUdfTkZTX1Y0PXkKQ09ORklHX05GU19WNF8xPXkKQ09ORklHX05GU19WNF8yPXkKQ09ORklHX1JP T1RfTkZTPXkKQ09ORklHXzlQX0ZTPXkKQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQpDT05GSUdf U0VDVVJJVFk9eQpDT05GSUdfU0VDVVJJVFlfU0VMSU5VWD15CkNPTkZJR19TRUNVUklUWV9BUFBB Uk1PUj15CkNPTkZJR19ERUZBVUxUX1NFQ1VSSVRZX0RBQz15CkNPTkZJR19HQ0NfUExVR0lOX1NU QUNLTEVBSz15CkNPTkZJR19DUllQVE9fVVNFUl9BUElfSEFTSD15CkNPTkZJR19DUllQVE9fREVW X1ZJUlRJTz15CkNPTkZJR19QUklOVEtfVElNRT15CkNPTkZJR19ERUJVR19GUz15CkNPTkZJR19E RUJVR19QQUdFQUxMT0M9eQpDT05GSUdfU0NIRURfU1RBQ0tfRU5EX0NIRUNLPXkKQ09ORklHX0RF QlVHX1ZNPXkKQ09ORklHX0RFQlVHX1ZNX1BHRkxBR1M9eQpDT05GSUdfREVCVUdfTUVNT1JZX0lO SVQ9eQpDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTPXkKQ09ORklHX1NPRlRMT0NLVVBfREVURUNU T1I9eQpDT05GSUdfV1FfV0FUQ0hET0c9eQpDT05GSUdfREVCVUdfVElNRUtFRVBJTkc9eQpDT05G SUdfREVCVUdfUlRfTVVURVhFUz15CkNPTkZJR19ERUJVR19TUElOTE9DSz15CkNPTkZJR19ERUJV R19NVVRFWEVTPXkKQ09ORklHX0RFQlVHX1JXU0VNUz15CkNPTkZJR19ERUJVR19BVE9NSUNfU0xF RVA9eQpDT05GSUdfREVCVUdfTElTVD15CkNPTkZJR19ERUJVR19QTElTVD15CkNPTkZJR19ERUJV R19TRz15CiMgQ09ORklHX1JDVV9UUkFDRSBpcyBub3Qgc2V0CkNPTkZJR19SQ1VfRVFTX0RFQlVH PXkKIyBDT05GSUdfRlRSQUNFIGlzIG5vdCBzZXQKIyBDT05GSUdfUlVOVElNRV9URVNUSU5HX01F TlUgaXMgbm90IHNldApDT05GSUdfTUVNVEVTVD15CgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4LXJp c2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1yaXNjdgo=