Re: [PATCH 28/32] selinux: Use mem_to_flex_dup() with xfrm and sidtab

Paul Moore
2022-05-05T03:15:04Z

On Wed, May 4, 2022 at 7:34 PM Gustavo A. R. Silva
<gustavoars@kernel.org> wrote:
>
> Hi Paul,
>
> On Wed, May 04, 2022 at 06:57:28PM -0400, Paul Moore wrote:
> > On Tue, May 3, 2022 at 9:57 PM Kees Cook <keescook@chromium.org> wrote:
>
> [..]
>
> > > +++ b/include/uapi/linux/xfrm.h
> > > @@ -31,9 +31,9 @@ struct xfrm_id {
> > > struct xfrm_sec_ctx {
> > > __u8 ctx_doi;
> > > __u8 ctx_alg;
> > > - __u16 ctx_len;
> > > + __DECLARE_FLEX_ARRAY_ELEMENTS_COUNT(__u16, ctx_len);
> > > __u32 ctx_sid;
> > > - char ctx_str[0];
> > > + __DECLARE_FLEX_ARRAY_ELEMENTS(char, ctx_str);
> > > };
> >
> > While I like the idea of this in principle, I'd like to hear about the
> > testing you've done on these patches. A previous flex array
> > conversion in the audit uapi headers ended up causing a problem with
>
> I'm curious about which commit caused those problems...?

Commit ed98ea2128b6 ("audit: replace zero-length array with
flexible-array member"), however, as I said earlier, the problem was
actually with SWIG, it just happened to be triggered by the kernel
commit. There was a brief fedora-devel mail thread about the problem,
see the link below:

* https://www.spinics.net/lists/fedora-devel/msg297991.html

To reiterate, I'm supportive of changes like this, but I would like to
hear how it was tested to ensure there are no unexpected problems with
userspace. If there are userspace problems it doesn't mean we can't
make changes like this, it just means we need to ensure that the
userspace issues are resolved first.

--
paul-moore.com