|
|
Message-ID: <20190308225315.GE26605@port70.net>
Date: Fri, 8 Mar 2019 23:53:15 +0100
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Subject: Re: [PATCH 00/22] Updates for linux v4.19, v4.20 and v5.0
* Rich Felker <dalias@...c.org> [2019-03-08 15:32:45 -0500]:
> On Fri, Mar 08, 2019 at 12:12:51AM +0100, Szabolcs Nagy wrote:
> > From d8b15a06288dee0895bd6b51cbb81f3c696ba504 Mon Sep 17 00:00:00 2001
> > From: Szabolcs Nagy <nsz@...t70.net>
> > Date: Wed, 23 Jan 2019 20:06:12 +0000
> > Subject: [PATCH 10/22] netinet/in.h update following linux v4.20
> >
> > IN_BADCLASS and IN_EXPERIMENTAL are changed and new macros are added
> > for class-e addresses.
> >
> > linux commit 65cab850f0eeaa9180bd2e10a231964f33743edf
> > ---
> > include/netinet/in.h | 8 ++++++--
> > 1 file changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/netinet/in.h b/include/netinet/in.h
> > index 192679a6..2f87e33f 100644
> > --- a/include/netinet/in.h
> > +++ b/include/netinet/in.h
> > @@ -168,8 +168,12 @@ uint16_t ntohs(uint16_t);
> > #define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET)
> > #define IN_CLASSD(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xe0000000)
> > #define IN_MULTICAST(a) IN_CLASSD(a)
> > -#define IN_EXPERIMENTAL(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xe0000000)
> > -#define IN_BADCLASS(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xf0000000)
> > +#define IN_MULTICAST_NET 0xe0000000
> > +#define IN_BADCLASS(a) ((((in_addr_t)(a)) == 0xffffffff)
> > +#define IN_EXPERIMENTAL(a) IN_BADCLASS((a))
> > +#define IN_CLASSE(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xf0000000)
> > +#define IN_CLASSE_NET 0xffffffff
> > +#define IN_CLASSE_NSHIFT 0
>
> You've described these as Linux 4.20 additions, but they aren't
> specific to any Linux API or defined by Linux as far as I can tell.
> Rather, aren't they aligned with some change by IANA or something? The
> motivation for having them would not be that Linux made corresponding
> changes in kernel headers, but rather that they're the proper
> definitions for changes to a relevant network-related standard.
my idea was to enable users to use netinet/in.h instead
of linux/in.h, so new definitions added there are blindly
copied (i didn't fully understand the linux commit
message explaining why this change was useful, so yes this
may need some investigation)
> > From f06c03ef3ce4c21d15416e071d3a7e2bab40928a Mon Sep 17 00:00:00 2001
> > From: Szabolcs Nagy <nsz@...t70.net>
> > Date: Thu, 7 Mar 2019 21:53:48 +0000
> > Subject: [PATCH 21/22] sys/prctl.h: add PR_PAC_RESET_KEYS from linux v5.0
> >
> > aarch64 pointer authentication code related prctl that allows
> > reinitializing the key for the thread, added in linux commit
> > ba830885656414101b2f8ca88786524d4bb5e8c1
> > ---
> > include/sys/prctl.h | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/include/sys/prctl.h b/include/sys/prctl.h
> > index 07a3490b..4b6c8918 100644
> > --- a/include/sys/prctl.h
> > +++ b/include/sys/prctl.h
> > @@ -146,6 +146,13 @@ struct prctl_mm_map {
> > #define PR_SPEC_DISABLE (1UL << 2)
> > #define PR_SPEC_FORCE_DISABLE (1UL << 3)
> >
> > +#define PR_PAC_RESET_KEYS 54
> > +# define PR_PAC_APIAKEY (1UL << 0)
> > +# define PR_PAC_APIBKEY (1UL << 1)
> > +# define PR_PAC_APDAKEY (1UL << 2)
> > +# define PR_PAC_APDBKEY (1UL << 3)
> > +# define PR_PAC_APGAKEY (1UL << 4)
> > +
> > int prctl (int, ...);
>
> Is there a reason for this formatting? It's unlike anything we use
> elsewhere in the file or elsewhere in musl.
i just copied this format from the kernel, the prctl
option PR_PAC_RESET_KEYS takes a flags argument, so
i guess the indentation of the flag macros imply that
they belong to the option above, but indeed other
macros are not formatted this way, i can drop the space.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.