lkml.org 
[lkml]   [2020]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH 1/9] kernel: add a PF_FORCE_COMPAT flag
    Date
    On 22/09/2020 10:23, Arnd Bergmann wrote:
    > On Tue, Sep 22, 2020 at 8:32 AM Pavel Begunkov <asml.silence@gmail.com> wrote:
    >> On 22/09/2020 03:58, Andy Lutomirski wrote:
    >>> On Mon, Sep 21, 2020 at 5:24 PM Pavel Begunkov <asml.silence@gmail.com> wrote:
    >>> I may be looking at a different kernel than you, but aren't you
    >>> preventing creating an io_uring regardless of whether SQPOLL is
    >>> requested?
    >>
    >> I diffed a not-saved file on a sleepy head, thanks for noticing.
    >> As you said, there should be an SQPOLL check.
    >>
    >> ...
    >> if (ctx->compat && (p->flags & IORING_SETUP_SQPOLL))
    >> goto err;
    >
    > Wouldn't that mean that now 32-bit containers behave differently
    > between compat and native execution?
    >
    > I think if you want to prevent 32-bit applications from using SQPOLL,
    > it needs to be done the same way on both to be consistent:

    The intention was to disable only compat not native 32-bit.

    >
    > if ((!IS_ENABLED(CONFIG_64BIT) || ctx->compat) &&
    > (p->flags & IORING_SETUP_SQPOLL))
    > goto err;
    >
    > I don't really see how taking away SQPOLL from 32-bit tasks is
    > any better than just preventing access to the known-broken files
    > as Al suggested, or adding the hack to make it work as in
    > Christoph's original patch.

    That's why I'm hoping that Christoph's work and the discussion will
    reach consensus, but the bug should be patched in the end. IMHO,
    it's a good and easy enough fallback option (temporal?).

    >
    > Can we expect all existing and future user space to have a sane
    > fallback when IORING_SETUP_SQPOLL fails?

    SQPOLL has a few differences with non-SQPOLL modes, but it's easy
    to convert between them. Anyway, SQPOLL is a privileged special
    case that's here for performance/latency reasons, I don't think
    there will be any non-accidental users of it.
    --
    Pavel Begunkov

    \
     
     \ /
      Last update: 2020-09-22 10:00    [W:2.584 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site