From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=132.226.202.154 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793705438; b=ay5ZG4/Wqyx4bPeChGqQD+uEMeR39aaSiU30sbFmf1+FH5sK4WVbjJyog7DOm8zawRgw eiVgmSYSxdLAa7BuhumBSKhEthkAeLATxUdV1d3z5SIj7s5pe2ySjmRYrSDIJ5SkzOGhk gSqbob1IMRSeVA7AGetl4lKf+5yqf3GI8ka62EXKy6Dyo+DnEm6DpiLBnujSXeg/ZYxiA crNcHDQ1ztoLjXTrKkNFROLpPs1fd2WSJ6rNQkxMkEFB7wBTKqUgfQ2dt5BGSH/Q1gR8e DakZ/o48+Nb1CXBYifGOcdl+MKT/bD+VS3ZOslxG8RR7rZXVFIiOYLB8JXHXHfJgg9g== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793705438; h=DMARC-Filter:Received:X-Originating-IP:Date:X-CM-HeaderCharset:From: To:Cc:Subject:X-Priority:X-Mailer:In-Reply-To:References: X-CM-CTRLMSGS:Content-Type:MIME-Version:Message-ID:X-Coremail-Locale: X-CM-TRANSID:X-CM-SenderInfo:X-Coremail-Antispam; bh=h+KMxFYitUtLtUHcerrtHStwPd78hoDn6XIWtrJujPA=; b=B1hrtrhOZMFB5mtp7+H8SpjKBY3rBsT+Z5jUrl2y1eIczf1f3Q6g8PjPQ1IITvkrWvkf sOtTeIzhN5K1Sit+BmlzvdhS7xl2oCBkSVUtm2qWVZxUKe4MVfP7mOkw3na9g4Bcq+3Tw oa1T3LGEc/W14Wik2F/Jl8gfa17Y1iQzqUVVAbtAS9SRMj57kuVap79Kio9/1bNsmH+FX RWJXfckBujBj1St/v/aC7R5H4KKnncxBXPbR4e6tahjks5k58G6Ddssrt4W9c/qNhvG44 mVOGhAJLchDrIF6/YAk/ELC5BFRTiNEa9xc0R3avcm66dnZaKsmwYGhk5FtZIxoloEw== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none header.from=hust.edu.cn; spf=pass smtp.mailfrom=hust.edu.cn; arc=none smtp.remote-ip=132.226.202.154 Received: from fraori-sdnproxy-3.icoremail.net (fraori-sdnproxy-3.icoremail.net [132.226.202.154]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D33C7606C58E for ; Tue, 3 Nov 2026 11:30:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org D33C7606C58E Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=hust.edu.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=hust.edu.cn Received: from xuhx$hust.edu.cn ( [10.12.169.72] ) by ajax-webmail-app2 (Coremail) ; Tue, 3 Nov 2026 19:30:17 +0800 (GMT+08:00) Date: Tue, 3 Nov 2026 19:30:17 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: =?UTF-8?B?5b6Q5pmX57+U?= To: tglx@kernel.org, mingo@redhat.com, anna-maria@linutronix.de, frederic@kernel.org Cc: linux-kernel@vger.kernel.org Subject: futex/hrtimer: hrtimer_sleeper::task is read unsynchronized in 16 places on v7.3 -- the accessor series that fixes this is not in 7.3; please make sure it reaches the affected trees (backport nudge + stock-kernel KCSAN evidence) X-Priority: 3 X-Mailer: Coremail Webmail Server Version 2025.3-cmXT6 build 20260810(6c94e3b5) Copyright (c) 2002-2026 www.mailtech.cn hust In-Reply-To: <2026102727-data-sequel-ce41@gregkh> References: <4c7f9772.192e1.1a17d5c2ed5.Coremail.xuhx@hust.edu.cn> <2026102727-data-sequel-ce41@gregkh> X-CM-CTRLMSGS: =?B?AUCcOTiH6nJ5xwDR7hwMki1N8jM= Content-Type: multipart/mixed; boundary="----=_Part_402262_528458863.1793705417573" X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Message-ID: <2f91781e.1d651.1a1a12c9b65.Coremail.xuhx@hust.edu.cn> X-Coremail-Locale: zh_CN X-CM-TRANSID:IQEQrMDmDnjJxelquw5vAA--.9453W X-CM-SenderInfo: bgsqjkayqyjmo6kx23oohg3hdfq/1tbiAgQAB2rot+2fSwAAsN X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VWxJw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU= ------=_Part_402262_528458863.1793705417573 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 T24gdjcuMywgc3RydWN0IGhydGltZXJfc2xlZXBlcjo6dGFzayBpcyB3cml0dGVuIGJ5IHRoZSBo cnRpbWVyCmNhbGxiYWNrIGluIGhhcmQgaW50ZXJydXB0IGNvbnRleHQgKGhydGltZXJfd2FrZXVw KCk6IHQtPnRhc2sgPSBOVUxMLApwbHVzIHRoZSBzdGFydCBwYXRoJ3MgYXNzaWdubWVudCkgYW5k IHJlYWQgd2l0aG91dCBhbnkgc3luY2hyb25pemF0aW9uCmluIHNpeHRlZW4gcGxhY2VzIGFjcm9z cyBuaW5lIGZpbGVzIC0tIHRoZSBmdXRleCB3YWl0L3JlcXVldWUvUEkKcGF0aHMgKGtlcm5lbC9m dXRleC93YWl0d2FrZS5jOjM4Ni81NDIvNTkzLzcyOCwgcmVxdWV1ZS5jOjc0NywKcnRtdXRleC5j OjE2NDcpLCB0aGUgbmFub3NsZWVwIGNvcmUgKGtlcm5lbC90aW1lL2hydGltZXIuYzoyNDM1LzI0 NDEvCjI0NDUsIHNsZWVwX3RpbWVvdXQuYzoyMTUvMjIzKSwgd2FpdC5oOjU1OSwgYWlvLCBpb191 cmluZy9ydy5jIGFuZApwa3RnZW4uICBUaGUgaW1wYWN0IGlzIGJvdW5kZWQgLS0gbWlzY2xhc3Np ZmljYXRpb24gb2YgYSByZXR1cm4gY29kZQooLUVSRVNUQVJUU1lTIHNlZW4gd2hlcmUgLUVUSU1F RE9VVCBpcyBkdWUsIG9yIGFuIGV4dHJhIHJlc3RhcnQpIHdpdGgKbm8gVUFGIGFuZCBubyBsb3N0 IHdha2V1cCAtLSB3aGljaCBtYXRjaGVzIHRoZSBhbmFseXNpcyBpbiB0aGUKdXBzdHJlYW0gc2Vy aWVzIHRoYXQgYWxyZWFkeSBmaXhlcyB0aGlzIChQLiBNY0tlbm5leSwgMjAyNi0wNy0zMToKbWFy ayB0aGUgZmllbGQgX19wcml2YXRlIGFuZCByb3V0ZSBldmVyeSBhY2Nlc3MgdGhyb3VnaApocnRp bWVyX3NsZWVwZXJfdGFza19nZXQvc2V0KCkgYWNjZXNzb3JzOyBuaW5lIHBhdGNoZXMpLiAgVGhh dCBzZXJpZXMKaXMgbm90IGluIHY3LjMuICBJIGFtIHdyaXRpbmcgdG8gKGEpIGNvbmZpcm0gdGhl IGFuYWx5c2lzIHdpdGgKc3RvY2sta2VybmVsIEtDU0FOIGV2aWRlbmNlIG9uIDcuMyAtLSA0OCsg cmVwb3J0cyB3aXRoaW4gfjIwIHMgb2YKdGFyZ2V0ZWQgbWljcm9zZWNvbmQtdGltZW91dCBsb2Fk LCBleGFjdGx5IGF0IHRoZSBhdWRpdGVkIHBhaXJzCihfX2Z1dGV4X3dhaXQgdnMgaHJ0aW1lcl93 YWtldXAsIGRvX25hbm9zbGVlcCB2cyBocnRpbWVyX3dha2V1cCksCmFuZCAoYikgYXNrIHRoYXQg dGhlIHNlcmllcyBiZSBhcHBsaWVkL2JhY2twb3J0ZWQgdG8gdGhlIHRyZWVzIHRoYXQKc3RpbGwg Y2FycnkgdGhlIHJhdyBhY2Nlc3Nlcywgc2luY2UgZXZlcnkgb25lIG9mIHRoZW0ga2VlcHMgYmVp bmcgYQpLQ1NBTiByZXBvcnQgZmFjdG9yeSAoYW5kIGEgY29ycmVjdG5lc3Mgc21lbGwpIHVudGls IHRoZW4uCgpUaGUgZGV0YWlsZWQgZGVzY3JpcHRpb246CiogVGhlIHVuc3luY2hyb25pemVkIHBh dHRlcm4gKHY3LjMpCiAgV3JpdGVycyAoMik6IGhydGltZXJfc2xlZXBlcl9zdGFydF9leHBpcmVz KCkncyB0YXNrIGFzc2lnbm1lbnQgYW5kLAogIGluIGhhcmQgSVJRIGNvbnRleHQsIGhydGltZXJf d2FrZXVwKCkgc2V0dGluZyB0LT50YXNrID0gTlVMTAogIChrZXJuZWwvdGltZS9ocnRpbWVyLmM6 MjMyMy0yMzMzKSB3aGVuIHRoZSB0aW1lciBleHBpcmVzLgogIFJlYWRlcnMgKDE2KTogZWFjaCBj aGVja3MgImRpZCB0aGUgdGltZXIgYWxyZWFkeSBmaXJlPyIgYnkgcmVhZGluZwogIHNsZWVwZXIt PnRhc2sgLS0gZS5nLiBfX2Z1dGV4X3dhaXQncyByZXR1cm4tY29kZSBzZWxlY3Rpb24KICAod2Fp dHdha2UuYzo3MjgpLCBmdXRleF93YWl0X3JlcXVldWVfcGkgcGF0aHMgKDo1NDIvOjU5My86Mzg2 KSwKICByZXF1ZXVlLmM6NzQ3LCBydF9tdXRleF93YWl0ZXIgKHJ0bXV0ZXguYzoxNjQ3KSwgZG9f bmFub3NsZWVwJ3MKICByZXN0YXJ0IGRlY2lzaW9uIChocnRpbWVyLmM6MjQzNS8yNDQxLzI0NDUp LCBldGMuICBOb25lIGhvbGRzIGEKICBsb2NrIG9yIHVzZXMgUkVBRF9PTkNFIGFnYWluc3QgdGhl IElSUSB3cml0ZXIuCgoqIEV2aWRlbmNlIChLQ1NBTiBvbiBhIFNUT0NLIDcuMyBrZXJuZWwgLS0g dW5saWtlIHNsdWIsIHRoZXNlIGZpbGVzCiAgYXJlIGluc3RydW1lbnRlZDsgbm8gZGlhZ25vc3Rp YyBidWlsZCBuZWVkZWQpCiAgVGFyZ2V0ZWQgbWljcm9zZWNvbmQtdGltZW91dCB3b3JrbG9hZHMg KHVzZXJzcGFjZSBzdGF0aWMgYmluYXJ5CiAgcGx1cyBhIHNtYWxsIG1vZHVsZSBmb3IgdGhlIGlu LWtlcm5lbCB3YWl0ZXJzKTogZnV0ZXggd2l0aCB0aW55CiAgdGltZW91dHMgKDE0NmsvMTQxayBj YWxscyksIEZVVEVYX1dBSVRfUkVRVUVVRV9QSSAoMTIyayksIG5hbm9zbGVlcAogICgzNjNrKSwg ZXBvbGwgKDIuODlNKSwgYWlvICg1MzFrKSwgdXNsZWVwX3JhbmdlIC8KICB3YWl0X2V2ZW50X2hy dGltZW91dCAoNTgxayBlYWNoKS4gIFdpdGhpbiB+MjAgc2Vjb25kcyBvZiBsb2FkCiAgc3RhcnQ6 CiAgICBCVUc6IEtDU0FOOiBkYXRhLXJhY2UgaW4gX19mdXRleF93YWl0IC8gaHJ0aW1lcl93YWtl dXAKICAgIHJlYWQtd3JpdGUgdG8gMHguLi4gb2YgOCBieXRlcyBieSBpbnRlcnJ1cHQgb24gY3B1 IDE6CiAgICAgIGhydGltZXJfd2FrZXVwKzB4MTcgICAgICAgICAgICAgICAgICAgICA8LSB0LT50 YXNrID0gTlVMTAogICAgICBfX2hydGltZXJfcnVuX3F1ZXVlcyA8LSBocnRpbWVyX2ludGVycnVw dCA8LSBhcGljIHRpbWVyCiAgICByZWFkIHRvIDB4Li4uIG9mIDggYnl0ZXMgYnkgdGFzayBvbiBj cHUgMzoKICAgICAgX19mdXRleF93YWl0KzB4YzkgICAgICAgICAgICAgICAgICAgICAgIDwtIHRo ZSB3YWl0d2FrZS5jOjcyOAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZWFkLCBoZWxkIGluIEtDU0FOJ3MKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgd2F0Y2hwb2ludCBkZWxheQogICAgICBmdXRleF93YWl0IC0+ IGRvX2Z1dGV4IC0+IF9feDY0X3N5c19mdXRleAogIGFuZCB0aGUgc2FtZSBzaGFwZSBmb3IgZG9f bmFub3NsZWVwIHZzIGhydGltZXJfd2FrZXVwCiAgKGRvX25hbm9zbGVlcCsweGJlID0gaHJ0aW1l ci5jOjI0MzUvMjQ0MSkuICA0OCsgdGFyZ2V0ZWQgcmVwb3J0cwogIGFjcm9zcyB0aGUgdHdvIHJl cHJlc2VudGF0aXZlIHJlYWQgc2l0ZXM7IHRoZSBvdGhlciBhdWRpdGVkIHJlYWQKICBzaXRlcyBz aGFyZSB0aGUgaWRlbnRpY2FsIG1lY2hhbmlzbSAoc2FtcGxpbmcvbGltaXRpbmcgaXMgd2h5IHRo ZXkKICB3ZXJlIG5vdCBpbmRpdmlkdWFsbHkgY29sbGVjdGVkKS4KICBSZXByb2R1Y2VycyBhdHRh Y2hlZDogZnhmdXQuYyAodXNlcnNwYWNlLCBzaXggdGhyZWFkIGNsYXNzZXMpIGFuZAogIGZ4aHJ0 LmMgKG1vZHVsZSBkcml2aW5nIHVzbGVlcF9yYW5nZS93YWl0X2V2ZW50X2hydGltZW91dCBoYW1t ZXIpLgogIFJ1biBvbiBhbnkgS0NTQU4ga2VybmVsIHdpdGggc2tpcF93YXRjaC91ZGVsYXkgdHVu ZWQ7IGZpcnN0IGhpdHMKICBhcnJpdmUgd2l0aGluIHRlbnMgb2Ygc2Vjb25kcy4KCgoKUmVnYXJk cywKSGFueGlhbmcgWHUKeHVoeEBodXN0LmVkdS5jbgo= ------=_Part_402262_528458863.1793705417573 Content-Type: text/plain; name=fxhrt.c Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fxhrt.c" Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKLyoKICogZnhocnQuYyAtIEtDU0FO IGhhbW1lciBmb3IgQ2FzZSAyIG9mIHRoZSBrZXJuZWwvZnV0ZXggbWFudWFsIGF1ZGl0LAogKiBr ZXJuZWwtY29udGV4dCBzaWRlOgogKgogKiAgIGhydGltZXJfc2xlZXBlcjo6dGFzayBwbGFpbiBy ZWFkcyByYWNpbmcgdGhlIGhhcmRpcnEgd3JpdGVyCiAqICAgaHJ0aW1lcl93YWtldXAoKSAoa2Vy bmVsL3RpbWUvaHJ0aW1lci5jOjIzMjMtMjMzMyB0LT50YXNrID0gTlVMTCkuCiAqCiAqIFNpdGVz IGV4ZXJjaXNlZCBoZXJlOgogKiAgIFIxMC9SMTEgc2NoZWR1bGVfaHJ0aW1lb3V0X3JhbmdlX2Ns b2NrKCkgIGtlcm5lbC90aW1lL3NsZWVwX3RpbWVvdXQuYzoyMTUvMjIzCiAqICAgUjEyICAgICBf X3dhaXRfZXZlbnRfaHJ0aW1lb3V0ICAgICAgICAgICAgaW5jbHVkZS9saW51eC93YWl0Lmg6NTU5 CiAqICAgKHVzZXItc3BhY2Ugc2lkZSBmeGZ1dCBjb3ZlcnMgZnV0ZXggUjEtUjUsIGRvX25hbm9z bGVlcCBSNy1SOSwgZXBvbGwvYWlvKQogKgogKiBNZXRob2Q6IGt0aHJlYWRzIGxvb3BpbmcgbWlj cm9zZWNvbmQgc2xlZXBzIHNvIHRoZSB0aW1lciBleHBpcmVzIHdpdGhpbgogKiB0aGUgS0NTQU4g d2F0Y2ggd2luZG93IG9mIHRoZSBpbW1lZGlhdGVseS1mb2xsb3dpbmcgLT50YXNrIHJlYWQuCiAq IHVzbGVlcF9yYW5nZSgpIHJlYWNoZXMgc2NoZWR1bGVfaHJ0aW1lb3V0X3JhbmdlX2Nsb2NrKCkg dmlhCiAqIGRvX3VzbGVlcF9yYW5nZSgpOyB3YWl0X2V2ZW50X2hydGltZW91dCgpIGV4cGFuZHMg dGhlIHdhaXQuaCBtYWNyby4KICovCiNkZWZpbmUgcHJfZm10KGZtdCkgIkZYSFJUOiAiIGZtdAoK I2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgojaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgojaW5j bHVkZSA8bGludXgvZGVsYXkuaD4KI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KI2luY2x1ZGUgPGxp bnV4L3NsYWIuaD4KCnN0YXRpYyBpbnQgdGhyZWFkcyA9IDQ7CnN0YXRpYyBpbnQgc2VjcyA9IDkw OwoKbW9kdWxlX3BhcmFtKHRocmVhZHMsIGludCwgMCk7Cm1vZHVsZV9wYXJhbShzZWNzLCBpbnQs IDApOwoKc3RhdGljIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFEKGZ4d3EpOwpzdGF0aWMgc3RydWN0 IHRhc2tfc3RydWN0ICpodGFza1s4XTsKc3RhdGljIGF0b21pY190IHN0b3BfZmxhZzsKc3RhdGlj IGF0b21pYzY0X3Qgbl91c2xlZXAsIG5fd2V2dDsKCnN0YXRpYyBpbnQgZnhfaHJ0KHZvaWQgKmFy ZykKewoJdW5zaWduZWQgbG9uZyB0OwoKCXdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpICYm ICFhdG9taWNfcmVhZCgmc3RvcF9mbGFnKSkgewoJCS8qIFIxMC9SMTE6IHNjaGVkdWxlX2hydGlt ZW91dF9yYW5nZV9jbG9jaygpIHQudGFzayByZWFkcyAqLwoJCXVzbGVlcF9yYW5nZSgxLCAyKTsK CQlhdG9taWM2NF9pbmMoJm5fdXNsZWVwKTsKCgkJLyogUjEyOiBfX3dhaXRfZXZlbnRfaHJ0aW1l b3V0IF9fdC50YXNrIHJlYWQgKi8KCQl0ID0gYXRvbWljNjRfaW5jX3JldHVybigmbl93ZXZ0KTsK CQl3YWl0X2V2ZW50X2hydGltZW91dChmeHdxLCAodCAmIDEpID09IDIsIDIpOwoJfQoJcmV0dXJu IDA7Cn0KCnN0YXRpYyBpbnQgX19pbml0IGZ4aHJ0X2luaXQodm9pZCkKewoJbG9uZyBpOwoJaW50 IHJldDsKCglpZiAodGhyZWFkcyA+IDgpCgkJdGhyZWFkcyA9IDg7CgoJZm9yIChpID0gMDsgaSA8 IHRocmVhZHM7IGkrKykgewoJCXN0cnVjdCB0YXNrX3N0cnVjdCAqdCA9IGt0aHJlYWRfY3JlYXRl KGZ4X2hydCwgKHZvaWQgKilpLAoJCQkJCQkgICAgICAgImZ4aHJ0LyVsZCIsIGkpOwoJCWlmIChJ U19FUlIodCkpIHsgcmV0ID0gUFRSX0VSUih0KTsgZ290byBlcnI7IH0KCQlrdGhyZWFkX2JpbmQo dCwgKGkgKyA0KSAlIG5yX2NwdV9pZHMpOwoJCXdha2VfdXBfcHJvY2Vzcyh0KTsKCQlodGFza1tp XSA9IHQ7Cgl9Cglwcl9pbmZvKCIlZCBocnQgc2xlZXBlciB0aHJlYWRzIHJ1bm5pbmcgKHVzbGVl cF9yYW5nZSAxLTJ1cyArIHdhaXRfZXZlbnRfaHJ0aW1lb3V0IDJ1cylcbiIsCgkJdGhyZWFkcyk7 CglyZXR1cm4gMDsKZXJyOgoJYXRvbWljX3NldCgmc3RvcF9mbGFnLCAxKTsKCWZvciAoaSA9IDA7 IGkgPCA4OyBpKyspCgkJaWYgKGh0YXNrW2ldKQoJCQlrdGhyZWFkX3N0b3AoaHRhc2tbaV0pOwoJ cmV0dXJuIHJldDsKfQoKc3RhdGljIHZvaWQgX19leGl0IGZ4aHJ0X2V4aXQodm9pZCkKewoJaW50 IGk7CgoJYXRvbWljX3NldCgmc3RvcF9mbGFnLCAxKTsKCWZvciAoaSA9IDA7IGkgPCA4OyBpKysp CgkJaWYgKGh0YXNrW2ldKQoJCQlrdGhyZWFkX3N0b3AoaHRhc2tbaV0pOwoJcHJfaW5mbygidG90 YWxzOiB1c2xlZXBfcmFuZ2U9JWxsZCB3YWl0X2V2ZW50X2hydGltZW91dD0lbGxkXG4iLAoJCWF0 b21pYzY0X3JlYWQoJm5fdXNsZWVwKSwgYXRvbWljNjRfcmVhZCgmbl93ZXZ0KSk7Cn0KCm1vZHVs ZV9pbml0KGZ4aHJ0X2luaXQpOwptb2R1bGVfZXhpdChmeGhydF9leGl0KTsKTU9EVUxFX0xJQ0VO U0UoIkdQTCIpOwpNT0RVTEVfREVTQ1JJUFRJT04oIktDU0FOIGhhbW1lcjogaHJ0aW1lcl9zbGVl cGVyOjp0YXNrIHJlYWRlcnMgdnMgaHJ0aW1lcl93YWtldXAgKGF1ZGl0IENhc2UgMikiKTsK ------=_Part_402262_528458863.1793705417573 Content-Type: text/plain; name=fxfut.c Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fxfut.c" Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKLyogZnhmdXQuYyAtIEtDU0FOIGhh bW1lciBmb3IgQ2FzZSAyLCB1c2VyLXNwYWNlIHNpZGUuCiAqCiAqIFRocmVhZHMgaGFtbWVyaW5n IG1pY3Jvc2Vjb25kLXRpbWVvdXQgd2FpdHMgc28gdGhlIGFybWVkIGhydGltZXIKICogZXhwaXJl cyBpbnNpZGUgdGhlIEtDU0FOIHdhdGNoIHdpbmRvdyBvZiB0aGUgZm9sbG93aW5nIC0+dGFzayBy ZWFkOgogKgogKiAgIFIxL1I0ICBmdXRleChGVVRFWF9XQUlUX1BSSVZBVEUsIC4uLCAxLTJ1cykg ICAtPiBmdXRleF9kb193YWl0L19fZnV0ZXhfd2FpdAogKiAgIFIxICAgICBmdXRleChGVVRFWF9X QUlUX0JJVFNFVF9QUklWQVRFLCAuLi4pICAgLT4gZnV0ZXhfZG9fd2FpdAogKiAgIFI1ICAgICBm dXRleChGVVRFWF9XQUlUX1JFUVVFVUVfUElfUFJJVkFURS4uKSAgLT4gaGFuZGxlX2Vhcmx5X3Jl cXVldWVfcGlfd2FrZXVwCiAqICAgUjctUjkgIG5hbm9zbGVlcCgxLTJ1cykgICAgICAgICAgICAg ICAgICAgICAgICAtPiBkb19uYW5vc2xlZXAKICogICBSMTAgICAgZXBvbGxfd2FpdCgxbXMpICAg ICAgICAgICAgICAgICAgICAgICAgIC0+IHNjaGVkdWxlX2hydGltZW91dF9yYW5nZV9jbG9jawog KiAgIFIxMyAgICBpb19nZXRldmVudHMoMS0ydXMgdGltZW91dCkgICAgICAgICAgICAgLT4gYWlv X3JlYWRfZXZlbnRzX3JpbmcKICoKICogdXNhZ2U6IGZ4ZnV0IDx0aHJlYWRzLXBlci1raW5kPiA8 c2Vjb25kcz4KICovCiNkZWZpbmUgX0dOVV9TT1VSQ0UKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNs dWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CiNp bmNsdWRlIDxlcnJuby5oPgojaW5jbHVkZSA8cHRocmVhZC5oPgojaW5jbHVkZSA8c3lzL3N5c2Nh bGwuaD4KI2luY2x1ZGUgPHN5cy9lcG9sbC5oPgojaW5jbHVkZSA8dGltZS5oPgoKI2lmbmRlZiBT WVNfZnV0ZXgKI2RlZmluZSBTWVNfZnV0ZXggMjAyCiNlbmRpZgojZGVmaW5lIEZVVEVYX1dBSVQJ CTAKI2RlZmluZSBGVVRFWF9XQUlUX0JJVFNFVAk5CiNkZWZpbmUgRlVURVhfV0FJVF9SRVFVRVVF X1BJCTExCiNkZWZpbmUgRlVURVhfUFJJVkFURV9GTEFHCTEyOAoKI2lmbmRlZiBTWVNfaW9fc2V0 dXAKI2RlZmluZSBTWVNfaW9fc2V0dXAgMjA2CiNkZWZpbmUgU1lTX2lvX2dldGV2ZW50cyAyMDgK I2VuZGlmCgpzdGF0aWMgdm9sYXRpbGUgaW50IHJ1bm5pbmcgPSAxOwpzdGF0aWMgbG9uZyBjbnRf ZnV0ZXgsIGNudF9mdXRleGIsIGNudF9ycWksIGNudF9uYW5vLCBjbnRfZXBvbGwsIGNudF9haW87 CnN0YXRpYyBpbnQgbl90aHJlYWRzID0gMywgc2VjcyA9IDkwOwoKI2RlZmluZSBUU19VUyhuc2Vj KSAoeyBzdGF0aWMgc3RydWN0IHRpbWVzcGVjIF90czsgX3RzLnR2X3NlYyA9IDA7IF90cy50dl9u c2VjID0gKG5zZWMpOyAmX3RzOyB9KQoKc3RhdGljIHZvaWQgKnRmX2Z1dGV4KHZvaWQgKmEpCnsK CXVuc2lnbmVkIGludCB3b3JkID0gMDsKCXdoaWxlIChydW5uaW5nKSB7CgkJc3lzY2FsbChTWVNf ZnV0ZXgsICZ3b3JkLCBGVVRFWF9XQUlUIHwgRlVURVhfUFJJVkFURV9GTEFHLAoJCQl3b3JkLCBU U19VUygxMDAwKSwgTlVMTCwgMCk7CgkJY250X2Z1dGV4Kys7Cgl9CglyZXR1cm4gTlVMTDsKfQoK c3RhdGljIHZvaWQgKnRmX2Z1dGV4Yih2b2lkICphKQp7Cgl1bnNpZ25lZCBpbnQgd29yZCA9IDA7 Cgl3aGlsZSAocnVubmluZykgewoJCXN5c2NhbGwoU1lTX2Z1dGV4LCAmd29yZCwgRlVURVhfV0FJ VF9CSVRTRVQgfCBGVVRFWF9QUklWQVRFX0ZMQUcsCgkJCXdvcmQsIFRTX1VTKDIwMDApLCBOVUxM LCAweGZmZmZmZmZmKTsKCQljbnRfZnV0ZXhiKys7Cgl9CglyZXR1cm4gTlVMTDsKfQoKc3RhdGlj IHZvaWQgKnRmX3JxaSh2b2lkICphKQp7Cgl1bnNpZ25lZCBpbnQgdTEgPSAwLCB1MiA9IDA7Cgl3 aGlsZSAocnVubmluZykgewoJCXN5c2NhbGwoU1lTX2Z1dGV4LCAmdTEsIEZVVEVYX1dBSVRfUkVR VUVVRV9QSSB8IEZVVEVYX1BSSVZBVEVfRkxBRywKCQkJMCwgVFNfVVMoMjAwMCksICZ1MiwgMCk7 CgkJY250X3JxaSsrOwoJfQoJcmV0dXJuIE5VTEw7Cn0KCnN0YXRpYyB2b2lkICp0Zl9uYW5vKHZv aWQgKmEpCnsKCXdoaWxlIChydW5uaW5nKSB7CgkJbmFub3NsZWVwKFRTX1VTKDEwMDApLCBOVUxM KTsKCQljbnRfbmFubysrOwoJfQoJcmV0dXJuIE5VTEw7Cn0KCnN0YXRpYyB2b2lkICp0Zl9lcG9s bCh2b2lkICphKQp7CglpbnQgZmQgPSBlcG9sbF9jcmVhdGUxKDApOwoJc3RydWN0IGVwb2xsX2V2 ZW50IGV2OwoJd2hpbGUgKHJ1bm5pbmcgJiYgZmQgPj0gMCkgewoJCWVwb2xsX3dhaXQoZmQsICZl diwgMCwgMSk7CgkJY250X2Vwb2xsKys7Cgl9CglyZXR1cm4gTlVMTDsKfQoKc3RhdGljIHZvaWQg KnRmX2Fpbyh2b2lkICphKQp7Cgl1bnNpZ25lZCBsb25nIGN0eCA9IDA7CglpZiAoc3lzY2FsbChT WVNfaW9fc2V0dXAsIDQsICZjdHgpIDwgMCkKCQlyZXR1cm4gTlVMTDsKCXdoaWxlIChydW5uaW5n KSB7CgkJc3lzY2FsbChTWVNfaW9fZ2V0ZXZlbnRzLCBjdHgsIDAsIDAsIE5VTEwsIFRTX1VTKDIw MDApKTsKCQljbnRfYWlvKys7Cgl9CglyZXR1cm4gTlVMTDsKfQoKaW50IG1haW4oaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQp7CglwdGhyZWFkX3QgdGhbNjRdOwoJaW50IG4gPSAwLCBpOwoKCWlmIChh cmdjID4gMSkgbl90aHJlYWRzID0gYXRvaShhcmd2WzFdKTsKCWlmIChhcmdjID4gMikgc2VjcyA9 IGF0b2koYXJndlsyXSk7CglpZiAobl90aHJlYWRzIDwgMSkgbl90aHJlYWRzID0gMTsKCWlmIChu X3RocmVhZHMgPiA4KSBuX3RocmVhZHMgPSA4OwoKCWZvciAoaSA9IDA7IGkgPCBuX3RocmVhZHM7 IGkrKykgewoJCXB0aHJlYWRfY3JlYXRlKCZ0aFtuKytdLCBOVUxMLCB0Zl9mdXRleCwgTlVMTCk7 CgkJcHRocmVhZF9jcmVhdGUoJnRoW24rK10sIE5VTEwsIHRmX2Z1dGV4YiwgTlVMTCk7CgkJcHRo cmVhZF9jcmVhdGUoJnRoW24rK10sIE5VTEwsIHRmX3JxaSwgTlVMTCk7CgkJcHRocmVhZF9jcmVh dGUoJnRoW24rK10sIE5VTEwsIHRmX25hbm8sIE5VTEwpOwoJCXB0aHJlYWRfY3JlYXRlKCZ0aFtu KytdLCBOVUxMLCB0Zl9lcG9sbCwgTlVMTCk7CgkJcHRocmVhZF9jcmVhdGUoJnRoW24rK10sIE5V TEwsIHRmX2FpbywgTlVMTCk7Cgl9CglwcmludGYoIkZYRlVUOiAlZCB0aHJlYWRzIHggNiBraW5k cywgJWRzXG4iLCBuX3RocmVhZHMsIHNlY3MpOwoJZmZsdXNoKHN0ZG91dCk7CgoJc2xlZXAoc2Vj cyk7CglydW5uaW5nID0gMDsKCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCgkJcHRocmVhZF9qb2lu KHRoW2ldLCBOVUxMKTsKCXByaW50ZigiRlhGVVQ6IHRvdGFscyBmdXRleD0lbGQgZnV0ZXhiPSVs ZCBycWk9JWxkIG5hbm89JWxkIGVwb2xsPSVsZCBhaW89JWxkXG4iLAoJICAgICAgIGNudF9mdXRl eCwgY250X2Z1dGV4YiwgY250X3JxaSwgY250X25hbm8sIGNudF9lcG9sbCwgY250X2Fpbyk7Cglm Zmx1c2goc3Rkb3V0KTsKCXJldHVybiAwOwp9Cg== ------=_Part_402262_528458863.1793705417573--