From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.134]) by sourceware.org (Postfix) with ESMTPS id 1A1263844062 for ; Mon, 18 Jan 2021 20:10:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1A1263844062 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=technology.de Authentication-Results: sourceware.org; spf=none smtp.mailfrom=dimitrov@technology.de Received: from [192.168.5.114] ([88.66.220.67]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id 1M9Frj-1l5Bck0px1-006OYX; Mon, 18 Jan 2021 21:10:09 +0100 From: "Dr. Todor Dimitrov" Message-Id: <50B1F5BE-B5F2-4CDB-AF4D-9CE2181B118C@technology.de> Content-Type: multipart/signed; boundary="Apple-Mail=_06AF3D80-ED13-4B94-83B9-6E255CBB297E"; protocol="application/pkcs7-signature"; micalg=sha-256 Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\)) Subject: Re: Glibc 2.31 - time64 with 64-bit kernel and 32-bit userland Date: Mon, 18 Jan 2021 21:10:08 +0100 In-Reply-To: Cc: libc-help@sourceware.org To: Adhemerval Zanella References: <5FDBA7C2-79E2-4B21-98EF-800694DEB500@technology.de> X-Mailer: Apple Mail (2.3608.120.23.2.4) X-Provags-ID: V03:K1:esSaPXy9cNqxh00NYnaiJrd7y4sjPxt7LLPi5RYws4K1FuBOe8v DMZRPwH1CgX4DWn62Z4lIluN5o5bxc7cGkdCHrsYZBHjMSNcj0/OEnpz8B2dUFaOTzu7c2x ExCbYuhw+l87qcyP+qd0KHzTHzTU93TOBNtpj90reryOMdzanBnTiBu2WhyJu+fROOi1ClI 7O28xhamXNTyS8sL2EepQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:s9lBqdqDt+k=:/J2B88O/Gu4HDOVpDC28bv szaXP8IUllfy1SS6K73JafGDroeqbV8FLr8hU3nIbQJlk0QffaAQEjQdaA9KY4ZvNF5RWKTdW 8u/EmPLfQPlbbmgIWCBKPSKiO5NfZ4rcivhDf1clm1tSaSs8l4s9DgXaAU/mBmrD5dLo69Bqr krcEQqInhhIkpMrSSizJYPiPJoZGcDO74+llZp8zO298YVJiFH7gEil0+WVvefxrhRzUADit5 vMDccTYsgYVy1JLjNWvTXXPRmm7/bALRA24TpCwgj7Nwx+OUa9UOtLH7xgBM5OctALvzfhdGQ Df9Jb4vKFAIS3pehcc2IoaqA25uV/+X8wPWnWi5Ns6lYxU2lzls5fibgl1wRC/O6s8WUOarLP XDWxgH0dCq0zAM0MUd/6H245kYyIcTuExKjuipTINJqZ97SeUkMHdRn6IZ1pVAnMAtQMCRLdY EHSJdLdvKA== X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-help@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-help mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jan 2021 20:10:12 -0000 --Apple-Mail=_06AF3D80-ED13-4B94-83B9-6E255CBB297E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 OK, thank you for the detailed explanation. > On 18. Jan 2021, at 20:31, Adhemerval Zanella = wrote: >=20 >=20 >=20 > On 18/01/2021 14:43, Dr. Todor Dimitrov wrote: >> Hello, >>=20 >> we=E2=80=99ve recently updated an `aarch64` system to Glibc 2.31 and = we=E2=80=99ve started seeing a lot of failing 403 and 407 syscalls. The = kernel version is 4.1.52 and the userland is 32-bit. Looking at the = implementation of `__clock_gettime64`, it seems that we are hitting the = following problem: >>=20 >> /* Old 32-bit ABI with possible 64-bit time_t support. */ >> # ifdef __NR_clock_gettime64 >> /* Avoid issue a __NR_clock_gettime64 syscall on kernels that do not >> support 64-bit time_t. */ >> static int time64_support =3D 1; >> if (atomic_load_relaxed (&time64_support) !=3D 0) >> { >> # ifdef HAVE_CLOCK_GETTIME64_VSYSCALL >> r =3D INLINE_VSYSCALL (clock_gettime64, 2, clock_id, tp); >> # else >> r =3D INLINE_SYSCALL_CALL (clock_gettime64, clock_id, tp); >> # endif >> if (r =3D=3D 0 || errno !=3D ENOSYS) >> return r; >>=20 >> atomic_store_relaxed (&time64_support, 0); >> } >> # endif >>=20 >> `__NR_clock_gettime64` is defined for the 32-bit `arm` architecture = but not for `aarch64`. Is this a known issue? What would be the best way = to overcome it? >=20 > This is the expected behavior, running this small example: >=20 > -- > #include >=20 > int main (int argc, char *argv[]) > { > clock_gettime (CLOCK_REALTIME, &((struct timespec) {})); > clock_gettime (CLOCK_BOOTTIME, &((struct timespec) {})); > return 0; > } > -- >=20 > On a aarch64 kernel without 64-bit compat time_t support (4.12.13), > this is the generated syscalls: >=20 > -- > clock_gettime64(CLOCK_REALTIME, 0xfffebb58) =3D -1 ENOSYS (Function = not implemented) > clock_gettime(CLOCK_REALTIME, {tv_sec=3D1610997887, = tv_nsec=3D516302599}) =3D 0 > clock_gettime(CLOCK_BOOTTIME, {tv_sec=3D2750059, tv_nsec=3D271773400}) = =3D 0 > -- >=20 > The catch here the 64-bit kernel when running 32-bit userland will > use compat entrypoints to provide the expected kernel ABI. For kernel=20= > older than v5.1, it means that even if kernel is 64-bit and support=20 > 64-bit time_t, the 32-bit syscall entrypoints won't have 64-bit time_t > support. >=20 > The glibc Linux clock_gettime thus probes by first issuing the new > syscall with provides 64-bit time_t support and then falling back > to older in case kernel does not support it. >=20 > For clock_gettime and a some other handfull implementations, it would > incur in only one ENOSYS. However there are a bunch of = implementations > that do not have this optimization. --Apple-Mail=_06AF3D80-ED13-4B94-83B9-6E255CBB297E Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCCzEw ggUZMIIEAaADAgECAhBDsJhS2IsK8Ont5DUrgVscMA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQG EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50 aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIxMDEwNTAwMDAwMFoXDTIyMDEwNTIzNTk1 OVowJzElMCMGCSqGSIb3DQEJARYWZGltaXRyb3ZAdGVjaG5vbG9neS5kZTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBANJW6I1as/qNak7axrZdrpGxZB8TuLFXOzv9xxiXVzDtNznIAXiN QpEk1jblG6feDCj4zcP2xQZaOX9sFfcb/Pse1WksjYjE0VyJgOJGRcFDQ6X/VD4M3ZSEqC6oUOOS NYOciW1ZXzQ86tjCTuSTUMHKhj61MVC7UWc6ydIO2/xSo02ZLYbb/YL4+6d5Cu9Aa5YRqbddlwHB iWXYILFOHFarf7wxhkKyuaz0qWm5qgtCqkxvB4gZYs4rzJKcA8gvAQjkd6w83csqluAcmT4n4irw /IJDS7MaajTf0RQQ7UKlZQ+LswujsVv3nF1v5/HdP/fqjtloJ/66wMazTXiHYYUCAwEAAaOCAc8w ggHLMB8GA1UdIwQYMBaAFAnA8vwL2pTbX/4r36iZQs/J4K0AMB0GA1UdDgQWBBSlsoCw0tAqQxU1 TOz95kDbxwnUljAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEF BQcDBAYIKwYBBQUHAwIwQAYDVR0gBDkwNzA1BgwrBgEEAbIxAQIBAQEwJTAjBggrBgEFBQcCARYX aHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwWgYDVR0fBFMwUTBPoE2gS4ZJaHR0cDovL2NybC5zZWN0 aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNy bDCBigYIKwYBBQUHAQEEfjB8MFUGCCsGAQUFBzAChklodHRwOi8vY3J0LnNlY3RpZ28uY29tL1Nl Y3RpZ29SU0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWlsQ0EuY3J0MCMGCCsGAQUF BzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTAhBgNVHREEGjAYgRZkaW1pdHJvdkB0ZWNobm9s b2d5LmRlMA0GCSqGSIb3DQEBCwUAA4IBAQBBcCRtjxDnTGcBXXPzwVRNHoXSEGsljFh0HPZbhXxU ZH0h23mw2IYbaDS+ikPpyOzOLlmr8KxSVFc0b30egDFfhrT11nggbpxtjLsrWmR2mbgFIpevTFqn Ot3ZB43IBX7+UE/c+31V6eT5G8QcX55F2QVtO10ucDHJciADR7kXaf3Rnfwx4qIaQpxOm2dfn5Vc um2SC2k9Ws4hBSIyOK0snMaxYkW7JJR8MhZQU76rn5kLGiqk5g6Q5AIzGeYG/a+5G9/R1Ixg5aJB RsER+LqOueqHw5lDNlCzpHjk7kS2tUmtK7dC/uKkIrwVpdI5s9Fx9lwlCiLycCIaaUIE7ln9MIIG EDCCA/igAwIBAgIQTZQsENQ74JQJxYEtOisGTzANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UEBhMC VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwHhcNMTgxMTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBljELMAkGA1UEBhMC R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UE ChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGlj YXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AMo87ZQKQf/e+Ua56NY75tqSvysQTqoavIK9viYcKSoq0s2cUIE/bZQu85eoZ9X140qOTKl1HyLT JbazGl6nBEibivHbSuejQkq6uIgymiqvTcTlxZql19szfBxxo0Nm9l79L9S+TZNTEDygNfcXlkHK RhBhVFHdJDfqB6Mfi/Wlda43zYgo92yZOpCWjj2mz4tudN55/yE1+XvFnz5xsOFbme/SoY9WAa39 uJORHtbC0x7C7aYivToxuIkEQXaumf05Vcf4RgHs+Yd+mwSTManRy6XcCFJE6k/LHt3ndD3sA3If /JBz6OX2ZebtQdHnKav7Azf+bAhudg7PkFOTuRMCAwEAAaOCAWQwggFgMB8GA1UdIwQYMBaAFFN5 v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBQJwPL8C9qU21/+K9+omULPyeCtADAOBgNVHQ8B Af8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH AwQwEQYDVR0gBAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRy dXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2BggrBgEFBQcB AQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FB ZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkq hkiG9w0BAQwFAAOCAgEAQUR1AKs5whX13o6VbTJxaIwA3RfXehwQOJDI47G9FzGR87bjgrShfsbM IYdhqpFuSUKzPM1ZVPgNlT+9istp5UQNRsJiD4KLu+E2f102qxxvM3TEoGg65FWM89YN5yFTvSB5 PelcLGnCLwRfCX6iLPvGlh9j30lKzcT+mLO1NLGWMeK1w+vnKhav2VuQVHwpTf64ZNnXUF8p+5JJ pGtkUG/XfdJ5jR3YCq8H0OPZkNoVkDQ5CSSF8Co2AOlVEf32VBXglIrHQ3v9AAS0yPo4Xl1FdXqG Fe5TcDQSqXh3TbjugGnG+d9yZX3lB8bwc/Tn2FlIl7tPbDAL4jNdUNA7jGee+tAnTtlZ6bFz+CsW mCIb6j6lDFqkXVsp+3KyLTZGXq6F2nnBtN4t5jO3ZIj2gpIKHAYNBAWLG2Q2fG7Bt2tPC8BLC9WI M90gbMhAmtMGquITn/2fORdsNmaV3z/sPKuIn8DvdEhmWVfh0fyYeqxGlTw0RfwhBlakdYYrkDmd WC+XszE19GUi8K8plBNKcIvyg2omAdebrMIHiAHAOiczxX/aS5ABRVrNUDcjfvp4hYbDOO6qHcfz y/uY0fO5ssebmHQREJJA3PpSgdVnLernF6pthJrGkNDPeUI05svqw1o5A2HcNzLOpklhNwZ+4uWY LcAi14ACHuVvJsmzNicxggPEMIIDwAIBATCBqzCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1p dGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3Vy ZSBFbWFpbCBDQQIQQ7CYUtiLCvDp7eQ1K4FbHDANBglghkgBZQMEAgEFAKCCAekwGAYJKoZIhvcN AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjEwMTE4MjAxMDA4WjAvBgkqhkiG9w0B CQQxIgQgFSbFKwhM0zWGNafIYjPQmbFr205j8cTQRCH4fe/99eIwgbwGCSsGAQQBgjcQBDGBrjCB qzCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMH U2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBD bGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIQQ7CYUtiLCvDp7eQ1K4Fb HDCBvgYLKoZIhvcNAQkQAgsxga6ggaswgZYxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVy IE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE+ MDwGA1UEAxM1U2VjdGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1h aWwgQ0ECEEOwmFLYiwrw6e3kNSuBWxwwDQYJKoZIhvcNAQEBBQAEggEADcD/ciCqEtOkYJo/V2Xk FwuC00ZthZTVkUf9qyAffTk0RjEOOlXU1EkxlK0wYyUGnqB+XsE1TiGklif9I7czRYzXyZXa4Hw1 2P31FQf565NcgQd/ioeVzJe0WpBshZJhPnBxFNjRILaripCDK9PQBJ/X95zi7UgrBTcr03H41hy+ e42h/Jn8USkUW0GfnsiLQw17txiqLQOiQK50ZMwVWDX+KXMcMP7Q9Lt8s92rIkaJ53DMiFzjZ21/ +BJXn0uL9gd7N257iM8ootwNXYj/Lh1ANfT5Br0TCn5O9RSvBTdRJYP/9SixXOrhm8rm4ZlLlWL6 3aVATspPsAeKMys8uwAAAAAAAA== --Apple-Mail=_06AF3D80-ED13-4B94-83B9-6E255CBB297E--