Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755045Ab0BNGlw (ORCPT ); Sun, 14 Feb 2010 01:41:52 -0500 Received: from mail-iw0-f201.google.com ([209.85.223.201]:49660 "EHLO mail-iw0-f201.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751668Ab0BNGlu (ORCPT ); Sun, 14 Feb 2010 01:41:50 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type; b=R6C8zmU+LRHWftkgkqhtjxkTxHmnIuDqrJ3kBCaYolqcWxQW0goePFq0a1pe6aGi5e cHFPdrPc2QzePKUE41QdWp2G5BQnIQWNm+9393+kzhve0GiUpzrjb1AsI+mo8jqq/jpY njQfDcewhZfJkojU4W4bNEFD7fgcNjQyGjXGg= Message-ID: <4B779B2A.5090006@gmail.com> Date: Sun, 14 Feb 2010 01:41:46 -0500 From: William Allen Simpson User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: Linux Kernel Developers , Linux Kernel Network Developers CC: Andrew Morton , David Miller Subject: [PATCH v4 6/7] TCPCT part 2f: cleanup tcp_parse_options References: <4B7791CF.9030201@gmail.com> In-Reply-To: <4B7791CF.9030201@gmail.com> Content-Type: multipart/mixed; boundary="------------050700000601010607010708" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 20506 Lines: 301 This is a multi-part message in MIME format. --------------050700000601010607010708 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Split switch, shift cases to the left, fix most lines beyond column 80. Prepare (future) error return. Repair net/ipv4/tcp_ipv4.c errors with goto targets, overlooked by David Miller in commit bb5b7c11263dbbe78253cd05945a6bf8f55add8e Requires: TCPCT part 1g: Responder Cookie => Initiator net: tcp_header_len_th and tcp_option_len_th Signed-off-by: William.Allen.Simpson@gmail.com --- include/net/tcp.h | 3 +- net/ipv4/syncookies.c | 9 ++- net/ipv4/tcp_input.c | 223 ++++++++++++++++++++++++++-------------------- net/ipv4/tcp_ipv4.c | 10 ++- net/ipv4/tcp_minisocks.c | 14 ++- net/ipv6/syncookies.c | 9 ++- net/ipv6/tcp_ipv6.c | 6 +- 7 files changed, 163 insertions(+), 111 deletions(-) --------------050700000601010607010708 Content-Type: text/plain; x-mac-type="54455854"; x-mac-creator="0"; name="TCPCT+2f4+2.6.33-rc8.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="TCPCT+2f4+2.6.33-rc8.patch" ZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L3RjcC5oIGIvaW5jbHVkZS9uZXQvdGNwLmgKaW5k ZXggNmIwZDdlOS4uNDIwZTg3MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvdGNwLmgKKysr IGIvaW5jbHVkZS9uZXQvdGNwLmgKQEAgLTQwMyw3ICs0MDMsOCBAQCBleHRlcm4gaW50CQkJ dGNwX3JlY3Ztc2coc3RydWN0IGtpb2NiICppb2NiLCBzdHJ1Y3Qgc29jayAqc2ssCiAJCQkJ CSAgICBzaXplX3QgbGVuLCBpbnQgbm9uYmxvY2ssIAogCQkJCQkgICAgaW50IGZsYWdzLCBp bnQgKmFkZHJfbGVuKTsKIAotZXh0ZXJuIHZvaWQJCQl0Y3BfcGFyc2Vfb3B0aW9ucyhzdHJ1 Y3Qgc2tfYnVmZiAqc2tiLAorZXh0ZXJuIGludAkJCXRjcF9wYXJzZV9vcHRpb25zKHN0cnVj dCBza19idWZmICpza2IsCisJCQkJCQkgIGNvbnN0IHN0cnVjdCB0Y3BoZHIgKnRoLAogCQkJ CQkJICBzdHJ1Y3QgdGNwX29wdGlvbnNfcmVjZWl2ZWQgKm9wdF9yeCwKIAkJCQkJCSAgdTgg KipodnBwLAogCQkJCQkJICBpbnQgZXN0YWIpOwpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvc3lu Y29va2llcy5jIGIvbmV0L2lwdjQvc3luY29va2llcy5jCmluZGV4IDY2ZmQ4MGUuLmQxZjQ1 YWQgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3N5bmNvb2tpZXMuYworKysgYi9uZXQvaXB2NC9z eW5jb29raWVzLmMKQEAgLTI1NSwxNSArMjU1LDE2IEBAIHN0cnVjdCBzb2NrICpjb29raWVf djRfY2hlY2soc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogewogCXN0 cnVjdCB0Y3Bfb3B0aW9uc19yZWNlaXZlZCB0Y3Bfb3B0OwogCXU4ICpoYXNoX2xvY2F0aW9u OworCXN0cnVjdCBydGFibGUgKnJ0OworCXN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcTsKIAlz dHJ1Y3QgaW5ldF9yZXF1ZXN0X3NvY2sgKmlyZXE7CiAJc3RydWN0IHRjcF9yZXF1ZXN0X3Nv Y2sgKnRyZXE7CiAJc3RydWN0IHRjcF9zb2NrICp0cCA9IHRjcF9zayhzayk7CiAJY29uc3Qg c3RydWN0IHRjcGhkciAqdGggPSB0Y3BfaGRyKHNrYik7CiAJX191MzIgY29va2llID0gbnRv aGwodGgtPmFja19zZXEpIC0gMTsKIAlzdHJ1Y3Qgc29jayAqcmV0ID0gc2s7Ci0Jc3RydWN0 IHJlcXVlc3Rfc29jayAqcmVxOwogCWludCBtc3M7Ci0Jc3RydWN0IHJ0YWJsZSAqcnQ7CisJ aW50IHBhcnNlZDsKIAlfX3U4IHJjdl93c2NhbGU7CiAKIAlpZiAoIXN5c2N0bF90Y3Bfc3lu Y29va2llcyB8fCAhdGgtPmFjaykKQEAgLTI3OSw3ICsyODAsOSBAQCBzdHJ1Y3Qgc29jayAq Y29va2llX3Y0X2NoZWNrKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYiwK IAogCS8qIGNoZWNrIGZvciB0aW1lc3RhbXAgY29va2llIHN1cHBvcnQgKi8KIAltZW1zZXQo JnRjcF9vcHQsIDAsIHNpemVvZih0Y3Bfb3B0KSk7Ci0JdGNwX3BhcnNlX29wdGlvbnMoc2ti LCAmdGNwX29wdCwgJmhhc2hfbG9jYXRpb24sIDApOworCXBhcnNlZCA9IHRjcF9wYXJzZV9v cHRpb25zKHNrYiwgdGgsICZ0Y3Bfb3B0LCAmaGFzaF9sb2NhdGlvbiwgMCk7CisJaWYgKHBh cnNlZCA8IDApCisJCWdvdG8gb3V0OwogCiAJaWYgKHRjcF9vcHQuc2F3X3RzdGFtcCkKIAkJ Y29va2llX2NoZWNrX3RpbWVzdGFtcCgmdGNwX29wdCk7CmRpZmYgLS1naXQgYS9uZXQvaXB2 NC90Y3BfaW5wdXQuYyBiL25ldC9pcHY0L3RjcF9pbnB1dC5jCmluZGV4IDE2NTA0MGUuLjJh OWVmNmIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcF9pbnB1dC5jCisrKyBiL25ldC9pcHY0 L3RjcF9pbnB1dC5jCkBAIC0zNzI2LDEyMiArMzcyNiwxNDkgQEAgb2xkX2FjazoKICAqIEJ1 dCwgdGhpcyBjYW4gYWxzbyBiZSBjYWxsZWQgb24gcGFja2V0cyBpbiB0aGUgZXN0YWJsaXNo ZWQgZmxvdyB3aGVuCiAgKiB0aGUgZmFzdCB2ZXJzaW9uIGJlbG93IGZhaWxzLgogICovCi12 b2lkIHRjcF9wYXJzZV9vcHRpb25zKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB0Y3Bf b3B0aW9uc19yZWNlaXZlZCAqb3B0X3J4LAotCQkgICAgICAgdTggKipodnBwLCBpbnQgZXN0 YWIpCitpbnQgdGNwX3BhcnNlX29wdGlvbnMoc3RydWN0IHNrX2J1ZmYgKnNrYiwgY29uc3Qg c3RydWN0IHRjcGhkciAqdGgsCisJCSAgICAgIHN0cnVjdCB0Y3Bfb3B0aW9uc19yZWNlaXZl ZCAqb3B0X3J4LCB1OCAqKmh2cHAsIGludCBlc3RhYikKIHsKLQl1bnNpZ25lZCBjaGFyICpw dHI7Ci0Jc3RydWN0IHRjcGhkciAqdGggPSB0Y3BfaGRyKHNrYik7Ci0JaW50IGxlbmd0aCA9 ICh0aC0+ZG9mZiAqIDQpIC0gc2l6ZW9mKHN0cnVjdCB0Y3BoZHIpOworCXVuc2lnbmVkIGNo YXIgKnB0ciA9ICh1bnNpZ25lZCBjaGFyICopKHRoICsgMSk7CisJaW50IGxlbmd0aCA9IHRj cF9vcHRpb25fbGVuX3RoKHRoKTsKKwlib29sIHN5biA9IHRoLT5zeW47CiAKLQlwdHIgPSAo dW5zaWduZWQgY2hhciAqKSh0aCArIDEpOwotCW9wdF9yeC0+c2F3X3RzdGFtcCA9IDA7CisJ b3B0X3J4LT5jb29raWVfcGx1cyA9IDA7CisJb3B0X3J4LT5zYXdfdHN0YW1wID0gMDsgLyog ZmFsc2UgKi8KIAogCXdoaWxlIChsZW5ndGggPiAwKSB7Ci0JCWludCBvcGNvZGUgPSAqcHRy Kys7CiAJCWludCBvcHNpemU7CisJCWludCBvcGNvZGUgPSAqcHRyKys7CiAKIAkJc3dpdGNo IChvcGNvZGUpIHsKIAkJY2FzZSBUQ1BPUFRfRU9MOgotCQkJcmV0dXJuOworCQkJbGVuZ3Ro ID0gMDsKKwkJCWNvbnRpbnVlOwogCQljYXNlIFRDUE9QVF9OT1A6CS8qIFJlZjogUkZDIDc5 MyBzZWN0aW9uIDMuMSAqLwogCQkJbGVuZ3RoLS07CiAJCQljb250aW51ZTsKIAkJZGVmYXVs dDoKLQkJCW9wc2l6ZSA9ICpwdHIrKzsKLQkJCWlmIChvcHNpemUgPCAyKSAvKiAic2lsbHkg b3B0aW9ucyIgKi8KLQkJCQlyZXR1cm47Ci0JCQlpZiAob3BzaXplID4gbGVuZ3RoKQotCQkJ CXJldHVybjsJLyogZG9uJ3QgcGFyc2UgcGFydGlhbCBvcHRpb25zICovCi0JCQlzd2l0Y2gg KG9wY29kZSkgewotCQkJY2FzZSBUQ1BPUFRfTVNTOgotCQkJCWlmIChvcHNpemUgPT0gVENQ T0xFTl9NU1MgJiYgdGgtPnN5biAmJiAhZXN0YWIpIHsKLQkJCQkJdTE2IGluX21zcyA9IGdl dF91bmFsaWduZWRfYmUxNihwdHIpOwotCQkJCQlpZiAoaW5fbXNzKSB7Ci0JCQkJCQlpZiAo b3B0X3J4LT51c2VyX21zcyAmJgotCQkJCQkJICAgIG9wdF9yeC0+dXNlcl9tc3MgPCBpbl9t c3MpCi0JCQkJCQkJaW5fbXNzID0gb3B0X3J4LT51c2VyX21zczsKLQkJCQkJCW9wdF9yeC0+ bXNzX2NsYW1wID0gaW5fbXNzOwotCQkJCQl9Ci0JCQkJfQotCQkJCWJyZWFrOwotCQkJY2Fz ZSBUQ1BPUFRfV0lORE9XOgotCQkJCWlmIChvcHNpemUgPT0gVENQT0xFTl9XSU5ET1cgJiYg dGgtPnN5biAmJgotCQkJCSAgICAhZXN0YWIgJiYgc3lzY3RsX3RjcF93aW5kb3dfc2NhbGlu ZykgewotCQkJCQlfX3U4IHNuZF93c2NhbGUgPSAqKF9fdTggKilwdHI7Ci0JCQkJCW9wdF9y eC0+d3NjYWxlX29rID0gMTsKLQkJCQkJaWYgKHNuZF93c2NhbGUgPiAxNCkgewotCQkJCQkJ aWYgKG5ldF9yYXRlbGltaXQoKSkKLQkJCQkJCQlwcmludGsoS0VSTl9JTkZPICJ0Y3BfcGFy c2Vfb3B0aW9uczogSWxsZWdhbCB3aW5kb3cgIgotCQkJCQkJCSAgICAgICAic2NhbGluZyB2 YWx1ZSAlZCA+MTQgcmVjZWl2ZWQuXG4iLAotCQkJCQkJCSAgICAgICBzbmRfd3NjYWxlKTsK LQkJCQkJCXNuZF93c2NhbGUgPSAxNDsKLQkJCQkJfQotCQkJCQlvcHRfcngtPnNuZF93c2Nh bGUgPSBzbmRfd3NjYWxlOwotCQkJCX0KLQkJCQlicmVhazsKLQkJCWNhc2UgVENQT1BUX1RJ TUVTVEFNUDoKLQkJCQlpZiAoKG9wc2l6ZSA9PSBUQ1BPTEVOX1RJTUVTVEFNUCkgJiYKLQkJ CQkgICAgKChlc3RhYiAmJiBvcHRfcngtPnRzdGFtcF9vaykgfHwKLQkJCQkgICAgICghZXN0 YWIgJiYgc3lzY3RsX3RjcF90aW1lc3RhbXBzKSkpIHsKLQkJCQkJb3B0X3J4LT5zYXdfdHN0 YW1wID0gMTsKLQkJCQkJb3B0X3J4LT5yY3ZfdHN2YWwgPSBnZXRfdW5hbGlnbmVkX2JlMzIo cHRyKTsKLQkJCQkJb3B0X3J4LT5yY3ZfdHNlY3IgPSBnZXRfdW5hbGlnbmVkX2JlMzIocHRy ICsgNCk7Ci0JCQkJfQotCQkJCWJyZWFrOwotCQkJY2FzZSBUQ1BPUFRfU0FDS19QRVJNOgot CQkJCWlmIChvcHNpemUgPT0gVENQT0xFTl9TQUNLX1BFUk0gJiYgdGgtPnN5biAmJgotCQkJ CSAgICAhZXN0YWIgJiYgc3lzY3RsX3RjcF9zYWNrKSB7Ci0JCQkJCW9wdF9yeC0+c2Fja19v ayA9IDE7Ci0JCQkJCXRjcF9zYWNrX3Jlc2V0KG9wdF9yeCk7CisJCQkvKiBmYWxsdGhydSAq LworCQkJYnJlYWs7CisJCX07CisKKwkJb3BzaXplID0gKnB0cisrOworCQlpZiAob3BzaXpl IDwgMiB8fCBvcHNpemUgPiBsZW5ndGgpIHsKKwkJCS8qIGRvbid0IHBhcnNlIHBhcnRpYWwg b3B0aW9ucyAqLworCQkJYnJlYWs7CisJCX0KKworCQlzd2l0Y2ggKG9wY29kZSkgeworCQlj YXNlIFRDUE9QVF9NU1M6CisJCQlpZiAob3BzaXplID09IFRDUE9MRU5fTVNTICYmIHN5biAm JiAhZXN0YWIpIHsKKwkJCQl1MTYgaW5fbXNzID0gZ2V0X3VuYWxpZ25lZF9iZTE2KHB0cik7 CisJCQkJaWYgKGluX21zcykgeworCQkJCQlpZiAob3B0X3J4LT51c2VyX21zcyAmJgorCQkJ CQkgICAgb3B0X3J4LT51c2VyX21zcyA8IGluX21zcykKKwkJCQkJCWluX21zcyA9IG9wdF9y eC0+dXNlcl9tc3M7CisJCQkJCW9wdF9yeC0+bXNzX2NsYW1wID0gaW5fbXNzOwogCQkJCX0K LQkJCQlicmVhazsKKwkJCX0KKwkJCWJyZWFrOwogCi0JCQljYXNlIFRDUE9QVF9TQUNLOgot CQkJCWlmICgob3BzaXplID49IChUQ1BPTEVOX1NBQ0tfQkFTRSArIFRDUE9MRU5fU0FDS19Q RVJCTE9DSykpICYmCi0JCQkJICAgISgob3BzaXplIC0gVENQT0xFTl9TQUNLX0JBU0UpICUg VENQT0xFTl9TQUNLX1BFUkJMT0NLKSAmJgotCQkJCSAgIG9wdF9yeC0+c2Fja19vaykgewot CQkJCQlUQ1BfU0tCX0NCKHNrYiktPnNhY2tlZCA9IChwdHIgLSAyKSAtICh1bnNpZ25lZCBj aGFyICopdGg7CisJCWNhc2UgVENQT1BUX1dJTkRPVzoKKwkJCWlmIChvcHNpemUgPT0gVENQ T0xFTl9XSU5ET1cgJiYgc3luICYmCisJCQkgICAgIWVzdGFiICYmIHN5c2N0bF90Y3Bfd2lu ZG93X3NjYWxpbmcpIHsKKwkJCQlfX3U4IHNuZF93c2NhbGUgPSAqKF9fdTggKilwdHI7CisJ CQkJb3B0X3J4LT53c2NhbGVfb2sgPSAxOworCQkJCWlmIChzbmRfd3NjYWxlID4gMTQpIHsK KwkJCQkJaWYgKG5ldF9yYXRlbGltaXQoKSkKKwkJCQkJCXByaW50ayhLRVJOX0lORk8KKwkJ CQkJCSAgICAgICAidGNwX3BhcnNlX29wdGlvbnM6ICIKKwkJCQkJCSAgICAgICAid2luZG93 IHNjYWxpbmcgdmFsdWUgIgorCQkJCQkJICAgICAgICIlZCA+IDE0IHJlY2VpdmVkLlxuIiwK KwkJCQkJCSAgICAgICBzbmRfd3NjYWxlKTsKKwkJCQkJc25kX3dzY2FsZSA9IDE0OwogCQkJ CX0KLQkJCQlicmVhazsKKwkJCQlvcHRfcngtPnNuZF93c2NhbGUgPSBzbmRfd3NjYWxlOwor CQkJfQorCQkJYnJlYWs7CisKKwkJY2FzZSBUQ1BPUFRfU0FDS19QRVJNOgorCQkJaWYgKG9w c2l6ZSA9PSBUQ1BPTEVOX1NBQ0tfUEVSTSAmJiBzeW4gJiYKKwkJCSAgICAhZXN0YWIgJiYg c3lzY3RsX3RjcF9zYWNrKSB7CisJCQkJb3B0X3J4LT5zYWNrX29rID0gMTsKKwkJCQl0Y3Bf c2Fja19yZXNldChvcHRfcngpOworCQkJfQorCQkJYnJlYWs7CisKKwkJY2FzZSBUQ1BPUFRf U0FDSzoKKwkJCWlmICgob3BzaXplID49IChUQ1BPTEVOX1NBQ0tfQkFTRSArIFRDUE9MRU5f U0FDS19QRVJCTE9DSykpICYmCisJCQkgICAgISgob3BzaXplIC0gVENQT0xFTl9TQUNLX0JB U0UpICUgVENQT0xFTl9TQUNLX1BFUkJMT0NLKSAmJgorCQkJICAgIG9wdF9yeC0+c2Fja19v aykgeworCQkJCVRDUF9TS0JfQ0Ioc2tiKS0+c2Fja2VkID0gKHB0ciAtIDIpCisJCQkJCQkJ LSAodW5zaWduZWQgY2hhciAqKXRoOworCQkJfQorCQkJYnJlYWs7CisKKwkJY2FzZSBUQ1BP UFRfVElNRVNUQU1QOgorCQkJaWYgKChvcHNpemUgPT0gVENQT0xFTl9USU1FU1RBTVApICYm CisJCQkgICAgKChlc3RhYiAmJiBvcHRfcngtPnRzdGFtcF9vaykgfHwKKwkJCSAgICAgKCFl c3RhYiAmJiBzeXNjdGxfdGNwX3RpbWVzdGFtcHMpKSkgeworCQkJCW9wdF9yeC0+c2F3X3Rz dGFtcCA9IDE7CisJCQkJb3B0X3J4LT5yY3ZfdHN2YWwgPSBnZXRfdW5hbGlnbmVkX2JlMzIo cHRyKTsKKwkJCQlvcHRfcngtPnJjdl90c2VjciA9IGdldF91bmFsaWduZWRfYmUzMihwdHIg KyA0KTsKKwkJCX0KKwkJCWJyZWFrOwogI2lmZGVmIENPTkZJR19UQ1BfTUQ1U0lHCi0JCQlj YXNlIFRDUE9QVF9NRDVTSUc6Ci0JCQkJLyoKLQkJCQkgKiBUaGUgTUQ1IEhhc2ggaGFzIGFs cmVhZHkgYmVlbgotCQkJCSAqIGNoZWNrZWQgKHNlZSB0Y3Bfdns0LDZ9X2RvX3JjdigpKS4K LQkJCQkgKi8KLQkJCQlicmVhazsKKwkJY2FzZSBUQ1BPUFRfTUQ1U0lHOgorCQkJLyoKKwkJ CSAqIFRoZSBNRDUgSGFzaCBoYXMgYWxyZWFkeSBiZWVuCisJCQkgKiBjaGVja2VkIChzZWUg dGNwX3Z7NCw2fV9kb19yY3YoKSkuCisJCQkgKi8KKwkJCWJyZWFrOwogI2VuZGlmCi0JCQlj YXNlIFRDUE9QVF9DT09LSUU6Ci0JCQkJLyogVGhpcyBvcHRpb24gaXMgdmFyaWFibGUgbGVu Z3RoLgotCQkJCSAqLwotCQkJCXN3aXRjaCAob3BzaXplKSB7Ci0JCQkJY2FzZSBUQ1BPTEVO X0NPT0tJRV9CQVNFOgotCQkJCQkvKiBub3QgeWV0IGltcGxlbWVudGVkICovCi0JCQkJCWJy ZWFrOwotCQkJCWNhc2UgVENQT0xFTl9DT09LSUVfUEFJUjoKLQkJCQkJLyogbm90IHlldCBp bXBsZW1lbnRlZCAqLwotCQkJCQlicmVhazsKLQkJCQljYXNlIFRDUE9MRU5fQ09PS0lFX01J TiswOgotCQkJCWNhc2UgVENQT0xFTl9DT09LSUVfTUlOKzI6Ci0JCQkJY2FzZSBUQ1BPTEVO X0NPT0tJRV9NSU4rNDoKLQkJCQljYXNlIFRDUE9MRU5fQ09PS0lFX01JTis2OgotCQkJCWNh c2UgVENQT0xFTl9DT09LSUVfTUFYOgotCQkJCQkvKiAxNi1iaXQgbXVsdGlwbGUgKi8KKwkJ Y2FzZSBUQ1BPUFRfQ09PS0lFOgorCQkJaWYgKG9wdF9yeC0+Y29va2llX3BsdXMgIT0gMCkg eworCQkJCS8qIGRpc2NhcmQgZHVwbGljYXRlICovCisJCQkJYnJlYWs7CisJCQl9CisJCQlz d2l0Y2ggKG9wc2l6ZSkgeworCQkJY2FzZSBUQ1BPTEVOX0NPT0tJRV9CQVNFOgorCQkJCS8q IG5vdCB5ZXQgaW1wbGVtZW50ZWQgKi8KKwkJCQlicmVhazsKKwkJCWNhc2UgVENQT0xFTl9D T09LSUVfUEFJUjogeworCQkJCS8qIG5vdCB5ZXQgaW1wbGVtZW50ZWQgKi8KKwkJCQlicmVh azsKKwkJCX0KKwkJCWNhc2UgVENQT0xFTl9DT09LSUVfTUlOKzA6CisJCQljYXNlIFRDUE9M RU5fQ09PS0lFX01JTisyOgorCQkJY2FzZSBUQ1BPTEVOX0NPT0tJRV9NSU4rNDoKKwkJCWNh c2UgVENQT0xFTl9DT09LSUVfTUlOKzY6CisJCQljYXNlIFRDUE9MRU5fQ09PS0lFX01BWDoK KwkJCQkvKiAxNi1iaXQgbXVsdGlwbGUgKi8KKwkJCQlpZiAoc3luKSB7CiAJCQkJCW9wdF9y eC0+Y29va2llX3BsdXMgPSBvcHNpemU7CiAJCQkJCSpodnBwID0gcHRyOwotCQkJCWRlZmF1 bHQ6Ci0JCQkJCS8qIGlnbm9yZSBvcHRpb24gKi8KLQkJCQkJYnJlYWs7Ci0JCQkJfTsKKwkJ CQl9CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCS8qIGlnbm9yZSBvcHRpb24gKi8K IAkJCQlicmVhazsKIAkJCX07CisJCQlicmVhazsKIAotCQkJcHRyICs9IG9wc2l6ZS0yOwot CQkJbGVuZ3RoIC09IG9wc2l6ZTsKLQkJfQorCQlkZWZhdWx0OgorCQkJLyogc2tpcCB1bnJl Y29nbml6ZWQgb3B0aW9ucyAqLworCQkJYnJlYWs7CisJCX07CisKKwkJcHRyICs9IG9wc2l6 ZSAtIDI7CisJCWxlbmd0aCAtPSBvcHNpemU7CiAJfQorCXJldHVybiAwOwogfQogCisvKgor ICogUmV0dXJuczoKKyAqCTEgb24gc3VjY2VzcworICoJMCBvbiBmYWlsdXJlCisgKi8KIHN0 YXRpYyBpbnQgdGNwX3BhcnNlX2FsaWduZWRfdGltZXN0YW1wKHN0cnVjdCB0Y3Bfc29jayAq dHAsIHN0cnVjdCB0Y3BoZHIgKnRoKQogewogCV9fYmUzMiAqcHRyID0gKF9fYmUzMiAqKSh0 aCArIDEpOwpAQCAtMzg3NSw4ICszOTAyLDcgQEAgc3RhdGljIGludCB0Y3BfZmFzdF9wYXJz ZV9vcHRpb25zKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB0Y3BoZHIgKnRoLAogCQlp ZiAodGNwX3BhcnNlX2FsaWduZWRfdGltZXN0YW1wKHRwLCB0aCkpCiAJCQlyZXR1cm4gMTsK IAl9Ci0JdGNwX3BhcnNlX29wdGlvbnMoc2tiLCAmdHAtPnJ4X29wdCwgaHZwcCwgMSk7Ci0J cmV0dXJuIDE7CisJcmV0dXJuIHRjcF9wYXJzZV9vcHRpb25zKHNrYiwgdGgsICZ0cC0+cnhf b3B0LCBodnBwLCAxKTsKIH0KIAogI2lmZGVmIENPTkZJR19UQ1BfTUQ1U0lHCkBAIC01MTI3 LDEwICs1MTUzLDEzIEBAIHN0YXRpYyBpbnQgdGNwX3ZhbGlkYXRlX2luY29taW5nKHN0cnVj dCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIHsKIAl1OCAqaGFzaF9sb2NhdGlv bjsKIAlzdHJ1Y3QgdGNwX3NvY2sgKnRwID0gdGNwX3NrKHNrKTsKKwlpbnQgcGFyc2VkID0g dGNwX2Zhc3RfcGFyc2Vfb3B0aW9ucyhza2IsIHRoLCB0cCwgJmhhc2hfbG9jYXRpb24pOwor CisJaWYgKHBhcnNlZCA8IDApCisJCWdvdG8gZGlzY2FyZDsKIAogCS8qIFJGQzEzMjM6IEgx LiBBcHBseSBQQVdTIGNoZWNrIGZpcnN0LiAqLwotCWlmICh0Y3BfZmFzdF9wYXJzZV9vcHRp b25zKHNrYiwgdGgsIHRwLCAmaGFzaF9sb2NhdGlvbikgJiYKLQkgICAgdHAtPnJ4X29wdC5z YXdfdHN0YW1wICYmCisJaWYgKHRwLT5yeF9vcHQuc2F3X3RzdGFtcCAmJgogCSAgICB0Y3Bf cGF3c19kaXNjYXJkKHNrLCBza2IpKSB7CiAJCWlmICghdGgtPnJzdCkgewogCQkJTkVUX0lO Q19TVEFUU19CSChzb2NrX25ldChzayksIExJTlVYX01JQl9QQVdTRVNUQUJSRUpFQ1RFRCk7 CkBAIC01NDEwLDggKzU0MzksMTAgQEAgc3RhdGljIGludCB0Y3BfcmN2X3N5bnNlbnRfc3Rh dGVfcHJvY2VzcyhzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IsCiAJc3Ry dWN0IHRjcF9jb29raWVfdmFsdWVzICpjdnAgPSB0cC0+Y29va2llX3ZhbHVlczsKIAlpbnQg c2F2ZWRfY2xhbXAgPSB0cC0+cnhfb3B0Lm1zc19jbGFtcDsKIAlpbnQgcXVldWVkID0gMDsK KwlpbnQgcGFyc2VkID0gdGNwX3BhcnNlX29wdGlvbnMoc2tiLCB0aCwgJnRwLT5yeF9vcHQs ICZoYXNoX2xvY2F0aW9uLCAwKTsKIAotCXRjcF9wYXJzZV9vcHRpb25zKHNrYiwgJnRwLT5y eF9vcHQsICZoYXNoX2xvY2F0aW9uLCAwKTsKKwlpZiAocGFyc2VkIDwgMCkKKwkJZ290byBk aXNjYXJkOwogCiAJaWYgKHRoLT5hY2spIHsKIAkJLyogcmZjNzkzOgpkaWZmIC0tZ2l0IGEv bmV0L2lwdjQvdGNwX2lwdjQuYyBiL25ldC9pcHY0L3RjcF9pcHY0LmMKaW5kZXggZjk5OWUw Ni4uM2YwODEzZiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX2lwdjQuYworKysgYi9uZXQv aXB2NC90Y3BfaXB2NC5jCkBAIC0xMjE1LDYgKzEyMTUsNyBAQCBpbnQgdGNwX3Y0X2Nvbm5f cmVxdWVzdChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpCiB7CiAJc3Ry dWN0IHRjcF9leHRlbmRfdmFsdWVzIHRtcF9leHQ7CiAJc3RydWN0IHRjcF9vcHRpb25zX3Jl Y2VpdmVkIHRtcF9vcHQ7CisJaW50IHBhcnNlZDsKIAl1OCAqaGFzaF9sb2NhdGlvbjsKIAlz dHJ1Y3QgcmVxdWVzdF9zb2NrICpyZXE7CiAJc3RydWN0IGluZXRfcmVxdWVzdF9zb2NrICpp cmVxOwpAQCAtMTI2NSw3ICsxMjY2LDEwIEBAIGludCB0Y3BfdjRfY29ubl9yZXF1ZXN0KHN0 cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYikKIAl0Y3BfY2xlYXJfb3B0aW9u cygmdG1wX29wdCk7CiAJdG1wX29wdC5tc3NfY2xhbXAgPSBUQ1BfTVNTX0RFRkFVTFQ7CiAJ dG1wX29wdC51c2VyX21zcyAgPSB0cC0+cnhfb3B0LnVzZXJfbXNzOwotCXRjcF9wYXJzZV9v cHRpb25zKHNrYiwgJnRtcF9vcHQsICZoYXNoX2xvY2F0aW9uLCAwKTsKKwlwYXJzZWQgPSB0 Y3BfcGFyc2Vfb3B0aW9ucyhza2IsIHRjcF9oZHIoc2tiKSwgJnRtcF9vcHQsICZoYXNoX2xv Y2F0aW9uLAorCQkJCSAgIDApOworCWlmIChwYXJzZWQgPCAwKQorCQlnb3RvIGRyb3BfYW5k X2ZyZWU7CiAKIAlpZiAodG1wX29wdC5jb29raWVfcGx1cyA+IDAgJiYKIAkgICAgdG1wX29w dC5zYXdfdHN0YW1wICYmCkBAIC0xMjc4LDcgKzEyODIsNyBAQCBpbnQgdGNwX3Y0X2Nvbm5f cmVxdWVzdChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpCiAJCWludCBs ID0gdG1wX29wdC5jb29raWVfcGx1cyAtIFRDUE9MRU5fQ09PS0lFX0JBU0U7CiAKIAkJaWYg KHRjcF9jb29raWVfZ2VuZXJhdG9yKCZ0bXBfZXh0LmNvb2tpZV9iYWtlcnlbMF0pICE9IDAp Ci0JCQlnb3RvIGRyb3BfYW5kX3JlbGVhc2U7CisJCQlnb3RvIGRyb3BfYW5kX2ZyZWU7CiAK IAkJLyogU2VjcmV0IHJlY2lwZSBzdGFydHMgd2l0aCBJUCBhZGRyZXNzZXMgKi8KIAkJKm1l c3MrKyBePSBkYWRkcjsKQEAgLTEyOTksNyArMTMwMyw3IEBAIGludCB0Y3BfdjRfY29ubl9y ZXF1ZXN0KHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYikKIAkJdG1wX2V4 dC5jb29raWVfb3V0X25ldmVyID0gMTsgLyogdHJ1ZSAqLwogCQl0bXBfZXh0LmNvb2tpZV9w bHVzID0gMDsKIAl9IGVsc2UgewotCQlnb3RvIGRyb3BfYW5kX3JlbGVhc2U7CisJCWdvdG8g ZHJvcF9hbmRfZnJlZTsKIAl9CiAJdG1wX2V4dC5jb29raWVfaW5fYWx3YXlzID0gdHAtPnJ4 X29wdC5jb29raWVfaW5fYWx3YXlzOwogCmRpZmYgLS1naXQgYS9uZXQvaXB2NC90Y3BfbWlu aXNvY2tzLmMgYi9uZXQvaXB2NC90Y3BfbWluaXNvY2tzLmMKaW5kZXggMzdiNzUzNi4uMGQ0 MjYzNSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX21pbmlzb2Nrcy5jCisrKyBiL25ldC9p cHY0L3RjcF9taW5pc29ja3MuYwpAQCAtOTcsOSArOTcsMTIgQEAgdGNwX3RpbWV3YWl0X3N0 YXRlX3Byb2Nlc3Moc3RydWN0IGluZXRfdGltZXdhaXRfc29jayAqdHcsIHN0cnVjdCBza19i dWZmICpza2IsCiAKIAl0bXBfb3B0LnNhd190c3RhbXAgPSAwOwogCWlmICh0aC0+ZG9mZiA+ IChzaXplb2YoKnRoKSA+PiAyKSAmJiB0Y3B0dy0+dHdfdHNfcmVjZW50X3N0YW1wKSB7Ci0J CXRjcF9wYXJzZV9vcHRpb25zKHNrYiwgJnRtcF9vcHQsICZoYXNoX2xvY2F0aW9uLCAwKTsK KwkJaW50IHBhcnNlZCA9IHRjcF9wYXJzZV9vcHRpb25zKHNrYiwgdGgsICZ0bXBfb3B0LAor CQkJCQkgICAgICAgJmhhc2hfbG9jYXRpb24sIDApOwogCi0JCWlmICh0bXBfb3B0LnNhd190 c3RhbXApIHsKKwkJaWYgKHBhcnNlZCA8IDApIHsKKwkJCXBhd3NfcmVqZWN0ID0gMTsgLyog dHJ1ZSAqLworCQl9IGVsc2UgaWYgKHRtcF9vcHQuc2F3X3RzdGFtcCkgewogCQkJdG1wX29w dC50c19yZWNlbnQJPSB0Y3B0dy0+dHdfdHNfcmVjZW50OwogCQkJdG1wX29wdC50c19yZWNl bnRfc3RhbXAJPSB0Y3B0dy0+dHdfdHNfcmVjZW50X3N0YW1wOwogCQkJcGF3c19yZWplY3Qg PSB0Y3BfcGF3c19yZWplY3QoJnRtcF9vcHQsIHRoLT5yc3QpOwpAQCAtNTI4LDkgKzUzMSwx MiBAQCBzdHJ1Y3Qgc29jayAqdGNwX2NoZWNrX3JlcShzdHJ1Y3Qgc29jayAqc2ssIHN0cnVj dCBza19idWZmICpza2IsCiAKIAl0bXBfb3B0LnNhd190c3RhbXAgPSAwOwogCWlmICh0aC0+ ZG9mZiA+IChzaXplb2Yoc3RydWN0IHRjcGhkcik+PjIpKSB7Ci0JCXRjcF9wYXJzZV9vcHRp b25zKHNrYiwgJnRtcF9vcHQsICZoYXNoX2xvY2F0aW9uLCAwKTsKKwkJaW50IHBhcnNlZCA9 IHRjcF9wYXJzZV9vcHRpb25zKHNrYiwgdGgsICZ0bXBfb3B0LAorCQkJCQkgICAgICAgJmhh c2hfbG9jYXRpb24sIDApOwogCi0JCWlmICh0bXBfb3B0LnNhd190c3RhbXApIHsKKwkJaWYg KHBhcnNlZCA8IDApIHsKKwkJCXBhd3NfcmVqZWN0ID0gMTsgLyogdHJ1ZSAqLworCQl9IGVs c2UgaWYgKHRtcF9vcHQuc2F3X3RzdGFtcCkgewogCQkJdG1wX29wdC50c19yZWNlbnQgPSBy ZXEtPnRzX3JlY2VudDsKIAkJCS8qIFdlIGRvIG5vdCBzdG9yZSB0cnVlIHN0YW1wLCBidXQg aXQgaXMgbm90IHJlcXVpcmVkLAogCQkJICogaXQgY2FuIGJlIGVzdGltYXRlZCAoYXBwcm94 aW1hdGVseSkKZGlmZiAtLWdpdCBhL25ldC9pcHY2L3N5bmNvb2tpZXMuYyBiL25ldC9pcHY2 L3N5bmNvb2tpZXMuYwppbmRleCA3MjA4YTA2Li5hMDkwNWI0IDEwMDY0NAotLS0gYS9uZXQv aXB2Ni9zeW5jb29raWVzLmMKKysrIGIvbmV0L2lwdjYvc3luY29va2llcy5jCkBAIC0xNjEs NiArMTYxLDggQEAgc3RydWN0IHNvY2sgKmNvb2tpZV92Nl9jaGVjayhzdHJ1Y3Qgc29jayAq c2ssIHN0cnVjdCBza19idWZmICpza2IpCiB7CiAJc3RydWN0IHRjcF9vcHRpb25zX3JlY2Vp dmVkIHRjcF9vcHQ7CiAJdTggKmhhc2hfbG9jYXRpb247CisJc3RydWN0IGRzdF9lbnRyeSAq ZHN0OworCXN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcTsKIAlzdHJ1Y3QgaW5ldF9yZXF1ZXN0 X3NvY2sgKmlyZXE7CiAJc3RydWN0IGluZXQ2X3JlcXVlc3Rfc29jayAqaXJlcTY7CiAJc3Ry dWN0IHRjcF9yZXF1ZXN0X3NvY2sgKnRyZXE7CkBAIC0xNjksOSArMTcxLDggQEAgc3RydWN0 IHNvY2sgKmNvb2tpZV92Nl9jaGVjayhzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZm ICpza2IpCiAJY29uc3Qgc3RydWN0IHRjcGhkciAqdGggPSB0Y3BfaGRyKHNrYik7CiAJX191 MzIgY29va2llID0gbnRvaGwodGgtPmFja19zZXEpIC0gMTsKIAlzdHJ1Y3Qgc29jayAqcmV0 ID0gc2s7Ci0Jc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxOwogCWludCBtc3M7Ci0Jc3RydWN0 IGRzdF9lbnRyeSAqZHN0OworCWludCBwYXJzZWQ7CiAJX191OCByY3Zfd3NjYWxlOwogCiAJ aWYgKCFzeXNjdGxfdGNwX3N5bmNvb2tpZXMgfHwgIXRoLT5hY2spCkBAIC0xODcsNyArMTg4 LDkgQEAgc3RydWN0IHNvY2sgKmNvb2tpZV92Nl9jaGVjayhzdHJ1Y3Qgc29jayAqc2ssIHN0 cnVjdCBza19idWZmICpza2IpCiAKIAkvKiBjaGVjayBmb3IgdGltZXN0YW1wIGNvb2tpZSBz dXBwb3J0ICovCiAJbWVtc2V0KCZ0Y3Bfb3B0LCAwLCBzaXplb2YodGNwX29wdCkpOwotCXRj cF9wYXJzZV9vcHRpb25zKHNrYiwgJnRjcF9vcHQsICZoYXNoX2xvY2F0aW9uLCAwKTsKKwlw YXJzZWQgPSB0Y3BfcGFyc2Vfb3B0aW9ucyhza2IsIHRoLCAmdGNwX29wdCwgJmhhc2hfbG9j YXRpb24sIDApOworCWlmIChwYXJzZWQgPCAwKQorCQlnb3RvIG91dDsKIAogCWlmICh0Y3Bf b3B0LnNhd190c3RhbXApCiAJCWNvb2tpZV9jaGVja190aW1lc3RhbXAoJnRjcF9vcHQpOwpk aWZmIC0tZ2l0IGEvbmV0L2lwdjYvdGNwX2lwdjYuYyBiL25ldC9pcHY2L3RjcF9pcHY2LmMK aW5kZXggM2QwOGE0ZC4uZTE1ZTRmNiAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvdGNwX2lwdjYu YworKysgYi9uZXQvaXB2Ni90Y3BfaXB2Ni5jCkBAIC0xMTY0LDYgKzExNjQsNyBAQCBzdGF0 aWMgaW50IHRjcF92Nl9jb25uX3JlcXVlc3Qoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tf YnVmZiAqc2tiKQogewogCXN0cnVjdCB0Y3BfZXh0ZW5kX3ZhbHVlcyB0bXBfZXh0OwogCXN0 cnVjdCB0Y3Bfb3B0aW9uc19yZWNlaXZlZCB0bXBfb3B0OworCWludCBwYXJzZWQ7CiAJdTgg Kmhhc2hfbG9jYXRpb247CiAJc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxOwogCXN0cnVjdCBp bmV0Nl9yZXF1ZXN0X3NvY2sgKnRyZXE7CkBAIC0xMjA3LDcgKzEyMDgsMTAgQEAgc3RhdGlj IGludCB0Y3BfdjZfY29ubl9yZXF1ZXN0KHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1 ZmYgKnNrYikKIAl0Y3BfY2xlYXJfb3B0aW9ucygmdG1wX29wdCk7CiAJdG1wX29wdC5tc3Nf Y2xhbXAgPSBJUFY2X01JTl9NVFUgLSBzaXplb2Yoc3RydWN0IHRjcGhkcikgLSBzaXplb2Yo c3RydWN0IGlwdjZoZHIpOwogCXRtcF9vcHQudXNlcl9tc3MgPSB0cC0+cnhfb3B0LnVzZXJf bXNzOwotCXRjcF9wYXJzZV9vcHRpb25zKHNrYiwgJnRtcF9vcHQsICZoYXNoX2xvY2F0aW9u LCAwKTsKKwlwYXJzZWQgPSB0Y3BfcGFyc2Vfb3B0aW9ucyhza2IsIHRjcF9oZHIoc2tiKSwg JnRtcF9vcHQsICZoYXNoX2xvY2F0aW9uLAorCQkJCSAgIDApOworCWlmIChwYXJzZWQgPCAw KQorCQlnb3RvIGRyb3BfYW5kX2ZyZWU7CiAKIAlpZiAodG1wX29wdC5jb29raWVfcGx1cyA+ IDAgJiYKIAkgICAgdG1wX29wdC5zYXdfdHN0YW1wICYmCi0tIAoxLjYuMy4zCgo= --------------050700000601010607010708-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/