Received: by 2002:a05:6500:2018:b0:1fb:9675:f89d with SMTP id t24csp704940lqh; Fri, 31 May 2024 13:57:31 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUYZTXzw3yG3mU7SjEw62u4nmjGPMT8WPms5lQ1+sHIOulDbDlpxqXzKSNgGG0j+3x9IyLg3UpnVZ6egCwVL5gO4qgEASKXwpVWTssRkQ== X-Google-Smtp-Source: AGHT+IFoIQ0INDUsOi/ATaxq+RWoI/IcKoS6uBJBI/EOBt7ujZ0a+W6+eCOE+vKp1iEJsvI4E3eR X-Received: by 2002:a17:906:d8c5:b0:a68:137b:949 with SMTP id a640c23a62f3a-a6820516e7bmr182972566b.29.1717189050986; Fri, 31 May 2024 13:57:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1717189050; cv=pass; d=google.com; s=arc-20160816; b=zIjZHyvRcZMPjsDTHntU40I8h6uWki7Nm3TDfWMeMyyMx81jxmBwss8+8AyXfY60zl X745fh7Aps1GshAzZTeI0F4KaS+NDOG7ncuXeLj8HydJV8Rem2yEjrpEuUmU5fTfQg2Q LoXxSTzCAcARxUY/BN1JSq15QqywXCdIHF/oHJP7+CrLA2XCd89axQZKVbPviw0MA4xs ku365gILRzN5BZ6J2YnxYOb4+ozMqKYEYzcm0vq3//8lPcefW1StDVM96G9CxxyeRW1Q TdlF/ynYE5q8lpz0E+egAkOPa14jJhWoldwJv6O6vkPyBqbJ/ZqJtJ9F8HaJFzjVvQ4X KOkw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :dkim-signature; bh=3NsubZpPPLy30Ys5mTt3k2bh+YLEiRM7bKeJwMh+kMo=; fh=6Stg8Xp2ySy0n48qejwdI8dE48J9yQWe5NLZ434dGU0=; b=LbDk9Jsbmq3EFettnw5ZNGy+T+8Okg9aeWE7WuAtPg6Mixb86FbB3sl0xUuMUApHzC TlgSThXJ4Lhjq7a+9zC9XbL+9iUyIdEZsxTnnyFfR8tnpHjnHuAgMOKj2LrvXRhxGtEp +/4+3b2GVGdGTHFpBLamCLOulOM7f8gYQZ5T4U7VkgSwAEafWpcX0a5IkfoMZh0Ir+2r +xoxr92gkGIYamUfnZpUgqPzq5jdzesrCmxz/8Xisek4qYFD8U+vdJqUzeuuAHkfxV4z MpkE+vF5LjuT5S4zzfWCvyC3oBgrFzMLa4/1rL2hs1P0tO5Ehh/IRw9UL9a2rdLayDq7 qLYw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="R/lVD8AI"; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-197473-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-197473-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id a640c23a62f3a-a68778cf0c0si91059766b.623.2024.05.31.13.57.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 May 2024 13:57:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-197473-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="R/lVD8AI"; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-197473-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-197473-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 37CB31F28B5C for ; Fri, 31 May 2024 20:57:30 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4AE613C08A; Fri, 31 May 2024 20:57:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="R/lVD8AI" Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 0BE0E208D4 for ; Fri, 31 May 2024 20:57:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717189041; cv=none; b=GQRNSdKXreaVQnl1k9sywvfpurJSyHI/jvgq7YXEE3fHKHaaA3Mx6R4HL7tbva2W2zT85EJkMEJqTkB/Bikdz5igRy2fYNzpKLk+nwMIR7zH4XOZXkITXix/emJT0MG5jyNIqghysAGq/HiepaWAIefFeGfDGfgv4R/xX+zW+4Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717189041; c=relaxed/simple; bh=3NsubZpPPLy30Ys5mTt3k2bh+YLEiRM7bKeJwMh+kMo=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=QbHYSZEv5fum+FW/XkFtAaetWRoBcuwU8G+JIquvSTGob5c68ZsJ87bf4cQmbrnyHs4flX3jKN8qkJjSXyud4l+EcZa6vsdJ8kYFQ/HDk8eRJfZ+IrQ9WwlMOzbFcG7Z/hyeCfifF2gRlVpv/a34puVrem7A4jeJ15MFCL/NDXg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=R/lVD8AI; arc=none smtp.client-ip=209.85.208.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-57a3d21299aso1049508a12.2 for ; Fri, 31 May 2024 13:57:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717189038; x=1717793838; 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=3NsubZpPPLy30Ys5mTt3k2bh+YLEiRM7bKeJwMh+kMo=; b=R/lVD8AIBagOnjo/wZ/m+hggN5NYgtSsGBLe5acuZ0z3/1oONFaG2OZWoAp9+Mxjrv ISJENES4z95kjKSj0flTIy3NZiaAzsX7iZY3RWFoiMkhI81mHSsogxgIhixdDEXYp/kn PfNjRLl+CHoF/IzVIugcf5GL5M4F7pKWe+6qYvJ8/RBvhHDPpihSvnCR0tLCxWBHfllz 6otJQxUZODuzH+5KilVXPo0qlA+mj5GrzhiDdz8rozsvggsUCUTnWr7hHTVFhDPC9w/Z 1ykpDNHEa8sQf6qwv/GdL3KRe+Qgyd0xQ9xjVgktvmo+3sJWXpXyMTA0yfZzwNfkgpBr 17AQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717189038; x=1717793838; 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=3NsubZpPPLy30Ys5mTt3k2bh+YLEiRM7bKeJwMh+kMo=; b=RAKYpd7Q0i6LrwftDc4ZPpliY+feDMtvwhRTGxRwvOrl7ofL34UFBI6OlrjpAUCejD M5KV/wIitf0g2FnANwKf0IxAxZhD9nFf86BnZFTfYPpEQTngEi7+sqb4iS9wQEvSv0xO xeNiu3YDCrC9woE/9YZVKyawlDYPcNXULnSMogpxEg+u6m0f/aKcMycYr2XTpc8inxSh 2+B6I+CTxVmi3Kak7zpsIB+vxMSPQDCfcapHvB/zVAlUIgzXRnFXWARewH9FI37/HgGS bXhQzapxzzKMeMlWQetiQ1B4eozZohm6qWlgnCzpsxc4DNsaZQj7fO17PwC9ZauoPJXE ttqg== X-Forwarded-Encrypted: i=1; AJvYcCVCbvJGWfLUgzON7ZPiww/nWxF2lfs8neGxyZTEaPwH67B2TFrgvNmikvedkJPENOYehUnenOhGOANqXlzwY4Qm/cGz3cwqj92vaWVU X-Gm-Message-State: AOJu0YzbEzdge1Rid+TB4RiAenftVkB7sZ8+1wqTU8lhZTG+6slGQ01S 8DM2MLwGloEiGzIt1n+vUpuQnm45JebnOyXz48Nc6LMNcF1hAZi6CX8l0XIcqXQU0lRqJh/dVq+ A8hLMLA5Km2VSkcw5LQ1ILZ0ZTfM= X-Received: by 2002:a50:f682:0:b0:57a:2f7f:4800 with SMTP id 4fb4d7f45d1cf-57a364ac02amr2040010a12.34.1717189038024; Fri, 31 May 2024 13:57:18 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <202405311534.86cd4043-lkp@intel.com> <890e5a79-8574-4a24-90ab-b9888968d5e5@redhat.com> In-Reply-To: From: Yang Shi Date: Fri, 31 May 2024 13:57:06 -0700 Message-ID: Subject: Re: [linus:master] [mm] efa7df3e3b: kernel_BUG_at_include/linux/page_ref.h To: David Hildenbrand , kernel test robot Cc: Peter Xu , Jason Gunthorpe , Vivek Kasireddy , Rik van Riel , oe-lkp@lists.linux.dev, lkp@intel.com, linux-kernel@vger.kernel.org, Andrew Morton , Matthew Wilcox , Christopher Lameter , linux-mm@kvack.org Content-Type: multipart/mixed; boundary="0000000000009fc4fe0619c63a67" --0000000000009fc4fe0619c63a67 Content-Type: text/plain; charset="UTF-8" Hi Oliver, I just came up with a quick patch (just build test) per the discussion and attached, can you please to give it a try? Once it is verified, I will refine the patch and submit for review. Thanks, Yang > > > > > > > -- > > Cheers, > > > > David / dhildenb > > --0000000000009fc4fe0619c63a67 Content-Type: application/octet-stream; name="try_grab_folio_fix.patch" Content-Disposition: attachment; filename="try_grab_folio_fix.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lwv5yocf0 ZGlmZiAtLWdpdCBhL21tL2d1cC5jIGIvbW0vZ3VwLmMKaW5kZXggZTE3NDY2ZmQ2MmJiLi45NmE4 NGFiZTRlZjIgMTAwNjQ0Ci0tLSBhL21tL2d1cC5jCisrKyBiL21tL2d1cC5jCkBAIC0xMDAsNyAr MTAwLDcgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgZm9saW8gKnRyeV9nZXRfZm9saW8oc3RydWN0 IHBhZ2UgKnBhZ2UsIGludCByZWZzKQogfQogCiAvKioKLSAqIHRyeV9ncmFiX2ZvbGlvKCkgLSBB dHRlbXB0IHRvIGdldCBvciBwaW4gYSBmb2xpby4KKyAqIHRyeV9ncmFiX2ZvbGlvX2Zhc3QoKSAt IEF0dGVtcHQgdG8gZ2V0IG9yIHBpbiBhIGZvbGlvIGluIGZhc3QgcGF0aC4KICAqIEBwYWdlOiAg cG9pbnRlciB0byBwYWdlIHRvIGJlIGdyYWJiZWQKICAqIEByZWZzOiAgdGhlIHZhbHVlIHRvIChl ZmZlY3RpdmVseSkgYWRkIHRvIHRoZSBmb2xpbydzIHJlZmNvdW50CiAgKiBAZmxhZ3M6IGd1cCBm bGFnczogdGhlc2UgYXJlIHRoZSBGT0xMXyogZmxhZyB2YWx1ZXMuCkBAIC0xMjUsNyArMTI1LDcg QEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgZm9saW8gKnRyeV9nZXRfZm9saW8oc3RydWN0IHBhZ2Ug KnBhZ2UsIGludCByZWZzKQogICogbm9yIEZPTExfUElOIHdhcyBzZXQsIHRoYXQncyBjb25zaWRl cmVkIGZhaWx1cmUsIGFuZCBmdXJ0aGVybW9yZSwKICAqIGEgbGlrZWx5IGJ1ZyBpbiB0aGUgY2Fs bGVyLCBzbyBhIHdhcm5pbmcgaXMgYWxzbyBlbWl0dGVkLgogICovCi1zdHJ1Y3QgZm9saW8gKnRy eV9ncmFiX2ZvbGlvKHN0cnVjdCBwYWdlICpwYWdlLCBpbnQgcmVmcywgdW5zaWduZWQgaW50IGZs YWdzKQorc3RydWN0IGZvbGlvICp0cnlfZ3JhYl9mb2xpb19mYXN0KHN0cnVjdCBwYWdlICpwYWdl LCBpbnQgcmVmcywgdW5zaWduZWQgaW50IGZsYWdzKQogewogCXN0cnVjdCBmb2xpbyAqZm9saW87 CiAKQEAgLTIwNSwyOCArMjA1LDI4IEBAIHN0YXRpYyB2b2lkIGd1cF9wdXRfZm9saW8oc3RydWN0 IGZvbGlvICpmb2xpbywgaW50IHJlZnMsIHVuc2lnbmVkIGludCBmbGFncykKIH0KIAogLyoqCi0g KiB0cnlfZ3JhYl9wYWdlKCkgLSBlbGV2YXRlIGEgcGFnZSdzIHJlZmNvdW50IGJ5IGEgZmxhZy1k ZXBlbmRlbnQgYW1vdW50Ci0gKiBAcGFnZTogICAgcG9pbnRlciB0byBwYWdlIHRvIGJlIGdyYWJi ZWQKLSAqIEBmbGFnczogICBndXAgZmxhZ3M6IHRoZXNlIGFyZSB0aGUgRk9MTF8qIGZsYWcgdmFs dWVzLgorICogdHJ5X2dyYWJfZm9saW8oKSAtIGFkZCBhIGZvbGlvJ3MgcmVmY291bnQgYnkgYSBm bGFnLWRlcGVuZGVudCBhbW91bnQKKyAqIEBmb2xpbzogICAgcG9pbnRlciB0byBmb2xpbyB0byBi ZSBncmFiYmVkCisgKiBAcmVmczogICAgIHRoZSB2YWx1ZSB0byAoZWZmZWN0aXZlbHkpIGFkZCB0 byB0aGUgZm9saW8ncyByZWZjb3VudAorICogQGZsYWdzOiAgICBndXAgZmxhZ3M6IHRoZXNlIGFy ZSB0aGUgRk9MTF8qIGZsYWcgdmFsdWVzLgogICoKICAqIFRoaXMgbWlnaHQgbm90IGRvIGFueXRo aW5nIGF0IGFsbCwgZGVwZW5kaW5nIG9uIHRoZSBmbGFncyBhcmd1bWVudC4KICAqCiAgKiAiZ3Jh YiIgbmFtZXMgaW4gdGhpcyBmaWxlIG1lYW4sICJsb29rIGF0IGZsYWdzIHRvIGRlY2lkZSB3aGV0 aGVyIHRvIHVzZQotICogRk9MTF9QSU4gb3IgRk9MTF9HRVQgYmVoYXZpb3IsIHdoZW4gaW5jcmVt ZW50aW5nIHRoZSBwYWdlJ3MgcmVmY291bnQuCisgKiBGT0xMX1BJTiBvciBGT0xMX0dFVCBiZWhh dmlvciwgd2hlbiBpbmNyZW1lbnRpbmcgdGhlIGZvbGlvJ3MgcmVmY291bnQuCiAgKgogICogRWl0 aGVyIEZPTExfUElOIG9yIEZPTExfR0VUIChvciBuZWl0aGVyKSBtYXkgYmUgc2V0LCBidXQgbm90 IGJvdGggYXQgdGhlIHNhbWUKLSAqIHRpbWUuIENhc2VzOiBwbGVhc2Ugc2VlIHRoZSB0cnlfZ3Jh Yl9mb2xpbygpIGRvY3VtZW50YXRpb24sIHdpdGgKLSAqICJyZWZzPTEiLgorICogdGltZS4KICAq CiAgKiBSZXR1cm46IDAgZm9yIHN1Y2Nlc3MsIG9yIGlmIG5vIGFjdGlvbiB3YXMgcmVxdWlyZWQg KGlmIG5laXRoZXIgRk9MTF9QSU4KICAqIG5vciBGT0xMX0dFVCB3YXMgc2V0LCBub3RoaW5nIGlz IGRvbmUpLiBBIG5lZ2F0aXZlIGVycm9yIGNvZGUgZm9yIGZhaWx1cmU6CiAgKgotICogICAtRU5P TUVNCQlGT0xMX0dFVCBvciBGT0xMX1BJTiB3YXMgc2V0LCBidXQgdGhlIHBhZ2UgY291bGQgbm90 CisgKiAgIC1FTk9NRU0JCUZPTExfR0VUIG9yIEZPTExfUElOIHdhcyBzZXQsIGJ1dCB0aGUgZm9s aW8gY291bGQgbm90CiAgKgkJCWJlIGdyYWJiZWQuCiAgKi8KLWludCBfX211c3RfY2hlY2sgdHJ5 X2dyYWJfcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgdW5zaWduZWQgaW50IGZsYWdzKQoraW50IF9f bXVzdF9jaGVjayB0cnlfZ3JhYl9mb2xpbyhzdHJ1Y3QgZm9saW8gKmZvbGlvLCBpbnQgcmVmcywg dW5zaWduZWQgaW50IGZsYWdzKQogewotCXN0cnVjdCBmb2xpbyAqZm9saW8gPSBwYWdlX2ZvbGlv KHBhZ2UpOworCXN0cnVjdCBwYWdlICpwYWdlID0gJmZvbGlvLT5wYWdlOwogCiAJaWYgKFdBUk5f T05fT05DRShmb2xpb19yZWZfY291bnQoZm9saW8pIDw9IDApKQogCQlyZXR1cm4gLUVOT01FTTsK QEAgLTIzNSw3ICsyMzUsNyBAQCBpbnQgX19tdXN0X2NoZWNrIHRyeV9ncmFiX3BhZ2Uoc3RydWN0 IHBhZ2UgKnBhZ2UsIHVuc2lnbmVkIGludCBmbGFncykKIAkJcmV0dXJuIC1FUkVNT1RFSU87CiAK IAlpZiAoZmxhZ3MgJiBGT0xMX0dFVCkKLQkJZm9saW9fcmVmX2luYyhmb2xpbyk7CisJCWZvbGlv X3JlZl9hZGQoZm9saW8sIHJlZnMpOwogCWVsc2UgaWYgKGZsYWdzICYgRk9MTF9QSU4pIHsKIAkJ LyoKIAkJICogRG9uJ3QgdGFrZSBhIHBpbiBvbiB0aGUgemVybyBwYWdlIC0gaXQncyBub3QgZ29p bmcgYW55d2hlcmUKQEAgLTI0NSwxOCArMjQ1LDE4IEBAIGludCBfX211c3RfY2hlY2sgdHJ5X2dy YWJfcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgdW5zaWduZWQgaW50IGZsYWdzKQogCQkJcmV0dXJu IDA7CiAKIAkJLyoKLQkJICogU2ltaWxhciB0byB0cnlfZ3JhYl9mb2xpbygpOiBiZSBzdXJlIHRv ICphbHNvKgotCQkgKiBpbmNyZW1lbnQgdGhlIG5vcm1hbCBwYWdlIHJlZmNvdW50IGZpZWxkIGF0 IGxlYXN0IG9uY2UsCisJCSAqIEluY3JlbWVudCB0aGUgbm9ybWFsIHBhZ2UgcmVmY291bnQgZmll bGQgYXQgbGVhc3Qgb25jZSwKIAkJICogc28gdGhhdCB0aGUgcGFnZSByZWFsbHkgaXMgcGlubmVk LgogCQkgKi8KIAkJaWYgKGZvbGlvX3Rlc3RfbGFyZ2UoZm9saW8pKSB7Ci0JCQlmb2xpb19yZWZf YWRkKGZvbGlvLCAxKTsKLQkJCWF0b21pY19hZGQoMSwgJmZvbGlvLT5fcGluY291bnQpOworCQkJ Zm9saW9fcmVmX2FkZChmb2xpbywgcmVmcyk7CisJCQlhdG9taWNfYWRkKHJlZnMsICZmb2xpby0+ X3BpbmNvdW50KTsKIAkJfSBlbHNlIHsKLQkJCWZvbGlvX3JlZl9hZGQoZm9saW8sIEdVUF9QSU5f Q09VTlRJTkdfQklBUyk7CisJCQlmb2xpb19yZWZfYWRkKGZvbGlvLAorCQkJCQlyZWZzICogKEdV UF9QSU5fQ09VTlRJTkdfQklBUyAtIDEpKTsKIAkJfQogCi0JCW5vZGVfc3RhdF9tb2RfZm9saW8o Zm9saW8sIE5SX0ZPTExfUElOX0FDUVVJUkVELCAxKTsKKwkJbm9kZV9zdGF0X21vZF9mb2xpbyhm b2xpbywgTlJfRk9MTF9QSU5fQUNRVUlSRUQsIHJlZnMpOwogCX0KIAogCXJldHVybiAwOwpAQCAt NTg0LDcgKzU4NCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGh1Z2VwdGVfYWRkcl9lbmQodW5z aWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCwKICAqLwogc3RhdGljIGludCBndXBf aHVnZXB0ZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgcHRlX3QgKnB0ZXAsIHVuc2lnbmVk IGxvbmcgc3osCiAJCSAgICAgICB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5k LCB1bnNpZ25lZCBpbnQgZmxhZ3MsCi0JCSAgICAgICBzdHJ1Y3QgcGFnZSAqKnBhZ2VzLCBpbnQg Km5yKQorCQkgICAgICAgc3RydWN0IHBhZ2UgKipwYWdlcywgaW50ICpuciwgYm9vbCBmYXN0KQog ewogCXVuc2lnbmVkIGxvbmcgcHRlX2VuZDsKIAlzdHJ1Y3QgcGFnZSAqcGFnZTsKQEAgLTYwNyw5 ICs2MDcsMTUgQEAgc3RhdGljIGludCBndXBfaHVnZXB0ZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3Qg KnZtYSwgcHRlX3QgKnB0ZXAsIHVuc2lnbmVkIGxvbmcgc3oKIAlwYWdlID0gcHRlX3BhZ2UocHRl KTsKIAlyZWZzID0gcmVjb3JkX3N1YnBhZ2VzKHBhZ2UsIHN6LCBhZGRyLCBlbmQsIHBhZ2VzICsg Km5yKTsKIAotCWZvbGlvID0gdHJ5X2dyYWJfZm9saW8ocGFnZSwgcmVmcywgZmxhZ3MpOwotCWlm ICghZm9saW8pCi0JCXJldHVybiAwOworCWlmIChmYXN0KSB7CisJCWZvbGlvID0gdHJ5X2dyYWJf Zm9saW9fZmFzdChwYWdlLCByZWZzLCBmbGFncyk7CisJCWlmICghZm9saW8pCisJCQlyZXR1cm4g MDsKKwl9IGVsc2UgeworCQlmb2xpbyA9IHBhZ2VfZm9saW8ocGFnZSk7CisJCWlmICh0cnlfZ3Jh Yl9mb2xpbyhmb2xpbywgcmVmcywgZmxhZ3MpKQorCQkJcmV0dXJuIDA7CisJfQogCiAJaWYgKHVu bGlrZWx5KHB0ZV92YWwocHRlKSAhPSBwdGVfdmFsKHB0ZXBfZ2V0KHB0ZXApKSkpIHsKIAkJZ3Vw X3B1dF9mb2xpbyhmb2xpbywgcmVmcywgZmxhZ3MpOwpAQCAtNjM3LDcgKzY0Myw3IEBAIHN0YXRp YyBpbnQgZ3VwX2h1Z2VwdGUoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHB0ZV90ICpwdGVw LCB1bnNpZ25lZCBsb25nIHN6CiBzdGF0aWMgaW50IGd1cF9odWdlcGQoc3RydWN0IHZtX2FyZWFf c3RydWN0ICp2bWEsIGh1Z2VwZF90IGh1Z2VwZCwKIAkJICAgICAgdW5zaWduZWQgbG9uZyBhZGRy LCB1bnNpZ25lZCBpbnQgcGRzaGlmdCwKIAkJICAgICAgdW5zaWduZWQgbG9uZyBlbmQsIHVuc2ln bmVkIGludCBmbGFncywKLQkJICAgICAgc3RydWN0IHBhZ2UgKipwYWdlcywgaW50ICpucikKKwkJ ICAgICAgc3RydWN0IHBhZ2UgKipwYWdlcywgaW50ICpuciwgYm9vbCBmYXN0KQogewogCXB0ZV90 ICpwdGVwOwogCXVuc2lnbmVkIGxvbmcgc3ogPSAxVUwgPDwgaHVnZXBkX3NoaWZ0KGh1Z2VwZCk7 CkBAIC02NDcsNyArNjUzLDcgQEAgc3RhdGljIGludCBndXBfaHVnZXBkKHN0cnVjdCB2bV9hcmVh X3N0cnVjdCAqdm1hLCBodWdlcGRfdCBodWdlcGQsCiAJcHRlcCA9IGh1Z2VwdGVfb2Zmc2V0KGh1 Z2VwZCwgYWRkciwgcGRzaGlmdCk7CiAJZG8gewogCQluZXh0ID0gaHVnZXB0ZV9hZGRyX2VuZChh ZGRyLCBlbmQsIHN6KTsKLQkJcmV0ID0gZ3VwX2h1Z2VwdGUodm1hLCBwdGVwLCBzeiwgYWRkciwg ZW5kLCBmbGFncywgcGFnZXMsIG5yKTsKKwkJcmV0ID0gZ3VwX2h1Z2VwdGUodm1hLCBwdGVwLCBz eiwgYWRkciwgZW5kLCBmbGFncywgcGFnZXMsIG5yLCBmYXN0KTsKIAkJaWYgKHJldCAhPSAxKQog CQkJcmV0dXJuIHJldDsKIAl9IHdoaWxlIChwdGVwKyssIGFkZHIgPSBuZXh0LCBhZGRyICE9IGVu ZCk7CkBAIC02NzQsNyArNjgwLDcgQEAgc3RhdGljIHN0cnVjdCBwYWdlICpmb2xsb3dfaHVnZXBk KHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBodWdlcGRfdCBodWdlcGQsCiAJcHRlcCA9IGh1 Z2VwdGVfb2Zmc2V0KGh1Z2VwZCwgYWRkciwgcGRzaGlmdCk7CiAJcHRsID0gaHVnZV9wdGVfbG9j ayhoLCB2bWEtPnZtX21tLCBwdGVwKTsKIAlyZXQgPSBndXBfaHVnZXBkKHZtYSwgaHVnZXBkLCBh ZGRyLCBwZHNoaWZ0LCBhZGRyICsgUEFHRV9TSVpFLAotCQkJIGZsYWdzLCAmcGFnZSwgJm5yKTsK KwkJCSBmbGFncywgJnBhZ2UsICZuciwgZmFsc2UpOwogCXNwaW5fdW5sb2NrKHB0bCk7CiAKIAlp ZiAocmV0ID09IDEpIHsKQEAgLTY5MSw3ICs2OTcsNyBAQCBzdGF0aWMgc3RydWN0IHBhZ2UgKmZv bGxvd19odWdlcGQoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIGh1Z2VwZF90IGh1Z2VwZCwK IHN0YXRpYyBpbmxpbmUgaW50IGd1cF9odWdlcGQoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEs IGh1Z2VwZF90IGh1Z2VwZCwKIAkJCSAgICAgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBp bnQgcGRzaGlmdCwKIAkJCSAgICAgdW5zaWduZWQgbG9uZyBlbmQsIHVuc2lnbmVkIGludCBmbGFn cywKLQkJCSAgICAgc3RydWN0IHBhZ2UgKipwYWdlcywgaW50ICpucikKKwkJCSAgICAgc3RydWN0 IHBhZ2UgKipwYWdlcywgaW50ICpuciwgYm9vbCBmYXN0KQogewogCXJldHVybiAwOwogfQpAQCAt Nzc4LDcgKzc4NCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcGFnZSAqZm9sbG93X2h1Z2VfcHVkKHN0cnVj dCB2bV9hcmVhX3N0cnVjdCAqdm1hLAogCSAgICBndXBfbXVzdF91bnNoYXJlKHZtYSwgZmxhZ3Ms IHBhZ2UpKQogCQlyZXR1cm4gRVJSX1BUUigtRU1MSU5LKTsKIAotCXJldCA9IHRyeV9ncmFiX3Bh Z2UocGFnZSwgZmxhZ3MpOworCXJldCA9IHRyeV9ncmFiX2ZvbGlvKHBhZ2VfZm9saW8ocGFnZSks IDEsIGZsYWdzKTsKIAlpZiAocmV0KQogCQlwYWdlID0gRVJSX1BUUihyZXQpOwogCWVsc2UKQEAg LTg1NSw3ICs4NjEsNyBAQCBzdGF0aWMgc3RydWN0IHBhZ2UgKmZvbGxvd19odWdlX3BtZChzdHJ1 Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAlWTV9CVUdfT05fUEFHRSgoZmxhZ3MgJiBGT0xMX1BJ TikgJiYgUGFnZUFub24ocGFnZSkgJiYKIAkJCSFQYWdlQW5vbkV4Y2x1c2l2ZShwYWdlKSwgcGFn ZSk7CiAKLQlyZXQgPSB0cnlfZ3JhYl9wYWdlKHBhZ2UsIGZsYWdzKTsKKwlyZXQgPSB0cnlfZ3Jh Yl9mb2xpbyhwYWdlX2ZvbGlvKHBhZ2UpLCAxLCBmbGFncyk7CiAJaWYgKHJldCkKIAkJcmV0dXJu IEVSUl9QVFIocmV0KTsKIApAQCAtMTAxNyw4ICsxMDIzLDggQEAgc3RhdGljIHN0cnVjdCBwYWdl ICpmb2xsb3dfcGFnZV9wdGUoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCiAJVk1fQlVHX09O X1BBR0UoKGZsYWdzICYgRk9MTF9QSU4pICYmIFBhZ2VBbm9uKHBhZ2UpICYmCiAJCSAgICAgICAh UGFnZUFub25FeGNsdXNpdmUocGFnZSksIHBhZ2UpOwogCi0JLyogdHJ5X2dyYWJfcGFnZSgpIGRv ZXMgbm90aGluZyB1bmxlc3MgRk9MTF9HRVQgb3IgRk9MTF9QSU4gaXMgc2V0LiAqLwotCXJldCA9 IHRyeV9ncmFiX3BhZ2UocGFnZSwgZmxhZ3MpOworCS8qIHRyeV9ncmFiX2ZvbGlvKCkgZG9lcyBu b3RoaW5nIHVubGVzcyBGT0xMX0dFVCBvciBGT0xMX1BJTiBpcyBzZXQuICovCisJcmV0ID0gdHJ5 X2dyYWJfZm9saW8ocGFnZV9mb2xpbyhwYWdlKSwgMSwgZmxhZ3MpOwogCWlmICh1bmxpa2VseShy ZXQpKSB7CiAJCXBhZ2UgPSBFUlJfUFRSKHJldCk7CiAJCWdvdG8gb3V0OwpAQCAtMTI4Miw3ICsx Mjg4LDcgQEAgc3RhdGljIGludCBnZXRfZ2F0ZV9wYWdlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1 bnNpZ25lZCBsb25nIGFkZHJlc3MsCiAJCQlnb3RvIHVubWFwOwogCQkqcGFnZSA9IHB0ZV9wYWdl KGVudHJ5KTsKIAl9Ci0JcmV0ID0gdHJ5X2dyYWJfcGFnZSgqcGFnZSwgZ3VwX2ZsYWdzKTsKKwly ZXQgPSB0cnlfZ3JhYl9mb2xpbyhwYWdlX2ZvbGlvKCpwYWdlKSwgMSwgZ3VwX2ZsYWdzKTsKIAlp ZiAodW5saWtlbHkocmV0KSkKIAkJZ290byB1bm1hcDsKIG91dDoKQEAgLTE2ODUsMjAgKzE2OTEs MTkgQEAgc3RhdGljIGxvbmcgX19nZXRfdXNlcl9wYWdlcyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwK IAkJCSAqIHBhZ2VzLgogCQkJICovCiAJCQlpZiAocGFnZV9pbmNyZW0gPiAxKSB7Ci0JCQkJc3Ry dWN0IGZvbGlvICpmb2xpbzsKKwkJCQlzdHJ1Y3QgZm9saW8gKmZvbGlvID0gcGFnZV9mb2xpbyhw YWdlKTsKIAogCQkJCS8qCiAJCQkJICogU2luY2Ugd2UgYWxyZWFkeSBob2xkIHJlZmNvdW50IG9u IHRoZQogCQkJCSAqIGxhcmdlIGZvbGlvLCB0aGlzIHNob3VsZCBuZXZlciBmYWlsLgogCQkJCSAq LwotCQkJCWZvbGlvID0gdHJ5X2dyYWJfZm9saW8ocGFnZSwgcGFnZV9pbmNyZW0gLSAxLAotCQkJ CQkJICAgICAgIGZvbGxfZmxhZ3MpOwotCQkJCWlmIChXQVJOX09OX09OQ0UoIWZvbGlvKSkgewor CQkJCWlmICh0cnlfZ3JhYl9mb2xpbyhmb2xpbywgcGFnZV9pbmNyZW0gLSAxLAorCQkJCQkJICAg Zm9sbF9mbGFncykpIHsKIAkJCQkJLyoKIAkJCQkJICogUmVsZWFzZSB0aGUgMXN0IHBhZ2UgcmVm IGlmIHRoZQogCQkJCQkgKiBmb2xpbyBpcyBwcm9ibGVtYXRpYywgZmFpbCBoYXJkLgogCQkJCQkg Ki8KLQkJCQkJZ3VwX3B1dF9mb2xpbyhwYWdlX2ZvbGlvKHBhZ2UpLCAxLAorCQkJCQlndXBfcHV0 X2ZvbGlvKGZvbGlvLCAxLAogCQkJCQkJICAgICAgZm9sbF9mbGFncyk7CiAJCQkJCXJldCA9IC1F RkFVTFQ7CiAJCQkJCWdvdG8gb3V0OwpAQCAtMzA0MSw3ICszMDQ2LDcgQEAgc3RhdGljIGludCBn dXBfZmFzdF9wdGVfcmFuZ2UocG1kX3QgcG1kLCBwbWRfdCAqcG1kcCwgdW5zaWduZWQgbG9uZyBh ZGRyLAogCQlWTV9CVUdfT04oIXBmbl92YWxpZChwdGVfcGZuKHB0ZSkpKTsKIAkJcGFnZSA9IHB0 ZV9wYWdlKHB0ZSk7CiAKLQkJZm9saW8gPSB0cnlfZ3JhYl9mb2xpbyhwYWdlLCAxLCBmbGFncyk7 CisJCWZvbGlvID0gdHJ5X2dyYWJfZm9saW9fZmFzdChwYWdlLCAxLCBmbGFncyk7CiAJCWlmICgh Zm9saW8pCiAJCQlnb3RvIHB0ZV91bm1hcDsKIApAQCAtMzEyOCw3ICszMTMzLDcgQEAgc3RhdGlj IGludCBndXBfZmFzdF9kZXZtYXBfbGVhZih1bnNpZ25lZCBsb25nIHBmbiwgdW5zaWduZWQgbG9u ZyBhZGRyLAogCQkJYnJlYWs7CiAJCX0KIAotCQlmb2xpbyA9IHRyeV9ncmFiX2ZvbGlvKHBhZ2Us IDEsIGZsYWdzKTsKKwkJZm9saW8gPSB0cnlfZ3JhYl9mb2xpb19mYXN0KHBhZ2UsIDEsIGZsYWdz KTsKIAkJaWYgKCFmb2xpbykgewogCQkJZ3VwX2Zhc3RfdW5kb19kZXZfcGFnZW1hcChuciwgbnJf c3RhcnQsIGZsYWdzLCBwYWdlcyk7CiAJCQlicmVhazsKQEAgLTMyMTcsNyArMzIyMiw3IEBAIHN0 YXRpYyBpbnQgZ3VwX2Zhc3RfcG1kX2xlYWYocG1kX3Qgb3JpZywgcG1kX3QgKnBtZHAsIHVuc2ln bmVkIGxvbmcgYWRkciwKIAlwYWdlID0gcG1kX3BhZ2Uob3JpZyk7CiAJcmVmcyA9IHJlY29yZF9z dWJwYWdlcyhwYWdlLCBQTURfU0laRSwgYWRkciwgZW5kLCBwYWdlcyArICpucik7CiAKLQlmb2xp byA9IHRyeV9ncmFiX2ZvbGlvKHBhZ2UsIHJlZnMsIGZsYWdzKTsKKwlmb2xpbyA9IHRyeV9ncmFi X2ZvbGlvX2Zhc3QocGFnZSwgcmVmcywgZmxhZ3MpOwogCWlmICghZm9saW8pCiAJCXJldHVybiAw OwogCkBAIC0zMjYxLDcgKzMyNjYsNyBAQCBzdGF0aWMgaW50IGd1cF9mYXN0X3B1ZF9sZWFmKHB1 ZF90IG9yaWcsIHB1ZF90ICpwdWRwLCB1bnNpZ25lZCBsb25nIGFkZHIsCiAJcGFnZSA9IHB1ZF9w YWdlKG9yaWcpOwogCXJlZnMgPSByZWNvcmRfc3VicGFnZXMocGFnZSwgUFVEX1NJWkUsIGFkZHIs IGVuZCwgcGFnZXMgKyAqbnIpOwogCi0JZm9saW8gPSB0cnlfZ3JhYl9mb2xpbyhwYWdlLCByZWZz LCBmbGFncyk7CisJZm9saW8gPSB0cnlfZ3JhYl9mb2xpb19mYXN0KHBhZ2UsIHJlZnMsIGZsYWdz KTsKIAlpZiAoIWZvbGlvKQogCQlyZXR1cm4gMDsKIApAQCAtMzMwMSw3ICszMzA2LDcgQEAgc3Rh dGljIGludCBndXBfZmFzdF9wZ2RfbGVhZihwZ2RfdCBvcmlnLCBwZ2RfdCAqcGdkcCwgdW5zaWdu ZWQgbG9uZyBhZGRyLAogCXBhZ2UgPSBwZ2RfcGFnZShvcmlnKTsKIAlyZWZzID0gcmVjb3JkX3N1 YnBhZ2VzKHBhZ2UsIFBHRElSX1NJWkUsIGFkZHIsIGVuZCwgcGFnZXMgKyAqbnIpOwogCi0JZm9s aW8gPSB0cnlfZ3JhYl9mb2xpbyhwYWdlLCByZWZzLCBmbGFncyk7CisJZm9saW8gPSB0cnlfZ3Jh Yl9mb2xpb19mYXN0KHBhZ2UsIHJlZnMsIGZsYWdzKTsKIAlpZiAoIWZvbGlvKQogCQlyZXR1cm4g MDsKIApAQCAtMzM1NSw3ICszMzYwLDcgQEAgc3RhdGljIGludCBndXBfZmFzdF9wbWRfcmFuZ2Uo cHVkX3QgKnB1ZHAsIHB1ZF90IHB1ZCwgdW5zaWduZWQgbG9uZyBhZGRyLAogCQkJICogcG1kIGZv cm1hdCBhbmQgVEhQIHBtZCBmb3JtYXQKIAkJCSAqLwogCQkJaWYgKGd1cF9odWdlcGQoTlVMTCwg X19odWdlcGQocG1kX3ZhbChwbWQpKSwgYWRkciwKLQkJCQkgICAgICAgUE1EX1NISUZULCBuZXh0 LCBmbGFncywgcGFnZXMsIG5yKSAhPSAxKQorCQkJCSAgICAgICBQTURfU0hJRlQsIG5leHQsIGZs YWdzLCBwYWdlcywgbnIsIHRydWUpICE9IDEpCiAJCQkJcmV0dXJuIDA7CiAJCX0gZWxzZSBpZiAo IWd1cF9mYXN0X3B0ZV9yYW5nZShwbWQsIHBtZHAsIGFkZHIsIG5leHQsIGZsYWdzLAogCQkJCQkg ICAgICAgcGFnZXMsIG5yKSkKQEAgLTMzODUsNyArMzM5MCw3IEBAIHN0YXRpYyBpbnQgZ3VwX2Zh c3RfcHVkX3JhbmdlKHA0ZF90ICpwNGRwLCBwNGRfdCBwNGQsIHVuc2lnbmVkIGxvbmcgYWRkciwK IAkJCQlyZXR1cm4gMDsKIAkJfSBlbHNlIGlmICh1bmxpa2VseShpc19odWdlcGQoX19odWdlcGQo cHVkX3ZhbChwdWQpKSkpKSB7CiAJCQlpZiAoZ3VwX2h1Z2VwZChOVUxMLCBfX2h1Z2VwZChwdWRf dmFsKHB1ZCkpLCBhZGRyLAotCQkJCSAgICAgICBQVURfU0hJRlQsIG5leHQsIGZsYWdzLCBwYWdl cywgbnIpICE9IDEpCisJCQkJICAgICAgIFBVRF9TSElGVCwgbmV4dCwgZmxhZ3MsIHBhZ2VzLCBu ciwgdHJ1ZSkgIT0gMSkKIAkJCQlyZXR1cm4gMDsKIAkJfSBlbHNlIGlmICghZ3VwX2Zhc3RfcG1k X3JhbmdlKHB1ZHAsIHB1ZCwgYWRkciwgbmV4dCwgZmxhZ3MsCiAJCQkJCSAgICAgICBwYWdlcywg bnIpKQpAQCAtMzQxMiw3ICszNDE3LDcgQEAgc3RhdGljIGludCBndXBfZmFzdF9wNGRfcmFuZ2Uo cGdkX3QgKnBnZHAsIHBnZF90IHBnZCwgdW5zaWduZWQgbG9uZyBhZGRyLAogCQlCVUlMRF9CVUdf T04ocDRkX2xlYWYocDRkKSk7CiAJCWlmICh1bmxpa2VseShpc19odWdlcGQoX19odWdlcGQocDRk X3ZhbChwNGQpKSkpKSB7CiAJCQlpZiAoZ3VwX2h1Z2VwZChOVUxMLCBfX2h1Z2VwZChwNGRfdmFs KHA0ZCkpLCBhZGRyLAotCQkJCSAgICAgICBQNERfU0hJRlQsIG5leHQsIGZsYWdzLCBwYWdlcywg bnIpICE9IDEpCisJCQkJICAgICAgIFA0RF9TSElGVCwgbmV4dCwgZmxhZ3MsIHBhZ2VzLCBuciwg dHJ1ZSkgIT0gMSkKIAkJCQlyZXR1cm4gMDsKIAkJfSBlbHNlIGlmICghZ3VwX2Zhc3RfcHVkX3Jh bmdlKHA0ZHAsIHA0ZCwgYWRkciwgbmV4dCwgZmxhZ3MsCiAJCQkJCSAgICAgICBwYWdlcywgbnIp KQpAQCAtMzQ0MSw3ICszNDQ2LDcgQEAgc3RhdGljIHZvaWQgZ3VwX2Zhc3RfcGdkX3JhbmdlKHVu c2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBlbmQsCiAJCQkJcmV0dXJuOwogCQl9IGVs c2UgaWYgKHVubGlrZWx5KGlzX2h1Z2VwZChfX2h1Z2VwZChwZ2RfdmFsKHBnZCkpKSkpIHsKIAkJ CWlmIChndXBfaHVnZXBkKE5VTEwsIF9faHVnZXBkKHBnZF92YWwocGdkKSksIGFkZHIsCi0JCQkJ ICAgICAgIFBHRElSX1NISUZULCBuZXh0LCBmbGFncywgcGFnZXMsIG5yKSAhPSAxKQorCQkJCSAg ICAgICBQR0RJUl9TSElGVCwgbmV4dCwgZmxhZ3MsIHBhZ2VzLCBuciwgdHJ1ZSkgIT0gMSkKIAkJ CQlyZXR1cm47CiAJCX0gZWxzZSBpZiAoIWd1cF9mYXN0X3A0ZF9yYW5nZShwZ2RwLCBwZ2QsIGFk ZHIsIG5leHQsIGZsYWdzLAogCQkJCQkgICAgICAgcGFnZXMsIG5yKSkKQEAgLTM4NDIsMTMgKzM4 NDcsMTQgQEAgbG9uZyBtZW1mZF9waW5fZm9saW9zKHN0cnVjdCBmaWxlICptZW1mZCwgbG9mZl90 IHN0YXJ0LCBsb2ZmX3QgZW5kLAogCQkJCSAgICBuZXh0X2lkeCAhPSBmb2xpb19pbmRleChmYmF0 Y2guZm9saW9zW2ldKSkKIAkJCQkJY29udGludWU7CiAKLQkJCQlmb2xpbyA9IHRyeV9ncmFiX2Zv bGlvKCZmYmF0Y2guZm9saW9zW2ldLT5wYWdlLAotCQkJCQkJICAgICAgIDEsIEZPTExfUElOKTsK LQkJCQlpZiAoIWZvbGlvKSB7CisJCQkJaWYgKHRyeV9ncmFiX2ZvbGlvKGZiYXRjaC5mb2xpb3Nb aV0sCisJCQkJCQkgICAgICAgMSwgRk9MTF9QSU4pKSB7CiAJCQkJCWZvbGlvX2JhdGNoX3JlbGVh c2UoJmZiYXRjaCk7CiAJCQkJCWdvdG8gZXJyOwogCQkJCX0KIAorCQkJCWZvbGlvID0gZmJhdGNo LmZvbGlvc1tpXTsKKwogCQkJCWlmIChucl9mb2xpb3MgPT0gMCkKIAkJCQkJKm9mZnNldCA9IG9m ZnNldF9pbl9mb2xpbyhmb2xpbywgc3RhcnQpOwogCmRpZmYgLS1naXQgYS9tbS9odWdlX21lbW9y eS5jIGIvbW0vaHVnZV9tZW1vcnkuYwppbmRleCA4ZTQ5ZjQwMmQ3YzcuLmI2MjgwYTAxYzVmZCAx MDA2NDQKLS0tIGEvbW0vaHVnZV9tZW1vcnkuYworKysgYi9tbS9odWdlX21lbW9yeS5jCkBAIC0x MzMxLDcgKzEzMzEsNyBAQCBzdHJ1Y3QgcGFnZSAqZm9sbG93X2Rldm1hcF9wbWQoc3RydWN0IHZt X2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgYWRkciwKIAlpZiAoISpwZ21hcCkKIAkJ cmV0dXJuIEVSUl9QVFIoLUVGQVVMVCk7CiAJcGFnZSA9IHBmbl90b19wYWdlKHBmbik7Ci0JcmV0 ID0gdHJ5X2dyYWJfcGFnZShwYWdlLCBmbGFncyk7CisJcmV0ID0gdHJ5X2dyYWJfZm9saW8ocGFn ZV9mb2xpbyhwYWdlKSwgMSwgZmxhZ3MpOwogCWlmIChyZXQpCiAJCXBhZ2UgPSBFUlJfUFRSKHJl dCk7CiAKZGlmZiAtLWdpdCBhL21tL2ludGVybmFsLmggYi9tbS9pbnRlcm5hbC5oCmluZGV4IDM0 MTljMzI5YjNiYy4uNTM5ZDVmNTUwMTAyIDEwMDY0NAotLS0gYS9tbS9pbnRlcm5hbC5oCisrKyBi L21tL2ludGVybmFsLmgKQEAgLTEyMTUsOCArMTIxNSw4IEBAIGludCBtaWdyYXRlX2RldmljZV9j b2hlcmVudF9wYWdlKHN0cnVjdCBwYWdlICpwYWdlKTsKIC8qCiAgKiBtbS9ndXAuYwogICovCi1z dHJ1Y3QgZm9saW8gKnRyeV9ncmFiX2ZvbGlvKHN0cnVjdCBwYWdlICpwYWdlLCBpbnQgcmVmcywg dW5zaWduZWQgaW50IGZsYWdzKTsKLWludCBfX211c3RfY2hlY2sgdHJ5X2dyYWJfcGFnZShzdHJ1 Y3QgcGFnZSAqcGFnZSwgdW5zaWduZWQgaW50IGZsYWdzKTsKK3N0cnVjdCBmb2xpbyAqdHJ5X2dy YWJfZm9saW9fZmFzdChzdHJ1Y3QgcGFnZSAqcGFnZSwgaW50IHJlZnMsIHVuc2lnbmVkIGludCBm bGFncyk7CitpbnQgX19tdXN0X2NoZWNrIHRyeV9ncmFiX2ZvbGlvKHN0cnVjdCBmb2xpbyAqZm9s aW8sIGludCByZWZzLCB1bnNpZ25lZCBpbnQgZmxhZ3MpOwogCiAvKgogICogbW0vaHVnZV9tZW1v cnkuYwo= --0000000000009fc4fe0619c63a67--