Thread (15 messages) 15 messages, 2 authors, 2017-08-16

Re: [PATCH v5 0/5] MAP_DIRECT and block-map-atomic files

From: Dan Williams <hidden>
Date: 2017-08-16 23:42:08
Also in: linux-fsdevel, linux-mm, linux-xfs, lkml, nvdimm

On Wed, Aug 16, 2017 at 12:44 AM, Dan Williams [off-list ref] wrote:
Changes since v4 [1]:
* Drop the new vma ->fs_flags field, it can be replaced by just checking
  ->vm_ops locally in the filesystem. This approach also allows
  non-MAP_DIRECT vmas to be vma_merge() capable since vmas with
  vm_ops->close() disable vma merging. (Jan)

* Drop the new ->fmmap() operation, instead convert all ->mmap()
  implementations tree-wide to take an extra 'map_flags' parameter.
  (Jan)

* Drop the cute (MAP_SHARED|MAP_PRIVATE) hack/mechanism to add new
  validated flags mmap(2) and instead just define a new mmap syscall
  variant (sys_mmap_pgoff_strict). (Andy)

* Fix the fact that MAP_PRIVATE|MAP_DIRECT would silently fallback to
  MAP_SHARED (addressed by the new syscall). (Kirill)

* Require CAP_LINUX_IMMUTABLE for MAP_DIRECT to close any unforeseen
  denial of service for unmanaged + unprivileged MAP_DIRECT usage.
  (Kirill)

* Switch MAP_DIRECT fault failures to SIGBUS (Kirill)

* Add an fcntl mechanism to allow an unprivileged process to use
  MAP_DIRECT on an fd setup by a privileged process.

* Rework the MAP_DIRECT description to allow for future hardware where
  it may not be required to software-pin the file offset to physical
  address relationship.

Given the tree-wide touches in this revision the patchset is starting to
feel more like -mm material than strictly xfs.

[1]: https://lkml.org/lkml/2017/8/15/39
For easier testing / evaluation of these patches I went ahead and
rebased them to v4.13-rc5, fixed up 0-day reports from the ->mmap()
conversion, and published a for-4.14/map-direct branch here:

    https://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm.git/log/?h=for-4.14/map-direct

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help