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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C2A93C433F5 for ; Fri, 27 May 2022 11:12:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=YwvOHaXKUbk1oD/rrYLX2MBAEGvs8Ird2KitRbbUiBY=; b=ZWQEO5ALaeQMiB 5L+n6rxNqmpw2LFtYmeMEjrvX1E57Yn39qMlj3a1tMj8cqq4D97aZ5IJQDrSR0GcMUDhrDFQRRnW9 fd91RZZtN3WMtj5YTXnvwK1gsx/TqbtW+5jiBBWaUwIlYO0rYRndW9L2tvHRpYHmZtgqXj7opeupj 0sxv6eh+NwcUUk/MBUw33acnXF/qc3xwr4qCt4X/DeKSHFzF4LdM4Qpbf8b4SePwjBjEreuyE+MhH zVPoSK5ughWiQZYNvWOKzAHgJ8PL4evZNkWuKmZmLFss0D21iW8nX4kHFy3P3TefoR73PjUol8wI4 ghvuosnqXDdCMpxy9cjA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nuXrR-00HT2W-S1; Fri, 27 May 2022 11:10:29 +0000 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nuXrO-00HT0f-6N for linux-arm-kernel@lists.infradead.org; Fri, 27 May 2022 11:10:28 +0000 Received: by mail-pf1-x42c.google.com with SMTP id y189so4049868pfy.10 for ; Fri, 27 May 2022 04:10:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=wIHYvm2K7nibOvcUritOjONU5u9cYsOry1JPgOzcrJ4=; b=7vQ+6n4itBAKx3GAx1doP/A1+RLQntp+PUZ65lR80ZQfMCSy0UJjDAgrppd9EVdmAd aI+COuNHHfFwn7enHezaf+J8+hTQfQCngk+6v0cPDOutpOCpAZla3EriqO+qh0fgyvbT TqkVKnA5MMPTLMyRdJxMInnGZVKeSsdGDiZ9UIbpb7jOJcbe2Mqt537osw9XkVF+CCEr ojNEDAWJowtD4firQNU3MzFjp/59H/ZshUA7YCqz+6/lKfKLJzKxh6iIx6+EP2059DO9 QF1uG5ChZz4gqMtqjp3IkIroitSTp2kX1ObNDDzt2UZe4djWqnPGKGK2O1Tu7tTgqH1x g0jA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=wIHYvm2K7nibOvcUritOjONU5u9cYsOry1JPgOzcrJ4=; b=PGZptoLX0X2bhxhMlZWT52fJT6hT7YxDGjV2VlYH9E5czNFJoH3vtix568DakWoZ4G j2tihYwNOPZ6S1yyJ+y7yTopgE+/8GmYzE3tNItmjhs+0Babkxh3wbJeAycwKT3gCOK5 2RcFVxcmsfKNScvY5ivz2gcARDzCtvl3/PPMjN/Gtn1xkcj4UpLrLzhi8+hhvEQBWPMR T0jU3XBJym1YqzPBHnAZUWScjWPtz+0+QcGR5PiSym4lWz7ic6cX1HSzk5BjKqotHUdF Pw8afJnIc49OueqAgZlvqZe9e092hRSHaGzIh2mN7NPbLVlmbHlJZbfwOff6A4cQRsC6 jDgQ== X-Gm-Message-State: AOAM5309mA/912M53sOwDkrKkNyuB7dGVCzSGZ1zQpZ7ml9aQRCkGWiy 2Xgw3gedPaJGL1UJ2zLC0bkkCDoxI+zANMUe X-Google-Smtp-Source: ABdhPJyUhg9mYKRTWaeNWG1metTMJhlddg/09vUDN3DGgAQwHufJJrQn/XrtDBVi9TZypY7cy/d9Lw== X-Received: by 2002:a65:6093:0:b0:373:9c75:19ec with SMTP id t19-20020a656093000000b003739c7519ecmr37546462pgu.539.1653649824394; Fri, 27 May 2022 04:10:24 -0700 (PDT) Received: from C02GF2LXMD6R.bytedance.net ([139.177.225.246]) by smtp.gmail.com with ESMTPSA id w9-20020aa78589000000b0051827128aeasm3152176pfn.131.2022.05.27.04.10.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 May 2022 04:10:24 -0700 (PDT) From: Zhang Yuchen To: akpm@linux-foundation.org, david@redhat.com, peterz@infradead.org, mingo@redhat.com, ast@kernel.org Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org, linux-api@vger.kernel.org, fam.zheng@bytedance.com, Zhang Yuchen Subject: [PATCH] procfs: add syscall statistics Date: Fri, 27 May 2022 19:09:59 +0800 Message-Id: <20220527110959.54559-1-zhangyuchen.lcr@bytedance.com> X-Mailer: git-send-email 2.32.1 (Apple Git-133) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220527_041026_506690_306D5964 X-CRM114-Status: GOOD ( 27.32 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org QWRkIC9wcm9jL3N5c2NhbGxzIHRvIGRpc3BsYXkgcGVyY3B1IHN5c2NhbGwgY291bnQuCgpXZSBu ZWVkIGEgbGVzcyByZXNvdXJjZS1pbnRlbnNpdmUgd2F5IHRvIGNvdW50IHN5c2NhbGwgcGVyIGNw dQpmb3Igc3lzdGVtIHByb2JsZW0gbG9jYXRpb24uCgpUaGVyZSBpcyBhIHNpbWlsYXIgdXRpbGl0 eSBzeXNjb3VudCBpbiB0aGUgQkNDIHByb2plY3QsIGJ1dCBzeXNjb3VudApoYXMgYSBoaWdoIHBl cmZvcm1hbmNlIGNvc3QuCgpUaGUgZm9sbG93aW5nIGlzIGEgY29tcGFyaXNvbiBvbiB0aGUgc2Ft ZSBtYWNoaW5lLCB1c2luZyBVbml4QmVuY2gKU3lzdGVtIENhbGwgT3ZlcmhlYWQ6CgogICAg4pSP 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSz4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSz4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSTCiAgICDilIMgQ2hhbmdlICAgICAgICDilIMgVW5peGJlbmNoIFNjb3Jl IOKUgyBMb3NzICAg4pSDCiAgICDilKHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilYfilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilYfilIHilIHilIHilIHilIHilIHilIHilIHilKkKICAgIOKUgiBubyBjaGFuZ2Ug ICAgIOKUgiAxMDcyLjYgICAgICAgICAg4pSCIC0tLSAgICDilIIKICAgIOKUgiBzeXNjYWxsIGNv dW50IOKUgiA5ODIuNSAgICAgICAgICAg4pSCIDguNDAlICDilIIKICAgIOKUgiBicGYgc3lzY291 bnQgIOKUgiA2MTQuMiAgICAgICAgICAg4pSCIDQyLjc0JSDilIIKICAgIOKUlOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUmAoKVW5peEJlbmNoIFN5c3RlbSBDYWxsIFVzZSBzeXNfZ2V0dGlkIHRvIHRlc3QsIHRoaXMg c3lzdGVtIGNhbGwgb25seSByZWFkcwpvbmUgdmFyaWFibGUsIHNvIHRoZSBwZXJmb3JtYW5jZSBw ZW5hbHR5IHNlZW1zIGxhcmdlLiBXaGVuIHRlc3RlZCB3aXRoCmZvcmssIHRoZSB0ZXN0IHNjb3Jl cyB3ZXJlIGFsbW9zdCB0aGUgc2FtZS4KClNvIHRoZSBjb25jbHVzaW9uIGlzIHRoYXQgaXQgZG9l cyBub3QgaGF2ZSBhIHNpZ25pZmljYW50IGltcGFjdCBvbiBzeXN0ZW0KY2FsbCBwZXJmb3JtYW5j ZS4KClRoaXMgZnVuY3Rpb24gZGVwZW5kcyBvbiBDT05GSUdfRlRSQUNFX1NZU0NBTExTIGJlY2F1 c2UgdGhlIHN5c3RlbSBjYWxsCm51bWJlciBpcyBzdG9yZWQgaW4gc3lzY2FsbF9tZXRhZGF0YS4K ClNpZ25lZC1vZmYtYnk6IFpoYW5nIFl1Y2hlbiA8emhhbmd5dWNoZW4ubGNyQGJ5dGVkYW5jZS5j b20+Ci0tLQogRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9wcm9jLnJzdCAgICAgICB8IDI4ICsr KysrKysrKwogYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9zeXNjYWxsX3dyYXBwZXIuaCB8ICAyICst CiBhcmNoL3MzOTAvaW5jbHVkZS9hc20vc3lzY2FsbF93cmFwcGVyLmggIHwgIDQgKy0KIGFyY2gv eDg2L2luY2x1ZGUvYXNtL3N5c2NhbGxfd3JhcHBlci5oICAgfCAgMiArLQogZnMvcHJvYy9LY29u ZmlnICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKwogZnMvcHJvYy9NYWtlZmlsZSAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIGZzL3Byb2Mvc3lzY2FsbC5jICAgICAgICAg ICAgICAgICAgICAgICAgfCA3OSArKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGlu dXgvc3lzY2FsbHMuaCAgICAgICAgICAgICAgICAgfCA1MSArKysrKysrKysrKysrLS0KIDggZmls ZXMgY2hhbmdlZCwgMTY1IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZnMvcHJvYy9zeXNjYWxsLmMKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2Zp bGVzeXN0ZW1zL3Byb2MucnN0IGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9wcm9jLnJzdApp bmRleCAxYmM5MWZiOGMzMjEuLjgwMzk0YTk4YTE5MiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlv bi9maWxlc3lzdGVtcy9wcm9jLnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL3By b2MucnN0CkBAIC02ODYsNiArNjg2LDcgQEAgZmlsZXMgYXJlIHRoZXJlLCBhbmQgd2hpY2ggYXJl IG1pc3NpbmcuCiAgZnMgCSAgICAgIEZpbGUgc3lzdGVtIHBhcmFtZXRlcnMsIGN1cnJlbnRseSBu ZnMvZXhwb3J0cwkoMi40KQogIGlkZSAgICAgICAgICBEaXJlY3RvcnkgY29udGFpbmluZyBpbmZv IGFib3V0IHRoZSBJREUgc3Vic3lzdGVtCiAgaW50ZXJydXB0cyAgIEludGVycnVwdCB1c2FnZQor IHN5c2NhbGxzICAgICBTeXNjYWxsIGNvdW50IGZvciBlYWNoIGNwdQogIGlvbWVtIAkgICAgICBN ZW1vcnkgbWFwCQkJCQkoMi40KQogIGlvcG9ydHMgICAgICBJL08gcG9ydCB1c2FnZQogIGlycSAJ ICAgICAgTWFza3MgZm9yIGlycSB0byBjcHUgYWZmaW5pdHkJCQkoMi40KShzbXA/KQpAQCAtMTIy NSw2ICsxMjI2LDMzIEBAIFByb3ZpZGVzIGNvdW50cyBvZiBzb2Z0aXJxIGhhbmRsZXJzIHNlcnZp Y2VkIHNpbmNlIGJvb3QgdGltZSwgZm9yIGVhY2ggQ1BVLgogICAgIEhSVElNRVI6ICAgICAgICAg MCAgICAgICAgICAwICAgICAgICAgIDAgICAgICAgICAgMAogCVJDVTogICAgICAxNjc4ICAgICAg IDE3NjkgICAgICAgMjE3OCAgICAgICAyMjUwCiAKK3N5c2NhbGxzCit+fn5+fn5+fgorCitQcm92 aWRlcyBjb3VudHMgb2Ygc3lzY2FsbCBzaW5jZSBib290IHRpbWUsIGZvciBlYWNoIGNwdS4KKwor OjoKKworICAgID4gY2F0IC9wcm9jL3N5c2NhbGxzCisgICAgICAgICAgICAgICBDUFUwICAgICAg IENQVTEgICAgICAgQ1BVMiAgICAgICBDUFUzCisgICAgICAwOiAgICAgICAzNzQzICAgICAgIDMw OTkgICAgICAgMzc3MCAgICAgICAzMjQyICAgc3lzX3JlYWQKKyAgICAgIDE6ICAgICAgICAyMjIg ICAgICAgIDU1OSAgICAgICAgODIyICAgICAgICA1MjIgICBzeXNfd3JpdGUKKyAgICAgIDI6ICAg ICAgICAgIDAgICAgICAgICAgMCAgICAgICAgICAwICAgICAgICAgIDAgICBzeXNfb3BlbgorICAg ICAgMzogICAgICAgNjQ4MSAgICAgIDE4NzU0ICAgICAgMTIwNzcgICAgICAgNzM0OSAgIHN5c19j bG9zZQorICAgICAgNDogICAgICAxMTM2MiAgICAgIDExMTIwICAgICAgMTEzNDMgICAgICAxMDY2 NSAgIHN5c19uZXdzdGF0CisgICAgICA1OiAgICAgICA1MjI0ICAgICAgMTM4ODAgICAgICAgODU3 OCAgICAgICA1OTcxICAgc3lzX25ld2ZzdGF0CisgICAgICA2OiAgICAgICAxMjI4ICAgICAgIDEy NjkgICAgICAgMTQ1OSAgICAgICAxNTA4ICAgc3lzX25ld2xzdGF0CisgICAgICA3OiAgICAgICAg IDkwICAgICAgICAgNDMgICAgICAgICA2NCAgICAgICAgIDY3ICAgc3lzX3BvbGwKKyAgICAgIDg6 ICAgICAgIDE2MzUgICAgICAgMTAwMCAgICAgICAyMDcxICAgICAgIDExNjEgICBzeXNfbHNlZWsK KyAgICAuLi4uIG9taXQgdGhlIG1pZGRsZSBsaW5lIC4uLi4KKyAgICA0NDE6ICAgICAgICAgIDAg ICAgICAgICAgMCAgICAgICAgICAwICAgICAgICAgIDAgICBzeXNfZXBvbGxfcHdhaXQyCisgICAg NDQyOiAgICAgICAgICAwICAgICAgICAgIDAgICAgICAgICAgMCAgICAgICAgICAwICAgc3lzX21v dW50X3NldGF0dHIKKyAgICA0NDM6ICAgICAgICAgIDAgICAgICAgICAgMCAgICAgICAgICAwICAg ICAgICAgIDAgICBzeXNfcXVvdGFjdGxfZmQKKyAgICA0NDc6ICAgICAgICAgIDAgICAgICAgICAg MCAgICAgICAgICAwICAgICAgICAgIDAgICBzeXNfbWVtZmRfc2VjcmV0CisgICAgNDQ4OiAgICAg ICAgICAwICAgICAgICAgIDAgICAgICAgICAgMCAgICAgICAgICAwICAgc3lzX3Byb2Nlc3NfbXJl bGVhc2UKKyAgICA0NDk6ICAgICAgICAgIDAgICAgICAgICAgMCAgICAgICAgICAwICAgICAgICAg IDAgICBzeXNfZnV0ZXhfd2FpdHYKKyAgICA0NTA6ICAgICAgICAgIDAgICAgICAgICAgMCAgICAg ICAgICAwICAgICAgICAgIDAgICBzeXNfc2V0X21lbXBvbGljeV9ob21lX25vZGUKKwogMS4zIE5l dHdvcmtpbmcgaW5mbyBpbiAvcHJvYy9uZXQKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vc3lzY2FsbF93cmFwcGVy LmggYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3N5c2NhbGxfd3JhcHBlci5oCmluZGV4IGIzODNi NDgwMmE3Yi4uZDllYzIxZGY0YzQ0IDEwMDY0NAotLS0gYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNt L3N5c2NhbGxfd3JhcHBlci5oCisrKyBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vc3lzY2FsbF93 cmFwcGVyLmgKQEAgLTY2LDcgKzY2LDcgQEAgc3RydWN0IHB0X3JlZ3M7CiAJfQkJCQkJCQkJCVwK IAlzdGF0aWMgaW5saW5lIGxvbmcgX19kb19zeXMjI25hbWUoX19NQVAoeCxfX1NDX0RFQ0wsX19W QV9BUkdTX18pKQogCi0jZGVmaW5lIFNZU0NBTExfREVGSU5FMChzbmFtZSkJCQkJCQkJXAorI2Rl ZmluZSBfX1NZU0NBTExfREVGSU5FMChzbmFtZSkJCQkJCQkJXAogCVNZU0NBTExfTUVUQURBVEEo XyMjc25hbWUsIDApOwkJCQkJCVwKIAlhc21saW5rYWdlIGxvbmcgX19hcm02NF9zeXNfIyNzbmFt ZShjb25zdCBzdHJ1Y3QgcHRfcmVncyAqX191bnVzZWQpOwlcCiAJQUxMT1dfRVJST1JfSU5KRUNU SU9OKF9fYXJtNjRfc3lzXyMjc25hbWUsIEVSUk5PKTsJCQlcCmRpZmYgLS1naXQgYS9hcmNoL3Mz OTAvaW5jbHVkZS9hc20vc3lzY2FsbF93cmFwcGVyLmggYi9hcmNoL3MzOTAvaW5jbHVkZS9hc20v c3lzY2FsbF93cmFwcGVyLmgKaW5kZXggZmRlN2U2YjFkZjQ4Li5mOGQ3ZDkwMTBkZTIgMTAwNjQ0 Ci0tLSBhL2FyY2gvczM5MC9pbmNsdWRlL2FzbS9zeXNjYWxsX3dyYXBwZXIuaAorKysgYi9hcmNo L3MzOTAvaW5jbHVkZS9hc20vc3lzY2FsbF93cmFwcGVyLmgKQEAgLTc3LDcgKzc3LDcgQEAKIAlB TExPV19FUlJPUl9JTkpFQ1RJT04oX19zMzkwX2NvbXBhdF9zeXNfIyNzbmFtZSwgRVJSTk8pOwlc CiAJbG9uZyBfX3MzOTBfY29tcGF0X3N5c18jI3NuYW1lKHZvaWQpCiAKLSNkZWZpbmUgU1lTQ0FM TF9ERUZJTkUwKHNuYW1lKQkJCQkJCVwKKyNkZWZpbmUgX19TWVNDQUxMX0RFRklORTAoc25hbWUp CQkJCQkJXAogCVNZU0NBTExfTUVUQURBVEEoXyMjc25hbWUsIDApOwkJCQkJXAogCWxvbmcgX19z MzkweF9zeXNfIyNzbmFtZSh2b2lkKTsJCQkJCVwKIAlBTExPV19FUlJPUl9JTkpFQ1RJT04oX19z MzkweF9zeXNfIyNzbmFtZSwgRVJSTk8pOwkJXApAQCAtMTI4LDcgKzEyOCw3IEBACiAKICNkZWZp bmUgX19TMzkwX1NZU19TVFVCeCh4LCBmdWxsbmFtZSwgbmFtZSwgLi4uKQogCi0jZGVmaW5lIFNZ U0NBTExfREVGSU5FMChzbmFtZSkJCQkJCQlcCisjZGVmaW5lIF9fU1lTQ0FMTF9ERUZJTkUwKHNu YW1lKQkJCQkJCVwKIAlTWVNDQUxMX01FVEFEQVRBKF8jI3NuYW1lLCAwKTsJCQkJCVwKIAlsb25n IF9fczM5MHhfc3lzXyMjc25hbWUodm9pZCk7CQkJCQlcCiAJQUxMT1dfRVJST1JfSU5KRUNUSU9O KF9fczM5MHhfc3lzXyMjc25hbWUsIEVSUk5PKTsJCVwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2lu Y2x1ZGUvYXNtL3N5c2NhbGxfd3JhcHBlci5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vc3lzY2Fs bF93cmFwcGVyLmgKaW5kZXggNTkzNThkMWJmODgwLi4xZjE2NDM2YzEzYmQgMTAwNjQ0Ci0tLSBh L2FyY2gveDg2L2luY2x1ZGUvYXNtL3N5c2NhbGxfd3JhcHBlci5oCisrKyBiL2FyY2gveDg2L2lu Y2x1ZGUvYXNtL3N5c2NhbGxfd3JhcHBlci5oCkBAIC0yNDYsNyArMjQ2LDcgQEAgZXh0ZXJuIGxv bmcgX19pYTMyX3N5c19uaV9zeXNjYWxsKGNvbnN0IHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKICAq IFNZU0NBTExfREVGSU5FeCgpIC0tIHdoaWNoIGlzIGVzc2VudGlhbCBmb3IgdGhlIENPTkRfU1lT Q0FMTCgpIGFuZCBTWVNfTkkoKQogICogbWFjcm9zIHRvIHdvcmsgY29ycmVjdGx5LgogICovCi0j ZGVmaW5lIFNZU0NBTExfREVGSU5FMChzbmFtZSkJCQkJCQlcCisjZGVmaW5lIF9fU1lTQ0FMTF9E RUZJTkUwKHNuYW1lKQkJCQkJCVwKIAlTWVNDQUxMX01FVEFEQVRBKF8jI3NuYW1lLCAwKTsJCQkJ CVwKIAlzdGF0aWMgbG9uZyBfX2RvX3N5c18jI3NuYW1lKGNvbnN0IHN0cnVjdCBwdF9yZWdzICpf X3VudXNlZCk7CVwKIAlfX1g2NF9TWVNfU1RVQjAoc25hbWUpCQkJCQkJXApkaWZmIC0tZ2l0IGEv ZnMvcHJvYy9LY29uZmlnIGIvZnMvcHJvYy9LY29uZmlnCmluZGV4IGM5MzAwMDEwNTZmOS4uOWU1 ZmE3NWViZDJhIDEwMDY0NAotLS0gYS9mcy9wcm9jL0tjb25maWcKKysrIGIvZnMvcHJvYy9LY29u ZmlnCkBAIC0xMDAsNiArMTAwLDEzIEBAIGNvbmZpZyBQUk9DX0NISUxEUkVOCiAJICBTYXkgWSBp ZiB5b3UgYXJlIHJ1bm5pbmcgYW55IHVzZXItc3BhY2Ugc29mdHdhcmUgd2hpY2ggdGFrZXMgYmVu ZWZpdCBmcm9tCiAJICB0aGlzIGludGVyZmFjZS4gRm9yIGV4YW1wbGUsIHJrdCBpcyBzdWNoIGEg cGllY2Ugb2Ygc29mdHdhcmUuCiAKK2NvbmZpZyBQUk9DX1NZU0NBTExTCisJYm9vbCAiSW5jbHVk ZSAvcHJvYy9zeXNjYWxscyBmaWxlIiBpZiBFWFBFUlQKKwlkZXBlbmRzIG9uIFBST0NfRlMgJiYg RlRSQUNFX1NZU0NBTExTCisJZGVmYXVsdCBuCisJaGVscAorCSAgUHJvdmlkZXMgYSBmaWxlIHRo YXQgc2hvd3MgdGhlIG51bWJlciBvZiBzeXNjYWxsIG9uIGVhY2ggY3B1LgorCiBjb25maWcgUFJP Q19QSURfQVJDSF9TVEFUVVMKIAlkZWZfYm9vbCBuCiAJZGVwZW5kcyBvbiBQUk9DX0ZTCmRpZmYg LS1naXQgYS9mcy9wcm9jL01ha2VmaWxlIGIvZnMvcHJvYy9NYWtlZmlsZQppbmRleCBiZDA4NjE2 ZWQ4YmEuLmYzODFhN2FhOTBhZSAxMDA2NDQKLS0tIGEvZnMvcHJvYy9NYWtlZmlsZQorKysgYi9m cy9wcm9jL01ha2VmaWxlCkBAIC0zMSw2ICszMSw3IEBAIHByb2MtJChDT05GSUdfUFJPQ19TWVND VEwpCSs9IHByb2Nfc3lzY3RsLm8KIHByb2MtJChDT05GSUdfTkVUKQkJKz0gcHJvY19uZXQubwog cHJvYy0kKENPTkZJR19QUk9DX0tDT1JFKQkrPSBrY29yZS5vCiBwcm9jLSQoQ09ORklHX1BST0Nf Vk1DT1JFKQkrPSB2bWNvcmUubworcHJvYy0kKENPTkZJR19QUk9DX1NZU0NBTExTKQkrPSBzeXNj YWxsLm8KIHByb2MtJChDT05GSUdfUFJJTlRLKQkrPSBrbXNnLm8KIHByb2MtJChDT05GSUdfUFJP Q19QQUdFX01PTklUT1IpCSs9IHBhZ2UubwogcHJvYy0kKENPTkZJR19CT09UX0NPTkZJRykJKz0g Ym9vdGNvbmZpZy5vCmRpZmYgLS1naXQgYS9mcy9wcm9jL3N5c2NhbGwuYyBiL2ZzL3Byb2Mvc3lz Y2FsbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODgxOTZiMTZm NDMwCi0tLSAvZGV2L251bGwKKysrIGIvZnMvcHJvYy9zeXNjYWxsLmMKQEAgLTAsMCArMSw3OSBA QAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKKyNpbmNsdWRlIDxsaW51eC9m cy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+ CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KKworI2luY2x1ZGUgPGFzbS9zeXNjYWxsLmg+ CisKK0RFRklORV9QRVJfQ1BVKHU2NCBbTlJfc3lzY2FsbHNdLCBfX3Blcl9jcHVfc3lzY2FsbF9j b3VudCk7CisKK2V4dGVybiBjb25zdCBjaGFyICpnZXRfc3lzY2FsbF9uYW1lKGludCBzeXNjYWxs X25yKTsKKworaW50IHNob3dfc3lzY2FsbHMoc3RydWN0IHNlcV9maWxlICpwLCB2b2lkICp2KQor eworCWludCBpID0gKihsb2ZmX3QgKil2LCBqOworCXN0YXRpYyBpbnQgcHJlYzsKKwljb25zdCBj aGFyICpzeXNjYWxsX25hbWUgPSBnZXRfc3lzY2FsbF9uYW1lKGkpOworCisJaWYgKGkgPiBOUl9z eXNjYWxscykKKwkJcmV0dXJuIDA7CisKKwkvKiBwcmludCBoZWFkZXIgYW5kIGNhbGN1bGF0ZSB0 aGUgd2lkdGggb2YgdGhlIGZpcnN0IGNvbHVtbiAqLworCWlmIChpID09IDApIHsKKwkJZm9yIChw cmVjID0gMywgaiA9IDEwMDA7IHByZWMgPCAxMCAmJiBqIDw9IE5SX3N5c2NhbGxzOyArK3ByZWMp CisJCQlqICo9IDEwOworCQlzZXFfcHJpbnRmKHAsICIlKnMiLCBwcmVjICsgOCwgIiIpOworCQlm b3JfZWFjaF9vbmxpbmVfY3B1KGopCisJCQlzZXFfcHJpbnRmKHAsICJDUFUlLThkIiwgaik7CisJ CXNlcV9wdXRjKHAsICdcbicpOworCX0KKworCWlmIChzeXNjYWxsX25hbWUgPT0gTlVMTCkKKwkJ cmV0dXJuIDA7CisKKwlzZXFfcHJpbnRmKHAsICIlKmQ6ICIsIHByZWMsIGkpOworCWZvcl9lYWNo X29ubGluZV9jcHUoaikKKwkJc2VxX3ByaW50ZihwLCAiJTEwbGx1ICIsCisJCQkgICBwZXJfY3B1 KF9fcGVyX2NwdV9zeXNjYWxsX2NvdW50LCBqKVtpXSk7CisJc2VxX3ByaW50ZihwLCAiICAlcyIs IHN5c2NhbGxfbmFtZSk7CisJc2VxX3B1dGMocCwgJ1xuJyk7CisKKwlyZXR1cm4gMDsKK30KKwor LyoKKyAqIC9wcm9jL3N5c2NhbGxzCisgKi8KK3N0YXRpYyB2b2lkICppbnRfc2VxX3N0YXJ0KHN0 cnVjdCBzZXFfZmlsZSAqZiwgbG9mZl90ICpwb3MpCit7CisJcmV0dXJuICgqcG9zIDw9IE5SX3N5 c2NhbGxzKSA/IHBvcyA6IE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkICppbnRfc2VxX25leHQoc3Ry dWN0IHNlcV9maWxlICpmLCB2b2lkICp2LCBsb2ZmX3QgKnBvcykKK3sKKwkoKnBvcykrKzsKKwlp ZiAoKnBvcyA+IE5SX3N5c2NhbGxzKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gcG9zOworfQor CitzdGF0aWMgdm9pZCBpbnRfc2VxX3N0b3Aoc3RydWN0IHNlcV9maWxlICpmLCB2b2lkICp2KQor eworCS8qIE5vdGhpbmcgdG8gZG8gKi8KK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBzZXFfb3Bl cmF0aW9ucyBpbnRfc2VxX29wcyA9IHsKKwkuc3RhcnQgPSBpbnRfc2VxX3N0YXJ0LAorCS5uZXh0 ICA9IGludF9zZXFfbmV4dCwKKwkuc3RvcCAgPSBpbnRfc2VxX3N0b3AsCisJLnNob3cgID0gc2hv d19zeXNjYWxscworfTsKKworc3RhdGljIGludCBfX2luaXQgcHJvY19zeXNjYWxsX2luaXQodm9p ZCkKK3sKKwlwcm9jX2NyZWF0ZV9zZXEoInN5c2NhbGxzIiwgMCwgTlVMTCwgJmludF9zZXFfb3Bz KTsKKwlyZXR1cm4gMDsKK30KKworZnNfaW5pdGNhbGwocHJvY19zeXNjYWxsX2luaXQpOwpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oIGIvaW5jbHVkZS9saW51eC9zeXNjYWxs cy5oCmluZGV4IGEzNGIwZjlhOTk3Mi4uYTNkNTBiOGQzOWQ4IDEwMDY0NAotLS0gYS9pbmNsdWRl L2xpbnV4L3N5c2NhbGxzLmgKKysrIGIvaW5jbHVkZS9saW51eC9zeXNjYWxscy5oCkBAIC04Niw2 ICs4Niw3IEBAIGVudW0gbGFuZGxvY2tfcnVsZV90eXBlOwogI2luY2x1ZGUgPGxpbnV4L2tleS5o PgogI2luY2x1ZGUgPGxpbnV4L3BlcnNvbmFsaXR5Lmg+CiAjaW5jbHVkZSA8dHJhY2Uvc3lzY2Fs bC5oPgorI2luY2x1ZGUgPGFzbS9zeXNjYWxsLmg+CiAKICNpZmRlZiBDT05GSUdfQVJDSF9IQVNf U1lTQ0FMTF9XUkFQUEVSCiAvKgpAQCAtMjA2LDggKzIwNyw4IEBAIHN0YXRpYyBpbmxpbmUgaW50 IGlzX3N5c2NhbGxfdHJhY2VfZXZlbnQoc3RydWN0IHRyYWNlX2V2ZW50X2NhbGwgKnRwX2V2ZW50 KQogfQogI2VuZGlmCiAKLSNpZm5kZWYgU1lTQ0FMTF9ERUZJTkUwCi0jZGVmaW5lIFNZU0NBTExf REVGSU5FMChzbmFtZSkJCQkJCVwKKyNpZm5kZWYgX19TWVNDQUxMX0RFRklORTAKKyNkZWZpbmUg X19TWVNDQUxMX0RFRklORTAoc25hbWUpCQkJCQlcCiAJU1lTQ0FMTF9NRVRBREFUQShfIyNzbmFt ZSwgMCk7CQkJCVwKIAlhc21saW5rYWdlIGxvbmcgc3lzXyMjc25hbWUodm9pZCk7CQkJXAogCUFM TE9XX0VSUk9SX0lOSkVDVElPTihzeXNfIyNzbmFtZSwgRVJSTk8pOwkJXApAQCAtMjIzLDkgKzIy NCw0OSBAQCBzdGF0aWMgaW5saW5lIGludCBpc19zeXNjYWxsX3RyYWNlX2V2ZW50KHN0cnVjdCB0 cmFjZV9ldmVudF9jYWxsICp0cF9ldmVudCkKIAogI2RlZmluZSBTWVNDQUxMX0RFRklORV9NQVhB UkdTCTYKIAotI2RlZmluZSBTWVNDQUxMX0RFRklORXgoeCwgc25hbWUsIC4uLikJCQkJXAotCVNZ U0NBTExfTUVUQURBVEEoc25hbWUsIHgsIF9fVkFfQVJHU19fKQkJCVwKLQlfX1NZU0NBTExfREVG SU5FeCh4LCBzbmFtZSwgX19WQV9BUkdTX18pCisjaWZkZWYgQ09ORklHX1BST0NfU1lTQ0FMTFMK K0RFQ0xBUkVfUEVSX0NQVSh1NjRbXSwgX19wZXJfY3B1X3N5c2NhbGxfY291bnQpOworCisjZGVm aW5lIFNZU0NBTExfQ09VTlRfREVDTEFSRXgoc25hbWUsIHgsIC4uLikgXAorCXN0YXRpYyBpbmxp bmUgbG9uZyBfX2NvdW50X3N5cyMjc25hbWUoX19NQVAoeCwgX19TQ19ERUNMLCBfX1ZBX0FSR1Nf XykpOworCisjZGVmaW5lIF9fU1lTQ0FMTF9DT1VOVChzeXNjYWxsX25yKSBcCisJdGhpc19jcHVf aW5jKF9fcGVyX2NwdV9zeXNjYWxsX2NvdW50WyhzeXNjYWxsX25yKV0pCisKKyNkZWZpbmUgU1lT Q0FMTF9DT1VOVF9GVU5DeChzbmFtZSwgeCwgLi4uKQkJCQkJXAorCXsJCQkJCQkJCQlcCisJCV9f U1lTQ0FMTF9DT1VOVChfX3N5c2NhbGxfbWV0YV8jI3NuYW1lLnN5c2NhbGxfbnIpOwkJXAorCQly ZXR1cm4gX19jb3VudF9zeXMjI3NuYW1lKF9fTUFQKHgsIF9fU0NfQ0FTVCwgX19WQV9BUkdTX18p KTsJXAorCX0JCQkJCQkJCQlcCisJc3RhdGljIGlubGluZSBsb25nIF9fY291bnRfc3lzIyNzbmFt ZShfX01BUCh4LCBfX1NDX0RFQ0wsIF9fVkFfQVJHU19fKSkKKworI2RlZmluZSBTWVNDQUxMX0NP VU5UX0RFQ0xBUkUwKHNuYW1lKSBcCisJc3RhdGljIGlubGluZSBsb25nIF9fY291bnRfc3lzXyMj c25hbWUodm9pZCk7CisKKyNkZWZpbmUgU1lTQ0FMTF9DT1VOVF9GVU5DMChzbmFtZSkJCQkJCVwK Kwl7CQkJCQkJCQlcCisJCV9fU1lTQ0FMTF9DT1VOVChfX3N5c2NhbGxfbWV0YV9fIyNzbmFtZS5z eXNjYWxsX25yKTsJXAorCQlyZXR1cm4gX19jb3VudF9zeXNfIyNzbmFtZSgpOwkJCQlcCisJfQkJ CQkJCQkJXAorCXN0YXRpYyBpbmxpbmUgbG9uZyBfX2NvdW50X3N5c18jI3NuYW1lKHZvaWQpCisK KyNlbHNlCisjZGVmaW5lIFNZU0NBTExfQ09VTlRfREVDTEFSRXgoc25hbWUsIHgsIC4uLikKKyNk ZWZpbmUgU1lTQ0FMTF9DT1VOVF9GVU5DeChzbmFtZSwgeCwgLi4uKQorI2RlZmluZSBTWVNDQUxM X0NPVU5UX0RFQ0xBUkUwKHNuYW1lKQorI2RlZmluZSBTWVNDQUxMX0NPVU5UX0ZVTkMwKHNuYW1l KQorI2VuZGlmCisKKyNkZWZpbmUgU1lTQ0FMTF9ERUZJTkV4KHgsIHNuYW1lLCAuLi4pCQkJXAor CVNZU0NBTExfTUVUQURBVEEoc25hbWUsIHgsIF9fVkFfQVJHU19fKQkJXAorCVNZU0NBTExfQ09V TlRfREVDTEFSRXgoc25hbWUsIHgsIF9fVkFfQVJHU19fKQlcCisJX19TWVNDQUxMX0RFRklORXgo eCwgc25hbWUsIF9fVkFfQVJHU19fKQlcCisJU1lTQ0FMTF9DT1VOVF9GVU5DeChzbmFtZSwgeCwg X19WQV9BUkdTX18pCisKKyNkZWZpbmUgU1lTQ0FMTF9ERUZJTkUwKHNuYW1lKQkJXAorCVNZU0NB TExfQ09VTlRfREVDTEFSRTAoc25hbWUpCVwKKwlfX1NZU0NBTExfREVGSU5FMChzbmFtZSkJXAor CVNZU0NBTExfQ09VTlRfRlVOQzAoc25hbWUpCiAKICNkZWZpbmUgX19QUk9URUNUKC4uLikgYXNt bGlua2FnZV9wcm90ZWN0KF9fVkFfQVJHU19fKQogCi0tIAoyLjMwLjIKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxp bmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==