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  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:   Thu, 28 Jun 2018 11:33:11 -0700
From:   Jesus Sanchez-Palencia <>
To:     Willem de Bruijn <>
Cc:     Network Development <>,
        Thomas Gleixner <>,,
        Vinicius Gomes <>,, Henrik Austad <>,
        Richard Cochran <>,
        Levi Pearson <>,,,
        Miroslav Lichvar <>,
        Willem de Bruijn <>,
        Jamal Hadi Salim <>,
        Cong Wang <>,
        Jiří Pírko <>,
        Richard Cochran <>
Subject: Re: [PATCH v1 net-next 02/14] net: Add a new socket option for a
 future transmit time.

Hi Willem,

On 06/28/2018 07:40 AM, Willem de Bruijn wrote:
> On Thu, Jun 28, 2018 at 10:26 AM Willem de Bruijn
> <> wrote:
>> On Wed, Jun 27, 2018 at 6:08 PM Jesus Sanchez-Palencia
>> <> wrote:
>>> From: Richard Cochran <>
>>> This patch introduces SO_TXTIME. User space enables this option in
>>> order to pass a desired future transmit time in a CMSG when calling
>>> sendmsg(2). The argument to this socket option is a 6-bytes long struct
>>> defined as:
>>> struct sock_txtime {
>>>         clockid_t       clockid;
>>>         u16             flags;
>>> };
>> clockid_t is __kernel_clockid_t is int is a variable length field.
>> Please use fixed length fields.
> Sorry, int is fine, of course, and clockid_t is used between userspace and
> kernel already.

Great. So, in addition to the other feedback in sock.c, what I'm thinking here
for the v2 is:

- move this struct to and the flags definition (as enums) to

- keep clockid as a clockid_t and increase flags to u32 since this already takes
8 bytes in total anyway;

- reduce sk_clockid and sk_txtime_flags from struct sock from a u16 to a u8 each.


>> Also, as MAX_CLOCKS is 16, only 4 bits are needed. A single u16
>> is probably sufficient as cmsg argument. To future proof, a u32 will
>> allow for more
>> than 4 flags. But in struct sock, 16 bits should be sufficient to
>> encode both clock id
>> and flags.

Powered by blists - more mailing lists