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 X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham 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 0FEE9C433DB for ; Mon, 8 Feb 2021 13:35:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A55B164DD5 for ; Mon, 8 Feb 2021 13:35:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230384AbhBHNfb (ORCPT ); Mon, 8 Feb 2021 08:35:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59310 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230055AbhBHNfZ (ORCPT ); Mon, 8 Feb 2021 08:35:25 -0500 Received: from mail-oi1-x236.google.com (mail-oi1-x236.google.com [IPv6:2607:f8b0:4864:20::236]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 58672C061788 for ; Mon, 8 Feb 2021 05:34:45 -0800 (PST) Received: by mail-oi1-x236.google.com with SMTP id l3so5623965oii.2 for ; Mon, 08 Feb 2021 05:34:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=+rh3VIoqOrGwusI9h0cuVUIU9NsYcE7oeMVzHyfRzoI=; b=hB1ukZ3hoMZGhAllFBErV7N1AFMTquB7yDzf6rqITLG3vEHpPskWBPsoGr/LJ4FDs2 JBGrfhoJRkitAHftGJgKHMHyaoy/8UIAZVWPTbK9GwwWpbJAs8jOquMkV+6Iyt49/JK/ dm60/8Qc15QlQaSmYBOCpojXt93LlqHmyj1K8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=+rh3VIoqOrGwusI9h0cuVUIU9NsYcE7oeMVzHyfRzoI=; b=XsTUKsUB7/BRFemewX0O5L0zWj1kpinZboUoLI42F62fdvjUc9Kmey/EUfJVy8m+fl Eah+d69eCjMsqZZIhmjl1MUaClv3/foiZfqbTrSX8C7gpbR0RevXEOrKuoe09k1+oZbm G68fao39uUx2UwJVnOwRrgFwyLVc566Hoie9YttWB10mDkFnXoAp24qpA/4PWEWfyUea G/HVC9K27aWPGbOyffHF/RYGVF5HNO7hZ/q/98Y41L1PwO3NFgJSFa2pehr/rhonp6gQ jd/qpBwh533RQCsIFeUmtfJOg/hF3mZAyrTOzI1ylUtVPA27oigAKEn+d/d2LglilcvC Yxig== X-Gm-Message-State: AOAM5312CZdHugVg1DqELGJAYXzC9DF2x+P9wiQRX40Rgc5Hc7Z2aKud xCNX2dDLM0YtAKLLoaTQCT4Zo+TlRmWykTcZH23Eig== X-Google-Smtp-Source: ABdhPJzcCBZ5ebH9ls50JbefCANUYJj+tEOE+UxhLQz0ddtWCRZfXoEeuq24S9E7Uz2YBp0mSSwxHV1MwcuEgMnzwdg= X-Received: by 2002:a05:6808:294:: with SMTP id z20mr3250377oic.14.1612791284710; Mon, 08 Feb 2021 05:34:44 -0800 (PST) MIME-Version: 1.0 References: <20210205163752.11932-1-chris@chris-wilson.co.uk> <202102051030.1AF01772D@keescook> <5a940e13-8996-e9e5-251e-a9af294a39ff@daenzer.net> In-Reply-To: <5a940e13-8996-e9e5-251e-a9af294a39ff@daenzer.net> From: Daniel Vetter Date: Mon, 8 Feb 2021 14:34:33 +0100 Message-ID: Subject: Re: [PATCH] kernel: Expose SYS_kcmp by default To: =?UTF-8?Q?Michel_D=C3=A4nzer?= Cc: Kees Cook , "airlied@gmail.com" , Will Drewry , Jann Horn , intel-gfx , Linux Kernel Mailing List , dri-devel , Andy Lutomirski , Andrew Morton , Chris Wilson Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 8, 2021 at 12:49 PM Michel D=C3=A4nzer wro= te: > > On 2021-02-05 9:53 p.m., Daniel Vetter wrote: > > On Fri, Feb 5, 2021 at 7:37 PM Kees Cook wrote: > >> > >> On Fri, Feb 05, 2021 at 04:37:52PM +0000, Chris Wilson wrote: > >>> Userspace has discovered the functionality offered by SYS_kcmp and ha= s > >>> started to depend upon it. In particular, Mesa uses SYS_kcmp for > >>> os_same_file_description() in order to identify when two fd (e.g. dev= ice > >>> or dmabuf) point to the same struct file. Since they depend on it for > >>> core functionality, lift SYS_kcmp out of the non-default > >>> CONFIG_CHECKPOINT_RESTORE into the selectable syscall category. > >>> > >>> Signed-off-by: Chris Wilson > >>> Cc: Kees Cook > >>> Cc: Andy Lutomirski > >>> Cc: Will Drewry > >>> Cc: Andrew Morton > >>> Cc: Dave Airlie > >>> Cc: Daniel Vetter > >>> Cc: Lucas Stach > >>> --- > >>> init/Kconfig | 11 +++++++++++ > >>> kernel/Makefile | 2 +- > >>> tools/testing/selftests/seccomp/seccomp_bpf.c | 2 +- > >>> 3 files changed, 13 insertions(+), 2 deletions(-) > >>> > >>> diff --git a/init/Kconfig b/init/Kconfig > >>> index b77c60f8b963..f62fca13ac5b 100644 > >>> --- a/init/Kconfig > >>> +++ b/init/Kconfig > >>> @@ -1194,6 +1194,7 @@ endif # NAMESPACES > >>> config CHECKPOINT_RESTORE > >>> bool "Checkpoint/restore support" > >>> select PROC_CHILDREN > >>> + select KCMP > >>> default n > >>> help > >>> Enables additional kernel features in a sake of checkpoint/r= estore. > >>> @@ -1737,6 +1738,16 @@ config ARCH_HAS_MEMBARRIER_CALLBACKS > >>> config ARCH_HAS_MEMBARRIER_SYNC_CORE > >>> bool > >>> > >>> +config KCMP > >>> + bool "Enable kcmp() system call" if EXPERT > >>> + default y > >> > >> I would expect this to be not default-y, especially if > >> CHECKPOINT_RESTORE does a "select" on it. > >> > >> This is a really powerful syscall, but it is bounded by ptrace access > >> controls, and uses pointer address obfuscation, so it may be okay to > >> expose this. As it is, at least Ubuntu already has > >> CONFIG_CHECKPOINT_RESTORE, so really, there's probably not much > >> difference on exposure. > >> > >> So, if you drop the "default y", I'm fine with this. > > > > It was maybe stupid, but our userspace started relying on fd > > comaprison through sys_kcomp. So for better or worse, if you want to > > run the mesa3d gl/vk stacks, you need this. > > That's overstating things somewhat. The vast majority of applications > will work fine regardless (as they did before Mesa started using this > functionality). Only some special ones will run into issues, because the > user-space drivers incorrectly assume two file descriptors reference > different descriptions. > > > > Was maybe not the brighest ideas, but since enough distros had this > > enabled by defaults, > > Right, that (and the above) is why I considered it fair game to use. > What should I have done instead? (TBH I was surprised that this > functionality isn't generally available) Yeah that one is fine, but I thought we've discussed (irc or something) more uses for de-duping dma-buf and stuff like that. But quick grep says that hasn't landed yet, so I got a bit confused (or just dreamt). Looking at this again I'm kinda surprised the drmfd de-duping blows up on normal linux distros, but I guess it can all happen. > > it wasn't really discovered, and now we're > > shipping this everywhere. > > You're making it sound like this snuck in secretly somehow, which is not > true of course. > > > > Ofc we can leave the default n, but the select if CONFIG_DRM is > > unfortunately needed I think. > > Per above, not sure this is really true. We seem to be going boom on linux distros now, maybe userspace got more creative in abusing stuff? The entire thing is small enough that imo we don't really have to care, e.g. we also unconditionally select dma-buf, despite that on most systems there's only 1 gpu, and you're never going to end up with a buffer sharing case that needs any of that code (aside from the "here's an fd" part). But I guess we can limit to just KCMP_FILE like you suggest in another reply. Just feels a bit like overkill. -Daniel --=20 Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch 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 X-Spam-Level: X-Spam-Status: No, score=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham 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 3BA36C433E0 for ; Mon, 8 Feb 2021 13:34:47 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 67B9364E27 for ; Mon, 8 Feb 2021 13:34:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 67B9364E27 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id ADEB66E8D5; Mon, 8 Feb 2021 13:34:45 +0000 (UTC) Received: from mail-oi1-x232.google.com (mail-oi1-x232.google.com [IPv6:2607:f8b0:4864:20::232]) by gabe.freedesktop.org (Postfix) with ESMTPS id 53B816E8D6 for ; Mon, 8 Feb 2021 13:34:45 +0000 (UTC) Received: by mail-oi1-x232.google.com with SMTP id k204so14005822oih.3 for ; Mon, 08 Feb 2021 05:34:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=+rh3VIoqOrGwusI9h0cuVUIU9NsYcE7oeMVzHyfRzoI=; b=hB1ukZ3hoMZGhAllFBErV7N1AFMTquB7yDzf6rqITLG3vEHpPskWBPsoGr/LJ4FDs2 JBGrfhoJRkitAHftGJgKHMHyaoy/8UIAZVWPTbK9GwwWpbJAs8jOquMkV+6Iyt49/JK/ dm60/8Qc15QlQaSmYBOCpojXt93LlqHmyj1K8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=+rh3VIoqOrGwusI9h0cuVUIU9NsYcE7oeMVzHyfRzoI=; b=tB/9YpfFh+x8vtlTAGH+IAPaAJmrkQ3rxg9oGr5nEXZFPhtjd+ST5g1iMOJOG0/pHV xQ6V/xJr5o+C4+hZF3b5JJ2qz4TH5c/AJ12N5/+jW1BGcG09HOVVL4BBUJOMAF9vY4Z0 Um71tDKBjRzDkryFy8QG2aG+d/T7bDX7UjScEgdrUOBi+YqhJo9xizeuNZGC8BvoUZuf lLtpQo1GTpCxsLSQAwMJ5oKuqSTSXKgZ38FAwUl/yMis8KPuvZbJDjgOe04zkHfHiUtQ TfDpqE9+wltVKyqYcSIJESpVe8p6TQ7aS631mKQv5WoayIV/TlG31jiZzCGcqsAR48OD 0mbg== X-Gm-Message-State: AOAM533Ap9EY0w0Yk1lUiJpLf1XTCo6zd00Ibnd4l/j/7DUQWLtnLI1k cFHfeU0vH3cjL6JnmJs83zW+T3wxXKTvSANXeDd0yQ== X-Google-Smtp-Source: ABdhPJzcCBZ5ebH9ls50JbefCANUYJj+tEOE+UxhLQz0ddtWCRZfXoEeuq24S9E7Uz2YBp0mSSwxHV1MwcuEgMnzwdg= X-Received: by 2002:a05:6808:294:: with SMTP id z20mr3250377oic.14.1612791284710; Mon, 08 Feb 2021 05:34:44 -0800 (PST) MIME-Version: 1.0 References: <20210205163752.11932-1-chris@chris-wilson.co.uk> <202102051030.1AF01772D@keescook> <5a940e13-8996-e9e5-251e-a9af294a39ff@daenzer.net> In-Reply-To: <5a940e13-8996-e9e5-251e-a9af294a39ff@daenzer.net> From: Daniel Vetter Date: Mon, 8 Feb 2021 14:34:33 +0100 Message-ID: Subject: Re: [PATCH] kernel: Expose SYS_kcmp by default To: =?UTF-8?Q?Michel_D=C3=A4nzer?= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Will Drewry , Kees Cook , Jann Horn , intel-gfx , Linux Kernel Mailing List , dri-devel , Andy Lutomirski , Andrew Morton , Chris Wilson Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gTW9uLCBGZWIgOCwgMjAyMSBhdCAxMjo0OSBQTSBNaWNoZWwgRMOkbnplciA8bWljaGVsQGRh ZW56ZXIubmV0PiB3cm90ZToKPgo+IE9uIDIwMjEtMDItMDUgOTo1MyBwLm0uLCBEYW5pZWwgVmV0 dGVyIHdyb3RlOgo+ID4gT24gRnJpLCBGZWIgNSwgMjAyMSBhdCA3OjM3IFBNIEtlZXMgQ29vayA8 a2Vlc2Nvb2tAY2hyb21pdW0ub3JnPiB3cm90ZToKPiA+Pgo+ID4+IE9uIEZyaSwgRmViIDA1LCAy MDIxIGF0IDA0OjM3OjUyUE0gKzAwMDAsIENocmlzIFdpbHNvbiB3cm90ZToKPiA+Pj4gVXNlcnNw YWNlIGhhcyBkaXNjb3ZlcmVkIHRoZSBmdW5jdGlvbmFsaXR5IG9mZmVyZWQgYnkgU1lTX2tjbXAg YW5kIGhhcwo+ID4+PiBzdGFydGVkIHRvIGRlcGVuZCB1cG9uIGl0LiBJbiBwYXJ0aWN1bGFyLCBN ZXNhIHVzZXMgU1lTX2tjbXAgZm9yCj4gPj4+IG9zX3NhbWVfZmlsZV9kZXNjcmlwdGlvbigpIGlu IG9yZGVyIHRvIGlkZW50aWZ5IHdoZW4gdHdvIGZkIChlLmcuIGRldmljZQo+ID4+PiBvciBkbWFi dWYpIHBvaW50IHRvIHRoZSBzYW1lIHN0cnVjdCBmaWxlLiBTaW5jZSB0aGV5IGRlcGVuZCBvbiBp dCBmb3IKPiA+Pj4gY29yZSBmdW5jdGlvbmFsaXR5LCBsaWZ0IFNZU19rY21wIG91dCBvZiB0aGUg bm9uLWRlZmF1bHQKPiA+Pj4gQ09ORklHX0NIRUNLUE9JTlRfUkVTVE9SRSBpbnRvIHRoZSBzZWxl Y3RhYmxlIHN5c2NhbGwgY2F0ZWdvcnkuCj4gPj4+Cj4gPj4+IFNpZ25lZC1vZmYtYnk6IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ID4+PiBDYzogS2VlcyBDb29rIDxr ZWVzY29va0BjaHJvbWl1bS5vcmc+Cj4gPj4+IENjOiBBbmR5IEx1dG9taXJza2kgPGx1dG9AYW1h Y2FwaXRhbC5uZXQ+Cj4gPj4+IENjOiBXaWxsIERyZXdyeSA8d2FkQGNocm9taXVtLm9yZz4KPiA+ Pj4gQ2M6IEFuZHJldyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+Cj4gPj4+IENj OiBEYXZlIEFpcmxpZSA8YWlybGllZEBnbWFpbC5jb20+Cj4gPj4+IENjOiBEYW5pZWwgVmV0dGVy IDxkYW5pZWxAZmZ3bGwuY2g+Cj4gPj4+IENjOiBMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRy b25peC5kZT4KPiA+Pj4gLS0tCj4gPj4+ICAgaW5pdC9LY29uZmlnICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgMTEgKysrKysrKysrKysKPiA+Pj4gICBrZXJuZWwvTWFrZWZpbGUg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ID4+PiAgIHRvb2xzL3Rlc3Rp bmcvc2VsZnRlc3RzL3NlY2NvbXAvc2VjY29tcF9icGYuYyB8ICAyICstCj4gPj4+ICAgMyBmaWxl cyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4+Pgo+ID4+PiBk aWZmIC0tZ2l0IGEvaW5pdC9LY29uZmlnIGIvaW5pdC9LY29uZmlnCj4gPj4+IGluZGV4IGI3N2M2 MGY4Yjk2My4uZjYyZmNhMTNhYzViIDEwMDY0NAo+ID4+PiAtLS0gYS9pbml0L0tjb25maWcKPiA+ Pj4gKysrIGIvaW5pdC9LY29uZmlnCj4gPj4+IEBAIC0xMTk0LDYgKzExOTQsNyBAQCBlbmRpZiAj IE5BTUVTUEFDRVMKPiA+Pj4gICBjb25maWcgQ0hFQ0tQT0lOVF9SRVNUT1JFCj4gPj4+ICAgICAg ICBib29sICJDaGVja3BvaW50L3Jlc3RvcmUgc3VwcG9ydCIKPiA+Pj4gICAgICAgIHNlbGVjdCBQ Uk9DX0NISUxEUkVOCj4gPj4+ICsgICAgIHNlbGVjdCBLQ01QCj4gPj4+ICAgICAgICBkZWZhdWx0 IG4KPiA+Pj4gICAgICAgIGhlbHAKPiA+Pj4gICAgICAgICAgRW5hYmxlcyBhZGRpdGlvbmFsIGtl cm5lbCBmZWF0dXJlcyBpbiBhIHNha2Ugb2YgY2hlY2twb2ludC9yZXN0b3JlLgo+ID4+PiBAQCAt MTczNyw2ICsxNzM4LDE2IEBAIGNvbmZpZyBBUkNIX0hBU19NRU1CQVJSSUVSX0NBTExCQUNLUwo+ ID4+PiAgIGNvbmZpZyBBUkNIX0hBU19NRU1CQVJSSUVSX1NZTkNfQ09SRQo+ID4+PiAgICAgICAg Ym9vbAo+ID4+Pgo+ID4+PiArY29uZmlnIEtDTVAKPiA+Pj4gKyAgICAgYm9vbCAiRW5hYmxlIGtj bXAoKSBzeXN0ZW0gY2FsbCIgaWYgRVhQRVJUCj4gPj4+ICsgICAgIGRlZmF1bHQgeQo+ID4+Cj4g Pj4gSSB3b3VsZCBleHBlY3QgdGhpcyB0byBiZSBub3QgZGVmYXVsdC15LCBlc3BlY2lhbGx5IGlm Cj4gPj4gQ0hFQ0tQT0lOVF9SRVNUT1JFIGRvZXMgYSAic2VsZWN0IiBvbiBpdC4KPiA+Pgo+ID4+ IFRoaXMgaXMgYSByZWFsbHkgcG93ZXJmdWwgc3lzY2FsbCwgYnV0IGl0IGlzIGJvdW5kZWQgYnkg cHRyYWNlIGFjY2Vzcwo+ID4+IGNvbnRyb2xzLCBhbmQgdXNlcyBwb2ludGVyIGFkZHJlc3Mgb2Jm dXNjYXRpb24sIHNvIGl0IG1heSBiZSBva2F5IHRvCj4gPj4gZXhwb3NlIHRoaXMuIEFzIGl0IGlz LCBhdCBsZWFzdCBVYnVudHUgYWxyZWFkeSBoYXMKPiA+PiBDT05GSUdfQ0hFQ0tQT0lOVF9SRVNU T1JFLCBzbyByZWFsbHksIHRoZXJlJ3MgcHJvYmFibHkgbm90IG11Y2gKPiA+PiBkaWZmZXJlbmNl IG9uIGV4cG9zdXJlLgo+ID4+Cj4gPj4gU28sIGlmIHlvdSBkcm9wIHRoZSAiZGVmYXVsdCB5Iiwg SSdtIGZpbmUgd2l0aCB0aGlzLgo+ID4KPiA+IEl0IHdhcyBtYXliZSBzdHVwaWQsIGJ1dCBvdXIg dXNlcnNwYWNlIHN0YXJ0ZWQgcmVseWluZyBvbiBmZAo+ID4gY29tYXByaXNvbiB0aHJvdWdoIHN5 c19rY29tcC4gU28gZm9yIGJldHRlciBvciB3b3JzZSwgaWYgeW91IHdhbnQgdG8KPiA+IHJ1biB0 aGUgbWVzYTNkIGdsL3ZrIHN0YWNrcywgeW91IG5lZWQgdGhpcy4KPgo+IFRoYXQncyBvdmVyc3Rh dGluZyB0aGluZ3Mgc29tZXdoYXQuIFRoZSB2YXN0IG1ham9yaXR5IG9mIGFwcGxpY2F0aW9ucwo+ IHdpbGwgd29yayBmaW5lIHJlZ2FyZGxlc3MgKGFzIHRoZXkgZGlkIGJlZm9yZSBNZXNhIHN0YXJ0 ZWQgdXNpbmcgdGhpcwo+IGZ1bmN0aW9uYWxpdHkpLiBPbmx5IHNvbWUgc3BlY2lhbCBvbmVzIHdp bGwgcnVuIGludG8gaXNzdWVzLCBiZWNhdXNlIHRoZQo+IHVzZXItc3BhY2UgZHJpdmVycyBpbmNv cnJlY3RseSBhc3N1bWUgdHdvIGZpbGUgZGVzY3JpcHRvcnMgcmVmZXJlbmNlCj4gZGlmZmVyZW50 IGRlc2NyaXB0aW9ucy4KPgo+Cj4gPiBXYXMgbWF5YmUgbm90IHRoZSBicmlnaGVzdCBpZGVhcywg YnV0IHNpbmNlIGVub3VnaCBkaXN0cm9zIGhhZCB0aGlzCj4gPiBlbmFibGVkIGJ5IGRlZmF1bHRz LAo+Cj4gUmlnaHQsIHRoYXQgKGFuZCB0aGUgYWJvdmUpIGlzIHdoeSBJIGNvbnNpZGVyZWQgaXQg ZmFpciBnYW1lIHRvIHVzZS4KPiBXaGF0IHNob3VsZCBJIGhhdmUgZG9uZSBpbnN0ZWFkPyAoVEJI IEkgd2FzIHN1cnByaXNlZCB0aGF0IHRoaXMKPiBmdW5jdGlvbmFsaXR5IGlzbid0IGdlbmVyYWxs eSBhdmFpbGFibGUpCgpZZWFoIHRoYXQgb25lIGlzIGZpbmUsIGJ1dCBJIHRob3VnaHQgd2UndmUg ZGlzY3Vzc2VkIChpcmMgb3IKc29tZXRoaW5nKSBtb3JlIHVzZXMgZm9yIGRlLWR1cGluZyBkbWEt YnVmIGFuZCBzdHVmZiBsaWtlIHRoYXQuIEJ1dApxdWljayBncmVwIHNheXMgdGhhdCBoYXNuJ3Qg bGFuZGVkIHlldCwgc28gSSBnb3QgYSBiaXQgY29uZnVzZWQgKG9yCmp1c3QgZHJlYW10KS4gTG9v a2luZyBhdCB0aGlzIGFnYWluIEknbSBraW5kYSBzdXJwcmlzZWQgdGhlIGRybWZkCmRlLWR1cGlu ZyBibG93cyB1cCBvbiBub3JtYWwgbGludXggZGlzdHJvcywgYnV0IEkgZ3Vlc3MgaXQgY2FuIGFs bApoYXBwZW4uCgo+ID4gaXQgd2Fzbid0IHJlYWxseSBkaXNjb3ZlcmVkLCBhbmQgbm93IHdlJ3Jl Cj4gPiBzaGlwcGluZyB0aGlzIGV2ZXJ5d2hlcmUuCj4KPiBZb3UncmUgbWFraW5nIGl0IHNvdW5k IGxpa2UgdGhpcyBzbnVjayBpbiBzZWNyZXRseSBzb21laG93LCB3aGljaCBpcyBub3QKPiB0cnVl IG9mIGNvdXJzZS4KPgo+Cj4gPiBPZmMgd2UgY2FuIGxlYXZlIHRoZSBkZWZhdWx0IG4sIGJ1dCB0 aGUgc2VsZWN0IGlmIENPTkZJR19EUk0gaXMKPiA+IHVuZm9ydHVuYXRlbHkgbmVlZGVkIEkgdGhp bmsuCj4KPiBQZXIgYWJvdmUsIG5vdCBzdXJlIHRoaXMgaXMgcmVhbGx5IHRydWUuCgpXZSBzZWVt IHRvIGJlIGdvaW5nIGJvb20gb24gbGludXggZGlzdHJvcyBub3csIG1heWJlIHVzZXJzcGFjZSBn b3QKbW9yZSBjcmVhdGl2ZSBpbiBhYnVzaW5nIHN0dWZmPyBUaGUgZW50aXJlIHRoaW5nIGlzIHNt YWxsIGVub3VnaCB0aGF0CmltbyB3ZSBkb24ndCByZWFsbHkgaGF2ZSB0byBjYXJlLCBlLmcuIHdl IGFsc28gdW5jb25kaXRpb25hbGx5IHNlbGVjdApkbWEtYnVmLCBkZXNwaXRlIHRoYXQgb24gbW9z dCBzeXN0ZW1zIHRoZXJlJ3Mgb25seSAxIGdwdSwgYW5kIHlvdSdyZQpuZXZlciBnb2luZyB0byBl bmQgdXAgd2l0aCBhIGJ1ZmZlciBzaGFyaW5nIGNhc2UgdGhhdCBuZWVkcyBhbnkgb2YKdGhhdCBj b2RlIChhc2lkZSBmcm9tIHRoZSAiaGVyZSdzIGFuIGZkIiBwYXJ0KS4KCkJ1dCBJIGd1ZXNzIHdl IGNhbiBsaW1pdCB0byBqdXN0IEtDTVBfRklMRSBsaWtlIHlvdSBzdWdnZXN0IGluIGFub3RoZXIK cmVwbHkuIEp1c3QgZmVlbHMgYSBiaXQgbGlrZSBvdmVya2lsbC4KLURhbmllbAotLSAKRGFuaWVs IFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cu ZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== 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 X-Spam-Level: X-Spam-Status: No, score=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 95C75C433E9 for ; Mon, 8 Feb 2021 13:34:50 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 1947364DD5 for ; Mon, 8 Feb 2021 13:34:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1947364DD5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 341E76E8D7; Mon, 8 Feb 2021 13:34:46 +0000 (UTC) Received: from mail-oi1-x22c.google.com (mail-oi1-x22c.google.com [IPv6:2607:f8b0:4864:20::22c]) by gabe.freedesktop.org (Postfix) with ESMTPS id 530296E8D5 for ; Mon, 8 Feb 2021 13:34:45 +0000 (UTC) Received: by mail-oi1-x22c.google.com with SMTP id y199so13565850oia.4 for ; Mon, 08 Feb 2021 05:34:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=+rh3VIoqOrGwusI9h0cuVUIU9NsYcE7oeMVzHyfRzoI=; b=hB1ukZ3hoMZGhAllFBErV7N1AFMTquB7yDzf6rqITLG3vEHpPskWBPsoGr/LJ4FDs2 JBGrfhoJRkitAHftGJgKHMHyaoy/8UIAZVWPTbK9GwwWpbJAs8jOquMkV+6Iyt49/JK/ dm60/8Qc15QlQaSmYBOCpojXt93LlqHmyj1K8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=+rh3VIoqOrGwusI9h0cuVUIU9NsYcE7oeMVzHyfRzoI=; b=l4C8wtintoEBiXB+D9YZlz7iJpXxvfUBp6boTrNLAr3YbiglwVpTWmhRdtnXp29oaD 8ey9H99wIwMwePEQtshTHEsEuLwxgW+StkmCc1kNR0+2a4M9McDIVD7CFw0IByfnaOUA /0fjntjFyoxCAR13TxU8Kat1KYkoYTFnUPou3H46KM/Wwqs11FB5MBA88ABUSfQIBlyR S2f9g3P/qT+Ny7R+MwHUK7ByBwNMVNMZXDf90V2He5JIqrQMdClqevOpBpD6OXP1R8ZE cyZTIat8ifgHg1O3SvH2H2Y40gKO43K1smx+Q+8QamAL3wvjAJ0OWBwu/ApSk1/ZQOsa yJ8w== X-Gm-Message-State: AOAM533O4lO8gAo00LSZSHp/J0vOrkdFcuff2UJmVEeZOK5S3ISyQNx4 bQ5TgtVx5xmaNpcJgCFuCwOna8BaQ1m1AqvZoo8Vyg== X-Google-Smtp-Source: ABdhPJzcCBZ5ebH9ls50JbefCANUYJj+tEOE+UxhLQz0ddtWCRZfXoEeuq24S9E7Uz2YBp0mSSwxHV1MwcuEgMnzwdg= X-Received: by 2002:a05:6808:294:: with SMTP id z20mr3250377oic.14.1612791284710; Mon, 08 Feb 2021 05:34:44 -0800 (PST) MIME-Version: 1.0 References: <20210205163752.11932-1-chris@chris-wilson.co.uk> <202102051030.1AF01772D@keescook> <5a940e13-8996-e9e5-251e-a9af294a39ff@daenzer.net> In-Reply-To: <5a940e13-8996-e9e5-251e-a9af294a39ff@daenzer.net> From: Daniel Vetter Date: Mon, 8 Feb 2021 14:34:33 +0100 Message-ID: To: =?UTF-8?Q?Michel_D=C3=A4nzer?= Subject: Re: [Intel-gfx] [PATCH] kernel: Expose SYS_kcmp by default X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Will Drewry , Kees Cook , Jann Horn , intel-gfx , Linux Kernel Mailing List , dri-devel , Andy Lutomirski , Andrew Morton , Chris Wilson Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gTW9uLCBGZWIgOCwgMjAyMSBhdCAxMjo0OSBQTSBNaWNoZWwgRMOkbnplciA8bWljaGVsQGRh ZW56ZXIubmV0PiB3cm90ZToKPgo+IE9uIDIwMjEtMDItMDUgOTo1MyBwLm0uLCBEYW5pZWwgVmV0 dGVyIHdyb3RlOgo+ID4gT24gRnJpLCBGZWIgNSwgMjAyMSBhdCA3OjM3IFBNIEtlZXMgQ29vayA8 a2Vlc2Nvb2tAY2hyb21pdW0ub3JnPiB3cm90ZToKPiA+Pgo+ID4+IE9uIEZyaSwgRmViIDA1LCAy MDIxIGF0IDA0OjM3OjUyUE0gKzAwMDAsIENocmlzIFdpbHNvbiB3cm90ZToKPiA+Pj4gVXNlcnNw YWNlIGhhcyBkaXNjb3ZlcmVkIHRoZSBmdW5jdGlvbmFsaXR5IG9mZmVyZWQgYnkgU1lTX2tjbXAg YW5kIGhhcwo+ID4+PiBzdGFydGVkIHRvIGRlcGVuZCB1cG9uIGl0LiBJbiBwYXJ0aWN1bGFyLCBN ZXNhIHVzZXMgU1lTX2tjbXAgZm9yCj4gPj4+IG9zX3NhbWVfZmlsZV9kZXNjcmlwdGlvbigpIGlu IG9yZGVyIHRvIGlkZW50aWZ5IHdoZW4gdHdvIGZkIChlLmcuIGRldmljZQo+ID4+PiBvciBkbWFi dWYpIHBvaW50IHRvIHRoZSBzYW1lIHN0cnVjdCBmaWxlLiBTaW5jZSB0aGV5IGRlcGVuZCBvbiBp dCBmb3IKPiA+Pj4gY29yZSBmdW5jdGlvbmFsaXR5LCBsaWZ0IFNZU19rY21wIG91dCBvZiB0aGUg bm9uLWRlZmF1bHQKPiA+Pj4gQ09ORklHX0NIRUNLUE9JTlRfUkVTVE9SRSBpbnRvIHRoZSBzZWxl Y3RhYmxlIHN5c2NhbGwgY2F0ZWdvcnkuCj4gPj4+Cj4gPj4+IFNpZ25lZC1vZmYtYnk6IENocmlz IFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ID4+PiBDYzogS2VlcyBDb29rIDxr ZWVzY29va0BjaHJvbWl1bS5vcmc+Cj4gPj4+IENjOiBBbmR5IEx1dG9taXJza2kgPGx1dG9AYW1h Y2FwaXRhbC5uZXQ+Cj4gPj4+IENjOiBXaWxsIERyZXdyeSA8d2FkQGNocm9taXVtLm9yZz4KPiA+ Pj4gQ2M6IEFuZHJldyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+Cj4gPj4+IENj OiBEYXZlIEFpcmxpZSA8YWlybGllZEBnbWFpbC5jb20+Cj4gPj4+IENjOiBEYW5pZWwgVmV0dGVy IDxkYW5pZWxAZmZ3bGwuY2g+Cj4gPj4+IENjOiBMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRy b25peC5kZT4KPiA+Pj4gLS0tCj4gPj4+ICAgaW5pdC9LY29uZmlnICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgMTEgKysrKysrKysrKysKPiA+Pj4gICBrZXJuZWwvTWFrZWZpbGUg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ID4+PiAgIHRvb2xzL3Rlc3Rp bmcvc2VsZnRlc3RzL3NlY2NvbXAvc2VjY29tcF9icGYuYyB8ICAyICstCj4gPj4+ICAgMyBmaWxl cyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4+Pgo+ID4+PiBk aWZmIC0tZ2l0IGEvaW5pdC9LY29uZmlnIGIvaW5pdC9LY29uZmlnCj4gPj4+IGluZGV4IGI3N2M2 MGY4Yjk2My4uZjYyZmNhMTNhYzViIDEwMDY0NAo+ID4+PiAtLS0gYS9pbml0L0tjb25maWcKPiA+ Pj4gKysrIGIvaW5pdC9LY29uZmlnCj4gPj4+IEBAIC0xMTk0LDYgKzExOTQsNyBAQCBlbmRpZiAj IE5BTUVTUEFDRVMKPiA+Pj4gICBjb25maWcgQ0hFQ0tQT0lOVF9SRVNUT1JFCj4gPj4+ICAgICAg ICBib29sICJDaGVja3BvaW50L3Jlc3RvcmUgc3VwcG9ydCIKPiA+Pj4gICAgICAgIHNlbGVjdCBQ Uk9DX0NISUxEUkVOCj4gPj4+ICsgICAgIHNlbGVjdCBLQ01QCj4gPj4+ICAgICAgICBkZWZhdWx0 IG4KPiA+Pj4gICAgICAgIGhlbHAKPiA+Pj4gICAgICAgICAgRW5hYmxlcyBhZGRpdGlvbmFsIGtl cm5lbCBmZWF0dXJlcyBpbiBhIHNha2Ugb2YgY2hlY2twb2ludC9yZXN0b3JlLgo+ID4+PiBAQCAt MTczNyw2ICsxNzM4LDE2IEBAIGNvbmZpZyBBUkNIX0hBU19NRU1CQVJSSUVSX0NBTExCQUNLUwo+ ID4+PiAgIGNvbmZpZyBBUkNIX0hBU19NRU1CQVJSSUVSX1NZTkNfQ09SRQo+ID4+PiAgICAgICAg Ym9vbAo+ID4+Pgo+ID4+PiArY29uZmlnIEtDTVAKPiA+Pj4gKyAgICAgYm9vbCAiRW5hYmxlIGtj bXAoKSBzeXN0ZW0gY2FsbCIgaWYgRVhQRVJUCj4gPj4+ICsgICAgIGRlZmF1bHQgeQo+ID4+Cj4g Pj4gSSB3b3VsZCBleHBlY3QgdGhpcyB0byBiZSBub3QgZGVmYXVsdC15LCBlc3BlY2lhbGx5IGlm Cj4gPj4gQ0hFQ0tQT0lOVF9SRVNUT1JFIGRvZXMgYSAic2VsZWN0IiBvbiBpdC4KPiA+Pgo+ID4+ IFRoaXMgaXMgYSByZWFsbHkgcG93ZXJmdWwgc3lzY2FsbCwgYnV0IGl0IGlzIGJvdW5kZWQgYnkg cHRyYWNlIGFjY2Vzcwo+ID4+IGNvbnRyb2xzLCBhbmQgdXNlcyBwb2ludGVyIGFkZHJlc3Mgb2Jm dXNjYXRpb24sIHNvIGl0IG1heSBiZSBva2F5IHRvCj4gPj4gZXhwb3NlIHRoaXMuIEFzIGl0IGlz LCBhdCBsZWFzdCBVYnVudHUgYWxyZWFkeSBoYXMKPiA+PiBDT05GSUdfQ0hFQ0tQT0lOVF9SRVNU T1JFLCBzbyByZWFsbHksIHRoZXJlJ3MgcHJvYmFibHkgbm90IG11Y2gKPiA+PiBkaWZmZXJlbmNl IG9uIGV4cG9zdXJlLgo+ID4+Cj4gPj4gU28sIGlmIHlvdSBkcm9wIHRoZSAiZGVmYXVsdCB5Iiwg SSdtIGZpbmUgd2l0aCB0aGlzLgo+ID4KPiA+IEl0IHdhcyBtYXliZSBzdHVwaWQsIGJ1dCBvdXIg dXNlcnNwYWNlIHN0YXJ0ZWQgcmVseWluZyBvbiBmZAo+ID4gY29tYXByaXNvbiB0aHJvdWdoIHN5 c19rY29tcC4gU28gZm9yIGJldHRlciBvciB3b3JzZSwgaWYgeW91IHdhbnQgdG8KPiA+IHJ1biB0 aGUgbWVzYTNkIGdsL3ZrIHN0YWNrcywgeW91IG5lZWQgdGhpcy4KPgo+IFRoYXQncyBvdmVyc3Rh dGluZyB0aGluZ3Mgc29tZXdoYXQuIFRoZSB2YXN0IG1ham9yaXR5IG9mIGFwcGxpY2F0aW9ucwo+ IHdpbGwgd29yayBmaW5lIHJlZ2FyZGxlc3MgKGFzIHRoZXkgZGlkIGJlZm9yZSBNZXNhIHN0YXJ0 ZWQgdXNpbmcgdGhpcwo+IGZ1bmN0aW9uYWxpdHkpLiBPbmx5IHNvbWUgc3BlY2lhbCBvbmVzIHdp bGwgcnVuIGludG8gaXNzdWVzLCBiZWNhdXNlIHRoZQo+IHVzZXItc3BhY2UgZHJpdmVycyBpbmNv cnJlY3RseSBhc3N1bWUgdHdvIGZpbGUgZGVzY3JpcHRvcnMgcmVmZXJlbmNlCj4gZGlmZmVyZW50 IGRlc2NyaXB0aW9ucy4KPgo+Cj4gPiBXYXMgbWF5YmUgbm90IHRoZSBicmlnaGVzdCBpZGVhcywg YnV0IHNpbmNlIGVub3VnaCBkaXN0cm9zIGhhZCB0aGlzCj4gPiBlbmFibGVkIGJ5IGRlZmF1bHRz LAo+Cj4gUmlnaHQsIHRoYXQgKGFuZCB0aGUgYWJvdmUpIGlzIHdoeSBJIGNvbnNpZGVyZWQgaXQg ZmFpciBnYW1lIHRvIHVzZS4KPiBXaGF0IHNob3VsZCBJIGhhdmUgZG9uZSBpbnN0ZWFkPyAoVEJI IEkgd2FzIHN1cnByaXNlZCB0aGF0IHRoaXMKPiBmdW5jdGlvbmFsaXR5IGlzbid0IGdlbmVyYWxs eSBhdmFpbGFibGUpCgpZZWFoIHRoYXQgb25lIGlzIGZpbmUsIGJ1dCBJIHRob3VnaHQgd2UndmUg ZGlzY3Vzc2VkIChpcmMgb3IKc29tZXRoaW5nKSBtb3JlIHVzZXMgZm9yIGRlLWR1cGluZyBkbWEt YnVmIGFuZCBzdHVmZiBsaWtlIHRoYXQuIEJ1dApxdWljayBncmVwIHNheXMgdGhhdCBoYXNuJ3Qg bGFuZGVkIHlldCwgc28gSSBnb3QgYSBiaXQgY29uZnVzZWQgKG9yCmp1c3QgZHJlYW10KS4gTG9v a2luZyBhdCB0aGlzIGFnYWluIEknbSBraW5kYSBzdXJwcmlzZWQgdGhlIGRybWZkCmRlLWR1cGlu ZyBibG93cyB1cCBvbiBub3JtYWwgbGludXggZGlzdHJvcywgYnV0IEkgZ3Vlc3MgaXQgY2FuIGFs bApoYXBwZW4uCgo+ID4gaXQgd2Fzbid0IHJlYWxseSBkaXNjb3ZlcmVkLCBhbmQgbm93IHdlJ3Jl Cj4gPiBzaGlwcGluZyB0aGlzIGV2ZXJ5d2hlcmUuCj4KPiBZb3UncmUgbWFraW5nIGl0IHNvdW5k IGxpa2UgdGhpcyBzbnVjayBpbiBzZWNyZXRseSBzb21laG93LCB3aGljaCBpcyBub3QKPiB0cnVl IG9mIGNvdXJzZS4KPgo+Cj4gPiBPZmMgd2UgY2FuIGxlYXZlIHRoZSBkZWZhdWx0IG4sIGJ1dCB0 aGUgc2VsZWN0IGlmIENPTkZJR19EUk0gaXMKPiA+IHVuZm9ydHVuYXRlbHkgbmVlZGVkIEkgdGhp bmsuCj4KPiBQZXIgYWJvdmUsIG5vdCBzdXJlIHRoaXMgaXMgcmVhbGx5IHRydWUuCgpXZSBzZWVt IHRvIGJlIGdvaW5nIGJvb20gb24gbGludXggZGlzdHJvcyBub3csIG1heWJlIHVzZXJzcGFjZSBn b3QKbW9yZSBjcmVhdGl2ZSBpbiBhYnVzaW5nIHN0dWZmPyBUaGUgZW50aXJlIHRoaW5nIGlzIHNt YWxsIGVub3VnaCB0aGF0CmltbyB3ZSBkb24ndCByZWFsbHkgaGF2ZSB0byBjYXJlLCBlLmcuIHdl IGFsc28gdW5jb25kaXRpb25hbGx5IHNlbGVjdApkbWEtYnVmLCBkZXNwaXRlIHRoYXQgb24gbW9z dCBzeXN0ZW1zIHRoZXJlJ3Mgb25seSAxIGdwdSwgYW5kIHlvdSdyZQpuZXZlciBnb2luZyB0byBl bmQgdXAgd2l0aCBhIGJ1ZmZlciBzaGFyaW5nIGNhc2UgdGhhdCBuZWVkcyBhbnkgb2YKdGhhdCBj b2RlIChhc2lkZSBmcm9tIHRoZSAiaGVyZSdzIGFuIGZkIiBwYXJ0KS4KCkJ1dCBJIGd1ZXNzIHdl IGNhbiBsaW1pdCB0byBqdXN0IEtDTVBfRklMRSBsaWtlIHlvdSBzdWdnZXN0IGluIGFub3RoZXIK cmVwbHkuIEp1c3QgZmVlbHMgYSBiaXQgbGlrZSBvdmVya2lsbC4KLURhbmllbAotLSAKRGFuaWVs IFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cu ZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==