From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7D9BEC433E6 for ; Tue, 26 Jan 2021 13:25:11 +0000 (UTC) Received: from shelob.surriel.com (shelob.surriel.com [96.67.55.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6EA79206F9 for ; Tue, 26 Jan 2021 13:25:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6EA79206F9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kernelnewbies-bounces@kernelnewbies.org Received: from localhost ([::1] helo=shelob.surriel.com) by shelob.surriel.com with esmtp (Exim 4.94) (envelope-from ) id 1l4OKs-0004Kv-Jg; Tue, 26 Jan 2021 08:24:46 -0500 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by shelob.surriel.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94) (envelope-from ) id 1l4OKo-0004Jl-Vf for kernelnewbies@kernelnewbies.org; Tue, 26 Jan 2021 08:24:43 -0500 Received: by mail-ed1-x531.google.com with SMTP id d22so19744393edy.1 for ; Tue, 26 Jan 2021 05:24:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=wR0ba+HE2rkg0kgKEq/VrgMK8W9apRGi71JxvpTrtEg=; b=WCfEIjgppjltVsdlVgHGcLgDYqQsEAR9fDjwDUwQwfcfWMJV7sAejbVwRu2xUgKIhC sPgyhakQk+wL5nMjiQ4EixyE1uN1s8bxf6mud2ObXF3iZOTwDgmr8s5Dm1PBQGIF01Jb 3pFbnhIkPVC502dgfOXR+tR6VCrLL5CmEHA4HHE3HlURv3MFj0wFt84DcntExwqwLT8i lUGBQIFUTo2j92J5AmkGnzHRc1aZRCiu3PS7uIbgZv0xm4pE5LwXCNQq7e9+T1UNyQRc siINXVDpkZ5J0z086V4g34XvOMmmvEFt+jbLikmRKC3SRy63/9Co/iaYk8H/6futzlyu uQdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=wR0ba+HE2rkg0kgKEq/VrgMK8W9apRGi71JxvpTrtEg=; b=ZK2AtTkjhWVLJ+7RhQKCthRKUnMGMqG7RMtY7foizfXc9vYgnK1K0RYYbFOv5Xn+oE xAsEncHvv9w10qjpTFCW0195t0wtXjn5LW1Nyz77FWGcMPDKRYigi1RpMlk9r/bhTRVj 1/MOGfzehFi6OpPNgkJvTOkxPJpFKfsM97oaz+qcRzpZqLxgB6nUxYqA8dYNNJ2maATl UDgBa0o+ux3bgW5dUSBOoc08Vrl8Vitx8Dh5/oWm7kYq3/2F9zadWWhfYxFIjOCGeyLq weaZzXDcfnBw9v/nEuo/B6Fy1RDBmO/jFmwLQz1gDLqDhnWvSJrWZDj3dwSqffQhVhiq Yz0g== X-Gm-Message-State: AOAM533BSsPCds6rCEBFMwywXzhs3iI0Rsd7QSoAorijitzwni2o/ayb o+jLAstnQu93MfELiGm+wcLfD3Tk2/tCvA== X-Google-Smtp-Source: ABdhPJyCMSqsNl43ac3iD4GHuuaK4ebd8SgK7cDasDJqK0mDiFvWr8ox/LepWKwiGlVV5qSTp5o2gg== X-Received: by 2002:aa7:d3c5:: with SMTP id o5mr4646919edr.122.1611667480465; Tue, 26 Jan 2021 05:24:40 -0800 (PST) Received: from localhost.localdomain ([82.84.83.134]) by smtp.gmail.com with ESMTPSA id i6sm9725472ejd.110.2021.01.26.05.24.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Jan 2021 05:24:39 -0800 (PST) From: Dario Pagani To: kernelnewbies@kernelnewbies.org Subject: new module is not compiled Date: Tue, 26 Jan 2021 14:24:13 +0100 Message-Id: <20210126132412.352273-1-dario.pagani.146@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Cc: Dario Pagani X-BeenThere: kernelnewbies@kernelnewbies.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Learn about the Linux kernel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: kernelnewbies-bounces@kernelnewbies.org SGVsbG8sCgpJJ20gdHJ5aW5nIHRvIGFkZCBteSBoaWQgZHJpdmVyLCBgaGlkLXRtaW5pdC5jJywg dG8gTGludXggS2VybmVsLgpJJ3ZlIGFkZGVkIHRoZSBDIGZpbGUgaW4gdGhlIGZvbGRlciBgZHJp dmVycy9oaWQvYCBhbmQgdGhlbiBJIGFkZGVkIGBjb25maWcgSElEX1RNSU5JVCcgdG8gYEtjb25m aWcnIGFuZCBgb2JqLSQoQ09OSUZHX0hJRF9UTUlOSVQpICAgICs9IGhpZC10bWluaXQubycgdG8g dGhlIE1ha2VmaWxlLgpGaW5hbGx5IEkndmUgdXNlZCBgbWFrZSBtZW51Y29uZmlnJyB0byBlbmFi bGUgbXkgZHJpdmVyLCB3aGljaCBhZGRlZCBgQ09ORklHX0hJRF9UTUlOSVQ9bScgdG8gbXkgYC5j b25maWcnLgoKQnV0IHdoZW4gcnVubmluZyBgbWFrZScgb3IgYG1ha2UgTT1kcml2ZXJzL2hpZCcg YWxsIEMgZmlsZXMgYXJlIGJ1aWx0IGJ1dCBtaW5lIQpSdW5uaW5nIGBtYWtlIGRyaXZlcnMvaGlk L2hpZC10bWluaXQubycgZ2l2ZXMgdGhlIG5vIHJ1bGUgZXJyb3IsIGxvY2FsaXphdGVkIGluIG15 IHN5c3RlbSBsYW5ndWFnZTogYE5lc3N1bmEgcmVnb2xhIHBlciBnZW5lcmFyZSBsJ29iaWV0dGl2 byDCq2RyaXZlcnMvaGlkL2hpZC10bWluaXQub8K7LiAgQXJyZXN0by4nLgoKV2hhdCBhbSBJIGRv aW5nIHdyb25nPwoKLS0tCiBkcml2ZXJzL2hpZC9LY29uZmlnICAgICAgfCAgMTQgKysKIGRyaXZl cnMvaGlkL01ha2VmaWxlICAgICB8ICAgMSArCiBkcml2ZXJzL2hpZC9oaWQtcXVpcmtzLmMgfCAg IDMgKwogZHJpdmVycy9oaWQvaGlkLXRtaW5pdC5jIHwgMzY4ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAzODYgaW5zZXJ0aW9ucygrKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaGlkL2hpZC10bWluaXQuYwoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvaGlkL0tjb25maWcgYi9kcml2ZXJzL2hpZC9LY29uZmlnCmluZGV4IDA5ZmE3NWEy YjI4OS4uMmFmYzYzYjhkMzdlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2hpZC9LY29uZmlnCisrKyBi L2RyaXZlcnMvaGlkL0tjb25maWcKQEAgLTEwMzcsNiArMTAzNywyMCBAQCBjb25maWcgVEhSVVNU TUFTVEVSX0ZGCiAJICBhIFRIUlVTVE1BU1RFUiBEdWFsIFRyaWdnZXIgMy1pbi0xIG9yIGEgVEhS VVNUTUFTVEVSIEZlcnJhcmkgR1QKIAkgIFJ1bWJsZSBGb3JjZSBvciBGb3JjZSBGZWVkYmFjayBX aGVlbC4KIAorY29uZmlnIEhJRF9UTUlOSVQKKwl0cmlzdGF0ZSAiVGhydXN0bWFzdGVyIEZGQiBX aGVlbCBpbml0aWFsaXphdGlvbiIKKwlkZXBlbmRzIG9uIFVTQl9ISUQKKwloZWxwCisJICBTYXkg WSBoZXJlIGlmIHlvdSB3YW50IHRvIGVuYWJsZSBzdXBwb3J0IGZvciBwcm9wZXJseSBpbml0aWFs aXplIHNvbWUKKwkgIFRocnVzdG1hc3RlciB3aGVlbHMgdGhhdCBhcHBlYXIgbGlrZSBhICJUaHJ1 c3RtYXN0ZXIgRkZCIFdoZWVsIiAKKwkgICgweDA0NGY6MHhiNjVkKSB0byB0aGUgaG9zdC4gCisJ ICAKKwkgIEN1cnJlbnRseSBzdXBwb3J0aW5nOgorCSAgLSBUMTUwUlMKKwkgIC0gVDMwMFJTCisJ ICAtIFQzMDAgRmVycmFyaSBBbGNhbnRhcmEgRWRpdGlvbgorCSAgLSBUNTAwUlMKKwogY29uZmln IEhJRF9VRFJBV19QUzMKIAl0cmlzdGF0ZSAiVEhRIFBTMyB1RHJhdyB0YWJsZXQiCiAJZGVwZW5k cyBvbiBISUQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaGlkL01ha2VmaWxlIGIvZHJpdmVycy9oaWQv TWFrZWZpbGUKaW5kZXggMDE0ZDIxZmU3ZGFjLi41MWNkOTEwNDAwODEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvaGlkL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvaGlkL01ha2VmaWxlCkBAIC0xMTIsNiAr MTEyLDcgQEAgb2JqLSQoQ09ORklHX0hJRF9TVEVFTFNFUklFUykJKz0gaGlkLXN0ZWVsc2VyaWVz Lm8KIG9iai0kKENPTkZJR19ISURfU1VOUExVUykJKz0gaGlkLXN1bnBsdXMubwogb2JqLSQoQ09O RklHX0hJRF9HUkVFTkFTSUEpCSs9IGhpZC1nYWZmLm8KIG9iai0kKENPTkZJR19ISURfVEhSVVNU TUFTVEVSKQkrPSBoaWQtdG1mZi5vCitvYmotJChDT05JRkdfSElEX1RNSU5JVCkJKz0gaGlkLXRt aW5pdC5vCiBvYmotJChDT05GSUdfSElEX1RJVk8pCQkrPSBoaWQtdGl2by5vCiBvYmotJChDT05G SUdfSElEX1RPUFNFRUQpCSs9IGhpZC10b3BzZWVkLm8KIG9iai0kKENPTkZJR19ISURfVFdJTkhB TikJKz0gaGlkLXR3aW5oYW4ubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9oaWQvaGlkLXF1aXJrcy5j IGIvZHJpdmVycy9oaWQvaGlkLXF1aXJrcy5jCmluZGV4IGQ5Y2E4NzRkZmZhYy4uNWI5N2ZhMmVi YjllIDEwMDY0NAotLS0gYS9kcml2ZXJzL2hpZC9oaWQtcXVpcmtzLmMKKysrIGIvZHJpdmVycy9o aWQvaGlkLXF1aXJrcy5jCkBAIC02NjIsNiArNjYyLDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBo aWRfZGV2aWNlX2lkIGhpZF9oYXZlX3NwZWNpYWxfZHJpdmVyW10gPSB7CiAJeyBISURfVVNCX0RF VklDRShVU0JfVkVORE9SX0lEX1RIUlVTVE1BU1RFUiwgMHhiNjU0KSB9LAogCXsgSElEX1VTQl9E RVZJQ0UoVVNCX1ZFTkRPUl9JRF9USFJVU1RNQVNURVIsIDB4YjY1YSkgfSwKICNlbmRpZgorI2lm IElTX0VOQUJMRUQoQ09ORklHX0hJRF9UTUlOSVQpCisJeyBISURfVVNCX0RFVklDRShVU0JfVkVO RE9SX0lEX1RIUlVTVE1BU1RFUiwgMHhiNjVkKSB9LAorI2VuZGlmCiAjaWYgSVNfRU5BQkxFRChD T05GSUdfSElEX1RJVk8pCiAJeyBISURfQkxVRVRPT1RIX0RFVklDRShVU0JfVkVORE9SX0lEX1RJ Vk8sIFVTQl9ERVZJQ0VfSURfVElWT19TTElERV9CVCkgfSwKIAl7IEhJRF9VU0JfREVWSUNFKFVT Ql9WRU5ET1JfSURfVElWTywgVVNCX0RFVklDRV9JRF9USVZPX1NMSURFKSB9LApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9oaWQvaGlkLXRtaW5pdC5jIGIvZHJpdmVycy9oaWQvaGlkLXRtaW5pdC5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMGNlMzI3YTIzYTQ1Ci0tLSAv ZGV2L251bGwKKysrIGIvZHJpdmVycy9oaWQvaGlkLXRtaW5pdC5jCkBAIC0wLDAgKzEsMzY4IEBA CisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorLyoqCisgKiBXaGVuIGNvbm5l Y3RlZCB0byB0aGUgbWFjaGluZSwgdGhlIFRocnVzdG1hc3RlciB3aGVlbHMgYXBwZWFyIGFzCisg KiBhIMKrZ2VuZXJpY8K7IGhpZCBnYW1lcGFkIGNhbGxlZCAiVGhydXN0bWFzdGVyIEZGQiBXaGVl bCIuCisgKgorICogV2hlbiBpbiB0aGlzIG1vZGUgbm90IGV2ZXJ5IGZ1bmN0aW9uYWxpdHkgb2Yg dGhlIHdoZWVsLCBsaWtlIHRoZSBmb3JjZSBmZWVkYmFjaywKKyAqIGFyZSBhdmFpbGFibGUuIFRv IGVuYWJsZSBhbGwgZnVuY3Rpb25hbGl0aWVzIG9mIGEgVGhydXN0bWFzdGVyIHdoZWVsIHdlIGhh dmUgdG8gc2VuZAorICogdG8gaXQgYSBzcGVjaWZpYyBVU0IgQ09OVFJPTCByZXF1ZXN0IHdpdGgg YSBjb2RlIGRpZmZlcmVudCBmb3IgZWFjaCB3aGVlbC4KKyAqCisgKiBUaGlzIGRyaXZlciB0cmll cyB0byB1bmRlcnN0YW5kIHdoaWNoIG1vZGVsIG9mIFRocnVzdG1hc3RlciB3aGVlbCB0aGUgZ2Vu ZXJpYworICogIlRocnVzdG1hc3RlciBGRkIgV2hlZWwiIHJlYWxseSBpcyBhbmQgdGhlbiBzZW5k cyB0aGUgYXBwcm9wcmlhdGUgY29udHJvbCBjb2RlLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAy MC0yMDIxIERhcmlvIFBhZ2FuaSA8ZGFyaW8ucGFnYW5pLjE0NitsaW51eGtAZ21haWwuY29tPgor ICogQ29weXJpZ2h0IChjKSAyMDIwLTIwMjEgS2ltIEt1cGFyaW5lbiA8a2ltaS5oLmt1cGFyaW5l bkBnbWFpbC5jb20+CisgKi8KKyNpbmNsdWRlIDxsaW51eC9oaWQuaD4KKyNpbmNsdWRlIDxsaW51 eC91c2IuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIu aD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKworLyoqCisgKiBUaGVzZSBpbnRlcnJ1cHRz IGFyZSB1c2VkIHRvIHByZXZlbnQgYSBuYXN0eSBjcmFzaCB3aGVuIGluaXRpYWxpemluZyB0aGUK KyAqIFQzMDBSUy4gVXNlZCBpbiB0bWluaXRfaW50ZXJydXB0cygpLgorICovCitzdGF0aWMgY29u c3QgdTggc2V0dXBfMFtdID0geyAweDQyLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwIH07CitzdGF0aWMgY29uc3QgdTggc2V0dXBfMVtdID0geyAweDBhLCAw eDA0LCAweDkwLCAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAwIH07CitzdGF0aWMgY29uc3Qg dTggc2V0dXBfMltdID0geyAweDBhLCAweDA0LCAweDAwLCAweDBjLCAweDAwLCAweDAwLCAweDAw LCAweDAwIH07CitzdGF0aWMgY29uc3QgdTggc2V0dXBfM1tdID0geyAweDBhLCAweDA0LCAweDEy LCAweDEwLCAweDAwLCAweDAwLCAweDAwLCAweDAwIH07CitzdGF0aWMgY29uc3QgdTggc2V0dXBf NFtdID0geyAweDBhLCAweDA0LCAweDAwLCAweDA2LCAweDAwLCAweDAwLCAweDAwLCAweDAwIH07 CitzdGF0aWMgY29uc3QgdTggKmNvbnN0IHNldHVwX2FycltdID0geyBzZXR1cF8wLCBzZXR1cF8x LCBzZXR1cF8yLCBzZXR1cF8zLCBzZXR1cF80IH07CitzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50 IHNldHVwX2Fycl9zaXplc1tdID0geworCUFSUkFZX1NJWkUoc2V0dXBfMCksCisJQVJSQVlfU0la RShzZXR1cF8xKSwKKwlBUlJBWV9TSVpFKHNldHVwXzIpLAorCUFSUkFZX1NJWkUoc2V0dXBfMyks CisJQVJSQVlfU0laRShzZXR1cF80KQorfTsKKy8qKgorICogVGhpcyBzdHJ1Y3QgY29udGFpbnMg Zm9yIGVhY2ggdHlwZSBvZgorICogVGhydXN0bWFzdGVyIHdoZWVsCisgKgorICogTm90ZTogVGhl IHZhbHVlcyBhcmUgc3RvcmVkIGluIHRoZSBDUFUKKyAqIGVuZGlhbmVzcywgdGhlIFVTQiBwcm90 b2NvbHMgYWx3YXlzIHVzZQorICogbGl0dGxlIGVuZGlhbjsgdGhlIG1hY3JvIGNwdV90b19sZVtC SVRdKCkKKyAqIG11c3QgYmUgdXNlZCB3aGVuIHByZXBhcmluZyBVU0IgcGFja2V0cworICogYW5k IHZpY2UtdmVyc2EKKyAqLworc3RydWN0IHRoX3doZWVsX2luZm8geworCXVpbnQxNl90IHdoZWVs X3R5cGU7CisKKwkvKiogU2VlIHdoZW4gdGhlIFVTQiBjb250cm9sIG91dCBwYWNrZXQgaXMgcHJl cGFyZWQuLi4KKwkgKiBAVE9ETyBUaGUgVE1YIHNlZW1zIHRvIHJlcXVpcmUgbXVsdGlwbGUgY29u dHJvbCBjb2RlcyB0byBzd2l0Y2guCisJICovCisJdWludDE2X3Qgc3dpdGNoX3ZhbHVlOworCisJ Y2hhciBjb25zdCAqY29uc3Qgd2hlZWxfbmFtZTsKK307CisKKy8qKgorICogQWxsIHdoZWVsIEkg a25vdy4gVE8gQkUgVEVTVEVECisgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdGhfd2hlZWxfaW5m byB0aF93aGVlbHNfaW5mb3NbXSA9IHsKKwl7MHgwMzA2LCAweDAwMDYsICJUaHJ1c3RtYXN0ZXIg VDE1MFJTIn0sCisJezB4MDIwNiwgMHgwMDA1LCAiVGhydXN0bWFzdGVyIFQzMDBSUyJ9LAorCXsw eDAyMDQsIDB4MDAwNSwgIlRocnVzdG1hc3RlciBUMzAwIEZlcnJhcmkgQWxjYW50YXJhIEVkaXRp b24ifSwKKwl7MHgwMDAyLCAweDAwMDIsICJUaHJ1c3RtYXN0ZXIgVDUwMFJTIn0sCisJezB4MDQw NywgMHgwMDAxLCAiVGhydXN0bWFzdGVyIFRNWCJ9Cit9OworCitzdGF0aWMgY29uc3QgdWludDhf dCB0aF93aGVlbHNfaW5mb3NfbGVuZ3RoID0gNTsKKworLyoqCisgKiBUaGlzIHN0cnVjdHMgY29u dGFpbnMgKGluIGxpdHRsZSBlbmRpYW4pIHRoZSByZXNwb25zZSBkYXRhCisgKiBvZiB0aGUgd2hl ZWwgdG8gdGhlIHJlcXVlc3QgNzMKKyAqCisgKiBBIHN1ZmZpY2llbnQgcmVzZWFyY2ggdG8gdW5k ZXJzdGFuZCB3aGF0IGVhY2ggZmllbGQgZG9lcyBpcyBub3QKKyAqIGJlaWduIGNvbmR1Y3RlZCB5 ZXQuIFRoZSBwb3NpdGlvbiBhbmQgbWVhbmluZyBvZiBmaWVsZHMgYXJlIGEKKyAqIGp1c3QgYSB2 ZXJ5IG9wdGltaXN0aWMgZ3Vlc3MgYmFzZWQgb24gaW5zdGluY3QuLi4uCisgKi8KK3N0cnVjdCBf X3BhY2tlZCB0bV93aGVlbF9yZXNwb25zZQoreworCS8qKgorCSAqIFNlZW1zIHRvIGJlIHRoZSB0 eXBlIG9mIHBhY2tldAorCSAqIC0gMHgwMDQ5IGlmIGlzIGRhdGEuYSAoMTUgYnl0ZXMpCisJICog LSAweDAwNDcgaWYgaXMgZGF0YS5iICg3IGJ5dGVzKQorCSAqLworCXVpbnQxNl90IHR5cGU7CisK Kwl1bmlvbiB7CisJCXN0cnVjdCBfX3BhY2tlZCB7CisJCQl1aW50MTZfdCBmaWVsZDA7CisJCQl1 aW50MTZfdCBmaWVsZDE7CisJCQkvKioKKwkJCSAqIFNlZW1zIHRvIGJlIHRoZSBtb2RlbCBjb2Rl IG9mIHRoZSB3aGVlbAorCQkJICogUmVhZCB0YWJsZSB0aHJ1c3RtYXN0ZXJfd2hlZWxzIHRvIHZh bHVlcworCQkJICovCisJCQl1aW50MTZfdCBtb2RlbDsKKworCQkJdWludDE2X3QgZmllbGQyOwor CQkJdWludDE2X3QgZmllbGQzOworCQkJdWludDE2X3QgZmllbGQ0OworCQkJdWludDE2X3QgZmll bGQ1OworCQl9IGE7CisJCXN0cnVjdCBfX3BhY2tlZCB7CisJCQl1aW50MTZfdCBmaWVsZDA7CisJ CQl1aW50MTZfdCBmaWVsZDE7CisJCQl1aW50MTZfdCBtb2RlbDsKKwkJfSBiOworCX0gZGF0YTsK K307CisKK3N0cnVjdCB0bV93aGVlbCB7CisJc3RydWN0IHVzYl9kZXZpY2UgKnVzYl9kZXY7CisJ c3RydWN0IHVyYiAqdXJiOworCisJc3RydWN0IHVzYl9jdHJscmVxdWVzdCAqbW9kZWxfcmVxdWVz dDsKKwlzdHJ1Y3QgdG1fd2hlZWxfcmVzcG9uc2UgKnJlc3BvbnNlOworCisJc3RydWN0IHVzYl9j dHJscmVxdWVzdCAqY2hhbmdlX3JlcXVlc3Q7Cit9OworCisvKiogVGhlIGNvbnRyb2wgcGFja2V0 IHRvIHNlbmQgdG8gd2hlZWwgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2N0cmxyZXF1ZXN0 IG1vZGVsX3JlcXVlc3QgPSB7CisJLmJSZXF1ZXN0VHlwZSA9IDB4YzEsCisJLmJSZXF1ZXN0ID0g NzMsCisJLndWYWx1ZSA9IDAsCisJLndJbmRleCA9IDAsCisJLndMZW5ndGggPSBjcHVfdG9fbGUx NigweDAwMTApCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9jdHJscmVxdWVzdCBjaGFu Z2VfcmVxdWVzdCA9IHsKKwkuYlJlcXVlc3RUeXBlID0gMHg0MSwKKwkuYlJlcXVlc3QgPSA4MywK Kwkud1ZhbHVlID0gMCwgLy8gV2lsbCBiZSBmaWxsZWQgYnkgdGhlIGRyaXZlcgorCS53SW5kZXgg PSAwLAorCS53TGVuZ3RoID0gMAorfTsKKworLyoqCisgKiBPbiBzb21lIHNldHVwcyBpbml0aWFs aXppbmcgdGhlIFQzMDBSUyBjcmFzaGVzIHRoZSBrZXJuZWwsCisgKiB0aGVzZSBpbnRlcnJ1cHRz IGZpeCB0aGF0IHBhcnRpY3VsYXIgaXNzdWUuIFNvIGZhciB0aGV5IGhhdmVuJ3QgY2F1c2VkIGFu eQorICogYWR2ZXJzZSBlZmZlY3RzIGluIG90aGVyIHdoZWVscy4KKyAqLworc3RhdGljIHZvaWQg dG1pbml0X2ludGVycnVwdHMoc3RydWN0IGhpZF9kZXZpY2UgKmhkZXYpCit7CisJaW50IHJldCwg dHJhbnMsIGksIGJfZXA7CisJdTggKnNlbmRfYnVmID0ga21hbGxvYygyNTYsIEdGUF9LRVJORUwp OworCXN0cnVjdCB1c2JfaG9zdF9lbmRwb2ludCAqZXA7CisJc3RydWN0IGRldmljZSAqZGV2ID0g JmhkZXYtPmRldjsKKwlzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqdXNiaWYgPSB0b191c2JfaW50ZXJm YWNlKGRldi0+cGFyZW50KTsKKwlzdHJ1Y3QgdXNiX2RldmljZSAqdXNiZGV2ID0gaW50ZXJmYWNl X3RvX3VzYmRldih1c2JpZik7CisKKwlpZiAoIXNlbmRfYnVmKSB7CisJCWhpZF9lcnIoaGRldiwg ImZhaWxlZCBhbGxvY2F0aW5nIHNlbmQgYnVmZmVyXG4iKTsKKwkJcmV0dXJuOworCX0KKworCWVw ID0gJnVzYmlmLT5jdXJfYWx0c2V0dGluZy0+ZW5kcG9pbnRbMV07CisJYl9lcCA9IGVwLT5kZXNj LmJFbmRwb2ludEFkZHJlc3M7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzZXR1cF9h cnIpOyArK2kpIHsKKwkJbWVtY3B5KHNlbmRfYnVmLCBzZXR1cF9hcnJbaV0sIHNldHVwX2Fycl9z aXplc1tpXSk7CisKKwkJcmV0ID0gdXNiX2ludGVycnVwdF9tc2codXNiZGV2LAorCQkJdXNiX3Nu ZGludHBpcGUodXNiZGV2LCBiX2VwKSwKKwkJCXNlbmRfYnVmLAorCQkJc2V0dXBfYXJyX3NpemVz W2ldLAorCQkJJnRyYW5zLAorCQkJVVNCX0NUUkxfU0VUX1RJTUVPVVQpOworCisJCWlmIChyZXQp IHsKKwkJCWhpZF9lcnIoaGRldiwgInNldHVwIGRhdGEgY291bGRuJ3QgYmUgc2VudFxuIik7CisJ CQlyZXR1cm47CisJCX0KKwl9CisKKwlrZnJlZShzZW5kX2J1Zik7Cit9CisKK3N0YXRpYyB2b2lk IHRtaW5pdF9jaGFuZ2VfaGFuZGxlcihzdHJ1Y3QgdXJiICp1cmIpCit7CisJc3RydWN0IGhpZF9k ZXZpY2UgKmhkZXYgPSB1cmItPmNvbnRleHQ7CisKKwkvLyBUaGUgd2hlZWwgc2VlbXMgdG8ga2ls bCBoaW1zZWxmIGJlZm9yZSBhbnN3ZXJpbmcgdGhlIGhvc3QgYW5kIHRoZXJlZm9yZSBpcyB2aW9s YXRpbmcgdGhlIFVTQiBwcm90b2NvbC4uLgorCWlmICh1cmItPnN0YXR1cyA9PSAwIHx8IHVyYi0+ c3RhdHVzID09IC1FUFJPVE8gfHwgdXJiLT5zdGF0dXMgPT0gLUVQSVBFKQorCQloaWRfaW5mbyho ZGV2LCAiU3VjY2Vzcz8hIFRoZSB3aGVlbCBzaG91bGQgaGF2ZSBiZWVuIGluaXRpYWxpemVkIVxu Iik7CisJZWxzZQorCQloaWRfd2FybihoZGV2LCAiVVJCIHRvIGNoYW5nZSB3aGVlbCBtb2RlIHNl ZW1zIHRvIGhhdmUgZmFpbGVkIHdpdGggZXJyb3IgJWRcbiIsIHVyYi0+c3RhdHVzKTsKK30KKwor LyoqCisgKiBDYWxsZWQgYnkgdGhlIFVTQiBzdWJzeXN0ZW0gd2hlbiB0aGUgd2hlZWwgcmVzcG9u cyB0byBvdXIgcmVxdWVzdAorICogdG8gZ2V0IFt3aGF0IGl0IHNlZW1zIHRvIGJlXSB0aGUgd2hl ZWwncyBtb2RlbC4KKyAqCisgKiBJZiB0aGUgbW9kZWwgaWQgaXMgcmVjb2duaXplZCB0aGVuIHdl IHNlbmQgYW4gb3Bwb3J0dW5lIFVTQiBDT05UUk9MIFJFUVVFU1QKKyAqIHRvIHN3aXRjaCB0aGUg d2hlZWwgdG8gaXRzIGZ1bGwgY2FwYWJpbGl0aWVzCisgKi8KK3N0YXRpYyB2b2lkIHRtaW5pdF9t b2RlbF9oYW5kbGVyKHN0cnVjdCB1cmIgKnVyYikKK3sKKwlzdHJ1Y3QgaGlkX2RldmljZSAqaGRl diA9IHVyYi0+Y29udGV4dDsKKwlzdHJ1Y3QgdG1fd2hlZWwgKnRtX3doZWVsID0gaGlkX2dldF9k cnZkYXRhKGhkZXYpOworCXVpbnQxNl90IG1vZGVsID0gMDsKKwlpbnQgaSwgcmV0OworCWNvbnN0 IHN0cnVjdCB0aF93aGVlbF9pbmZvICp0d2kgPSAwOworCisJaWYgKHVyYi0+c3RhdHVzKSB7CisJ CWhpZF9lcnIoaGRldiwgIlVSQiB0byBnZXQgbW9kZWwgaWQgZmFpbGVkIHdpdGggZXJyb3IgJWRc biIsIHVyYi0+c3RhdHVzKTsKKwkJcmV0dXJuOworCX0KKworCWlmICh0bV93aGVlbC0+cmVzcG9u c2UtPnR5cGUgPT0gY3B1X3RvX2xlMTYoMHg0OSkpCisJCW1vZGVsID0gbGUxNl90b19jcHUodG1f d2hlZWwtPnJlc3BvbnNlLT5kYXRhLmEubW9kZWwpOworCWVsc2UgaWYgKHRtX3doZWVsLT5yZXNw b25zZS0+dHlwZSA9PSBjcHVfdG9fbGUxNigweDQ3KSkKKwkJbW9kZWwgPSBsZTE2X3RvX2NwdSh0 bV93aGVlbC0+cmVzcG9uc2UtPmRhdGEuYi5tb2RlbCk7CisJZWxzZSB7CisJCWhpZF9lcnIoaGRl diwgIlVua25vdyBwYWNrZXQgdHlwZSAweCV4LCB1bmFibGUgdG8gcHJvY2VlZCBmdXJ0aGVyIHdp dGggd2hlZWwgaW5pdFxuIiwgdG1fd2hlZWwtPnJlc3BvbnNlLT50eXBlKTsKKwkJcmV0dXJuOwor CX0KKworCWZvciAoaSA9IDA7IGkgPCB0aF93aGVlbHNfaW5mb3NfbGVuZ3RoICYmICF0d2k7IGkr KykKKwkJaWYgKHRoX3doZWVsc19pbmZvc1tpXS53aGVlbF90eXBlID09IG1vZGVsKQorCQkJdHdp ID0gdGhfd2hlZWxzX2luZm9zICsgaTsKKworCWlmICh0d2kpCisJCWhpZF9pbmZvKGhkZXYsICJX aGVlbCB3aXRoIG1vZGVsIGlkIDB4JXggaXMgYSAlc1xuIiwgbW9kZWwsIHR3aS0+d2hlZWxfbmFt ZSk7CisJZWxzZSB7CisJCWhpZF9lcnIoaGRldiwgIlVua25vd24gd2hlZWwncyBtb2RlbCBpZCAw eCV4LCB1bmFibGUgdG8gcHJvY2VlZCBmdXJ0aGVyIHdpdGggd2hlZWwgaW5pdFxuIiwgbW9kZWwp OworCQlyZXR1cm47CisJfQorCisJdG1fd2hlZWwtPmNoYW5nZV9yZXF1ZXN0LT53VmFsdWUgPSBj cHVfdG9fbGUxNih0d2ktPnN3aXRjaF92YWx1ZSk7CisJdXNiX2ZpbGxfY29udHJvbF91cmIoCisJ CXRtX3doZWVsLT51cmIsCisJCXRtX3doZWVsLT51c2JfZGV2LAorCQl1c2Jfc25kY3RybHBpcGUo dG1fd2hlZWwtPnVzYl9kZXYsIDApLAorCQkoY2hhciAqKXRtX3doZWVsLT5jaGFuZ2VfcmVxdWVz dCwKKwkJMCwgMCwgLy8gV2UgZG8gbm90IGV4cGVjdCBhbnkgcmVzcG9uc2UgZnJvbSB0aGUgd2hl ZWwKKwkJdG1pbml0X2NoYW5nZV9oYW5kbGVyLAorCQloZGV2CisJKTsKKworCXJldCA9IHVzYl9z dWJtaXRfdXJiKHRtX3doZWVsLT51cmIsIEdGUF9BVE9NSUMpOworCWlmIChyZXQpCisJCWhpZF9l cnIoaGRldiwgIkVycm9yICVkIHdoaWxlIHN1Ym1pdHRpbmcgdGhlIGNoYW5nZSBVUkIuIEkgYW0g dW5hYmxlIHRvIGluaXRpYWxpemUgdGhpcyB3aGVlbC4uLlxuIiwgcmV0KTsKK30KKworc3RhdGlj IHZvaWQgdG1pbml0X3JlbW92ZShzdHJ1Y3QgaGlkX2RldmljZSAqaGRldikKK3sKKwlzdHJ1Y3Qg dG1fd2hlZWwgKnRtX3doZWVsID0gaGlkX2dldF9kcnZkYXRhKGhkZXYpOworCisJdXNiX2tpbGxf dXJiKHRtX3doZWVsLT51cmIpOworCisJa2ZyZWUodG1fd2hlZWwtPnJlc3BvbnNlKTsKKwlrZnJl ZSh0bV93aGVlbC0+bW9kZWxfcmVxdWVzdCk7CisJdXNiX2ZyZWVfdXJiKHRtX3doZWVsLT51cmIp OworCWtmcmVlKHRtX3doZWVsKTsKKworCWhpZF9od19zdG9wKGhkZXYpOworfQorCisvKioKKyAq IEZ1bmN0aW9uIGNhbGxlZCBieSBISUQgd2hlbiBhIGhpZCBUaHJ1c3RtYXN0ZXIgRkZCIHdoZWVs IGlzIGNvbm5lY3RlZCB0byB0aGUgaG9zdC4KKyAqIFRoaXMgZnVuY3Rpb24gc3RhcnRzIHRoZSBo aWQgZGV2LCB0cmllcyB0byBhbGxvY2F0ZSB0aGUgdG1fd2hlZWwgZGF0YSBzdHJ1Y3R1cmUgYW5k CisgKiBmaW5hbGx5IHNlbmQgYW4gVVNCIENPTlRST0wgUkVRVUVTVCB0byB0aGUgd2hlZWwgdG8g Z2V0IFt3aGF0IGl0IHNlZW1zIHRvIGJlXSBpdHMKKyAqIG1vZGVsIHR5cGUuCisgKi8KK3N0YXRp YyBpbnQgdG1pbml0X3Byb2JlKHN0cnVjdCBoaWRfZGV2aWNlICpoZGV2LCBjb25zdCBzdHJ1Y3Qg aGlkX2RldmljZV9pZCAqaWQpCit7CisJaW50IHJldCA9IDA7CisJc3RydWN0IHRtX3doZWVsICp0 bV93aGVlbCA9IDA7CisKKwlyZXQgPSBoaWRfcGFyc2UoaGRldik7CisJaWYgKHJldCkgeworCQlo aWRfZXJyKGhkZXYsICJwYXJzZSBmYWlsZWQgd2l0aCBlcnJvciAlZFxuIiwgcmV0KTsKKwkJZ290 byBlcnJvcjA7CisJfQorCisJcmV0ID0gaGlkX2h3X3N0YXJ0KGhkZXYsIEhJRF9DT05ORUNUX0RF RkFVTFQgJiB+SElEX0NPTk5FQ1RfRkYpOworCWlmIChyZXQpIHsKKwkJaGlkX2VycihoZGV2LCAi aHcgc3RhcnQgZmFpbGVkIHdpdGggZXJyb3IgJWRcbiIsIHJldCk7CisJCWdvdG8gZXJyb3IwOwor CX0KKworCS8vIE5vdyB3ZSBhbGxvY2F0ZSB0aGUgdG1fd2hlZWwKKwl0bV93aGVlbCA9IGt6YWxs b2Moc2l6ZW9mKHN0cnVjdCB0bV93aGVlbCksIEdGUF9LRVJORUwpOworCWlmICghdG1fd2hlZWwp IHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnJvcjE7CisJfQorCisJdG1fd2hlZWwtPnVy YiA9IHVzYl9hbGxvY191cmIoMCwgR0ZQX0FUT01JQyk7CisJaWYgKCF0bV93aGVlbC0+dXJiKSB7 CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyb3IyOworCX0KKworCXRtX3doZWVsLT5tb2Rl bF9yZXF1ZXN0ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHVzYl9jdHJscmVxdWVzdCksIEdGUF9L RVJORUwpOworCWlmICghdG1fd2hlZWwtPm1vZGVsX3JlcXVlc3QpIHsKKwkJcmV0ID0gLUVOT01F TTsKKwkJZ290byBlcnJvcjM7CisJfQorCW1lbWNweSh0bV93aGVlbC0+bW9kZWxfcmVxdWVzdCwg Jm1vZGVsX3JlcXVlc3QsIHNpemVvZihzdHJ1Y3QgdXNiX2N0cmxyZXF1ZXN0KSk7CisKKwl0bV93 aGVlbC0+cmVzcG9uc2UgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdG1fd2hlZWxfcmVzcG9uc2Up LCBHRlBfS0VSTkVMKTsKKwlpZiAoIXRtX3doZWVsLT5yZXNwb25zZSkgeworCQlyZXQgPSAtRU5P TUVNOworCQlnb3RvIGVycm9yNDsKKwl9CisKKwl0bV93aGVlbC0+Y2hhbmdlX3JlcXVlc3QgPSBr emFsbG9jKHNpemVvZihzdHJ1Y3QgdXNiX2N0cmxyZXF1ZXN0KSwgR0ZQX0tFUk5FTCk7CisJaWYg KCF0bV93aGVlbC0+bW9kZWxfcmVxdWVzdCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGVy cm9yNTsKKwl9CisJbWVtY3B5KHRtX3doZWVsLT5jaGFuZ2VfcmVxdWVzdCwgJmNoYW5nZV9yZXF1 ZXN0LCBzaXplb2Yoc3RydWN0IHVzYl9jdHJscmVxdWVzdCkpOworCisJdG1fd2hlZWwtPnVzYl9k ZXYgPSBpbnRlcmZhY2VfdG9fdXNiZGV2KHRvX3VzYl9pbnRlcmZhY2UoaGRldi0+ZGV2LnBhcmVu dCkpOworCWhpZF9zZXRfZHJ2ZGF0YShoZGV2LCB0bV93aGVlbCk7CisKKwl0bWluaXRfaW50ZXJy dXB0cyhoZGV2KTsKKworCXVzYl9maWxsX2NvbnRyb2xfdXJiKAorCQl0bV93aGVlbC0+dXJiLAor CQl0bV93aGVlbC0+dXNiX2RldiwKKwkJdXNiX3JjdmN0cmxwaXBlKHRtX3doZWVsLT51c2JfZGV2 LCAwKSwKKwkJKGNoYXIgKil0bV93aGVlbC0+bW9kZWxfcmVxdWVzdCwKKwkJdG1fd2hlZWwtPnJl c3BvbnNlLAorCQlzaXplb2Yoc3RydWN0IHRtX3doZWVsX3Jlc3BvbnNlKSwKKwkJdG1pbml0X21v ZGVsX2hhbmRsZXIsCisJCWhkZXYKKwkpOworCisJcmV0ID0gdXNiX3N1Ym1pdF91cmIodG1fd2hl ZWwtPnVyYiwgR0ZQX0FUT01JQyk7CisJaWYgKHJldCkKKwkJaGlkX2VycihoZGV2LCAiRXJyb3Ig JWQgd2hpbGUgc3VibWl0dGluZyB0aGUgVVJCLiBJIGFtIHVuYWJsZSB0byBpbml0aWFsaXplIHRo aXMgd2hlZWwuLi5cbiIsIHJldCk7CisKKwlyZXR1cm4gcmV0OworCitlcnJvcjU6IGtmcmVlKHRt X3doZWVsLT5yZXNwb25zZSk7CitlcnJvcjQ6IGtmcmVlKHRtX3doZWVsLT5tb2RlbF9yZXF1ZXN0 KTsKK2Vycm9yMzogdXNiX2ZyZWVfdXJiKHRtX3doZWVsLT51cmIpOworZXJyb3IyOiBrZnJlZSh0 bV93aGVlbCk7CitlcnJvcjE6IGhpZF9od19zdG9wKGhkZXYpOworZXJyb3IwOgorCXJldHVybiBy ZXQ7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaGlkX2RldmljZV9pZCB0bWluaXRfZGV2aWNl c1tdID0geworCXsgSElEX1VTQl9ERVZJQ0UoMHgwNDRmLCAweGI2NWQpfSwKKwl7fQorfTsKKwor TU9EVUxFX0RFVklDRV9UQUJMRShoaWQsIHRtaW5pdF9kZXZpY2VzKTsKKworc3RhdGljIHN0cnVj dCBoaWRfZHJpdmVyIHRtaW5pdF9kcml2ZXIgPSB7CisJLm5hbWUgPSAiaGlkLXRtaW5pdCIsCisJ LmlkX3RhYmxlID0gdG1pbml0X2RldmljZXMsCisJLnByb2JlID0gdG1pbml0X3Byb2JlLAorCS5y ZW1vdmUgPSB0bWluaXRfcmVtb3ZlLAorfTsKKworbW9kdWxlX2hpZF9kcml2ZXIodG1pbml0X2Ry aXZlcik7CisKK01PRFVMRV9BVVRIT1IoIkRhcmlvIFBhZ2FuaSA8ZGFyaW8ucGFnYW5pLjE0Nits aW51eGtAZ21haWwuY29tPiIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NS SVBUSU9OKCJEcml2ZXIgdG8gaW5pdGlhbGl6ZSBzb21lIHN0ZWVyaW5nIHdoZWVsIGpveXN0aWNr cyBmcm9tIFRocnVzdG1hc3RlciIpOworCi0tIAoyLjI1LjEKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpLZXJuZWxuZXdiaWVzIG1haWxpbmcgbGlzdApL ZXJuZWxuZXdiaWVzQGtlcm5lbG5ld2JpZXMub3JnCmh0dHBzOi8vbGlzdHMua2VybmVsbmV3Ymll cy5vcmcvbWFpbG1hbi9saXN0aW5mby9rZXJuZWxuZXdiaWVzCg==