lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 25 Mar 2022 09:15:30 -0400
From:   Willem de Bruijn <willemdebruijn.kernel@...il.com>
To:     Vladimir Oltean <olteanv@...il.com>
Cc:     Willem de Bruijn <willemdebruijn.kernel@...il.com>,
        netdev@...r.kernel.org, Paolo Abeni <pabeni@...hat.com>,
        Jakub Kicinski <kuba@...nel.org>,
        "David S. Miller" <davem@...emloft.net>
Subject: Re: Broken SOF_TIMESTAMPING_OPT_ID in linux-4.19.y and earlier stable branches

"

On Thu, Mar 24, 2022 at 5:43 PM Vladimir Oltean <olteanv@...il.com> wrote:
>
> Hello Willem,
>
> I have an application which makes use of SOF_TIMESTAMPING_OPT_ID, and I
> received reports from multiple users that all timestamps are delivered
> with a tskey of 0 for all stable kernel branches earlier than, and
> including, 4.19.
>
> I bisected this issue down to:
>
> | commit 8f932f762e7928d250e21006b00ff9b7718b0a64 (HEAD)
> | Author: Willem de Bruijn <willemb@...gle.com>
> | Date:   Mon Dec 17 12:24:00 2018 -0500
> |
> |     net: add missing SOF_TIMESTAMPING_OPT_ID support
> |
> |     SOF_TIMESTAMPING_OPT_ID is supported on TCP, UDP and RAW sockets.
> |     But it was missing on RAW with IPPROTO_IP, PF_PACKET and CAN.
> |
> |     Add skb_setup_tx_timestamp that configures both tx_flags and tskey
> |     for these paths that do not need corking or use bytestream keys.
> |
> |     Fixes: 09c2d251b707 ("net-timestamp: add key to disambiguate concurrent datagrams")
> |     Signed-off-by: Willem de Bruijn <willemb@...gle.com>
> |     Acked-by: Soheil Hassas Yeganeh <soheil@...gle.com>
> |     Signed-off-by: David S. Miller <davem@...emloft.net>
>
> and, interestingly, I found this discussion on the topic:
> https://www.spinics.net/lists/netdev/msg540752.html
> (copied here in case the link rots in the future)
>
> | > Series applied.
> | >
> | > What is your opinion about -stable for this?
> |
> | Thanks David. Since these are just missing features that no one has
> | reported as actually having been missing a whole lot, I don't think
> | that they are worth the effort or risk.
>
> So I have 2 questions:
>
> Is there a way for user space to validate functional kernel support for
> SOF_TIMESTAMPING_OPT_ID? What I'm noticing is that (at least with
> AF_PACKET sockets) the "level == SOL_PACKET && type == PACKET_TX_TIMESTAMP"
> cmsg is _not_ missing, but instead contains a valid sock_err->ee_data
> (tskey) of 0.

The commit only fixes missing OPT_ID support for PF_PACKET and various SOCK_RAW.

The cmsg structure returned for timestamps is the same regardless of
whether the option is set configured. It just uses an otherwise constant field.

On these kernels the feature is supported, and should work on TCP and UDP.
So a feature check would give the wrong answer.

> If it's not possible, could you please consider sending these fixes as
> patches to linux-stable?

The first of the two fixes

    fbfb2321e9509 ("ipv6: add missing tx timestamping on IPPROTO_RAW")

is in 4.19.y as of 4.19.99

The follow-on fix that you want

    8f932f762e79 ("net: add missing SOF_TIMESTAMPING_OPT_ID support")

applies cleanly to 4.19.236.

I think it's fine to cherry-pick. Not sure how to go about that.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ