Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp2675906rdh; Sun, 26 Nov 2023 15:22:03 -0800 (PST) X-Google-Smtp-Source: AGHT+IFsh4/mYNJz5bb6y67ZLf+RAPQpab+4RP3NcBE4Qm0oKxfasHmB7um7aV/yhApBhjhDkJWe X-Received: by 2002:a05:6a20:3d09:b0:18c:134c:a658 with SMTP id y9-20020a056a203d0900b0018c134ca658mr8308229pzi.35.1701040922815; Sun, 26 Nov 2023 15:22:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701040922; cv=none; d=google.com; s=arc-20160816; b=BA70lgytQKYASIeTi09jXfpxASAGa5aa/BLNEoEp30lYw3vAJXeOciGMYccgotdiik sbc3Dniq/j1J9G5B2ZfGSTpn9//KyYJg1U044FDxx9VKfPq+BM7SbGGMpLwbvYJrQcJ3 yOnx6xvmSSr5qeIk9xUeXP+V86+piJQ2YmyRxOCB6ce1bEXfZR/Lt5TBQ1R2Okk4fdU7 9c+9J/paNWOUz68bBbWtWlKvRIDLdpoFyrSc3JtWDx+DaK2MrY/720QhgbTad2S9kYfw 72VocFWwTuDSdkK6P7pbYFWx86hpPLVoIJKrz7IYpW3EU89sk4esXkjlKW1SamdZyC6o lb9Q== 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=kOAE1RED/Xp8KBHUMud6deuOummGFwkrCkMa9fkb62w=; fh=lErGtXdf21FHmX7L4hEmvZKF1UCyMACzCPgN5aLXXLk=; b=TKlL0s94pstDZFAM5aj5qfJaA3Ui/1UfZwsSBR+PK99sbozaFNyyQvFMCXN7ifu73n whPy0qSbcZ56GlS3BaOxDzGZmxBU7TxHgpmEvxprcehHhBYLTYsQzwOJfYz7A4ramTa4 Gl8RLj5yI4lIp5xAoWjfckuIEbouglhDjiN2XAjA6VxszmklhPMSzLEoVmV1qhoEKCxl 3MRP4ySgVHqO6rWYvDVAWzALuoBHmFYP00ucg5ziVVFOnvH4jwtokRgbjfke3bB+XvxO wVKqsuCpFMw3vHM/+8KqC0HUxCYQ58CdKym7LH0Wg2wLOCkYTV9TRIELubSkF0qXhjNk zT7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b=YXvMIvem; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id b10-20020a056a00114a00b00690bd178205si8328860pfm.215.2023.11.26.15.22.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Nov 2023 15:22:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b=YXvMIvem; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 26306804B3A4; Sun, 26 Nov 2023 15:21:58 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229502AbjKZXVT (ORCPT + 99 others); Sun, 26 Nov 2023 18:21:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35286 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229489AbjKZXVR (ORCPT ); Sun, 26 Nov 2023 18:21:17 -0500 Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2318211D for ; Sun, 26 Nov 2023 15:21:20 -0800 (PST) Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-54af1daf6a9so4511794a12.1 for ; Sun, 26 Nov 2023 15:21:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1701040878; x=1701645678; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=kOAE1RED/Xp8KBHUMud6deuOummGFwkrCkMa9fkb62w=; b=YXvMIvemDGkKn5+RPBvmrCPWXtLQIaTqf3WH3gInEJf7YF9maawoS2q86HOOC96mWM q89kmUJdtTpoyKR7Wq2e441UuHuKV50+2nPTZnlDykvgq5iGeXD4G9Ybim0im5yuUyol 47yGhYwsYE9WpRgkc1wwsaG2dXVQtoQMkeM7M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701040878; x=1701645678; 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=kOAE1RED/Xp8KBHUMud6deuOummGFwkrCkMa9fkb62w=; b=fwBTwmHYPbUyf5cERDK3zKKoJTyRxxmjuvy6Fq9VzG0x6zBky0If5uzj30LC9a0Y8s 7ofKQ0mSsTq/NDcl9L9CrxOPQfctA6jvEQ0eYc8lZPvZ3X4U9ETLhcNaHlhSo6NSbmYO iCaUQJpUovWtlXvEyQiyfB4cxONDf/eoewU8Vwgc0zRNoVw/hH9pbSj69KM7uiImHFhs WYdeWFFWUI/pRp6/jO3PMrWhAFg3SeUbMtY8xSh9KyxuF2GSHCtoBzEoVAlT61QxUoJ6 3kVKhWXlfk0EZhpP4VttiDr1MUMSilm4lfSZj+bwu4GCGqwPR/9lGZFaamYQA4eOY6vx KCbg== X-Gm-Message-State: AOJu0Yynv4JNr3ns0OTLVP0q8FmIyV40t6R7sVzdhbVeQfVM6q1F1CGh wwwjCVX4h65YtqSBYWt92ihQXtV9fX/aIzRBqDt5fP0l X-Received: by 2002:aa7:da90:0:b0:54b:523:b062 with SMTP id q16-20020aa7da90000000b0054b0523b062mr7600630eds.12.1701040878437; Sun, 26 Nov 2023 15:21:18 -0800 (PST) Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com. [209.85.208.43]) by smtp.gmail.com with ESMTPSA id eh9-20020a0564020f8900b005486f7f654dsm4658647edb.7.2023.11.26.15.21.16 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 26 Nov 2023 15:21:16 -0800 (PST) Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-54a94e68fb1so7310826a12.0 for ; Sun, 26 Nov 2023 15:21:16 -0800 (PST) X-Received: by 2002:a17:906:105c:b0:9ae:659f:4d2f with SMTP id j28-20020a170906105c00b009ae659f4d2fmr9105515ejj.26.1701040875921; Sun, 26 Nov 2023 15:21:15 -0800 (PST) MIME-Version: 1.0 References: <202311201406.2022ca3f-oliver.sang@intel.com> In-Reply-To: From: Linus Torvalds Date: Sun, 26 Nov 2023 15:20:58 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [linus:master] [file] 0ede61d858: will-it-scale.per_thread_ops -2.9% regression To: kernel test robot Cc: Christian Brauner , oe-lkp@lists.linux.dev, lkp@intel.com, linux-kernel@vger.kernel.org, Jann Horn , linux-doc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, intel-gfx@lists.freedesktop.org, linux-fsdevel@vger.kernel.org, gfs2@lists.linux.dev, bpf@vger.kernel.org, ying.huang@intel.com, feng.tang@intel.com, fengwei.yin@intel.com Content-Type: multipart/mixed; boundary="00000000000028aa18060b16713c" X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Sun, 26 Nov 2023 15:21:58 -0800 (PST) --00000000000028aa18060b16713c Content-Type: text/plain; charset="UTF-8" On Sun, 26 Nov 2023 at 12:23, Linus Torvalds wrote: > > IOW, I might have messed up some "trivial cleanup" when prepping for > sending it out... Bah. Famous last words. One of the "trivial cleanups" made the code more "obvious" by renaming the nospec mask as just "mask". And that trivial rename broke that patch *entirely*, because now that name shadowed the "fmode_t" mask argument. Don't even ask how long it took me to go from "I *tested* this, dammit, now it doesn't work at all" to "Oh God, I'm so stupid". So that nobody else would waste any time on this, attached is a new attempt. This time actually tested *after* the changes. Linus --00000000000028aa18060b16713c Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Improve-__fget_files_rcu-code-generation-and-thus-__.patch" Content-Disposition: attachment; filename="0001-Improve-__fget_files_rcu-code-generation-and-thus-__.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lpg3syhx0 RnJvbSA0NWY3MGI1NDEzYTY1NGQyMGVhZDQxMGM1MzNlYzFkNjA0YmRiMWUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRh dGlvbi5vcmc+CkRhdGU6IFN1biwgMjYgTm92IDIwMjMgMTI6MjQ6MzggLTA4MDAKU3ViamVjdDog W1BBVENIXSBJbXByb3ZlIF9fZmdldF9maWxlc19yY3UoKSBjb2RlIGdlbmVyYXRpb24gKGFuZCB0 aHVzIF9fZmdldF9saWdodCgpKQoKQ29tbWl0IDBlZGU2MWQ4NTg5YyAoImZpbGU6IGNvbnZlcnQg dG8gU0xBQl9UWVBFU0FGRV9CWV9SQ1UiKSBjYXVzZWQgYQpwZXJmb3JtYW5jZSByZWdyZXNzaW9u IGFzIHJlcG9ydGVkIGJ5IHRoZSBrZXJuZWwgdGVzdCByb2JvdC4KClRoZSBfX2ZnZXRfbGlnaHQo KSBmdW5jdGlvbiBpcyBvbmUgb2YgdGhvc2UgY3JpdGljYWwgb25lcyBmb3Igc29tZQpsb2Fkcywg YW5kIHRoZSBjb2RlIGdlbmVyYXRpb24gd2FzIHVubmVjZXNzYXJpbHkgaW1wYWN0ZWQuICBMZXQn cyBqdXN0CndyaXRlIHRoYXQgZnVuY3Rpb24gdG8gYmV0dGVyLgoKUmVwb3J0ZWQtYnk6IGtlcm5l bCB0ZXN0IHJvYm90IDxvbGl2ZXIuc2FuZ0BpbnRlbC5jb20+CkNjOiBDaHJpc3RpYW4gQnJhdW5l ciA8YnJhdW5lckBrZXJuZWwub3JnPgpDYzogSmFubiBIb3JuIDxqYW5uaEBnb29nbGUuY29tPgpD YzogTWF0ZXVzeiBHdXppayA8bWpndXppa0BnbWFpbC5jb20+CkNsb3NlczogaHR0cHM6Ly9sb3Jl Lmtlcm5lbC5vcmcvb2UtbGtwLzIwMjMxMTIwMTQwNi4yMDIyY2EzZi1vbGl2ZXIuc2FuZ0BpbnRl bC5jb20KU2lnbmVkLW9mZi1ieTogTGludXMgVG9ydmFsZHMgPHRvcnZhbGRzQGxpbnV4LWZvdW5k YXRpb24ub3JnPgotLS0KIGZzL2ZpbGUuYyAgICAgICAgICAgICAgIHwgNDggKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUvbGludXgvZmR0YWJsZS5oIHwg MTUgKysrKysrKystLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCAyMyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9mcy9maWxlLmMgYi9mcy9maWxlLmMKaW5kZXggNWZi MGIxNDZlNzllLi42MDhiNDgwMmMyMTQgMTAwNjQ0Ci0tLSBhL2ZzL2ZpbGUuYworKysgYi9mcy9m aWxlLmMKQEAgLTk1OSwzMSArOTU5LDQyIEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGZpbGUgKl9f ZmdldF9maWxlc19yY3Uoc3RydWN0IGZpbGVzX3N0cnVjdCAqZmlsZXMsCiAJCXN0cnVjdCBmaWxl ICpmaWxlOwogCQlzdHJ1Y3QgZmR0YWJsZSAqZmR0ID0gcmN1X2RlcmVmZXJlbmNlX3JhdyhmaWxl cy0+ZmR0KTsKIAkJc3RydWN0IGZpbGUgX19yY3UgKipmZGVudHJ5OworCQl1bnNpZ25lZCBsb25n IG5vc3BlYzsKIAotCQlpZiAodW5saWtlbHkoZmQgPj0gZmR0LT5tYXhfZmRzKSkKKwkJLyogTWFz ayBpcyBhIDAgZm9yIGludmFsaWQgZmQncywgfjAgZm9yIHZhbGlkIG9uZXMgKi8KKwkJbm9zcGVj ID0gYXJyYXlfaW5kZXhfbWFza19ub3NwZWMoZmQsIGZkdC0+bWF4X2Zkcyk7CisKKwkJLyogZmRl bnRyeSBwb2ludHMgdG8gdGhlICdmZCcgb2Zmc2V0LCBvciBmZHQtPmZkWzBdICovCisJCWZkZW50 cnkgPSBmZHQtPmZkICsgKGZkJm5vc3BlYyk7CisKKwkJLyogRG8gdGhlIGxvYWQsIHRoZW4gbWFz ayBhbnkgaW52YWxpZCByZXN1bHQgKi8KKwkJZmlsZSA9IHJjdV9kZXJlZmVyZW5jZV9yYXcoKmZk ZW50cnkpOworCQlmaWxlID0gKHZvaWQgKikobm9zcGVjICYgKHVuc2lnbmVkIGxvbmcpZmlsZSk7 CisKKwkJaWYgKHVubGlrZWx5KCFmaWxlKSkKIAkJCXJldHVybiBOVUxMOwogCi0JCWZkZW50cnkg PSBmZHQtPmZkICsgYXJyYXlfaW5kZXhfbm9zcGVjKGZkLCBmZHQtPm1heF9mZHMpOworCQkvKgor CQkgKiBPaywgd2UgaGF2ZSBhIGZpbGUgcG9pbnRlciB0aGF0IHdhcyB2YWxpZCBhdAorCQkgKiBz b21lIHBvaW50LCBidXQgaXQgbWlnaHQgaGF2ZSBiZWNvbWUgc3RhbGUgc2luY2UuCisJCSAqCisJ CSAqIFdlIG5lZWQgdG8gY29uZmlybSBpdCBieSBpbmNyZW1lbnRpbmcgdGhlIHJlZmNvdW50CisJ CSAqIGFuZCB0aGVuIGNoZWNrIHRoZSBsb29rdXAgYWdhaW4uCisJCSAqCisJCSAqIGF0b21pY19s b25nX2luY19ub3RfemVybygpIGdpdmVzIHVzIGEgZnVsbCBtZW1vcnkKKwkJICogYmFycmllci4g V2Ugb25seSByZWFsbHkgbmVlZCBhbiAnYWNxdWlyZScgb25lIHRvCisJCSAqIHByb3RlY3QgdGhl IGxvYWRzIGJlbG93LCBidXQgd2UgZG9uJ3QgaGF2ZSB0aGF0LgorCQkgKi8KKwkJaWYgKHVubGlr ZWx5KCFhdG9taWNfbG9uZ19pbmNfbm90X3plcm8oJmZpbGUtPmZfY291bnQpKSkKKwkJCWNvbnRp bnVlOwogCiAJCS8qCi0JCSAqIE9rLCB3ZSBoYXZlIGEgZmlsZSBwb2ludGVyLiBIb3dldmVyLCBi ZWNhdXNlIHdlIGRvCi0JCSAqIHRoaXMgYWxsIGxvY2tsZXNzbHkgdW5kZXIgUkNVLCB3ZSBtYXkg YmUgcmFjaW5nIHdpdGgKLQkJICogdGhhdCBmaWxlIGJlaW5nIGNsb3NlZC4KLQkJICoKIAkJICog U3VjaCBhIHJhY2UgY2FuIHRha2UgdHdvIGZvcm1zOgogCQkgKgogCQkgKiAgKGEpIHRoZSBmaWxl IHJlZiBhbHJlYWR5IHdlbnQgZG93biB0byB6ZXJvIGFuZCB0aGUKIAkJICogICAgICBmaWxlIGhh c24ndCBiZWVuIHJldXNlZCB5ZXQgb3IgdGhlIGZpbGUgY291bnQKIAkJICogICAgICBpc24ndCB6 ZXJvIGJ1dCB0aGUgZmlsZSBoYXMgYWxyZWFkeSBiZWVuIHJldXNlZC4KLQkJICovCi0JCWZpbGUg PSBfX2dldF9maWxlX3JjdShmZGVudHJ5KTsKLQkJaWYgKHVubGlrZWx5KCFmaWxlKSkKLQkJCXJl dHVybiBOVUxMOwotCi0JCWlmICh1bmxpa2VseShJU19FUlIoZmlsZSkpKQotCQkJY29udGludWU7 Ci0KLQkJLyoKKwkJICoKIAkJICogIChiKSB0aGUgZmlsZSB0YWJsZSBlbnRyeSBoYXMgY2hhbmdl ZCB1bmRlciB1cy4KIAkJICogICAgICAgTm90ZSB0aGF0IHdlIGRvbid0IG5lZWQgdG8gcmUtY2hl Y2sgdGhlICdmZHQtPmZkJwogCQkgKiAgICAgICBwb2ludGVyIGhhdmluZyBjaGFuZ2VkLCBiZWNh dXNlIGl0IGFsd2F5cyBnb2VzCkBAIC05OTEsNyArMTAwMiw4IEBAIHN0YXRpYyBpbmxpbmUgc3Ry dWN0IGZpbGUgKl9fZmdldF9maWxlc19yY3Uoc3RydWN0IGZpbGVzX3N0cnVjdCAqZmlsZXMsCiAJ CSAqCiAJCSAqIElmIHNvLCB3ZSBuZWVkIHRvIHB1dCBvdXIgcmVmIGFuZCB0cnkgYWdhaW4uCiAJ CSAqLwotCQlpZiAodW5saWtlbHkocmN1X2RlcmVmZXJlbmNlX3JhdyhmaWxlcy0+ZmR0KSAhPSBm ZHQpKSB7CisJCWlmICh1bmxpa2VseShmaWxlICE9IHJjdV9kZXJlZmVyZW5jZV9yYXcoKmZkZW50 cnkpKSB8fAorCQkgICAgdW5saWtlbHkocmN1X2RlcmVmZXJlbmNlX3JhdyhmaWxlcy0+ZmR0KSAh PSBmZHQpKSB7CiAJCQlmcHV0KGZpbGUpOwogCQkJY29udGludWU7CiAJCX0KQEAgLTExMjgsMTMg KzExNDAsMTMgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgX19mZ2V0X2xpZ2h0KHVuc2lnbmVkIGlu dCBmZCwgZm1vZGVfdCBtYXNrKQogCSAqIGF0b21pY19yZWFkX2FjcXVpcmUoKSBwYWlycyB3aXRo IGF0b21pY19kZWNfYW5kX3Rlc3QoKSBpbgogCSAqIHB1dF9maWxlc19zdHJ1Y3QoKS4KIAkgKi8K LQlpZiAoYXRvbWljX3JlYWRfYWNxdWlyZSgmZmlsZXMtPmNvdW50KSA9PSAxKSB7CisJaWYgKGxp a2VseShhdG9taWNfcmVhZF9hY3F1aXJlKCZmaWxlcy0+Y291bnQpID09IDEpKSB7CiAJCWZpbGUg PSBmaWxlc19sb29rdXBfZmRfcmF3KGZpbGVzLCBmZCk7CiAJCWlmICghZmlsZSB8fCB1bmxpa2Vs eShmaWxlLT5mX21vZGUgJiBtYXNrKSkKIAkJCXJldHVybiAwOwogCQlyZXR1cm4gKHVuc2lnbmVk IGxvbmcpZmlsZTsKIAl9IGVsc2UgewotCQlmaWxlID0gX19mZ2V0KGZkLCBtYXNrKTsKKwkJZmls ZSA9IF9fZmdldF9maWxlcyhmaWxlcywgZmQsIG1hc2spOwogCQlpZiAoIWZpbGUpCiAJCQlyZXR1 cm4gMDsKIAkJcmV0dXJuIEZEUFVUX0ZQVVQgfCAodW5zaWduZWQgbG9uZylmaWxlOwpkaWZmIC0t Z2l0IGEvaW5jbHVkZS9saW51eC9mZHRhYmxlLmggYi9pbmNsdWRlL2xpbnV4L2ZkdGFibGUuaApp bmRleCBiYzRjMzI4N2E2NWUuLjgwYmQ3Nzg5YmFiMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51 eC9mZHRhYmxlLmgKKysrIGIvaW5jbHVkZS9saW51eC9mZHRhYmxlLmgKQEAgLTgzLDEyICs4Mywx NyBAQCBzdHJ1Y3QgZGVudHJ5Owogc3RhdGljIGlubGluZSBzdHJ1Y3QgZmlsZSAqZmlsZXNfbG9v a3VwX2ZkX3JhdyhzdHJ1Y3QgZmlsZXNfc3RydWN0ICpmaWxlcywgdW5zaWduZWQgaW50IGZkKQog ewogCXN0cnVjdCBmZHRhYmxlICpmZHQgPSByY3VfZGVyZWZlcmVuY2VfcmF3KGZpbGVzLT5mZHQp OworCXVuc2lnbmVkIGxvbmcgbWFzayA9IGFycmF5X2luZGV4X21hc2tfbm9zcGVjKGZkLCBmZHQt Pm1heF9mZHMpOworCXN0cnVjdCBmaWxlICpuZWVkc19tYXNraW5nOwogCi0JaWYgKGZkIDwgZmR0 LT5tYXhfZmRzKSB7Ci0JCWZkID0gYXJyYXlfaW5kZXhfbm9zcGVjKGZkLCBmZHQtPm1heF9mZHMp OwotCQlyZXR1cm4gcmN1X2RlcmVmZXJlbmNlX3JhdyhmZHQtPmZkW2ZkXSk7Ci0JfQotCXJldHVy biBOVUxMOworCS8qCisJICogJ21hc2snIGlzIHplcm8gZm9yIGFuIG91dC1vZi1ib3VuZHMgZmQs IGFsbCBvbmVzIGZvciBvay4KKwkgKiAnZmQmbWFzaycgaXMgJ2ZkJyBmb3Igb2ssIG9yIDAgZm9y IG91dCBvZiBib3VuZHMuCisJICoKKwkgKiBBY2Nlc3NpbmcgZmR0LT5mZFswXSBpcyBvaywgYnV0 IG5lZWRzIG1hc2tpbmcgb2YgdGhlIHJlc3VsdC4KKwkgKi8KKwluZWVkc19tYXNraW5nID0gcmN1 X2RlcmVmZXJlbmNlX3JhdyhmZHQtPmZkW2ZkJm1hc2tdKTsKKwlyZXR1cm4gKHN0cnVjdCBmaWxl ICopKG1hc2sgJiAodW5zaWduZWQgbG9uZyluZWVkc19tYXNraW5nKTsKIH0KIAogc3RhdGljIGlu bGluZSBzdHJ1Y3QgZmlsZSAqZmlsZXNfbG9va3VwX2ZkX2xvY2tlZChzdHJ1Y3QgZmlsZXNfc3Ry dWN0ICpmaWxlcywgdW5zaWduZWQgaW50IGZkKQotLSAKMi40My4wLjUuZzM4ZmIxMzdiZGIKCg== --00000000000028aa18060b16713c--