Re: [PATCH] rdma: don't make pages writeable if not requiested

From: Michael S. Tsirkin
Date: Thu Mar 21 2013 - 15:15:29 EST

On Thu, Mar 21, 2013 at 12:41:35PM -0600, Jason Gunthorpe wrote:
> On Thu, Mar 21, 2013 at 08:16:33PM +0200, Michael S. Tsirkin wrote:
> > This is the one I find redundant. Since the write will be done by
> > the adaptor under direct control by the application, why does it
> > make sense to declare this beforehand? If you don't want to allow
> > local write access to memory, just do not post any receive WRs with
> > this address. If you posted and regret it, reset the QP to cancel.
> This is to support your COW scenario - the app declares before hand to
> the kernel that it will write to the memory and the kernel ensures
> pages are dedicated to the app at registration time. Or the app says
> it will only read and the kernel could leave them shared.

Someone here is confused. LOCAL_WRITE/absence of it does not address
COW, it breaks COW anyway. Are you now saying we should change rdma so
without LOCAL_WRITE it will not break COW?

> The adaptor enforces the access control to prevent a naughty app from
> writing to shared memory - think about mmap'ing and then using
> RDMA to write to the shared pages. It is necessary to ensure that is
> impossible.
> Jason

That's why it's redundant: we can't trust an application to tell us
'this page is writeable', we must get this info from kernel. And so
there's apparently no need for application to tell adaptor about

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at