From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2065.outbound.protection.outlook.com [40.107.21.65]) by sourceware.org (Postfix) with ESMTPS id 75C873858D1E for ; Fri, 30 Sep 2022 11:06:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 75C873858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=P5qXSXJQP/JGUaGOw4XO/5+nF7IEpyQK6ATP+cIqB5iXrd6GjQVFwPhUAUZBn8fsm+XHjfhcZ6dAkQi+En2OLx+YeL6ruLKA7knqs/pA4kXG0f1RVymyqbLMF6nzDqYCLl6Vg1RNh4mbX8kdh6UOZRTuNFsmadBCjX5y705lfqVEgr17VTbqr4/MCojVB8lmYtr89TknjKxBdyaiMkv9FdMQ87EwRhCD1qPn/l/O4pHjBQIysJMnqBIGH8SpYvgJ0oM0CLntREOxax6Fu8mBTJ180aG+ZVn6EPiq+/Wonis2pT5MA8QavqViXL1dx+PDuRm4+Dk6aqDkGsBEzjCk/w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CwseTvil7Fz6GEZqagjRojqFN+bB5mBzj/7okePsVbM=; b=OdpK8gWyCJA2cya3xzavgKuBoRZLY78MGQRmUP7Ozf5rfzOLQMcEEDpUoTSSwy0QfgGBKhAQ+t798EidzeKNY9Tx+AbAQbyZQKf8zcOSoOqhcp9Ucd3b7RpVn5ZLa8TePleNlLU0uVGpCM9lQHLrfcw48TxTRg9bINjdjRD8WgNTjBZQ+R53iVJcGe6nMtY0K3OFE5O6NfDVo4qEqkeZnA3lnhcmt90cQw8lz0B7bCB4sUfsmZUCW4bamJCVklN7Ei0+k2PN0UWiqlI1uKZdiTZJ/XmUNIp3uXzkm2JKDpzeAPAWyFZKZUhssU1gLrSFfkU9Z8oHQJoz5axd+sPqkA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CwseTvil7Fz6GEZqagjRojqFN+bB5mBzj/7okePsVbM=; b=fANR76NkKpvo6Yt77o2MsdQxwQn5I43m5yDsLhc61qDTg3WP/fYFkI9azs6EcRt85kuNek7shWG73IfG3z9JFkqHQhOQs1zan6QiGZWiBF+FYY8TtArIMhJ6dJ77eBKxUzUPIjQEVUxnezGMQ54fHlxP8dmWDY2O8p8zu7RAWtQ= Received: from FR3P281CA0017.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::20) by AM8PR08MB6372.eurprd08.prod.outlook.com (2603:10a6:20b:369::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Fri, 30 Sep 2022 11:06:02 +0000 Received: from VE1EUR03FT031.eop-EUR03.prod.protection.outlook.com (2603:10a6:d10:1d:cafe::a7) by FR3P281CA0017.outlook.office365.com (2603:10a6:d10:1d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23 via Frontend Transport; Fri, 30 Sep 2022 11:06:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT031.mail.protection.outlook.com (10.152.18.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.17 via Frontend Transport; Fri, 30 Sep 2022 11:06:02 +0000 Received: ("Tessian outbound 7e4a920b87c0:v128"); Fri, 30 Sep 2022 11:06:02 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 3345fbeacfb60c89 X-CR-MTA-TID: 64aa7808 Received: from 3e540087efd0.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 31C487CA-AF36-4024-B86A-1E3909D0A8D3.1; Fri, 30 Sep 2022 11:05:54 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3e540087efd0.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 30 Sep 2022 11:05:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GzBbfKRD8JG92eLIPtIDIaJulPVFEWJ+6yBV1GZfs5eE8uktBWQvkE7YbjueqxizkXYV3/5gqh80+lz5HjmGCgBLxRGEUIidPYa6J2FuvSTJItSda1MsUvKhzg0bX2wvanJqAkoMIqPDTztCoc39cfYZ6DJX0m8SagNhy5jmHVE9bg4d72whbL/4FciJOx0h2PkS0NDOrJAeJt+EBORxlcuVDo4cg+6a6Gxs3qT5lpKNvPyyqOuqKx+0qEqsZqx+Y3+XB9/d8VqMXM7j5LB1EXiRuAHGj+cMs9sq6+cQrNqSSKMQ31UTVgtb9aVaIAqQpPxGpLqK618dDYQb8U1Rqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CwseTvil7Fz6GEZqagjRojqFN+bB5mBzj/7okePsVbM=; b=C6uxTUwam2jJrpZ8NZJeqJF5ecTX6+D5szg9z+r230kF/NIxYZR1lPTCtF8ygilKwG7H7TB4AkQmHK6q4k+eHEtF671vb/YiEQuEu3hAfcjj64OEmX58MoSvHdVq8npnB8/W+lLfnCdy2JcD+OulGtstoK7+/x1OCPtSBP/Helmn0G6Vip3LhV1Og+X0c66UTJJamfHreaZSAWOTn5lQr9W26ThymN7GSzjEIF/KHh9Hx3XCVkpgUB7Qh7uBJeZb22061c5n47km9JTvZ5h6Si3qgrrrRVHbTiCw6xidO6og2CKjKG18teC27vtD+FTlKhgbsZzoEgsOhrfMErzTTQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CwseTvil7Fz6GEZqagjRojqFN+bB5mBzj/7okePsVbM=; b=fANR76NkKpvo6Yt77o2MsdQxwQn5I43m5yDsLhc61qDTg3WP/fYFkI9azs6EcRt85kuNek7shWG73IfG3z9JFkqHQhOQs1zan6QiGZWiBF+FYY8TtArIMhJ6dJ77eBKxUzUPIjQEVUxnezGMQ54fHlxP8dmWDY2O8p8zu7RAWtQ= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) by DU0PR08MB8495.eurprd08.prod.outlook.com (2603:10a6:10:404::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.20; Fri, 30 Sep 2022 11:05:53 +0000 Received: from DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::d5df:4125:b701:4cd4]) by DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::d5df:4125:b701:4cd4%7]) with mapi id 15.20.5676.023; Fri, 30 Sep 2022 11:05:53 +0000 Date: Fri, 30 Sep 2022 12:05:39 +0100 From: Szabolcs Nagy To: Adhemerval Zanella , Florian Weimer , libc-alpha@sourceware.org Subject: Re: [PATCH v5 2/3] linux: Fix ancillary 64-bit time timestamp conversion (BZ #28349, BZ#28350) Message-ID: References: <20220127201542.2306657-1-adhemerval.zanella@linaro.org> <20220127201542.2306657-3-adhemerval.zanella@linaro.org> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO4P265CA0008.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ad::16) To DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR08MB7179:EE_|DU0PR08MB8495:EE_|VE1EUR03FT031:EE_|AM8PR08MB6372:EE_ X-MS-Office365-Filtering-Correlation-Id: b71cd67f-70d7-4683-88cd-08daa2d3c369 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 2x07Q8Sqd2a3IBAsXSynKkijvmJGXmp0KvSaV7d3OSlVYWPZ4O0QMq5/0PMoeu1Ee+vmN/zJCUXKGatyrAMzWd3DAtwoaqo8QZiAmFdIBEQaU9NFfKm88VOLe3rNK+PrGL4uvPN1cnz59Ji1zr6kI+4Q55QBySURYTckzxu4rRBL/uiS6QaBnraRmoPEOqT397VqsiomRrh9NeKlg8uj4GDtnvBxaykk7ETdgWwD+f9o3faI5DiOeI50H2Ib3JrWirrvNsb2R2oyE1606Yq74/oFJej9lQtzS5zdaoG1G+J4ZZRxYPVF6OVI9QuQoOY45Ikvg/NLE9ghdyjVxAkFlVcvAgRJJutkDE44XM12zobLSynAbhlx24mFxZIfV1FyH4BHtEHlC4kXP/6hT1nlIb79MQJAxWrV5Bk5V5fNMElKpkUewVWq51ukKYiW0esC6IKef09Tt+7eGhDD3dvFyQzbempw8ZDUG+iyvg6noEQVL+x5d+bh33EjYFUPA9ODXi09KoOl5LwOz9dCMJ1sGeJddZ03IqSfUiPhGmTObYLItAJdwAenS2ddLlPm0wLjMK6D31KV3U71RJWo/wS5sLZKyiz+48qUi7jjXIHjBU0ocNdhufHIpLWH3AGKdI/5hyE3J/CpG83NQ01W1yuQDKzuAso06/dpSk+/h51tukuLo3EUo/XMc0h2ZavE1QR7NaTCiqcHJXSXxhrHVKxE00rvVZRn9QkRxnNraUYK46/FuZhCHO/tv8P95oLcV5S7 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB7179.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(376002)(366004)(346002)(396003)(451199015)(36756003)(38100700002)(44832011)(8936002)(110136005)(186003)(83380400001)(2616005)(86362001)(478600001)(6666004)(8676002)(6506007)(6512007)(26005)(316002)(6486002)(66556008)(66946007)(66476007)(2906002)(5660300002)(41300700001)(67856001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8495 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT031.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: d03bd13e-b134-4eeb-1870-08daa2d3bd62 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KocnHCz25uj7SnwTvV3Begc2cb5ghCpeoailseToPnWEi2KDymx05xVTlQSBbV5SrO3smLsrFlVOQ/sLwo2fTbRrYLGeXIgBKnwLjYJ1ie1pYAMcmD5X7qnFDkY5u6puDY8jQzLUtDx8hK5pzAi8jBJyVgOcCgA2xthG73X8EUHud+BnIw54u0/CahlP5c5BUC1g99fRNFpWaI2fTEUUzWEnUTSn/yGdrn8RdwASYdrH0AKt9Ekjm8wP8z93EaaVvsdOvEa5ahN9F9NaqW3mkYtZNZ/jjJ3mipw4vT4zQNbbBwV16wJWIeGhzm9oC4rp0UEQ2QkORcXqEWiGekxtVDzoffYpiR5u8EmAQF8T6/IUjC9ZrICxhuWEVWckQFMNzbnayep7iat5KgNWCVyQ5Y5/JB0gwXlq3za/CRVqhVUpzf5dX4msu2I4OJ/qeIKp7do7wvn3XuHlqKZC+X5YAffW969usQOXMsX2LmQYStsXk0yC0WNorTMyHg2Qx23KhPgTaOuwoB5xqmG7aueCIGlI0htBkW72LzoSHWq22ULupj/rLrTGKK5zw8+PpLAnaaz/u5G+mjnIJwQffjs4XzBqTMCZTH8t1b5D2hqWu6uFkYl168OCZrLT2PCaQ9lMXDyidNwkTRxniB59rsxXL2m0go2w0GOfDAyZ6714A+4xzcWgB1sa0vDKebyjXfJ30/ZqQkeGAPL8+gsdvC2AyS0YOCMrA2sQdMntDjw36bL7VVsBmbm8nQ/aSlRAt0NdjUI54sRO0O2UhvEDk09k0j7okE0RkI2skgFV9XU0dko= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(39860400002)(136003)(376002)(451199015)(40470700004)(46966006)(36840700001)(8936002)(36860700001)(5660300002)(2906002)(83380400001)(41300700001)(82740400003)(70586007)(70206006)(8676002)(186003)(36756003)(2616005)(82310400005)(26005)(44832011)(6512007)(6506007)(40480700001)(356005)(316002)(110136005)(478600001)(6486002)(6666004)(86362001)(47076005)(336012)(81166007)(40460700003)(67856001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2022 11:06:02.5525 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b71cd67f-70d7-4683-88cd-08daa2d3c369 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT031.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6372 X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: The 09/30/2022 11:47, Szabolcs Nagy via Libc-alpha wrote: > The 01/27/2022 17:15, Adhemerval Zanella via Libc-alpha wrote: > > The __convert_scm_timestamps only updates the control message last > > pointer for SOL_SOCKET type, so if the message control buffer contains > > multiple ancillary message types the converted timestamp one might > > overwrite a valid message. > > > > The test checks if the extra ancillary space is correctly handled > > by recvmsg/recvmmsg, where if there is no extra space for the 64-bit > > time_t converted message the control buffer should be marked with > > MSG_TRUNC. It also check if recvmsg/recvmmsg handle correctly multiple > > ancillary data. > > > > Checked on x86_64-linux and on i686-linux-gnu on both 5.11 and > > 4.15 kernel. > > > > Co-authored-by: Fabian Vogt > > note: the time64 recvmsg test started to fail on 32bit > arm after i updated my aarch64 kernel to 5.18 sorry the kernel is Linux 8a7948402d35 5.15.0-48-generic #54~20.04.1-Ubuntu SMP Thu Sep 1 16:20:53 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux > > FAIL: socket/tst-socket-timestamp-time64 > > ../sysdeps/unix/sysv/linux/tst-socket-timestamp.c:136: numeric comparison failure > left: 0 (0x0); from: timestamp > right: 1 (0x1); from: exp_timestamp > > > > +static void > > +do_recvmsg_slack_ancillary (bool use_multi_call, int s, void *cmsg, > > + size_t slack, size_t tsize, int exp_payload) > > +{ > > + int payload; > > + struct iovec iov = > > + { > > + .iov_base = &payload, > > + .iov_len = sizeof (payload) > > + }; > > + size_t msg_controllen = CMSG_SPACE (tsize) + slack; > > + char *msg_control = cmsg - msg_controllen; > > + memset (msg_control, 0x55, msg_controllen); > > + struct mmsghdr mmhdr = > > + { > > + .msg_hdr = > > + { > > + .msg_name = NULL, > > + .msg_namelen = 0, > > + .msg_iov = &iov, > > + .msg_iovlen = 1, > > + .msg_control = msg_control, > > + .msg_controllen = msg_controllen > > + }, > > + }; > > + > > + int r; > > + if (use_multi_call) > > + { > > + r = recvmmsg (s, &mmhdr, 1, 0, NULL); > > + if (r >= 0) > > + r = mmhdr.msg_len; > > + } > > + else > > + r = recvmsg (s, &mmhdr.msg_hdr, 0); > > + TEST_COMPARE (r, sizeof (int)); > > + TEST_COMPARE (payload, exp_payload); > > + > > + if (cmsg == NULL) > > + return; > > + > > + /* A timestamp is expected if 32-bit timestamp are used (support in every > > + configuration) or if underlying kernel support 64-bit timestamps. > > + Otherwise recvmsg will need extra space do add the 64-bit timestamp. */ > > + bool exp_timestamp; > > + if (sizeof (time_t) == 4 || support_64_timestamp) > > + exp_timestamp = true; > > + else > > + exp_timestamp = slack >= CMSG_SPACE (tsize); > > + > > + bool timestamp = false; > > + for (struct cmsghdr *cmsg = CMSG_FIRSTHDR (&mmhdr.msg_hdr); > > + cmsg != NULL; > > + cmsg = CMSG_NXTHDR (&mmhdr.msg_hdr, cmsg)) > > + { > > + if (cmsg->cmsg_level != SOL_SOCKET) > > + continue; > > + if (cmsg->cmsg_type == SCM_TIMESTAMP > > + && cmsg->cmsg_len == CMSG_LEN (sizeof (struct timeval))) > > > in strace i see > > recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\0\0\0", iov_len=4}], msg_iovlen=1, msg_control=[{cmsg_len=20, cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMP, cmsg_data={tv_sec=1664533412, tv_usec=56794}}], msg_controllen=20, msg_flags=0}, 0) = 4 > > i.e. cmsg->cmsg_len == 20, but CMSG_LEN (sizeof (struct timeval)) is 28. > > in the loop sometimes i also see a second cmsg where > cmsg->cmsg_type == SO_TIMESTAMP_NEW and cmsg->cmsg_len == 28, > but then the type does not match. > > same behaviour with recvmmsg_time64 (but my strace is too > old to show that). > > not sure how to debug this further. > > > + { > > + struct timeval tv; > > + memcpy (&tv, CMSG_DATA (cmsg), sizeof (tv)); > > + if (test_verbose) > > + printf ("SCM_TIMESTAMP: {%jd, %jd}\n", (intmax_t)tv.tv_sec, > > + (intmax_t)tv.tv_usec); > > + timestamp = true; > > + } > > + else if (cmsg->cmsg_type == SCM_TIMESTAMPNS > > + && cmsg->cmsg_len == CMSG_LEN (sizeof (struct timespec))) > > + { > > + struct timespec ts; > > + memcpy (&ts, CMSG_DATA (cmsg), sizeof (ts)); > > + if (test_verbose) > > + printf ("SCM_TIMESTAMPNS: {%jd, %jd}\n", (intmax_t)ts.tv_sec, > > + (intmax_t)ts.tv_nsec); > > + timestamp = true; > > + } > > + } > > + > > + TEST_COMPARE (timestamp, exp_timestamp); > > this fails with false != true.