From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: passt.top; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=dfTD73tq; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by passt.top (Postfix) with ESMTPS id 983145A0269 for ; Mon, 28 Sep 2026 07:17:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1790572664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RFz+bLNMBACwl6rREGYL5QdbUYir2m4OipxIZU21iOY=; b=dfTD73tqgZIPe3o4K4+s/QAFOwrqg7sT5lBEc3ohCqXltj4b68DjjWA1kmVN00gg/4cbeL XS7xkrItdR/rNdctxQbqHztZVePrYretNKdZxfklv8Y00X7+9bdugYq0QCY+hgZz0RVHJP o9eUs+te7LOp8k96aqittyAEEMSg/QA= Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-321-XdXfyJFgMS2Vjsp0bJ81gg-1; Mon, 28 Sep 2026 01:17:42 -0400 X-MC-Unique: XdXfyJFgMS2Vjsp0bJ81gg-1 X-Mimecast-MFC-AGG-ID: XdXfyJFgMS2Vjsp0bJ81gg_1790572661 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 90F351845535; Mon, 28 Sep 2026 05:17:41 +0000 (UTC) Received: from anskuma-thinkpadp1gen7.bengluru.csb (unknown [10.74.80.83]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 2675519560AB; Mon, 28 Sep 2026 05:17:38 +0000 (UTC) From: Anshu Kumari To: sbrivio@redhat.com, passt-dev@passt.top Subject: [PATCH v2 3/7] fuzz: Guard protocol handlers against invalid fuzz-injected state Date: Mon, 28 Sep 2026 10:47:23 +0530 Message-ID: <20260928051727.2251281-4-anskuma@redhat.com> In-Reply-To: <20260928051727.2251281-1-anskuma@redhat.com> References: <20260928051727.2251281-1-anskuma@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: jYrf14KzaPhC4EO824zt2i2i0wPWqCMILx5A0uVtn20_1790572661 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-ID-Hash: AMZV7PD7DRTRWEOSPTZR7WTCPMAQJWU7 X-Message-ID-Hash: AMZV7PD7DRTRWEOSPTZR7WTCPMAQJWU7 X-MailFrom: anskuma@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: lvivier@redhat.com, anskuma@redhat.com, abdobngad@gmail.com X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: VXNlIGZ1enpfYXNzZXJ0KCkgaW5zdGVhZCBvZiBhc3NlcnQoKSBmb3IgZmxvdyBsb29rdXBzLCBh ZGQgTlVMTA0KY2hlY2tzIGFmdGVyIGNvbm5fYXRfc2lkeCgpL3VkcF9hdF9zaWR4KCksIGFuZCB2 YWxpZGF0ZSB0aW1lcg0KcmVmZXJlbmNlcyDigJQgYWxsIG5vLW9wcyBpbiBub24tZnV6emluZyBi dWlsZHMuDQoNClNpZ25lZC1vZmYtYnk6IEFuc2h1IEt1bWFyaSA8YW5za3VtYUByZWRoYXQuY29t Pg0KLS0tDQogaWNtcC5jICAgICAgIHwgIDggKysrKystLS0NCiB0YXAuYyAgICAgICAgfCAxMyAr KysrKysrKysrKysrDQogdGNwLmMgICAgICAgIHwgMTggKysrKysrKysrKysrLS0tLS0tDQogdGNw X2J1Zi5jICAgIHwgIDEgKw0KIHRjcF9zcGxpY2UuYyB8ICA0ICsrKy0NCiB1ZHAuYyAgICAgICAg fCAyOSArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQ0KIHVkcF9mbG93LmMgICB8ICAzICsr LQ0KIHV0aWwuYyAgICAgICB8ICAxICsNCiA4IGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMo KyksIDE5IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvaWNtcC5jIGIvaWNtcC5jDQppbmRl eCAwZmUyMzY2Ny4uNTM5ZjhlNzcgMTAwNjQ0DQotLS0gYS9pY21wLmMNCisrKyBiL2ljbXAuYw0K QEAgLTM5LDYgKzM5LDcgQEANCiAjaW5jbHVkZSAiaWNtcC5oIg0KICNpbmNsdWRlICJmbG93X3Rh YmxlLmgiDQogI2luY2x1ZGUgImVwb2xsX2N0bC5oIg0KKyNpbmNsdWRlICJmdXp6LmgiDQogDQog I2RlZmluZSBJQ01QX0VDSE9fVElNRU9VVAk2MCAvKiBzLCB0aW1lb3V0IGZvciBJQ01QIHNvY2tl dCBhY3Rpdml0eSAqLw0KICNkZWZpbmUgSUNNUF9OVU1fSURTCQkoMVUgPDwgMTYpDQpAQCAtNTgs NyArNTksNyBAQCBzdGF0aWMgc3RydWN0IGljbXBfcGluZ19mbG93ICpwaW5nX2F0X3NpZHgoZmxv d19zaWR4X3Qgc2lkeCkNCiAJaWYgKCFmbG93KQ0KIAkJcmV0dXJuIE5VTEw7DQogDQotCWFzc2Vy dChmbG93LT5mLnR5cGUgPT0gRkxPV19QSU5HNCB8fCBmbG93LT5mLnR5cGUgPT0gRkxPV19QSU5H Nik7DQorCWZ1enpfYXNzZXJ0KGZsb3ctPmYudHlwZSA9PSBGTE9XX1BJTkc0IHx8IGZsb3ctPmYu dHlwZSA9PSBGTE9XX1BJTkc2KTsNCiAJcmV0dXJuICZmbG93LT5waW5nOw0KIH0NCiANCkBAIC03 Miw3ICs3Myw3IEBAIHZvaWQgaWNtcF9zb2NrX2hhbmRsZXIoY29uc3Qgc3RydWN0IGN0eCAqYywg dW5pb24gZXBvbGxfcmVmIHJlZiwNCiAJCSAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgKm5v dykNCiB7DQogCXN0cnVjdCBpY21wX3BpbmdfZmxvdyAqcGluZ2YgPSBwaW5nX2F0X3NpZHgocmVm LmZsb3dzaWRlKTsNCi0JY29uc3Qgc3RydWN0IGZsb3dzaWRlICppbmkgPSAmcGluZ2YtPmYuc2lk ZVtJTklTSURFXTsNCisJY29uc3Qgc3RydWN0IGZsb3dzaWRlICppbmk7DQogCXVuaW9uIHNvY2th ZGRyX2luYW55IHNyOw0KIAlzb2NrbGVuX3Qgc2wgPSBzaXplb2Yoc3IpOw0KIAljaGFyIGJ1ZltV U0hSVF9NQVhdOw0KQEAgLTgyLDcgKzgzLDggQEAgdm9pZCBpY21wX3NvY2tfaGFuZGxlcihjb25z dCBzdHJ1Y3QgY3R4ICpjLCB1bmlvbiBlcG9sbF9yZWYgcmVmLA0KIAlpZiAoYy0+bm9faWNtcCkN CiAJCXJldHVybjsNCiANCi0JYXNzZXJ0KHBpbmdmKTsNCisJZnV6el9hc3NlcnQocGluZ2YpOw0K KwlpbmkgPSAmcGluZ2YtPmYuc2lkZVtJTklTSURFXTsNCiANCiAJbiA9IHJlY3Zmcm9tKHJlZi5m ZCwgYnVmLCBzaXplb2YoYnVmKSwgMCwgJnNyLnNhLCAmc2wpOw0KIAlpZiAobiA8IDApIHsNCmRp ZmYgLS1naXQgYS90YXAuYyBiL3RhcC5jDQppbmRleCBkZmE2NmM3MS4uYjhlNmI2MWYgMTAwNjQ0 DQotLS0gYS90YXAuYw0KKysrIGIvdGFwLmMNCkBAIC0xNCw2ICsxNCw3IEBADQogICovDQogDQog I2luY2x1ZGUgPHNjaGVkLmg+DQorI2luY2x1ZGUgPHRpbWUuaD4NCiAjaW5jbHVkZSA8dW5pc3Rk Lmg+DQogI2luY2x1ZGUgPHNpZ25hbC5oPg0KICNpbmNsdWRlIDxzdGRpby5oPg0KQEAgLTYxLDYg KzYyLDcgQEANCiAjaW5jbHVkZSAidmhvc3RfdXNlci5oIg0KICNpbmNsdWRlICJ2dV9jb21tb24u aCINCiAjaW5jbHVkZSAiZXBvbGxfY3RsLmgiDQorI2luY2x1ZGUgImZ1enouaCINCiANCiAvKiBN YXhpbXVtIGFsbG93ZWQgZnJhbWUgbGVuZ3RocyAoaW5jbHVkaW5nIEwyIGhlYWRlcikgKi8NCiAN CkBAIC01MTIsNiArNTE0LDkgQEAgc2l6ZV90IHRhcF9zZW5kX2ZyYW1lcyhjb25zdCBzdHJ1Y3Qg Y3R4ICpjLCBjb25zdCBzdHJ1Y3QgaW92ZWMgKmlvdiwNCiB7DQogCXNpemVfdCBtOw0KIA0KKyNp ZmRlZiBGVVpaSU5HDQorCXJldHVybiBuZnJhbWVzOw0KKyNlbmRpZg0KIAlpZiAoYy0+ZmRfdGFw ID09IC0xKQ0KIAkJcmV0dXJuIG5mcmFtZXM7DQogDQpAQCAtMTIyOSw2ICsxMjM0LDEwIEBAIHN0 YXRpYyB2b2lkIHRhcF9wYXNzdF9pbnB1dChzdHJ1Y3QgY3R4ICpjLCBjb25zdCBzdHJ1Y3QgdGlt ZXNwZWMgKm5vdykNCiAJc3NpemVfdCBuOw0KIAljaGFyICpwOw0KIA0KKyNpZmRlZiBGVVpaSU5H DQorCXBhcnRpYWxfZnJhbWUgPSBOVUxMOw0KKwlwYXJ0aWFsX2xlbiA9IDA7DQorI2VuZGlmDQog CXRhcF9mbHVzaF9wb29scygpOw0KIA0KIAlpZiAocGFydGlhbF9sZW4pIHsNCkBAIC0xNDEyLDYg KzE0MjEsMTAgQEAgc3RhdGljIHZvaWQgdGFwX3NvY2tfdW5peF9pbml0KGNvbnN0IHN0cnVjdCBj dHggKmMpDQogICovDQogYm9vbCB0YXBfaXNfcmVhZHkoY29uc3Qgc3RydWN0IGN0eCAqYykNCiB7 DQorI2lmZGVmIEZVWlpJTkcNCisJKHZvaWQpYzsNCisJcmV0dXJuIHRydWU7DQorI2VuZGlmDQog CWlmIChjLT5mZF90YXAgPCAwKQ0KIAkJcmV0dXJuIGZhbHNlOw0KIA0KZGlmZiAtLWdpdCBhL3Rj cC5jIGIvdGNwLmMNCmluZGV4IDNiNzhkMmVkLi5mNDkxMjY0ZCAxMDA2NDQNCi0tLSBhL3RjcC5j DQorKysgYi90Y3AuYw0KQEAgLTMxNiw2ICszMTYsNyBAQA0KICNpbmNsdWRlICJ0Y3BfYnVmLmgi DQogI2luY2x1ZGUgInRjcF92dS5oIg0KICNpbmNsdWRlICJlcG9sbF9jdGwuaCINCisjaW5jbHVk ZSAiZnV6ei5oIg0KIA0KIC8qDQogICogVGhlIHNpemUgb2YgVENQIGhlYWRlciAoaW5jbHVkaW5n IG9wdGlvbnMpIGlzIGdpdmVuIGJ5IGRvZmYgKERhdGEgT2Zmc2V0KQ0KQEAgLTQ1Niw3ICs0NTcs NyBAQCBzdGF0aWMgc3RydWN0IHRjcF90YXBfY29ubiAqY29ubl9hdF9zaWR4KGZsb3dfc2lkeF90 IHNpZHgpDQogCWlmICghZmxvdykNCiAJCXJldHVybiBOVUxMOw0KIA0KLQlhc3NlcnQoZmxvdy0+ Zi50eXBlID09IEZMT1dfVENQKTsNCisJZnV6el9hc3NlcnQoZmxvdy0+Zi50eXBlID09IEZMT1df VENQKTsNCiAJcmV0dXJuICZmbG93LT50Y3A7DQogfQ0KIA0KQEAgLTI2MDYsNyArMjYwNyw3IEBA IHZvaWQgdGNwX2xpc3Rlbl9oYW5kbGVyKGNvbnN0IHN0cnVjdCBjdHggKmMsIHVuaW9uIGVwb2xs X3JlZiByZWYsDQogCXVuaW9uIGZsb3cgKmZsb3c7DQogCWludCBzOw0KIA0KLQlhc3NlcnQoIWMt Pm5vX3RjcCk7DQorCWZ1enpfYXNzZXJ0KCFjLT5ub190Y3ApOw0KIA0KIAlpZiAoIShmbG93ID0g Zmxvd19hbGxvYygpKSkNCiAJCXJldHVybjsNCkBAIC0yNjgxLDcgKzI2ODIsMTEgQEAgdm9pZCB0 Y3BfdGltZXJfaGFuZGxlcihjb25zdCBzdHJ1Y3QgY3R4ICpjLCB1bmlvbiBlcG9sbF9yZWYgcmVm LA0KIAkJICAgICAgIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyAqbm93KQ0KIHsNCiAJc3RydWN0IGl0 aW1lcnNwZWMgY2hlY2tfYXJtZWQgPSB7IHsgMCB9LCB7IDAgfSB9Ow0KLQlzdHJ1Y3QgdGNwX3Rh cF9jb25uICpjb25uID0gJkZMT1cocmVmLmZsb3cpLT50Y3A7DQorCXN0cnVjdCB0Y3BfdGFwX2Nv bm4gKmNvbm47DQorDQorCWZ1enpfYXNzZXJ0KHJlZi5mbG93IDwgRkxPV19NQVgpOw0KKwlmdXp6 X2Fzc2VydChGTE9XKHJlZi5mbG93KS0+Zi50eXBlID09IEZMT1dfVENQKTsNCisJY29ubiA9ICZG TE9XKHJlZi5mbG93KS0+dGNwOw0KIA0KIAlhc3NlcnQoIWMtPm5vX3RjcCk7DQogCWFzc2VydChj b25uLT5mLnR5cGUgPT0gRkxPV19UQ1ApOw0KQEAgLTI3NTIsOCArMjc1Nyw5IEBAIHZvaWQgdGNw X3NvY2tfaGFuZGxlcihjb25zdCBzdHJ1Y3QgY3R4ICpjLCB1bmlvbiBlcG9sbF9yZWYgcmVmLA0K IHsNCiAJc3RydWN0IHRjcF90YXBfY29ubiAqY29ubiA9IGNvbm5fYXRfc2lkeChyZWYuZmxvd3Np ZGUpOw0KIA0KLQlhc3NlcnQoIWMtPm5vX3RjcCk7DQotCWFzc2VydChwaWZfYXRfc2lkeChyZWYu Zmxvd3NpZGUpICE9IFBJRl9UQVApOw0KKwlmdXp6X2Fzc2VydCghYy0+bm9fdGNwKTsNCisJZnV6 el9hc3NlcnQoY29ubik7DQorCWZ1enpfYXNzZXJ0KHBpZl9hdF9zaWR4KHJlZi5mbG93c2lkZSkg IT0gUElGX1RBUCk7DQogDQogCWlmIChjb25uLT5ldmVudHMgPT0gQ0xPU0VEKQ0KIAkJcmV0dXJu Ow0KQEAgLTI5MzksNyArMjk0NSw3IEBAIHN0YXRpYyB2b2lkIHRjcF9nZXRfcnRvX3BhcmFtcyhz dHJ1Y3QgY3R4ICpjKQ0KICAqLw0KIGludCB0Y3BfaW5pdChzdHJ1Y3QgY3R4ICpjKQ0KIHsNCi0J YXNzZXJ0KCFjLT5ub190Y3ApOw0KKwlmdXp6X2Fzc2VydCghYy0+bm9fdGNwKTsNCiANCiAJdGNw X2dldF9ydG9fcGFyYW1zKGMpOw0KIA0KZGlmZiAtLWdpdCBhL3RjcF9idWYuYyBiL3RjcF9idWYu Yw0KaW5kZXggNzJjNDU0MTIuLmViMjhhYmViIDEwMDY0NA0KLS0tIGEvdGNwX2J1Zi5jDQorKysg Yi90Y3BfYnVmLmMNCkBAIC0zMiw2ICszMiw3IEBADQogI2luY2x1ZGUgInRjcF9jb25uLmgiDQog I2luY2x1ZGUgInRjcF9pbnRlcm5hbC5oIg0KICNpbmNsdWRlICJ0Y3BfYnVmLmgiDQorI2luY2x1 ZGUgImZ1enouaCINCiANCiAjZGVmaW5lIFRDUF9GUkFNRVNfTUVNCQkJMTI4DQogI2RlZmluZSBU Q1BfRlJBTUVTCQkJCQkJCSAgIFwNCmRpZmYgLS1naXQgYS90Y3Bfc3BsaWNlLmMgYi90Y3Bfc3Bs aWNlLmMNCmluZGV4IDRiMDFmMWFhLi5mNjg4ZGJkZiAxMDA2NDQNCi0tLSBhL3RjcF9zcGxpY2Uu Yw0KKysrIGIvdGNwX3NwbGljZS5jDQpAQCAtNTYsNiArNTYsNyBAQA0KICNpbmNsdWRlICJpbmFu eS5oIg0KICNpbmNsdWRlICJmbG93LmgiDQogI2luY2x1ZGUgImVwb2xsX2N0bC5oIg0KKyNpbmNs dWRlICJmdXp6LmgiDQogDQogI2luY2x1ZGUgImZsb3dfdGFibGUuaCINCiANCkBAIC0xMDUsNyAr MTA2LDcgQEAgc3RhdGljIHN0cnVjdCB0Y3Bfc3BsaWNlX2Nvbm4gKmNvbm5fYXRfc2lkeChmbG93 X3NpZHhfdCBzaWR4KQ0KIAlpZiAoIWZsb3cpDQogCQlyZXR1cm4gTlVMTDsNCiANCi0JYXNzZXJ0 KGZsb3ctPmYudHlwZSA9PSBGTE9XX1RDUF9TUExJQ0UpOw0KKwlmdXp6X2Fzc2VydChmbG93LT5m LnR5cGUgPT0gRkxPV19UQ1BfU1BMSUNFKTsNCiAJcmV0dXJuICZmbG93LT50Y3Bfc3BsaWNlOw0K IH0NCiANCkBAIC01OTQsNiArNTk1LDcgQEAgdm9pZCB0Y3Bfc3BsaWNlX3NvY2tfaGFuZGxlcihz dHJ1Y3QgY3R4ICpjLCB1bmlvbiBlcG9sbF9yZWYgcmVmLA0KIAlzdHJ1Y3QgdGNwX3NwbGljZV9j b25uICpjb25uID0gY29ubl9hdF9zaWR4KHJlZi5mbG93c2lkZSk7DQogCXVuc2lnbmVkIGV2c2lk ZWkgPSByZWYuZmxvd3NpZGUuc2lkZWk7DQogDQorCWZ1enpfYXNzZXJ0KGNvbm4pOw0KIAlhc3Nl cnQoY29ubi0+Zi50eXBlID09IEZMT1dfVENQX1NQTElDRSk7DQogDQogCWlmIChjb25uLT5ldmVu dHMgPT0gU1BMSUNFX0NMT1NFRCkNCmRpZmYgLS1naXQgYS91ZHAuYyBiL3VkcC5jDQppbmRleCA1 MDVlNTU0MC4uMTk4ZWM0ZGEgMTAwNjQ0DQotLS0gYS91ZHAuYw0KKysrIGIvdWRwLmMNCkBAIC0x MTgsNiArMTE4LDcgQEANCiAjaW5jbHVkZSAidWRwX2ludGVybmFsLmgiDQogI2luY2x1ZGUgInVk cF92dS5oIg0KICNpbmNsdWRlICJlcG9sbF9jdGwuaCINCisjaW5jbHVkZSAiZnV6ei5oIg0KIA0K ICNkZWZpbmUgVURQX01BWF9GUkFNRVMJCTMyICAvKiBtYXggIyBvZiBmcmFtZXMgdG8gcmVjZWl2 ZSBhdCBvbmNlICovDQogDQpAQCAtNjI5LDcgKzYzMCw3IEBAIHN0YXRpYyBpbnQgdWRwX3NvY2tf cmVjdmVycihjb25zdCBzdHJ1Y3QgY3R4ICpjLCBpbnQgcywgZmxvd19zaWR4X3Qgc2lkeCwNCiAJ fQ0KIA0KIAl1ZmxvdyA9IHVkcF9hdF9zaWR4KHNpZHgpOw0KLQlhc3NlcnQodWZsb3cpOw0KKwlm dXp6X2Fzc2VydCh1Zmxvdyk7DQogCWZyb21zaWRlID0gJnVmbG93LT5mLnNpZGVbc2lkeC5zaWRl aV07DQogCXRvc2lkZSA9ICZ1Zmxvdy0+Zi5zaWRlWyFzaWR4LnNpZGVpXTsNCiAJdG9waWYgPSB1 Zmxvdy0+Zi5waWZbIXNpZHguc2lkZWldOw0KQEAgLTY5OCw3ICs2OTksOCBAQCBzdGF0aWMgaW50 IHVkcF9zb2NrX2VycnMoY29uc3Qgc3RydWN0IGN0eCAqYywgaW50IHMsIGZsb3dfc2lkeF90IHNp ZHgsDQogCXNvY2tsZW5fdCBlcnJsZW47DQogCWludCByYywgZXJyOw0KIA0KLQlhc3NlcnQoIWMt Pm5vX3VkcCk7DQorCWZ1enpfYXNzZXJ0KCFjLT5ub191ZHApOw0KKwlmdXp6X2Fzc2VydCh1Zmxv dyk7DQogDQogCS8qIEVtcHR5IHRoZSBlcnJvciBxdWV1ZSAqLw0KIAl3aGlsZSAoKHJjID0gdWRw X3NvY2tfcmVjdmVycihjLCBzLCBzaWR4LCBwaWYsIHBvcnQsIG5vdykpID4gMCkNCkBAIC03ODAs NyArNzgyLDcgQEAgc3RhdGljIGludCB1ZHBfcGVla19hZGRyKGludCBzLCB1bmlvbiBzb2NrYWRk cl9pbmFueSAqc3JjLA0KICAqLw0KIHN0YXRpYyBpbnQgdWRwX3NvY2tfcmVjdihjb25zdCBzdHJ1 Y3QgY3R4ICpjLCBpbnQgcywgc3RydWN0IG1tc2doZHIgKm1taCwgaW50IG4pDQogew0KLQlhc3Nl cnQoIWMtPm5vX3VkcCk7DQorCWZ1enpfYXNzZXJ0KCFjLT5ub191ZHApOw0KIA0KIAluID0gcmVj dm1tc2cocywgbW1oLCBuLCAwLCBOVUxMKTsNCiAJaWYgKG4gPCAwKSB7DQpAQCAtODA3LDkgKzgw OSwxMiBAQCBzdGF0aWMgdm9pZCB1ZHBfc29ja190b19zb2NrKGNvbnN0IHN0cnVjdCBjdHggKmMs IGludCBmcm9tX3MsIGludCBuLA0KIAljb25zdCBzdHJ1Y3QgZmxvd3NpZGUgKnRvc2lkZSA9IGZs b3dzaWRlX2F0X3NpZHgodG9zaWR4KTsNCiAJY29uc3Qgc3RydWN0IHVkcF9mbG93ICp1ZmxvdyA9 IHVkcF9hdF9zaWR4KHRvc2lkeCk7DQogCXVpbnQ4X3QgdG9waWYgPSBwaWZfYXRfc2lkeCh0b3Np ZHgpOw0KLQlpbnQgdG9fcyA9IHVmbG93LT5zW3Rvc2lkeC5zaWRlaV07DQorCWludCB0b19zOw0K IAlpbnQgaTsNCiANCisJZnV6el9hc3NlcnQodG9zaWRlICYmIHVmbG93KTsNCisJdG9fcyA9IHVm bG93LT5zW3Rvc2lkeC5zaWRlaV07DQorDQogCWlmICgobiA9IHVkcF9zb2NrX3JlY3YoYywgZnJv bV9zLCB1ZHBfbWhfcmVjdiwgbikpIDw9IDApDQogCQlyZXR1cm47DQogDQpAQCAtODM2LDkgKzg0 MSwxMiBAQCBzdGF0aWMgdm9pZCB1ZHBfYnVmX3NvY2tfdG9fdGFwKGNvbnN0IHN0cnVjdCBjdHgg KmMsIGludCBzLCBpbnQgbiwNCiB7DQogCWNvbnN0IHN0cnVjdCBmbG93c2lkZSAqdG9zaWRlID0g Zmxvd3NpZGVfYXRfc2lkeCh0b3NpZHgpOw0KIAlzdHJ1Y3QgdWRwX2Zsb3cgKnVmbG93ID0gdWRw X2F0X3NpZHgodG9zaWR4KTsNCi0JdWludDhfdCAqb21hYyA9IHVmbG93LT5mLnRhcF9vbWFjOw0K Kwl1aW50OF90ICpvbWFjOw0KIAlpbnQgaTsNCiANCisJZnV6el9hc3NlcnQodG9zaWRlICYmIHVm bG93KTsNCisJb21hYyA9IHVmbG93LT5mLnRhcF9vbWFjOw0KKw0KIAlpZiAoKG4gPSB1ZHBfc29j a19yZWN2KGMsIHMsIHVkcF9taF9yZWN2LCBuKSkgPD0gMCkNCiAJCXJldHVybjsNCiANCkBAIC04 ODQsNiArODkyLDkgQEAgdm9pZCB1ZHBfc29ja19md2QoY29uc3Qgc3RydWN0IGN0eCAqYywgaW50 IHMsIGludCBydWxlX2hpbnQsDQogCQkJCSAgICBwaWZfbmFtZShmcm9tcGlmKSwgcG9ydCk7DQog CQkJCS8qIEZJWE1FOiB3aGF0IG5vdz8gIGNsb3NlL3JlLW9wZW4gc29ja2V0PyAqLw0KIAkJCX0N CisjaWZkZWYgRlVaWklORw0KKwkJCWJyZWFrOw0KKyNlbmRpZg0KIAkJCWNvbnRpbnVlOw0KIAkJ fQ0KIA0KQEAgLTkwMSwxMCArOTEyLDEyIEBAIHZvaWQgdWRwX3NvY2tfZndkKGNvbnN0IHN0cnVj dCBjdHggKmMsIGludCBzLCBpbnQgcnVsZV9oaW50LA0KIAkJfSBlbHNlIGlmIChmbG93X3NpZHhf dmFsaWQodG9zaWR4KSkgew0KIAkJCXN0cnVjdCB1ZHBfZmxvdyAqdWZsb3cgPSB1ZHBfYXRfc2lk eCh0b3NpZHgpOw0KIA0KKwkJCWZ1enpfYXNzZXJ0KHVmbG93KTsNCiAJCQlmbG93X2Vycl9yYXRl bGltaXQoDQogCQkJCXVmbG93LCBub3csDQogCQkJCSJObyBzdXBwb3J0IGZvciBmb3J3YXJkaW5n IFVEUCBmcm9tICVzIHRvICVzIiwNCiAJCQkJcGlmX25hbWUoZnJvbXBpZiksIHBpZl9uYW1lKHRv cGlmKSk7DQorDQogCQkJZGlzY2FyZCA9IHRydWU7DQogCQl9IGVsc2Ugew0KIAkJCXdhcm5fcmF0 ZWxpbWl0KG5vdywgIkRpc2NhcmRpbmcgZGF0YWdyYW0gd2l0aG91dCBmbG93Iik7DQpAQCAtOTQ5 LDcgKzk2Miw3IEBAIHZvaWQgdWRwX3NvY2tfaGFuZGxlcihjb25zdCBzdHJ1Y3QgY3R4ICpjLCB1 bmlvbiBlcG9sbF9yZWYgcmVmLA0KIHsNCiAJc3RydWN0IHVkcF9mbG93ICp1ZmxvdyA9IHVkcF9h dF9zaWR4KHJlZi5mbG93c2lkZSk7DQogDQotCWFzc2VydCghYy0+bm9fdWRwICYmIHVmbG93KTsN CisJZnV6el9hc3NlcnQoIWMtPm5vX3VkcCAmJiB1Zmxvdyk7DQogDQogCWlmIChldmVudHMgJiBF UE9MTEVSUikgew0KIAkJaWYgKHVkcF9zb2NrX2VycnMoYywgcmVmLmZkLCByZWYuZmxvd3NpZGUs DQpAQCAtMTAzNCw3ICsxMDQ3LDcgQEAgaW50IHVkcF90YXBfaGFuZGxlcihjb25zdCBzdHJ1Y3Qg Y3R4ICpjLCB1aW50OF90IHBpZiwNCiAJaW5fcG9ydF90IHNyYywgZHN0Ow0KIAl1aW50OF90IHRv cGlmOw0KIA0KLQlhc3NlcnQoIWMtPm5vX3VkcCk7DQorCWZ1enpfYXNzZXJ0KCFjLT5ub191ZHAp Ow0KIA0KIAlpZiAoIXBhY2tldF9nZXQocCwgaWR4LCAmZGF0YSkpDQogCQlyZXR1cm4gMTsNCkBA IC0xMTgzLDcgKzExOTYsNyBAQCBzdGF0aWMgdm9pZCB1ZHBfZ2V0X3RpbWVvdXRfcGFyYW1zKHN0 cnVjdCBjdHggKmMpDQogICovDQogaW50IHVkcF9pbml0KHN0cnVjdCBjdHggKmMpDQogew0KLQlh c3NlcnQoIWMtPm5vX3VkcCk7DQorCWZ1enpfYXNzZXJ0KCFjLT5ub191ZHApOw0KIA0KIAl1ZHBf Z2V0X3RpbWVvdXRfcGFyYW1zKGMpOw0KIA0KZGlmZiAtLWdpdCBhL3VkcF9mbG93LmMgYi91ZHBf Zmxvdy5jDQppbmRleCBmNTk2NDlmNi4uNzUwMGJlMTQgMTAwNjQ0DQotLS0gYS91ZHBfZmxvdy5j DQorKysgYi91ZHBfZmxvdy5jDQpAQCAtMTYsNiArMTYsNyBAQA0KICNpbmNsdWRlICJmbG93X3Rh YmxlLmgiDQogI2luY2x1ZGUgInVkcF9pbnRlcm5hbC5oIg0KICNpbmNsdWRlICJlcG9sbF9jdGwu aCINCisjaW5jbHVkZSAiZnV6ei5oIg0KIA0KIC8qKg0KICAqIHVkcF9hdF9zaWR4KCkgLSBHZXQg VURQIHNwZWNpZmljIGZsb3cgYXQgZ2l2ZW4gc2lkeA0KQEAgLTMxLDcgKzMyLDcgQEAgc3RydWN0 IHVkcF9mbG93ICp1ZHBfYXRfc2lkeChmbG93X3NpZHhfdCBzaWR4KQ0KIAlpZiAoIWZsb3cpDQog CQlyZXR1cm4gTlVMTDsNCiANCi0JYXNzZXJ0KGZsb3ctPmYudHlwZSA9PSBGTE9XX1VEUCk7DQor CWZ1enpfYXNzZXJ0KGZsb3ctPmYudHlwZSA9PSBGTE9XX1VEUCk7DQogCXJldHVybiAmZmxvdy0+ dWRwOw0KIH0NCiANCmRpZmYgLS1naXQgYS91dGlsLmMgYi91dGlsLmMNCmluZGV4IDI4YzMyZTQz Li5hNWUyMzI5OSAxMDA2NDQNCi0tLSBhL3V0aWwuYw0KKysrIGIvdXRpbC5jDQpAQCAtMzYsNiAr MzYsNyBAQA0KICNpbmNsdWRlICJlcG9sbF9jdGwuaCINCiAjaW5jbHVkZSAicGFzdGEuaCINCiAj aW5jbHVkZSAic2VyaWFsaXNlLmgiDQorI2luY2x1ZGUgImZ1enouaCINCiAjaWZkZWYgSEFTX0dF VFJBTkRPTQ0KICNpbmNsdWRlIDxzeXMvcmFuZG9tLmg+DQogI2VuZGlmDQotLSANCjIuNTUuMA0K DQo=