Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp2626896rwr; Fri, 28 Apr 2023 13:11:21 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4hiOjrB/JyAzYGL441t/651/Q5ATo5KyInweDcp7LcCJZK5HwnJmudmMTLUmyeV96pdPa2 X-Received: by 2002:a05:6a20:3c93:b0:f8:73b4:32c2 with SMTP id b19-20020a056a203c9300b000f873b432c2mr7988358pzj.7.1682712680632; Fri, 28 Apr 2023 13:11:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682712680; cv=none; d=google.com; s=arc-20160816; b=BwhwlophkNYqP2fIuJW+fTdLgMRqDfFuM0Qz22s21jKMS2sNHNurCuPZU1ZdNJYgkQ IE4m86Rd6mfUnAw17sRlp/ml6767o3vcL7Z8nvfpQiwAys3A0wxI6RUzQUCplAsyacUP Xa/zk/41ZKJv+k8gzr07VAcKzWMdIk5b3m6BU+l4WL2OvSVxpErM46rWYdlPhLfiikkx /Jw1//hkMC5N6LlKbyF2iTtmbNmDYY3IL+fc/1F/vm8BLWipgheOH+kQk7zsLwV5v2y8 4hBEufz+6qzTEyvkkcdFxRmukCod0m+OvXlUQVHxYCEyMOpNizzaCcjiV645aQgKBj3Y ZBZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=oFQp3w2UdaEC3nSajBtNdHLrvJYbWdvQ2fvvXZMzQe0=; b=XqOrz4BjJ9p6d8+oj7U5V90i3oT1LtiRkfmek+vJcrbbkSsz3dw2TgzY1bv6JifRa2 aIoQ2iABzEOSLMCjhexTlRhd4oh1cFlz8fUCtuecH8bzKLNuJQlRXGGRInvZUC2875OQ 03Ewj/au/Wl3Ooec7RhlBzIERxeiKj82Q2VORHPYxdo48E0VPpikAA6v6MN7dendWRpw oygWV3C6RA3tVJF34Dh0EiG3/Wz3UHqPhNCOEPX8HDp47GvO83VtEKPyU3Hqipi9AUPw TkVNe/bS32d5ih9rcq1O5g53HOpeHndqzScnEK/xmKocJB5INTz7nQB3joXWXPaWCzRe jycg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b=Wcx8A9Ns; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x12-20020a63484c000000b00519a3fb282esi22071389pgk.864.2023.04.28.13.11.08; Fri, 28 Apr 2023 13:11:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b=Wcx8A9Ns; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346512AbjD1UIE (ORCPT + 99 others); Fri, 28 Apr 2023 16:08:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39292 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346513AbjD1UIB (ORCPT ); Fri, 28 Apr 2023 16:08:01 -0400 Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com [IPv6:2a00:1450:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 438CD3C26 for ; Fri, 28 Apr 2023 13:07:58 -0700 (PDT) Received: by mail-ej1-x629.google.com with SMTP id a640c23a62f3a-953343581a4so29061766b.3 for ; Fri, 28 Apr 2023 13:07:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1682712476; x=1685304476; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=oFQp3w2UdaEC3nSajBtNdHLrvJYbWdvQ2fvvXZMzQe0=; b=Wcx8A9NsdIkVrT1buucT56wpmYJIwkiqVExaRMPFiBTv63qQjq0cXaa6bMLysLDxS/ tYCmiU1KpZbSMMLypE+PyzOBq/CZeMr2tWwEuo7IVnlq1gmoOGOAqYxsxlA6D2ix9t7k dhszFWjxqUhFR2kaBKWwMllcvpQ9I96udHZKQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682712476; x=1685304476; 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=oFQp3w2UdaEC3nSajBtNdHLrvJYbWdvQ2fvvXZMzQe0=; b=N+bLyRSWWVc5+5J1TKy6aQIWTVWJUUbXrTzRyyWX9Sjb66F5ujrrukMm8d1NlI4ZHC OWaJblKOsJwBhbet7MHLVnGvLIex+xjA55v0+kQ6pnP5OBJB5atl5MpWxqX0X0QBAP/M xcWK/+1q9N6rC3pUTU+NHbk5GB3mO53LSS7zJ+yIxgXbouwTUZwdU83LOceaQ+HB4avK LAEvwQoe4DqPy7lTBPKugJSuucWX1AXFh0WGYP6pzq9HH7r2Xh9J8mHC6RQoPAYJfNK8 4E7RKMb4SQDEQvdN4SyLT6x/0681mNf8h0zv2AGFyPh+dnXWhCF7O7HveveCfvGnA0t9 WYlg== X-Gm-Message-State: AC+VfDzABozuVk8jVTrwUBS3F/BeQaJoKsktxSqomOGMp/4Qf/iZOi/M S+gYQ2EqMZWioW1HL7ZHfpf4zG8TCZjohIB375FCxQ== X-Received: by 2002:a17:907:70b:b0:958:4b79:b214 with SMTP id xb11-20020a170907070b00b009584b79b214mr6043247ejb.18.1682712476204; Fri, 28 Apr 2023 13:07:56 -0700 (PDT) Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com. [209.85.208.51]) by smtp.gmail.com with ESMTPSA id l22-20020a170906795600b0094f25ae0821sm11571584ejo.31.2023.04.28.13.07.55 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 28 Apr 2023 13:07:55 -0700 (PDT) Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-504ecbfddd5so180763a12.0 for ; Fri, 28 Apr 2023 13:07:55 -0700 (PDT) X-Received: by 2002:a05:6402:1a33:b0:508:47af:c191 with SMTP id be19-20020a0564021a3300b0050847afc191mr31076edb.30.1682712474892; Fri, 28 Apr 2023 13:07:54 -0700 (PDT) MIME-Version: 1.0 References: <20230427225647.1101172-1-dave.hansen@linux.intel.com> In-Reply-To: <20230427225647.1101172-1-dave.hansen@linux.intel.com> From: Linus Torvalds Date: Fri, 28 Apr 2023 13:07:37 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [GIT PULL] x86/mm for 6.4 To: Dave Hansen Cc: x86@kernel.org, linux-kernel@vger.kernel.org, kirill.shutemov@linux.intel.com, Peter Zijlstra Content-Type: multipart/mixed; boundary="0000000000005381e905fa6b0738" X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --0000000000005381e905fa6b0738 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Apr 27, 2023 at 3:57=E2=80=AFPM Dave Hansen wrote: > > Please pull some x86/mm changes for 6.4. The only content here is > solely a new revision of Kirill's Linear Address Masking implementation. So I was waiting for this for my final piece of the x86 user copy changes, so here goes... I think we should now make 'access_ok()' do the same thing that get/put_user() do with the LAM code: only worry about the sign bit. So here's my suggested change on top of the current tree. Comments? PeterZ also added to the cc, because he's the source of that WARN_ON_IN_IRQ() in the x86 'access_ok()' macro. That's the only reason x86 has its own copy of that. I wonder if that WARN_ON_IN_IRQ() should just be removed, or perhaps moved into the generic code in ? Linus --0000000000005381e905fa6b0738 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-x86-64-make-access_ok-independent-of-LAM.patch" Content-Disposition: attachment; filename="0001-x86-64-make-access_ok-independent-of-LAM.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lh0zf90t0 RnJvbSAyYzI4M2E2NDliMDdkMTgwZDVhN2JjZmFmNTM5MzY1Mjk3ZTgyYzIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IEZyaSwgMjggQXByIDIwMjMgMTI6NTU6MTAgLTA3MDAKU3ViamVjdDog W1BBVENIXSB4ODYtNjQ6IG1ha2UgYWNjZXNzX29rKCkgaW5kZXBlbmRlbnQgb2YgTEFNCgpUaGUg bGluZWFyIGFkZHJlc3MgbWFza2luZyAoTEFNKSBjb2RlIG1hZGUgYWNjZXNzX29rKCkgbW9yZSBj b21wbGljYXRlZCwKaW4gdGhhdCBpdCBub3cgbmVlZHMgdG8gdW50YWcgdGhlIGFkZHJlc3MgaW4g b3JkZXIgdG8gdmVyaWZ5IHRoZSBhY2Nlc3MKcmFuZ2UuICBTZWUgY29tbWl0IDc0YzIyOGQyMGE1 MSAoIng4Ni91YWNjZXNzOiBQcm92aWRlIHVudGFnZ2VkX2FkZHIoKQphbmQgcmVtb3ZlIHRhZ3Mg YmVmb3JlIGFkZHJlc3MgY2hlY2siKS4KCldlIHdlcmUgYWJsZSB0byBhdm9pZCB0aGF0IG92ZXJo ZWFkIGluIHRoZSBnZXRfdXNlci9wdXRfdXNlciBjb2RlIHBhdGhzCmJ5IHNpbXBseSB1c2luZyB0 aGUgc2lnbiBiaXQgZm9yIHRoZSBhZGRyZXNzIGNoZWNrLCBhbmQgZGVwZW5kaW5nIG9uIHRoZQpH UCBmYXVsdCBpZiB0aGUgYWRkcmVzcyB3YXMgbm9uLWNhbm9uaWNhbCwgd2hpY2ggbWFkZSBpdCBh bGwgaW5kZXBlbmRlbnQKb2YgTEFNLgoKQW5kIHdlIGNhbiBkbyB0aGUgc2FtZSB0aGluZyBmb3Ig YWNjZXNzX29rKCk6IHNpbXBseSBjaGVjayB0aGF0IHRoZSB1c2VyCnBvaW50ZXIgcmFuZ2UgaGFz IHRoZSBoaWdoIGJpdCBjbGVhci4gIE5vIG5lZWQgdG8gYm90aGVyIHdpdGggYW55CmFkZHJlc3Mg Yml0IG1hc2tpbmcuCgpJbiBmYWN0LCB3ZSBjYW4gZ28gYSBiaXQgZnVydGhlciwgYW5kIGp1c3Qg Y2hlY2sgdGhlIHN0YXJ0aW5nIGFkZHJlc3MKZm9yIGtub3duIHNtYWxsIGFjY2Vzc2VzIHJhbmdl czogYW55IGFjY2Vzc2VzIHRoYXQgb3ZlcmZsb3cgd2lsbCBzdGlsbApiZSBpbiB0aGUgbm9uLWNh bm9uaWNhbCBhcmVhIGFuZCB3aWxsIHN0aWxsIEdQIGZhdWx0LgoKVG8gc3RpbGwgbWFrZSBzeXpr YWxsZXIgY2F0Y2ggYW55IHBvdGVudGlhbGx5IHVuY2hlY2tlZCB1c2VyIGFkZHJlc3NlcywKd2Un bGwgY29udGludWUgdG8gd2FybiBhYm91dCBHUCBmYXVsdHMgdGhhdCBhcmUgY2F1c2VkIGJ5IGFj Y2Vzc2VzIGluCnRoZSBub24tY2Fub25pY2FsIHJhbmdlLiAgQnV0IHdlJ2xsIGxpbWl0IHRoYXQg dG8gcHVyZWx5ICJoaWdoIGJpdCBzZXQKYW5kIHBhc3QgdGhlIG9uZS1wYWdlICdzbG9wJyBhcmVh Ii4KCldlIGNvdWxkIHByb2JhYmx5IGp1c3QgZG8gdGhhdCAiY2hlY2sgb25seSBzdGFydGluZyBh ZGRyZXNzIiBmb3IgYW55CmFyYml0cmFyeSByYW5nZSBzaXplOiByZWFsaXN0aWNhbGx5IGFsbCBr ZXJuZWwgYWNjZXNzZXMgdG8gdXNlciBzcGFjZQp3aWxsIGJlIGRvbmUgc3RhcnRpbmcgYXQgdGhl IGxvdyBhZGRyZXNzLiAgQnV0IGxldCdzIGxlYXZlIHRoYXQga2luZCBvZgpvcHRpbWl6YXRpb24g Zm9yIGxhdGVyLiAgQXMgaXQgaXMsIHRoaXMgYWxyZWFkeSBhbGxvd3MgdXMgdG8gZ2VuZXJhdGUK c2ltcGxlciBjb2RlIGFuZCBub3Qgd29ycnkgYWJvdXQgYW55IHRhZyBiaXRzIGluIHRoZSBhZGRy ZXNzLgoKVGhlIG9uZSB0aGluZyB0byBsb29rIG91dCBmb3IgaXMgdGhlIEdVUCBhZGRyZXNzIGNo ZWNrOiBpbnN0ZWFkIG9mCmFjdHVhbGx5IGNvcHlpbmcgZGF0YSBpbiB0aGUgdmlydHVhbCBhZGRy ZXNzIHJhbmdlIChhbmQgdGh1cyBiYWQKYWRkcmVzc2VzIGJlaW5nIGNhdWdodCBieSB0aGUgR1Ag ZmF1bHQpLCBHVVAgd2lsbCBsb29rIHVwIHRoZSBwYWdlCnRhYmxlcyBtYW51YWxseS4gIEFzIGEg cmVzdWx0LCB0aGUgcGFnZSB0YWJsZSBsaW1pdHMgbmVlZCB0byBiZSBjaGVja2VkLAphbmQgdGhh dCB3YXMgcHJldmlvdXNseSBpbXBsaWNpdGx5IGRvbmUgYnkgdGhlIGFjY2Vzc19vaygpLgoKV2l0 aCB0aGUgcmVsYXhlZCBhY2Nlc3Nfb2soKSBjaGVjaywgd2UgbmVlZCB0byBqdXN0IGRvIGFuIGV4 cGxpY2l0IGNoZWNrCmZvciBUQVNLX1NJWkVfTUFYIGluIHRoZSBHVVAgY29kZSBpbnN0ZWFkLiAg VGhlIEdVUCBjb2RlIGFscmVhZHkgbmVlZHMKdG8gZG8gdGhlIHRhZyBiaXQgdW5tYXNraW5nIGFu eXdheSwgc28gdGhlcmUgdGhpcyBpcyBhbGwgdmVyeQpzdHJhaWdodGZvcndhcmQsIGFuZCB0aGVy ZSBhcmUgbm8gTEFNIGlzc3Vlcy4KCkNjOiBLaXJpbGwgQS4gU2h1dGVtb3YgPGtpcmlsbC5zaHV0 ZW1vdkBsaW51eC5pbnRlbC5jb20+CkNjOiBEYXZlIEhhbnNlbiA8ZGF2ZS5oYW5zZW5AbGludXgu aW50ZWwuY29tPgpDYzogUGV0ZXIgWmlqbHN0cmEgKEludGVsKSA8cGV0ZXJ6QGluZnJhZGVhZC5v cmc+ClNpZ25lZC1vZmYtYnk6IExpbnVzIFRvcnZhbGRzIDx0b3J2YWxkc0BsaW51eC1mb3VuZGF0 aW9uLm9yZz4KLS0tCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS91YWNjZXNzLmggfCAzOSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0KIGFyY2gveDg2L21tL2V4dGFibGUuYyAgICAgICAg ICB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIG1tL2d1cC5jICAgICAg ICAgICAgICAgICAgICAgICB8ICAyICsrCiAzIGZpbGVzIGNoYW5nZWQsIDcxIGluc2VydGlvbnMo KyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3Vh Y2Nlc3MuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3VhY2Nlc3MuaAppbmRleCA0NTdlODE0NzEy YWYuLjEyMzEzNWQ2MGY3MiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vdWFjY2Vz cy5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3VhY2Nlc3MuaApAQCAtNzUsNiArNzUsMzQg QEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIF9fdW50YWdnZWRfYWRkcl9yZW1vdGUoc3Ry dWN0IG1tX3N0cnVjdCAqbW0sCiAjZGVmaW5lIHVudGFnZ2VkX2FkZHIoYWRkcikJKGFkZHIpCiAj ZW5kaWYKIAorI2lmZGVmIENPTkZJR19YODZfNjQKKy8qCisgKiBPbiB4ODYtNjQsIHdlIG1heSBo YXZlIHRhZyBiaXRzIGluIHRoZSB1c2VyIHBvaW50ZXIuIFJhdGhlciB0aGFuCisgKiBtYXNrIHRo ZW0gb2ZmLCBqdXN0IGNoYW5nZSB0aGUgcnVsZXMgZm9yIF9fYWNjZXNzX29rKCkuCisgKgorICog TWFrZSB0aGUgcnVsZSBiZSB0aGF0ICdwdHIrc2l6ZScgbXVzdCBub3Qgb3ZlcmZsb3csIGFuZCBt dXN0IG5vdAorICogaGF2ZSB0aGUgaGlnaCBiaXQgc2V0LiBDb21waWxlcnMgZ2VuZXJhbGx5IHVu ZGVyc3RhbmQgYWJvdXQKKyAqIHVuc2lnbmVkIG92ZXJmbG93IGFuZCB0aGUgQ0YgYml0IGFuZCBn ZW5lcmF0ZSByZWFzb25hYmxlIGNvZGUgZm9yCisgKiB0aGlzLiBBbHRob3VnaCBpdCBsb29rcyBs aWtlIHRoZSBjb21iaW5hdGlvbiBjb25mdXNlcyBhdCBsZWFzdAorICogY2xhbmcgKGFuZCBpbnN0 ZWFkIG9mIGp1c3QgZG9pbmcgYW4gImFkZCIgZm9sbG93ZWQgYnkgYSB0ZXN0IG9mCisgKiBTRiBh bmQgQ0YsIHlvdSdsbCBzZWUgdGhhdCB1bm5lY2Vzc2FyeSBjb21wYXJpc29uKS4KKyAqCisgKiBG b3IgdGhlIGNvbW1vbiBjYXNlIG9mIHNtYWxsIHNpemVzIHRoYXQgY2FuIGJlIGNoZWNrZWQgYXQg Y29tcGlsZQorICogdGltZSwgZG9uJ3QgZXZlbiBib3RoZXIgd2l0aCB0aGUgYWRkaXRpb24sIGFu ZCBqdXN0IGNoZWNrIHRoYXQgdGhlCisgKiBiYXNlIHBvaW50ZXIgaXMgb2suCisgKi8KK3N0YXRp YyBpbmxpbmUgYm9vbCBfX2FjY2Vzc19vayhjb25zdCB2b2lkIF9fdXNlciAqcHRyLCB1bnNpZ25l ZCBsb25nIHNpemUpCit7CisJaWYgKF9fYnVpbHRpbl9jb25zdGFudF9wKHNpemUgPD0gUEFHRV9T SVpFKSAmJiBzaXplIDw9IFBBR0VfU0laRSkgeworCQlyZXR1cm4gKGxvbmcpcHRyID49IDA7CisJ fSBlbHNlIHsKKwkJdW5zaWduZWQgbG9uZyBzdW0gPSBzaXplICsgKHVuc2lnbmVkIGxvbmcpcHRy OworCQlyZXR1cm4gKGxvbmcpIHN1bSA+PSAwICYmIHN1bSA+PSAodW5zaWduZWQgbG9uZylwdHI7 CisJfQorfQorI2RlZmluZSBfX2FjY2Vzc19vayBfX2FjY2Vzc19vaworI2VuZGlmCisKIC8qKgog ICogYWNjZXNzX29rIC0gQ2hlY2tzIGlmIGEgdXNlciBzcGFjZSBwb2ludGVyIGlzIHZhbGlkCiAg KiBAYWRkcjogVXNlciBzcGFjZSBwb2ludGVyIHRvIHN0YXJ0IG9mIGJsb2NrIHRvIGNoZWNrCkBA IC05MSwxMSArMTE5LDE0IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBfX3VudGFnZ2Vk X2FkZHJfcmVtb3RlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAogICoKICAqIFJldHVybjogdHJ1ZSAo bm9uemVybykgaWYgdGhlIG1lbW9yeSBibG9jayBtYXkgYmUgdmFsaWQsIGZhbHNlICh6ZXJvKQog ICogaWYgaXQgaXMgZGVmaW5pdGVseSBpbnZhbGlkLgorICoKKyAqIFRoaXMgc2hvdWxkIG5vdCBi ZSB4ODYtc3BlY2lmaWMuIFRoZSBvbmx5IG9kZCB0aGluZ3Mgb3V0IGhlcmUgaXMKKyAqIHRoZSBX QVJOX09OX0lOX0lSUSgpLCB3aGljaCBkb2Vzbid0IGV4aXN0IGluIHRoZSBnZW5lcmljIHZlcnNp b24uCiAgKi8KLSNkZWZpbmUgYWNjZXNzX29rKGFkZHIsIHNpemUpCQkJCQkJXAotKHsJCQkJCQkJ CQlcCi0JV0FSTl9PTl9JTl9JUlEoKTsJCQkJCQlcCi0JbGlrZWx5KF9fYWNjZXNzX29rKHVudGFn Z2VkX2FkZHIoYWRkciksIHNpemUpKTsJCQlcCisjZGVmaW5lIGFjY2Vzc19vayhhZGRyLCBzaXpl KQkJCVwKKyh7CQkJCQkJXAorCVdBUk5fT05fSU5fSVJRKCk7CQkJXAorCWxpa2VseShfX2FjY2Vz c19vayhhZGRyLCBzaXplKSk7CVwKIH0pCiAKICNpbmNsdWRlIDxhc20tZ2VuZXJpYy9hY2Nlc3Nf b2suaD4KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2V4dGFibGUuYyBiL2FyY2gveDg2L21tL2V4 dGFibGUuYwppbmRleCA2MDgxNGUxMTBhNTQuLjhkMzhkZWRhZGJiMSAxMDA2NDQKLS0tIGEvYXJj aC94ODYvbW0vZXh0YWJsZS5jCisrKyBiL2FyY2gveDg2L21tL2V4dGFibGUuYwpAQCAtMTMwLDEw ICsxMzAsMzYgQEAgc3RhdGljIGJvb2wgZXhfaGFuZGxlcl9mcHJlc3RvcmUoY29uc3Qgc3RydWN0 IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSAqZml4dXAsCiAJcmV0dXJuIHRydWU7CiB9CiAKKy8qCisg KiBPbiB4ODYtNjQsIHdlIGVuZCB1cCBiZWluZyBpbXByZWNpc2Ugd2l0aCAnYWNjZXNzX29rKCkn LCBhbmQgYWxsb3cKKyAqIG5vbi1jYW5vbmljYWwgdXNlciBhZGRyZXNzZXMgdG8gbWFrZSB0aGUg cmFuZ2UgY29tcGFyaXNvbnMgc2ltcGxlciwKKyAqIGFuZCB0byBub3QgaGF2ZSB0byB3b3JyeSBh Ym91dCBMQU0gYmVpbmcgZW5hYmxlZC4KKyAqCisgKiBJbiBmYWN0LCB3ZSBhbGxvdyB1cCB0byBv bmUgcGFnZSBvZiAic2xvcCIgYXQgdGhlIHNpZ24gYm91bmRhcnksCisgKiB3aGljaCBtZWFucyB0 aGF0IHdlIGNhbiBkbyBhY2Nlc3Nfb2soKSBieSBqdXN0IGNoZWNraW5nIHRoZSBzaWduCisgKiBv ZiB0aGUgcG9pbnRlciBmb3IgdGhlIGNvbW1vbiBjYXNlIG9mIGhhdmluZyBhIHNtYWxsIGFjY2Vz cyBzaXplLgorICovCitzdGF0aWMgYm9vbCBncF9mYXVsdF9hZGRyZXNzX29rKHVuc2lnbmVkIGxv bmcgZmF1bHRfYWRkcmVzcykKK3sKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJLyogSXMgaXQgaW4g dGhlICJ1c2VyIHNwYWNlIiBwYXJ0IG9mIHRoZSBub24tY2Fub25pY2FsIHNwYWNlPyAqLworCWlm ICgobG9uZykgZmF1bHRfYWRkcmVzcyA+PSAwKQorCQlyZXR1cm4gdHJ1ZTsKKworCS8qIC4uIG9y IGp1c3QgYWJvdmUgaXQ/ICovCisJZmF1bHRfYWRkcmVzcyAtPSBQQUdFX1NJWkU7CisJaWYgKChs b25nKSBmYXVsdF9hZGRyZXNzID49IDApCisJCXJldHVybiB0cnVlOworI2VuZGlmCisJcmV0dXJu IGZhbHNlOworfQorCiBzdGF0aWMgYm9vbCBleF9oYW5kbGVyX3VhY2Nlc3MoY29uc3Qgc3RydWN0 IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSAqZml4dXAsCi0JCQkgICAgICAgc3RydWN0IHB0X3JlZ3Mg KnJlZ3MsIGludCB0cmFwbnIpCisJCQkgICAgICAgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCB0 cmFwbnIsCisJCQkgICAgICAgdW5zaWduZWQgbG9uZyBmYXVsdF9hZGRyZXNzKQogewotCVdBUk5f T05DRSh0cmFwbnIgPT0gWDg2X1RSQVBfR1AsICJHZW5lcmFsIHByb3RlY3Rpb24gZmF1bHQgaW4g dXNlciBhY2Nlc3MuIE5vbi1jYW5vbmljYWwgYWRkcmVzcz8iKTsKKwlXQVJOX09OQ0UodHJhcG5y ID09IFg4Nl9UUkFQX0dQICYmICFncF9mYXVsdF9hZGRyZXNzX29rKGZhdWx0X2FkZHJlc3MpLAor CQkiR2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0IGluIHVzZXIgYWNjZXNzLiBOb24tY2Fub25pY2Fs IGFkZHJlc3M/Iik7CiAJcmV0dXJuIGV4X2hhbmRsZXJfZGVmYXVsdChmaXh1cCwgcmVncyk7CiB9 CiAKQEAgLTE4OSwxMCArMjE1LDEyIEBAIHN0YXRpYyBib29sIGV4X2hhbmRsZXJfaW1tX3JlZyhj b25zdCBzdHJ1Y3QgZXhjZXB0aW9uX3RhYmxlX2VudHJ5ICpmaXh1cCwKIH0KIAogc3RhdGljIGJv b2wgZXhfaGFuZGxlcl91Y29weV9sZW4oY29uc3Qgc3RydWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRy eSAqZml4dXAsCi0JCQkJICBzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IHRyYXBuciwgaW50IHJl ZywgaW50IGltbSkKKwkJCQkgIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgdHJhcG5yLAorCQkJ CSAgdW5zaWduZWQgbG9uZyBmYXVsdF9hZGRyZXNzLAorCQkJCSAgaW50IHJlZywgaW50IGltbSkK IHsKIAlyZWdzLT5jeCA9IGltbSAqIHJlZ3MtPmN4ICsgKnB0X3JlZ3NfbnIocmVncywgcmVnKTsK LQlyZXR1cm4gZXhfaGFuZGxlcl91YWNjZXNzKGZpeHVwLCByZWdzLCB0cmFwbnIpOworCXJldHVy biBleF9oYW5kbGVyX3VhY2Nlc3MoZml4dXAsIHJlZ3MsIHRyYXBuciwgZmF1bHRfYWRkcmVzcyk7 CiB9CiAKIGludCBleF9nZXRfZml4dXBfdHlwZSh1bnNpZ25lZCBsb25nIGlwKQpAQCAtMjM4LDcg KzI2Niw3IEBAIGludCBmaXh1cF9leGNlcHRpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCB0 cmFwbnIsIHVuc2lnbmVkIGxvbmcgZXJyb3JfY29kZSwKIAljYXNlIEVYX1RZUEVfRkFVTFRfTUNF X1NBRkU6CiAJCXJldHVybiBleF9oYW5kbGVyX2ZhdWx0KGUsIHJlZ3MsIHRyYXBucik7CiAJY2Fz ZSBFWF9UWVBFX1VBQ0NFU1M6Ci0JCXJldHVybiBleF9oYW5kbGVyX3VhY2Nlc3MoZSwgcmVncywg dHJhcG5yKTsKKwkJcmV0dXJuIGV4X2hhbmRsZXJfdWFjY2VzcyhlLCByZWdzLCB0cmFwbnIsIGZh dWx0X2FkZHIpOwogCWNhc2UgRVhfVFlQRV9DT1BZOgogCQlyZXR1cm4gZXhfaGFuZGxlcl9jb3B5 KGUsIHJlZ3MsIHRyYXBucik7CiAJY2FzZSBFWF9UWVBFX0NMRUFSX0ZTOgpAQCAtMjY5LDcgKzI5 Nyw3IEBAIGludCBmaXh1cF9leGNlcHRpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCB0cmFw bnIsIHVuc2lnbmVkIGxvbmcgZXJyb3JfY29kZSwKIAljYXNlIEVYX1RZUEVfRkFVTFRfU0dYOgog CQlyZXR1cm4gZXhfaGFuZGxlcl9zZ3goZSwgcmVncywgdHJhcG5yKTsKIAljYXNlIEVYX1RZUEVf VUNPUFlfTEVOOgotCQlyZXR1cm4gZXhfaGFuZGxlcl91Y29weV9sZW4oZSwgcmVncywgdHJhcG5y LCByZWcsIGltbSk7CisJCXJldHVybiBleF9oYW5kbGVyX3Vjb3B5X2xlbihlLCByZWdzLCB0cmFw bnIsIGZhdWx0X2FkZHIsIHJlZywgaW1tKTsKIAljYXNlIEVYX1RZUEVfWkVST1BBRDoKIAkJcmV0 dXJuIGV4X2hhbmRsZXJfemVyb3BhZChlLCByZWdzLCBmYXVsdF9hZGRyKTsKIAl9CmRpZmYgLS1n aXQgYS9tbS9ndXAuYyBiL21tL2d1cC5jCmluZGV4IGZmNjg5Yzg4YTM1Ny4uYmJlNDE2MjM2NTkz IDEwMDY0NAotLS0gYS9tbS9ndXAuYworKysgYi9tbS9ndXAuYwpAQCAtMjk3MCw2ICsyOTcwLDgg QEAgc3RhdGljIGludCBpbnRlcm5hbF9nZXRfdXNlcl9wYWdlc19mYXN0KHVuc2lnbmVkIGxvbmcg c3RhcnQsCiAJbGVuID0gbnJfcGFnZXMgPDwgUEFHRV9TSElGVDsKIAlpZiAoY2hlY2tfYWRkX292 ZXJmbG93KHN0YXJ0LCBsZW4sICZlbmQpKQogCQlyZXR1cm4gMDsKKwlpZiAoZW5kID4gVEFTS19T SVpFX01BWCkKKwkJcmV0dXJuIC1FRkFVTFQ7CiAJaWYgKHVubGlrZWx5KCFhY2Nlc3Nfb2soKHZv aWQgX191c2VyICopc3RhcnQsIGxlbikpKQogCQlyZXR1cm4gLUVGQVVMVDsKIAotLSAKMi4zOS4x LjQzNy5nODhhZTVjN2Y4MQoK --0000000000005381e905fa6b0738--