lkml.org 
[lkml]   [2017]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH for 4.15 09/14] Provide cpu_opv system call
    > A maximum limit of 16 operations per cpu_opv syscall invocation is
    > enforced, so user-space cannot generate a too long preempt-off critical
    > section.

    Except that all the operations could be going to mmapped I/O space and if
    I pick the right targets could take quite a long time to complete. It's
    still only 16 operations - But 160ms is a lot worse than 10ms. In fact
    with compare_iter I could make it much much worse still as I get 2 x
    TMP_BUFLEN x 16 x worst case latency in my attack. That's enough to screw
    up plenty of things.

    So it seems to me at minimum it needs to be restricted to genuine RAM user
    pages, and in fact would be far far simpler code as well if it were
    limited to a single page for a given invocation or if like futexes you
    had to specifically create a per_cpu_opv mapping.

    Alan

    \
     
     \ /
      Last update: 2017-10-13 15:58    [W:5.621 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site