From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9950DA0093; Tue, 23 Aug 2022 09:33:57 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3E9BD406A2; Tue, 23 Aug 2022 09:33:57 +0200 (CEST) Received: from office2.cesnet.cz (office2.cesnet.cz [195.113.144.244]) by mails.dpdk.org (Postfix) with ESMTP id 3586D400D6 for ; Tue, 23 Aug 2022 09:33:56 +0200 (CEST) Received: from [IPV6:2001:67c:1220:80e:d7:f286:c295:1238] (unknown [IPv6:2001:67c:1220:80e:d7:f286:c295:1238]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by office2.cesnet.cz (Postfix) with ESMTPSA id CE6F340006C; Tue, 23 Aug 2022 09:33:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cesnet.cz; s=office2-2020; t=1661240035; bh=kwn2FiUi2TMP2C8nAQh1M0Ob67QovaYBWQwxKHFinm0=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=DM9zInk6vADMixRZ3PwkwuXBHcRtJbGOpW90cOqtzr8N2zBlBNCPFybfTPIZS8sIH Qw5EO1/zh6hfl1uZ3KD+51B77PGKr91IAEYTyiXpsf6kDJQZK6BqbwksoMWDlc3Nkr 5a5Qn3u0BXsBOEH3cNBptKWfGpIoLZO7L9l2vqDVB5l1a5Kpr3nWiaXh3hzDRoCHeB j49zd4Rwd2dJApcsW4pZY2+Eb7c3Bwq0jDRPtSqc0feCml3BPbGINDQD1EZssKE3gn GhzOodUxtRB2Y9vpB68qihjB6oInbiOOTJvAATxS2wdlg8hUOuR8NSMjc61YhFUrSa pi1FrTfH2brmw== Message-ID: <0430b449-d730-a13e-edb9-bb20fd7ef925@cesnet.cz> Date: Tue, 23 Aug 2022 09:33:55 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Subject: Re: [PATCH] mlx5: initially reading xstats does not cause seg fault Content-Language: cs To: "huzaifa.rahman" , matan@nvidia.com Cc: dev@dpdk.org, viacheslavo@nvidia.com, viktorin@cesnet.cz References: <20220818123014.2515261-1-huzaifa.rahman@emumba.com> From: Kamil Vojanec In-Reply-To: <20220818123014.2515261-1-huzaifa.rahman@emumba.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms080503000703010207000603" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This is a cryptographically signed message in MIME format. --------------ms080503000703010207000603 Content-Type: multipart/alternative; boundary="------------7Etfe3NRud9wbtuhswNAas0c" --------------7Etfe3NRud9wbtuhswNAas0c Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 8/18/22 14:30, huzaifa.rahman wrote: > Bugzilla ID: 296 > > the size of counters array in mlx5_xstats_get() was smaller > than the memory we are setting for this array in > mlx5_os_read_dev_counters(). due to which the extra memory is > corrupted and thus corrupting the seemingly unrelated variables. > this happens at the first run only because the n function arg > of mlx5_xstats_get() which is used to init counters array is > initialized by adding the preceding statistics which in our case > (i.e first run) is zero. after the initialization in > mlx5_os_stats_init() the mlx5_stats_n is populated and thus from > then onward the counters array size is correct > > my changes will only affect the flow of the first run when we > need to initialize stats in mlx5_os_stats_init(). the size of the > counters array is set according the mlx5_stats_n variable. by doing > this we will avoid the memset corrupting other variables` memory > > Signed-off-by: huzaifa.rahman Tested-by: Kamil Vojanec --------------7Etfe3NRud9wbtuhswNAas0c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

    
On 8/18/22 14:30, huzaifa.rahman wrote:
Bugzilla ID: 296

the size of counters array in mlx5_xstats_get() was smaller
than the memory we are setting for this array in
mlx5_os_read_dev_counters(). due to which the extra memory is
corrupted and thus corrupting the seemingly unrelated variables.
this happens at the first run only because the n function arg
of mlx5_xstats_get() which is used to init counters array is
initialized by adding the preceding statistics which in our case
(i.e first run) is zero. after the initialization in
mlx5_os_stats_init() the mlx5_stats_n is populated and thus from
then onward the counters array size is correct

my changes will only affect the flow of the first run when we
need to initialize stats in mlx5_os_stats_init(). the size of the
counters array is set according the mlx5_stats_n variable. by doing
this we will avoid the memset corrupting other variables` memory

Signed-off-by: huzaifa.rahman <huzaifa.rahman@emumba.com>
Tested-by: Kamil Vojanec <vojanec@cesnet.cz>
--------------7Etfe3NRud9wbtuhswNAas0c-- --------------ms080503000703010207000603 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC DVkwggZrMIIEU6ADAgECAhEAyBUtTiNUdZfB9JbGc+7+6TANBgkqhkiG9w0BAQwFADBGMQsw CQYDVQQGEwJOTDEZMBcGA1UEChMQR0VBTlQgVmVyZW5pZ2luZzEcMBoGA1UEAxMTR0VBTlQg UGVyc29uYWwgQ0EgNDAeFw0yMTA4MDIwMDAwMDBaFw0yNDA4MDEyMzU5NTlaMIHgMQ8wDQYD VQQREwYxNjAgMDAxODA2BgNVBAoML0NFU05FVCwgesOham1vdsOpIHNkcnXFvmVuw60gcHLD oXZuaWNrw71jaCBvc29iMRYwFAYDVQQJEw0xOTAzLzQgWmlrb3ZhMR4wHAYDVQQIDBVQcmFo YSwgSGxhdm7DrSBtxJtzdG8xDjAMBgNVBAcTBVByYWhhMQswCQYDVQQGEwJDWjEWMBQGA1UE AxMNS2FtaWwgVm9qYW5lYzEmMCQGCSqGSIb3DQEJARYXa2FtaWwudm9qYW5lY0BjZXNuZXQu Y3owggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsiV+bv33Ez3cevO8nAI+Un2Bf bwJOZ1uu1UH4DhRnFjeV3Czd/JK89OLBNF9K0aneERWW0XwF+euYfRh4fMULo//2waNzW0H6 eM66SY1lD+7Bq69HXP75R2O/LO2GeIwSi3/7fNLqFvmjOvjLVMG/54tA09baluXP0m3Tm+eu 9jopebjLGm1i97MkiCaXkmUs/OiCEWHI4ZApMLaWk+SELJ9xfk8nHpwW/MkWO+XvV2Xw9qHY nHKcX1dmzGcfRc6mPGvxmif0YZlkl+IVY43OGVb6zbibdOIBoiQzamLqF1bKgQV6lXCREG5m c/sd7bJjpF8GGJIR5tfiVjy0RQmZAgMBAAGjggG3MIIBszAfBgNVHSMEGDAWgBRpAKHHIVj4 4MUbILAK3adRvxPZ5DAdBgNVHQ4EFgQUEQF21Op/KV9JlhtGziLyIXzCvo4wDgYDVR0PAQH/ BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMD8G A1UdIAQ4MDYwNAYLKwYBBAGyMQECAk8wJTAjBggrBgEFBQcCARYXaHR0cHM6Ly9zZWN0aWdv LmNvbS9DUFMwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL0dFQU5ULmNybC5zZWN0aWdvLmNv bS9HRUFOVFBlcnNvbmFsQ0E0LmNybDB4BggrBgEFBQcBAQRsMGowPQYIKwYBBQUHMAKGMWh0 dHA6Ly9HRUFOVC5jcnQuc2VjdGlnby5jb20vR0VBTlRQZXJzb25hbENBNC5jcnQwKQYIKwYB BQUHMAGGHWh0dHA6Ly9HRUFOVC5vY3NwLnNlY3RpZ28uY29tMDUGA1UdEQQuMCyBEXZvamFu ZWNAY2VzbmV0LmN6gRdrYW1pbC52b2phbmVjQGNlc25ldC5jejANBgkqhkiG9w0BAQwFAAOC AgEAr0d5PSevzSqExhc5gDn4yOMzu9QhNX1dcqGrVzgyActazkuuieKPxaLb1vrbRzLoRYQt e2BMYZoNrY3jvtGlu/CmBASACBOGkT5VwMxvE9Vtld0jIa3AAXKltPeZncPWFtn45eaYVoiQ 43spW6jfNapDu8FcFZI7laYeFjfphgc/tySr1i3K+UdFSaYYPboU9mphLQ3t1YNe1oIK/zUt 98W5S/4oY1xg2RUpfNA0NKgXLRhcljgYovp9fEUBWf/0IZfvTR9pgnSCyN4E408O06wtXvMR OyOt43jJP4SVN126v8MOgAWEtVa2bnfa4MwVNmO3phmO4n88esjy2WTelHEVsTPJUlAqwypg RplV5AogR8aM8U5sPqtJL1d+OfYgAsekYqDF84Wkww7yL6/CTiGh2JFINdMZfFLrqf4/mEbH TRHTBholAHFr+0k4XodlW9M9wZh3+bowuwVN6B1PPOTcf7Q2h3ai7kf1NYMDdtUCXcNVd1+A 0R/Pl0toh/CDXVw7MiAJhQb/DhuVtuOATzjZ1TOCA+ysa2XHc0kbWYTRG44isVKGX3Kx4Yfx qQi4Hf7SZ8XPRj5sNl3WZYhnr/bgypTk+ILlXBPGVRq/TFEVX2QrYzNBw+fUAzGw7+ekvljt PiKcZRYyV46g/uG1IH67FVzXV7bImMctxW1HjEcwggbmMIIEzqADAgECAhAxAnDUNb6bJJr4 VtDh4oVJMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEpl cnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0 d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe Fw0yMDAyMTgwMDAwMDBaFw0zMzA1MDEyMzU5NTlaMEYxCzAJBgNVBAYTAk5MMRkwFwYDVQQK ExBHRUFOVCBWZXJlbmlnaW5nMRwwGgYDVQQDExNHRUFOVCBQZXJzb25hbCBDQSA0MIICIjAN BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAs0riIl4nW+kEWxQENTIgFK600jFAxs1QwB6h RMqvnkphfy2Q3mKbM2otpELKlgE8/3AQPYBo7p7yeORuPMnAuA+oMGRb2wbeSaLcZbpwXgfC vnKxmq97/kQkOFX706F9O7/h0yehHhDjUdyMyT0zMs4AMBDRrAFn/b2vR3j0BSYgoQs16oSq adM3p+d0vvH/YrRMtOhkvGpLuzL8m+LTAQWvQJ92NwCyKiHspoP4mLPJvVpEpDMnpDbRUQdf tSpZzVKTNORvPrGPRLnJ0EEVCHR82LL6oz915WkrgeCY9ImuulBn4uVsd9ZpubCgM/EXvVBl ViKqusChSsZEn7juIsGIiDyaIhhLsd3amm8BS3bgK6AxdSMROND6hiHT182Lmf8C+gRHxQG9 McvG35uUvRu8v7bPZiJRaT7ZC2f50P4lTlnbLvWpXv5yv7hheO8bMXltiyLweLB+VNvg+Gnf L6TW3Aq1yF1yrZAZzR4MbpjTWdEdSLKvz8+0wCwscQ81nbDOwDt9vyZ+0eJXbRkWZiqScnwA g5/B1NUD4TrYlrI4n6zFp2pyYUOiuzP+as/AZnz63GvjFK69WODR2W/TK4D7VikEMhg18vhu Rf4hxnWZOy0vhfDR/g3aJbdsGac+diahjEwzyB+UKJOCyzvecG8bZ/u/U8PsEMZg07iIPi8C AwEAAaOCAYswggGHMB8GA1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQW BBRpAKHHIVj44MUbILAK3adRvxPZ5DAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB /wIBADAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwOAYDVR0gBDEwLzAtBgRVHSAA MCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFAGA1UdHwRJMEcwRaBD oEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9u QXV0aG9yaXR5LmNybDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQu dXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZ aHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEACgVOew2PHxM5 AP1v7GLGw+3tF6rjAcx43D9Hl110Q+BABABglkrPkES/VyMZsfuds8fcDGvGE3o5UfjSno4s ij0xdKut8zMazv8/4VMKPCA3EUS0tDUoL01ugDdqwlyXuYizeXyH2ICAQfXMtS+raz7mf741 CZvO50OxMUMxqljeRfVPDJQJNHOYi2pxuxgjKDYx4hdZ9G2o+oLlHhu5+anMDkE8g0tffjRK n8I1D1BmrDdWR/IdbBOj6870abYvqys1qYlPotv5N5dm+XxQ8vlrvY7+kfQaAYeO3rP1DM8B GdpEqyFVa+I0rpJPhaZkeWW7cImDQFerHW9bKzBrCC815a3WrEhNpxh72ZJZNs1HYJ+29NTB 6uu4NJjaMxpk+g2puNSm4b9uVjBbPO9V6sFSG+IBqE9ckX/1XjzJtY8Grqoo4SiRb6zcHhp3 mxj3oqWi8SKNohAOKnUc7RIP6ss1hqIFyv0xXZor4N9tnzD0Fo0JDIURjDPEgo5WTdti/MdG TmKFQNqxyZuT9uSI2Xvhz8p+4pCYkiZqpahZlHqMFxdw9XRZQgrP+cgtOkWEaiNkRBbvtvLd p7MCL2OsQhQEdEbUvDM9slzZXdI7NjJokVBq3O4pls3VD2z3L/bHVBe0rBERjyM2C/HSIh84 rfmAqBgklzIOqXhd+4RzadUxggM7MIIDNwIBATBbMEYxCzAJBgNVBAYTAk5MMRkwFwYDVQQK ExBHRUFOVCBWZXJlbmlnaW5nMRwwGgYDVQQDExNHRUFOVCBQZXJzb25hbCBDQSA0AhEAyBUt TiNUdZfB9JbGc+7+6TANBglghkgBZQMEAgEFAKCCAbEwGAYJKoZIhvcNAQkDMQsGCSqGSIb3 DQEHATAcBgkqhkiG9w0BCQUxDxcNMjIwODIzMDczMzU1WjAvBgkqhkiG9w0BCQQxIgQgNdS5 29cZmbiv9hGesBWGglQmUqG9HCRcU50rjsNAKwswagYJKwYBBAGCNxAEMV0wWzBGMQswCQYD VQQGEwJOTDEZMBcGA1UEChMQR0VBTlQgVmVyZW5pZ2luZzEcMBoGA1UEAxMTR0VBTlQgUGVy c29uYWwgQ0EgNAIRAMgVLU4jVHWXwfSWxnPu/ukwbAYJKoZIhvcNAQkPMV8wXTALBglghkgB ZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG 9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDBsBgsqhkiG9w0BCRACCzFdoFswRjEL MAkGA1UEBhMCTkwxGTAXBgNVBAoTEEdFQU5UIFZlcmVuaWdpbmcxHDAaBgNVBAMTE0dFQU5U IFBlcnNvbmFsIENBIDQCEQDIFS1OI1R1l8H0lsZz7v7pMA0GCSqGSIb3DQEBAQUABIIBAHJF W0ZJ7lctQu/ote+ZEYoBjYK1vaIVUTIufiroq724DWI3+fhdijPWgftHQFW7nU06xgf3WcB7 CcqUQCXLfnKWRQmZbzgCUwv8M2Yq8v+Qkd1f/5b65MZ6A0UcPslKSE5iezSXVqzNuwrM9eD9 rrtkpqDvuTq3WBMhFhE3+hdBbfQysr8d37MZeKqSybvMiaZhbMm4fUPb9vNfmupsiguD/I51 NHybd3bM/5sPI8KWk7FgQGsTn7DKBQSYqetdOTdByh3E/CUhO2rwN7GFAiy9Odfy9QhtT0Nc KHJCXyCvaEPQCKb9faJgsfOXx//5HFPThHdORVk8+0HRU4xTiKcAAAAAAAA= --------------ms080503000703010207000603--