From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) by sourceware.org (Postfix) with ESMTPS id C28C1383A82B for ; Tue, 6 Jul 2021 13:06:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C28C1383A82B Received: by mail-pg1-x530.google.com with SMTP id 37so2577296pgq.0 for ; Tue, 06 Jul 2021 06:06:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=yWZkQYgBiUchu19RSmL2Io5dBNocPkbWwiRfUz7S+F8=; b=Tnb4v/zMeFg2RYPk8VuOTNwcX6sxXx8ZtOEXtBD4nTI2RvbVybBT6A3L/46jMh8725 8pO2dDu89lhYiX0GC3GvGlzPG8HJeH4IPhxHwBHe/mucgWShaYXmPhY1E4HhQFsb4u5/ v1arKZkQ4pGLhppTWHBecZ9cXBO9KjN7CsHjK41I+9edsLhgFydLniLnzy1luIJTkN57 ZzfueC3XwofguAdXFg4SHMxLFX7fY31rnvMu7sowrp59ifKzCoVt92nvVTEQmSHNI2/b qpwADqMuaEil1FUx1f+M1WgT/W8SoeCHYQooFvS/+DuayFeOYEgHTeS/Y1gvqKNhy1Yi Us6Q== X-Gm-Message-State: AOAM533xhRU1pRV/5xUhV4VlRX5OeqfoA69IR86evmdxV2VlkA77f52n tghqSqyuUsnvESc4njOzNQaxV63gxy+sSQ== X-Google-Smtp-Source: ABdhPJytBC0vEfds/CM8RoygwEWeh1cNHVDCGyKIN/sRjPP6vbuWoLqcrnnxkOMG/cKyqLCvkfp35A== X-Received: by 2002:aa7:8427:0:b029:314:a03e:9018 with SMTP id q7-20020aa784270000b0290314a03e9018mr19823446pfn.13.1625576789271; Tue, 06 Jul 2021 06:06:29 -0700 (PDT) Received: from [192.168.1.108] ([177.194.59.218]) by smtp.gmail.com with ESMTPSA id u21sm16054387pfh.163.2021.07.06.06.06.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 06 Jul 2021 06:06:28 -0700 (PDT) Subject: Re: [PATCH 3/7] linux: Use the expected size for SO_TIMESTAMP{NS} convertion To: Florian Weimer , Adhemerval Zanella via Libc-alpha References: <20210705183027.3804093-1-adhemerval.zanella@linaro.org> <20210705183027.3804093-4-adhemerval.zanella@linaro.org> <87pmvwk2l4.fsf@oldenburg.str.redhat.com> From: Adhemerval Zanella Message-ID: Date: Tue, 6 Jul 2021 10:06:26 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <87pmvwk2l4.fsf@oldenburg.str.redhat.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2021 13:06:32 -0000 On 05/07/2021 16:00, Florian Weimer wrote: > * Adhemerval Zanella via Libc-alpha: > >> Kernel returns 32-bit values for COMPAT_SO_TIMESTAMP{NS}_OLD, >> no 64-bit ones. > > “not 64-bit values”? Ack. > >> diff --git a/sysdeps/unix/sysv/linux/convert_scm_timestamps.c b/sysdeps/unix/sysv/linux/convert_scm_timestamps.c >> index 5af71847f5..2db5750f50 100644 >> --- a/sysdeps/unix/sysv/linux/convert_scm_timestamps.c >> +++ b/sysdeps/unix/sysv/linux/convert_scm_timestamps.c >> @@ -44,7 +44,8 @@ __convert_scm_timestamps (struct msghdr *msg, socklen_t msgsize) >> 'struct __kernel_sock_timeval' while for SO_TIMESTAMPNS_NEW is a >> 'struct __kernel_timespec'. In either case it is two uint64_t >> members. */ >> - uint64_t tvts[2]; >> + int64_t tvts[2]; >> + int32_t tmp; >> >> struct cmsghdr *cmsg, *last = NULL; >> int type = 0; >> @@ -69,7 +70,10 @@ __convert_scm_timestamps (struct msghdr *msg, socklen_t msgsize) >> >> /* fallthrough */ >> common: >> - memcpy (tvts, CMSG_DATA (cmsg), sizeof (tvts)); >> + memcpy (&tmp, CMSG_DATA (cmsg), sizeof (tmp)); >> + tvts[0] = tmp; >> + memcpy (&tmp, CMSG_DATA (cmsg) + sizeof (tmp), sizeof (tmp)); >> + tvts[1] = tmp; >> break; > > Maybe it's clearer to make tmp an array and use a single memcpy call? I agreed, I change it to your suggestion.