lkml.org 
[lkml]   [2014]   [Apr]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/5] Volatile Ranges (v12) & LSF-MM discussion fodder
    On 04/01/2014 09:03 PM, John Stultz wrote:
    >
    > So, maybe its best to ignore the fact that folks want to do semi-crazy
    > user-space faulting via SIGBUS. At least to start with. Lets look at the
    > semantic for the "normal" mark volatile, never touch the pages until you
    > mark non-volatile - basically where accessing volatile pages is similar
    > to a use-after-free bug.
    >
    > So, for the most part, I'd say the proposed SIGBUS semantics don't
    > complicate things for this basic use-case, at least when compared with
    > things like zero-fill. If an applications accidentally accessed a
    > purged volatile page, I think SIGBUS is the right thing to do. They most
    > likely immediately crash, but its better then them moving along with
    > silent corruption because they're mucking with zero-filled pages.
    >
    > So between zero-fill and SIGBUS, I think SIGBUS makes the most sense. If
    > you have a third option you're thinking of, I'd of course be interested
    > in hearing it.
    >

    People already do SIGBUS for mmap, so there is nothing new here.

    > Now... once you've chosen SIGBUS semantics, there will be folks who will
    > try to exploit the fact that we get SIGBUS on purged page access (at
    > least on the user-space side) and will try to access pages that are
    > volatile until they are purged and try to then handle the SIGBUS to fix
    > things up. Those folks exploiting that will have to be particularly
    > careful not to pass volatile data to the kernel, and if they do they'll
    > have to be smart enough to handle the EFAULT, etc. That's really all
    > their problem, because they're being clever. :)

    Yep.

    -hpa



    \
     
     \ /
      Last update: 2014-04-02 06:45    [W:4.088 / U:0.376 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site