Date: Tue, 6 Dec 2016 13:26:58 +0000 From: "oleg (Oleg Bulyzhin)" <phabric-noreply@FreeBSD.org> To: freebsd-net@freebsd.org Subject: [Differential] D8637: buf_ring.h: fix memory order issues. Message-ID: <97fc3e89e8a20806270e7ab7134d7e0e@localhost.localdomain> In-Reply-To: <differential-rev-PHID-DREV-7phoe4ltzb7cywaexwdr-req@FreeBSD.org> References: <differential-rev-PHID-DREV-7phoe4ltzb7cywaexwdr-req@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--b1_97fc3e89e8a20806270e7ab7134d7e0e Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 b2xlZyB1cGRhdGVkIHRoaXMgcmV2aXNpb24gdG8gRGlmZiAyMjcyOC4Kb2xlZyBhZGRlZCBhIGNv bW1lbnQuCgoKICAxLiBmaXggaXNzdWVzIHJlcG9ydGVkIGJ5IHNiYWhyYV9yZXBub3Aub3JnIGhl cmU6IGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9EMTk0NQogIDIuIGZpeCBzeW5jaHJvbml6 YXRpb24gY2hhaW4gKHByb2R1Y2VyIC0+IHByb2R1Y2VyIC0+IGNvbnN1bWVyKSBub3RlZCBieSBh bGMuCiAgMy4gbWFzc2l2ZSBjb21tZW50cy4KCkNIQU5HRVMgU0lOQ0UgTEFTVCBVUERBVEUKICBo dHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDg2Mzc/dnM9MjI1MDcmaWQ9MjI3MjgKClJFVklT SU9OIERFVEFJTAogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9EODYzNwoKQUZGRUNURUQg RklMRVMKICBzeXMvc3lzL2J1Zl9yaW5nLmgKCkVNQUlMIFBSRUZFUkVOQ0VTCiAgaHR0cHM6Ly9y ZXZpZXdzLmZyZWVic2Qub3JnL3NldHRpbmdzL3BhbmVsL2VtYWlscHJlZmVyZW5jZXMvCgpUbzog b2xlZywga21hY3ksIGtpYiwgYWxjCkNjOiBlbWFzdGUsIGZyZWVic2QtbmV0LWxpc3QK --b1_97fc3e89e8a20806270e7ab7134d7e0e Content-Type: text/x-patch; charset=utf-8; name="D8637.22728.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D8637.22728.patch" ZGlmZiAtLWdpdCBhL3N5cy9zeXMvYnVmX3JpbmcuaCBiL3N5cy9zeXMvYnVmX3JpbmcuaAotLS0g YS9zeXMvc3lzL2J1Zl9yaW5nLmgKKysrIGIvc3lzL3N5cy9idWZfcmluZy5oCkBAIC03NSwzNSAr NzUsNjkgQEAKICNlbmRpZgkKIAljcml0aWNhbF9lbnRlcigpOwogCWRvIHsKLQkJcHJvZF9oZWFk ID0gYnItPmJyX3Byb2RfaGVhZDsKKwkJLyoKKwkJICogbG9hZF9hY3EocHJvZF9oZWFkKSBwcmVj ZWRpbmcgbG9hZChjb25zX3RhaWwpIGlzCisJCSAqIG1hbmRhdG9yeTogY29uc190YWlsIE1VU1Qg YmUgbm90ICdvbGRlcicgdGhhbiBwcm9kX2hlYWQuCisJCSAqIE90aGVyd2lzZSBmb2xsb3dpbmcg Y2FuIGhhcHBlbjoKKwkJICogYSkgaW5pdGlhbCBzdGF0ZTogY29uc190YWlsOiAxIHByb2RfaGVh ZDogMCByaW5nIGlzIGZ1bGwuCisJCSAqIGIpIGNwdTA6IHJlYWRzIGNvbnNfdGFpbDogMQorCQkg KiBjKSBjcHUxOiBydW5zIGNvbnN1bWVyIGFuZCBzZXRzIGNvbnNfdGFpbDogMgorCQkgKiBkKSBj cHUxOiBydW5zIHByb2R1Y2VyIGFuZCBzZXRzIHByb2RfaGVhZDogMQorCQkgKiAgICAgICAgICBy aW5nIGlzIGZ1bGwgYWdhaW4uCisJCSAqIGUpIGNwdTA6IHJlYWRzIHByb2RfaGVhZDogMSwgJ3Jp bmcgaXMgZnVsbCcgY2hlY2sgd2lsbCBmYWlsLgorCQkgKiBmKSBjcHUwOiBjbXBzZXQocHJvZF9o ZWFkKSB3aWxsIGJlIHN1Y2Nlc3NmdWwuCisJCSAqIGcpIHJpbmcgaXMgY29ycnVwdGVkLgorCQkg Ki8KKwkJcHJvZF9oZWFkID0gYXRvbWljX2xvYWRfYWNxXzMyKCZici0+YnJfcHJvZF9oZWFkKTsK IAkJcHJvZF9uZXh0ID0gKHByb2RfaGVhZCArIDEpICYgYnItPmJyX3Byb2RfbWFzazsKLQkJY29u c190YWlsID0gYnItPmJyX2NvbnNfdGFpbDsKLQotCQlpZiAocHJvZF9uZXh0ID09IGNvbnNfdGFp bCkgewotCQkJcm1iKCk7Ci0JCQlpZiAocHJvZF9oZWFkID09IGJyLT5icl9wcm9kX2hlYWQgJiYK LQkJCSAgICBjb25zX3RhaWwgPT0gYnItPmJyX2NvbnNfdGFpbCkgewotCQkJCWJyLT5icl9kcm9w cysrOwotCQkJCWNyaXRpY2FsX2V4aXQoKTsKLQkJCQlyZXR1cm4gKEVOT0JVRlMpOwotCQkJfQot CQkJY29udGludWU7CisJCS8qCisJCSAqIGxvYWRfYWNxKGNvbnNfdGFpbCkgaXMgcmVxdWlyZWQ6 IHRodXMgd2Ugc3luY2hyb25pemUgd2l0aAorCQkgKiBjb25zdW1lcnMuCisJCSAqLworCQljb25z X3RhaWwgPSBhdG9taWNfbG9hZF9hY3FfMzIoJmJyLT5icl9jb25zX3RhaWwpOworCisJCWlmIChw cm9kX25leHQgPT0gY29uc190YWlsKSB7CS8qIHJpbmcgaXMgZnVsbCAqLworCQkJLyoKKwkJCSAq IHByb2RfaGVhZCBjYW4gYmUgJ29sZGVyJyB0aGFuIGNvbnNfdGFpbCAoc2VlIGFib3ZlKSwKKwkJ CSAqIHNvIHRoaXMgY2FuIGJlIGZhbHNlIHBvc2l0aXZlICdyaW5nIGlzIGZ1bGwnIGVycm9yLgor CQkJICogY2hlY2sgaXQuCisJCQkgKi8KKwkJCWlmIChwcm9kX2hlYWQgIT0gYXRvbWljX2xvYWRf YWNxXzMyKCZici0+YnJfcHJvZF9oZWFkKSkKKwkJCQljb250aW51ZTsKKwkJCWJyLT5icl9kcm9w cysrOworCQkJY3JpdGljYWxfZXhpdCgpOworCQkJcmV0dXJuIChFTk9CVUZTKTsKIAkJfQotCX0g d2hpbGUgKCFhdG9taWNfY21wc2V0X2FjcV9pbnQoJmJyLT5icl9wcm9kX2hlYWQsIHByb2RfaGVh ZCwgcHJvZF9uZXh0KSk7CisJfSB3aGlsZSAoIWF0b21pY19jbXBzZXRfMzIoJmJyLT5icl9wcm9k X2hlYWQsIHByb2RfaGVhZCwgcHJvZF9uZXh0KSk7CiAjaWZkZWYgREVCVUdfQlVGUklORwogCWlm IChici0+YnJfcmluZ1twcm9kX2hlYWRdICE9IE5VTEwpCiAJCXBhbmljKCJkYW5nbGluZyB2YWx1 ZSBpbiBlbnF1ZXVlIik7CiAjZW5kaWYJCiAJYnItPmJyX3JpbmdbcHJvZF9oZWFkXSA9IGJ1ZjsK LQogCS8qCi0JICogSWYgdGhlcmUgYXJlIG90aGVyIGVucXVldWVzIGluIHByb2dyZXNzCi0JICog dGhhdCBwcmVjZWRlZCB1cywgd2UgbmVlZCB0byB3YWl0IGZvciB0aGVtCi0JICogdG8gY29tcGxl dGUgCisJICogSWYgdGhlcmUgYXJlIG90aGVyIGVucXVldWVzIGluIHByb2dyZXNzIHRoYXQgcHJl Y2VkZWQgdXMsIHdlIG5lZWQKKwkgKiB0byB3YWl0IGZvciB0aGVtIHRvIGNvbXBsZXRlLgorCSAq IGxvYWRfYWNxKHByb2RfdGFpbCkgaXMgcmVxdWlyZWQgZm9yIHByb3BlciBzeW5jaHJvbml6YXRp b24gY2hhaW4KKwkgKiBhbW9uZyBjb25zdW1lciBhbmQgbXVsdGlwbGUgcHJvZHVjZXJzLgorCSAq IENvbnNpZGVyIGZvbGxvd2luZyBzY2VuYXJpbzoKKwkgKiBhKSBpbml0aWFsIHN0YXRlOiBwcm9k X2hlYWQscHJvZF90YWlsLGNvbnNfaGVhZCxjb25zX3RhaWwgYXJlIDAuCisJICogICAgcmluZyBp cyBlbXB0eS4KKwkgKiBiKSBjcHUwOiBydW5zIHByb2R1Y2VyLCBncmFicyBwcm9kX2hlYWQ6IDAg YW5kIHNldHMgcHJvZF9oZWFkOiAxCisJICogYykgY3B1MTogcnVucyBwcm9kdWNlciwgZ3JhYnMg cHJvZF9oZWFkOiAxIGFuZCBzZXRzIHByb2RfaGVhZDogMgorCSAqIGQpIGNwdTE6IHN0b3JlcyBk YXRhIHRvIHJpbmdbMV0gYW5kIHdhaXRzIGZvciBwcm9kX3RhaWw6IDEKKwkgKiBlKSBjcHUwOiBz dG9yZXMgZGF0YSB0byByaW5nWzBdLCBzZXRzIHByb2RfdGFpbDogMQorCSAqIGYpIGNwdTE6IHNl ZXMgcHJvZF90YWlsOiAxLiBJZiBsb2FkKHByb2RfdGFpbCkgd2FzIGRvbmUgd2l0aG91dCBfYWNx CisJICogICAgYmFycmllciB0aGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBzdG9yZSB0byByaW5n WzBdIGlzIHZpc2libGUuCisJICogZykgY3B1MTogZXhlY3V0ZXMgc3RvcmVfcmVsKHByb2RfdGFp bDogMikKKwkgKiBoKSBjcHUyOiBydW5zIGNvbnN1bWVyLCBleGVjdXRlcyBsb2FkX2FjcShwcm9k X3RhaWwpIGFuZCBzZWVzCisJICogICAgcHJvZF90YWlsOiAyLiBhY3EvcmVsIHNlbWFudGljIGlu IGNvbnN1bWVyL3Byb2R1Y2VyIGd1YXJhbnRlZXMKKwkgKiAgICBjb25zaXN0ZW50IHJlYWQgZnJv bSByaW5nWzFdIGFuZCBfZG9lcyBub3QgZ3VhcmFudGVlXyBjb25zaXN0ZW50CisJICogICAgcmVh ZCBmcm9tIHJpbmdbMF0gKGlmIHdlIGhhZCB1bm9yZGVyZWQgbG9hZChwcm9kX3RhaWwpIGluIGYp LgorCSAqIGkpIGNwdTI6IHJlYWRzIGp1bmsgZnJvbSByaW5nWzBdCiAJICovICAgCi0Jd2hpbGUg KGJyLT5icl9wcm9kX3RhaWwgIT0gcHJvZF9oZWFkKQorCXdoaWxlIChhdG9taWNfbG9hZF9hY3Ff MzIoJmJyLT5icl9wcm9kX3RhaWwpICE9IHByb2RfaGVhZCkKIAkJY3B1X3NwaW53YWl0KCk7Ci0J YXRvbWljX3N0b3JlX3JlbF9pbnQoJmJyLT5icl9wcm9kX3RhaWwsIHByb2RfbmV4dCk7CisJYXRv bWljX3N0b3JlX3JlbF8zMigmYnItPmJyX3Byb2RfdGFpbCwgcHJvZF9uZXh0KTsKIAljcml0aWNh bF9leGl0KCk7CiAJcmV0dXJuICgwKTsKIH0KQEAgLTExNSwxOSArMTQ5LDQ1IEBACiBzdGF0aWMg X19pbmxpbmUgdm9pZCAqCiBidWZfcmluZ19kZXF1ZXVlX21jKHN0cnVjdCBidWZfcmluZyAqYnIp CiB7Ci0JdWludDMyX3QgY29uc19oZWFkLCBjb25zX25leHQ7CisJdWludDMyX3QgY29uc19oZWFk LCBjb25zX25leHQsIHByb2RfdGFpbDsKIAl2b2lkICpidWY7CiAKIAljcml0aWNhbF9lbnRlcigp OwogCWRvIHsKLQkJY29uc19oZWFkID0gYnItPmJyX2NvbnNfaGVhZDsKLQkJY29uc19uZXh0ID0g KGNvbnNfaGVhZCArIDEpICYgYnItPmJyX2NvbnNfbWFzazsKLQotCQlpZiAoY29uc19oZWFkID09 IGJyLT5icl9wcm9kX3RhaWwpIHsKKwkJLyoKKwkJICogbG9hZF9hY3EoY29uc19oZWFkKSBwcmVj ZWRpbmcgbG9hZChwcm9kX3RhaWwpIGlzCisJCSAqIG1hbmRhdG9yeTogcHJvZF90YWlsIE1VU1Qg YmUgbm90ICdvbGRlcicgdGhhbiBjb25zX2hlYWQuCisJCSAqIE90aGVyd2lzZSBmb2xsb3dpbmcg Y2FuIGhhcHBlbjoKKwkJICogYSkgaW5pdGlhbCBzdGF0ZTogcHJvZF90YWlsOiAwIGNvbnNfaGVh ZDogMCByaW5nIGlzIGVtcHR5LgorCQkgKiBiKSBjcHUwOiByZWFkcyBwcm9kX3RhaWw6IDAKKwkJ ICogYykgY3B1MTogcnVucyBwcm9kdWNlciBhbmQgc2V0cyBwcm9kX3RhaWw6IDEKKwkJICogZCkg Y3B1MTogcnVucyBjb25zdW1lciBhbmQgc2V0cyBjb25zX2hlYWQ6IDEKKwkJICogICAgICAgICAg cmluZyBpcyBlbXB0eSBhZ2Fpbi4KKwkJICogZSkgY3B1MDogcmVhZHMgY29uc19oZWFkOiAxLCAn cmluZyBpcyBlbXB0eScgY2hlY2sgd2lsbCBmYWlsLgorCQkgKiBmKSBjcHUwOiBjbXBzZXQoY29u c19oZWFkKSB3aWxsIGJlIHN1Y2Nlc3NmdWwuCisJCSAqIGcpIGNwdTA6IHJlYWRzIGp1bmsgZnJv bSBlbXB0eSByaW5nCisJCSAqLworCQljb25zX2hlYWQgPSBhdG9taWNfbG9hZF9hY3FfMzIoJmJy LT5icl9jb25zX2hlYWQpOworCQkvKgorCQkgKiBsb2FkX2FjcShwcm9kX3RhaWwpIGlzIHJlcXVp cmVkOiB0aHVzIHdlIHN5bmNocm9uaXplIHdpdGgKKwkJICogcHJvZHVjZXJzIGFuZCBsYXRlciBi ci0+YnJfcmluZ1tjb25zX2hlYWRdIGxvYWQgd2lsbCBiZQorCQkgKiBjb25zaXN0ZW50LgorCQkg Ki8KKwkJcHJvZF90YWlsID0gYXRvbWljX2xvYWRfYWNxXzMyKCZici0+YnJfcHJvZF90YWlsKTsK KworCQlpZiAoY29uc19oZWFkID09IHByb2RfdGFpbCkgewkvKiByaW5nIGlzIGVtcHR5ICovCisJ CQkvKgorCQkJICogU2luY2UgY29uc19oZWFkIGNhbiBiZSAnb2xkZXInIHRoYW4gcHJvZF90YWls IHRoaXMKKwkJCSAqIGNhbiBiZSBmYWxzZSBwb3NpdGl2ZSAncmluZyBpcyBlbXB0eScuCisJCQkg KiBXZSBjYW4gY2hlY2sgaXQgaGVyZSBvciBqdXN0IHdhaXQgZm9yIG5leHQKKwkJCSAqIGJ1Zl9y aW5nX2RlcXVldWVfbWMoKSBjYWxsLgorCQkJICovCiAJCQljcml0aWNhbF9leGl0KCk7CiAJCQly ZXR1cm4gKE5VTEwpOwogCQl9Ci0JfSB3aGlsZSAoIWF0b21pY19jbXBzZXRfYWNxX2ludCgmYnIt PmJyX2NvbnNfaGVhZCwgY29uc19oZWFkLCBjb25zX25leHQpKTsKKworCQljb25zX25leHQgPSAo Y29uc19oZWFkICsgMSkgJiBici0+YnJfY29uc19tYXNrOworCX0gd2hpbGUgKCFhdG9taWNfY21w c2V0XzMyKCZici0+YnJfY29uc19oZWFkLCBjb25zX2hlYWQsIGNvbnNfbmV4dCkpOwogCiAJYnVm ID0gYnItPmJyX3JpbmdbY29uc19oZWFkXTsKICNpZmRlZiBERUJVR19CVUZSSU5HCkBAIC0xNDAs MTAgKzIwMCw4IEBACiAJICovICAgCiAJd2hpbGUgKGJyLT5icl9jb25zX3RhaWwgIT0gY29uc19o ZWFkKQogCQljcHVfc3BpbndhaXQoKTsKLQotCWF0b21pY19zdG9yZV9yZWxfaW50KCZici0+YnJf Y29uc190YWlsLCBjb25zX25leHQpOworCWF0b21pY19zdG9yZV9yZWxfMzIoJmJyLT5icl9jb25z X3RhaWwsIGNvbnNfbmV4dCk7CiAJY3JpdGljYWxfZXhpdCgpOwotCiAJcmV0dXJuIChidWYpOwog fQogCkBAIC0xNTUsNjIgKzIxMyw0MSBAQAogc3RhdGljIF9faW5saW5lIHZvaWQgKgogYnVmX3Jp bmdfZGVxdWV1ZV9zYyhzdHJ1Y3QgYnVmX3JpbmcgKmJyKQogewotCXVpbnQzMl90IGNvbnNfaGVh ZCwgY29uc19uZXh0OworCXVpbnQzMl90IGNvbnNfaGVhZCwgY29uc19uZXh0LCBwcm9kX3RhaWw7 CiAjaWZkZWYgUFJFRkVUQ0hfREVGSU5FRAogCXVpbnQzMl90IGNvbnNfbmV4dF9uZXh0OwogI2Vu ZGlmCi0JdWludDMyX3QgcHJvZF90YWlsOwogCXZvaWQgKmJ1ZjsKIAogCS8qCi0JICogVGhpcyBp cyBhIHdvcmthcm91bmQgdG8gYWxsb3cgdXNpbmcgYnVmX3Jpbmcgb24gQVJNIGFuZCBBUk02NC4K LQkgKiBBUk02NFRPRE86IEZpeCBidWZfcmluZyBpbiBhIGdlbmVyaWMgd2F5LgotCSAqIFJFTUFS S1M6IEl0IGlzIHN1c3BlY3RlZCB0aGF0IGJyX2NvbnNfaGVhZCBkb2VzIG5vdCByZXF1aXJlCi0J ICogICBsb2FkX2FjcSBvcGVyYXRpb24sIGJ1dCB0aGlzIGNoYW5nZSB3YXMgZXh0ZW5zaXZlbHkg dGVzdGVkCi0JICogICBhbmQgY29uZmlybWVkIGl0J3Mgd29ya2luZy4gVG8gYmUgcmV2aWV3ZWQg b25jZSBhZ2FpbiBpbgotCSAqICAgRnJlZUJTRC0xMi4KLQkgKgotCSAqIFByZXZlbnRpbmcgZm9s bG93aW5nIHNpdHVhdGlvbjoKLQotCSAqIENvcmUoMCkgLSBidWZfcmluZ19lbnF1ZXVlKCkgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb3JlKDEpIC0gYnVmX3JpbmdfZGVx dWV1ZV9zYygpCi0JICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0JICoKLQkgKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc19oZWFkID0gYnItPmJyX2NvbnNfaGVhZDsKLQkgKiBhdG9taWNfY21wc2V0X2FjcV8z MigmYnItPmJyX3Byb2RfaGVhZCwgLi4uKSk7Ci0JICogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1 ZiA9IGJyLT5icl9yaW5nW2NvbnNfaGVhZF07ICAgICA8c2VlIDwxPj4KLQkgKiBici0+YnJfcmlu Z1twcm9kX2hlYWRdID0gYnVmOwotCSAqIGF0b21pY19zdG9yZV9yZWxfMzIoJmJyLT5icl9wcm9k X3RhaWwsIC4uLik7Ci0JICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2RfdGFpbCA9IGJyLT5i cl9wcm9kX3RhaWw7Ci0JICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25zX2hlYWQgPT0g cHJvZF90YWlsKSAKLQkgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKE5V TEwpOwotCSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGlzIGZhbHNlIGFuZCBj b2RlIHVzZXMgaW52YWxpZChvbGQpIGJ1Zj5gCQotCSAqCi0JICogPDE+IExvYWQgKG9uIGNvcmUg MSkgZnJvbSBici0+YnJfcmluZ1tjb25zX2hlYWRdIGNhbiBiZSByZW9yZGVyZWQgKHNwZWN1bGF0 aXZlIHJlYWRlZCkgYnkgQ1BVLgotCSAqLwkKLSNpZiBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmlu ZWQoX19hYXJjaDY0X18pCi0JY29uc19oZWFkID0gYXRvbWljX2xvYWRfYWNxXzMyKCZici0+YnJf Y29uc19oZWFkKTsKLSNlbHNlCi0JY29uc19oZWFkID0gYnItPmJyX2NvbnNfaGVhZDsKLSNlbmRp ZgorCSAqIGJ1Zl9yaW5nX2RlcXVldWVfbWMoKSBmYXRhbCBzY2VuYXJpbyAoc2VlIGFib3ZlKSBp cyBub3QgcG9zc2libGUKKwkgKiBmb3Igc2luZ2xlIGNvbnN1bWVyLiBTbyB3ZSByZWFkIHByb2Rf dGFpbCBmaXJzdCBpbiBvcmRlciB0bworCSAqIGF2b2lkIGZhbHNlIHBvc2l0aXZlICdyaW5nIGlz IGVtcHR5JyBjaGVjay4KKwkgKiBsb2FkX2FjcShwcm9kX3RhaWwpIGlzIG5lY2Vzc2FyeSBmb3Ig bGF0ZXIgYnItPmJyX3JpbmdbY29uc19oZWFkXQorCSAqIGxvYWQuCisJICovCiAJcHJvZF90YWls ID0gYXRvbWljX2xvYWRfYWNxXzMyKCZici0+YnJfcHJvZF90YWlsKTsKLQkKLQljb25zX25leHQg PSAoY29uc19oZWFkICsgMSkgJiBici0+YnJfY29uc19tYXNrOwotI2lmZGVmIFBSRUZFVENIX0RF RklORUQKLQljb25zX25leHRfbmV4dCA9IChjb25zX2hlYWQgKyAyKSAmIGJyLT5icl9jb25zX21h c2s7Ci0jZW5kaWYKKwljb25zX2hlYWQgPSBici0+YnJfY29uc19oZWFkOwogCQogCWlmIChjb25z X2hlYWQgPT0gcHJvZF90YWlsKSAKIAkJcmV0dXJuIChOVUxMKTsKIAotI2lmZGVmIFBSRUZFVENI X0RFRklORUQJCisJY29uc19uZXh0ID0gKGNvbnNfaGVhZCArIDEpICYgYnItPmJyX2NvbnNfbWFz azsKKyNpZmRlZiBQUkVGRVRDSF9ERUZJTkVECiAJaWYgKGNvbnNfbmV4dCAhPSBwcm9kX3RhaWwp IHsJCQogCQlwcmVmZXRjaChici0+YnJfcmluZ1tjb25zX25leHRdKTsKKwkJY29uc19uZXh0X25l eHQgPSAoY29uc19oZWFkICsgMikgJiBici0+YnJfY29uc19tYXNrOwogCQlpZiAoY29uc19uZXh0 X25leHQgIT0gcHJvZF90YWlsKSAKIAkJCXByZWZldGNoKGJyLT5icl9yaW5nW2NvbnNfbmV4dF9u ZXh0XSk7CiAJfQogI2VuZGlmCi0JYnItPmJyX2NvbnNfaGVhZCA9IGNvbnNfbmV4dDsKKwkvKgor CSAqIFRoZSBvcmRlciBhbmQgYXRvbWljaXR5IG9mIG5leHQgdHdvIG9wZXJhdGlvbnMgYXJlIHVu aW1wb3J0YW50OgorCSAqIHN0b3JlKGNvbnNfaGVhZCkgaXMgcHJvdGVjdGVkIGJ5IGxvY2sgKHNp bmdsZSBjb25zdW1lciBjYXNlKSwKKwkgKiBsb2FkKHJpbmdbY29uc19oZWFkXSkgaXMgb3JkZXJl ZCBieSBsYXRlciBzdG9yZV9yZWwoY29uc190YWlsKS4KKwkgKi8KIAlidWYgPSBici0+YnJfcmlu Z1tjb25zX2hlYWRdOworCWJyLT5icl9jb25zX2hlYWQgPSBjb25zX25leHQ7CiAKICNpZmRlZiBE RUJVR19CVUZSSU5HCiAJYnItPmJyX3JpbmdbY29uc19oZWFkXSA9IE5VTEw7CkBAIC0yMjAsNyAr MjU3LDcgQEAKIAkJcGFuaWMoImluY29uc2lzdGVudCBsaXN0IGNvbnNfdGFpbD0lZCBjb25zX2hl YWQ9JWQiLAogCQkgICAgYnItPmJyX2NvbnNfdGFpbCwgY29uc19oZWFkKTsKICNlbmRpZgotCWJy LT5icl9jb25zX3RhaWwgPSBjb25zX25leHQ7CisJYXRvbWljX3N0b3JlX3JlbF8zMigmYnItPmJy X2NvbnNfdGFpbCwgY29uc19uZXh0KTsKIAlyZXR1cm4gKGJ1Zik7CiB9CiAKQEAgLTIzMywxOSAr MjcwLDI1IEBACiBidWZfcmluZ19hZHZhbmNlX3NjKHN0cnVjdCBidWZfcmluZyAqYnIpCiB7CiAJ dWludDMyX3QgY29uc19oZWFkLCBjb25zX25leHQ7Ci0JdWludDMyX3QgcHJvZF90YWlsOwogCQor CS8qCisJICogYXRvbWljX2xvYWRfYWNxXzMyKCZici0+YnJfcHJvZF90YWlsKSBpcyBzdXBlcmZs dW91cyBoZXJlLgorCSAqIChhY3R1YWxseSBpdCB3YXMgZG9uZSBpbiBwcmVjZWRpbmcgYnVmX3Jp bmdfcGVlaykKKwkgKi8KIAljb25zX2hlYWQgPSBici0+YnJfY29uc19oZWFkOwotCXByb2RfdGFp bCA9IGJyLT5icl9wcm9kX3RhaWw7Ci0JCi0JY29uc19uZXh0ID0gKGNvbnNfaGVhZCArIDEpICYg YnItPmJyX2NvbnNfbWFzazsKLQlpZiAoY29uc19oZWFkID09IHByb2RfdGFpbCkgCisJaWYgKGNv bnNfaGVhZCA9PSBici0+YnJfcHJvZF90YWlsKSB7CisjaWZkZWYgREVCVUdfQlVGUklORworCQlw YW5pYygiYWR2YW5jZSBvbiBlbXB0eSByaW5nLiBubyBwcmV2aW91cyBwZWVrPyIpOworI2VuZGlm CiAJCXJldHVybjsKKwl9CisKKwljb25zX25leHQgPSAoY29uc19oZWFkICsgMSkgJiBici0+YnJf Y29uc19tYXNrOwogCWJyLT5icl9jb25zX2hlYWQgPSBjb25zX25leHQ7CiAjaWZkZWYgREVCVUdf QlVGUklORwogCWJyLT5icl9yaW5nW2NvbnNfaGVhZF0gPSBOVUxMOwogI2VuZGlmCi0JYnItPmJy X2NvbnNfdGFpbCA9IGNvbnNfbmV4dDsKKwlhdG9taWNfc3RvcmVfcmVsXzMyKCZici0+YnJfY29u c190YWlsLCBjb25zX25leHQpOwogfQogCiAvKgpAQCAtMjgwLDQ4ICszMjMsNDYgQEAKIHN0YXRp YyBfX2lubGluZSB2b2lkICoKIGJ1Zl9yaW5nX3BlZWsoc3RydWN0IGJ1Zl9yaW5nICpicikKIHsK Kwl1aW50MzJfdCBjb25zX2hlYWQsIHByb2RfdGFpbDsKIAogI2lmZGVmIERFQlVHX0JVRlJJTkcK IAlpZiAoKGJyLT5icl9sb2NrICE9IE5VTEwpICYmICFtdHhfb3duZWQoYnItPmJyX2xvY2spKQog CQlwYW5pYygibG9jayBub3QgaGVsZCBvbiBzaW5nbGUgY29uc3VtZXIgZGVxdWV1ZSIpOwogI2Vu ZGlmCQotCS8qCi0JICogSSBiZWxpZXZlIGl0IGlzIHNhZmUgdG8gbm90IGhhdmUgYSBtZW1vcnkg YmFycmllcgotCSAqIGhlcmUgYmVjYXVzZSB3ZSBjb250cm9sIGNvbnMgYW5kIHRhaWwgaXMgd29y c3QgY2FzZQotCSAqIGEgbGFnZ2luZyBpbmRpY2F0b3Igc28gd2Ugd29yc3QgY2FzZSB3ZSBtaWdo dAotCSAqIHJldHVybiBOVUxMIGltbWVkaWF0ZWx5IGFmdGVyIGEgYnVmZmVyIGhhcyBiZWVuIGVu cXVldWVkCi0JICovCi0JaWYgKGJyLT5icl9jb25zX2hlYWQgPT0gYnItPmJyX3Byb2RfdGFpbCkK KwkvKiBzZWUgYnVmX3JpbmdfZGVxdWV1ZV9zYygpIGNvbW1lbnQgKi8KKwlwcm9kX3RhaWwgPSBh dG9taWNfbG9hZF9hY3FfMzIoJmJyLT5icl9wcm9kX3RhaWwpOworCWNvbnNfaGVhZCA9IGJyLT5i cl9jb25zX2hlYWQ7CisKKwlpZiAoY29uc19oZWFkID09IHByb2RfdGFpbCkKIAkJcmV0dXJuIChO VUxMKTsKIAkKLQlyZXR1cm4gKGJyLT5icl9yaW5nW2JyLT5icl9jb25zX2hlYWRdKTsKKwlyZXR1 cm4gKGJyLT5icl9yaW5nW2NvbnNfaGVhZF0pOwogfQogCiBzdGF0aWMgX19pbmxpbmUgdm9pZCAq CiBidWZfcmluZ19wZWVrX2NsZWFyX3NjKHN0cnVjdCBidWZfcmluZyAqYnIpCiB7CisJdWludDMy X3QgY29uc19oZWFkLCBwcm9kX3RhaWw7CisKICNpZmRlZiBERUJVR19CVUZSSU5HCiAJdm9pZCAq cmV0OwogCiAJaWYgKCFtdHhfb3duZWQoYnItPmJyX2xvY2spKQogCQlwYW5pYygibG9jayBub3Qg aGVsZCBvbiBzaW5nbGUgY29uc3VtZXIgZGVxdWV1ZSIpOwogI2VuZGlmCQotCS8qCi0JICogSSBi ZWxpZXZlIGl0IGlzIHNhZmUgdG8gbm90IGhhdmUgYSBtZW1vcnkgYmFycmllcgotCSAqIGhlcmUg YmVjYXVzZSB3ZSBjb250cm9sIGNvbnMgYW5kIHRhaWwgaXMgd29yc3QgY2FzZQotCSAqIGEgbGFn Z2luZyBpbmRpY2F0b3Igc28gd2Ugd29yc3QgY2FzZSB3ZSBtaWdodAotCSAqIHJldHVybiBOVUxM IGltbWVkaWF0ZWx5IGFmdGVyIGEgYnVmZmVyIGhhcyBiZWVuIGVucXVldWVkCi0JICovCi0JaWYg KGJyLT5icl9jb25zX2hlYWQgPT0gYnItPmJyX3Byb2RfdGFpbCkKLQkJcmV0dXJuIChOVUxMKTsK KwkvKiBzZWUgYnVmX3JpbmdfZGVxdWV1ZV9zYygpIGNvbW1lbnQgKi8KKwlwcm9kX3RhaWwgPSBh dG9taWNfbG9hZF9hY3FfMzIoJmJyLT5icl9wcm9kX3RhaWwpOworCWNvbnNfaGVhZCA9IGJyLT5i cl9jb25zX2hlYWQ7CiAKKwlpZiAoY29uc19oZWFkID09IHByb2RfdGFpbCkKKwkJcmV0dXJuIChO VUxMKTsKICNpZmRlZiBERUJVR19CVUZSSU5HCiAJLyoKIAkgKiBTaW5nbGUgY29uc3VtZXIsIGku ZS4gY29uc19oZWFkIHdpbGwgbm90IG1vdmUgd2hpbGUgd2UgYXJlCiAJICogcnVubmluZywgc28g YXRvbWljX3N3YXBfcHRyKCkgaXMgbm90IG5lY2Vzc2FyeSBoZXJlLgogCSAqLwotCXJldCA9IGJy LT5icl9yaW5nW2JyLT5icl9jb25zX2hlYWRdOwotCWJyLT5icl9yaW5nW2JyLT5icl9jb25zX2hl YWRdID0gTlVMTDsKKwlyZXQgPSBici0+YnJfcmluZ1tjb25zX2hlYWRdOworCWJyLT5icl9yaW5n W2NvbnNfaGVhZF0gPSBOVUxMOwogCXJldHVybiAocmV0KTsKICNlbHNlCiAJcmV0dXJuIChici0+ YnJfcmluZ1tici0+YnJfY29uc19oZWFkXSk7CkBAIC0zNTQsNiArMzk1LDQgQEAKICAgICBzdHJ1 Y3QgbXR4ICopOwogdm9pZCBidWZfcmluZ19mcmVlKHN0cnVjdCBidWZfcmluZyAqYnIsIHN0cnVj dCBtYWxsb2NfdHlwZSAqdHlwZSk7CiAKLQotCiAjZW5kaWYKCg== --b1_97fc3e89e8a20806270e7ab7134d7e0e--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?97fc3e89e8a20806270e7ab7134d7e0e>