All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <fc8f2af7-9fc2-cb55-3065-75a4060b7c82@amd.com>

diff --git a/a/1.1.hdr b/a/1.1.hdr
deleted file mode 100644
index 0313c25..0000000
--- a/a/1.1.hdr
+++ /dev/null
@@ -1,2 +0,0 @@
-Content-Type: text/plain; charset=utf-8; format=flowed
-Content-Transfer-Encoding: 8bit
diff --git a/a/1.2.hdr b/a/1.2.hdr
deleted file mode 100644
index 432d92c..0000000
--- a/a/1.2.hdr
+++ /dev/null
@@ -1,2 +0,0 @@
-Content-Type: text/html; charset=utf-8
-Content-Transfer-Encoding: 8bit
diff --git a/a/1.1.txt b/N1/1.txt
similarity index 100%
rename from a/1.1.txt
rename to N1/1.txt
diff --git a/a/1.2.bin b/N1/2.bin
similarity index 100%
rename from a/1.2.bin
rename to N1/2.bin
diff --git a/a/2.hdr b/N1/2.hdr
index 4b86001..6fa471c 100644
--- a/a/2.hdr
+++ b/N1/2.hdr
@@ -1,4 +1,2 @@
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
+Content-Type: text/html; charset=utf-8
+Content-Transfer-Encoding: quoted-printable
diff --git a/a/2.txt b/a/2.txt
deleted file mode 100644
index 3b3a377..0000000
--- a/a/2.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-_______________________________________________
-dri-devel mailing list
-dri-devel@lists.freedesktop.org
-https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/a/content_digest b/N1/content_digest
index cb3c621..dff0e63 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -14,7 +14,7 @@
   linaro-mm-sig@lists.linaro.org
   linux-kernel@vger.kernel.org
  " linux-mm@kvack.org\0"
- "\02:1.1\0"
+ "\01:1\0"
  "b\0"
  "Am 16.09.20 um 11:53 schrieb Daniel Vetter:\n"
  "> On Mon, Sep 14, 2020 at 08:26:47PM +0200, Christian K\303\266nig wrote:\n"
@@ -121,175 +121,169 @@
  ">> Christian.\n"
  ">>\n"
  >>> Jason
- "\02:1.2\0"
- "b\0"
- "<html><head>\n"
- "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n"
- "  </head>\n"
- "  <body>\n"
- "    <div class=\"moz-cite-prefix\">Am 16.09.20 um 11:53 schrieb Daniel\n"
- "      Vetter:<br>\n"
- "    </div>\n"
- "    <blockquote type=\"cite\" cite=\"mid:20200916095359.GD438822@phenom.ffwll.local\">\n"
- "      <pre class=\"moz-quote-pre\" wrap=\"\">On Mon, Sep 14, 2020 at 08:26:47PM +0200, Christian K\303\266nig wrote:\n"
- "</pre>\n"
- "      <blockquote type=\"cite\">\n"
- "        <pre class=\"moz-quote-pre\" wrap=\"\">Am 14.09.20 um 16:06 schrieb Jason Gunthorpe:\n"
- "</pre>\n"
- "        <blockquote type=\"cite\">\n"
- "          <pre class=\"moz-quote-pre\" wrap=\"\">On Mon, Sep 14, 2020 at 03:30:47PM +0200, Christian K\303\266nig wrote:\n"
- "</pre>\n"
- "          <blockquote type=\"cite\">\n"
- "            <pre class=\"moz-quote-pre\" wrap=\"\">Am 14.09.20 um 15:29 schrieb Christian K\303\266nig:\n"
- "</pre>\n"
- "            <blockquote type=\"cite\">\n"
- "              <pre class=\"moz-quote-pre\" wrap=\"\">Hi Andrew,\n"
- "\n"
- "I'm the new DMA-buf maintainer and Daniel and others came up with\n"
- "patches extending the use of the dma_buf_mmap() function.\n"
- "\n"
- "Now this function is doing something a bit odd by changing the\n"
- "vma-&gt;vm_file while installing a VMA in the mmap() system call\n"
- "</pre>\n"
- "            </blockquote>\n"
- "          </blockquote>\n"
- "          <pre class=\"moz-quote-pre\" wrap=\"\">It doesn't look obviously safe as mmap_region() has an interesting mix\n"
- "of file and vma-&gt;file\n"
- "\n"
- "Eg it calls mapping_unmap_writable() using both routes\n"
- "</pre>\n"
- "        </blockquote>\n"
- "        <pre class=\"moz-quote-pre\" wrap=\"\">\n"
- "Thanks for the hint, going to take a look at that code tomorrow.\n"
- "\n"
- "</pre>\n"
- "        <blockquote type=\"cite\">\n"
- "          <pre class=\"moz-quote-pre\" wrap=\"\">What about security? Is it OK that some other random file, maybe in\n"
- "another process, is being linked to this mmap?\n"
- "</pre>\n"
- "        </blockquote>\n"
- "        <pre class=\"moz-quote-pre\" wrap=\"\">\n"
- "Good question, I have no idea. That's why I send out this mail.\n"
- "\n"
- "</pre>\n"
- "        <blockquote type=\"cite\">\n"
- "          <blockquote type=\"cite\">\n"
- "            <blockquote type=\"cite\">\n"
- "              <pre class=\"moz-quote-pre\" wrap=\"\">The background here is that DMA-buf allows device drivers to\n"
- "export buffer which are then imported into another device\n"
- "driver. The mmap() handler of the importing device driver then\n"
- "find that the pgoff belongs to the exporting device and so\n"
- "redirects the mmap() call there.\n"
- "</pre>\n"
- "            </blockquote>\n"
- "          </blockquote>\n"
- "          <pre class=\"moz-quote-pre\" wrap=\"\">So the pgoff is some virtualized thing?\n"
- "</pre>\n"
- "        </blockquote>\n"
- "        <pre class=\"moz-quote-pre\" wrap=\"\">\n"
- "Yes, absolutely.\n"
- "</pre>\n"
- "      </blockquote>\n"
- "      <pre class=\"moz-quote-pre\" wrap=\"\">\n"
- "Maybe notch more context. Conceptually the buffer objects we use to manage\n"
- "gpu memory are all stand-alone objects, internally refcounted and\n"
- "everything. And if you export them as a dma-buf, then they are indeed\n"
- "stand-alone file descriptors like any other.\n"
- "\n"
- "But within the driver, we generally need thousands of these, and that\n"
- "tends to bring fd exhaustion problems with it. That's why all the private\n"
- "buffer objects which aren't shared with other process or other drivers are\n"
- "handles only valid for a specific fd instance of the drm chardev (each\n"
- "open gets their own namespace), and only for ioctls done on that chardev.\n"
- "And for mmap we assign fake (but unique across all open fd on it) offsets\n"
- "within the overall chardev. Hence all the pgoff mangling and re-mangling.\n"
- "\n"
- "Now for unmap_mapping_range we'd like it to find all such fake offset\n"
- "aliases pointing at the one underlying buffer object:\n"
- "- mmap on the dma-buf fd, at offset 0\n"
- "- mmap on the drm chardev where the buffer was originally allocated, at some unique offset\n"
- "- mmap on the drm chardev where the buffer was imported, again at some\n"
- "  (likely) different unique (for that chardev) offset.\n"
- "\n"
- "So to make unmap_mapping_range work across the entire delegation change\n"
- "we'd actually need to change the vma-&gt;vma_file and pgoff twice:\n"
- "- once when forwarding from the importing drm chardev to the dma-buf\n"
- "- once when forwarding from the dma-buf to the exported drm chardev fake\n"
- "  offset, which (mostly for historical reasons) is considered the\n"
- "  canonical fake offset\n"
- "\n"
- "We can't really do the delegation in userspace because:\n"
- "- the importer might not have access to the exporters drm chardev, it only\n"
- "  gets the dma-buf. If we'd give it the underlying drm chardev it could do\n"
- "  stuff like issue rendering commands, breaking the access model.\n"
- "- the dma-buf fd is only used to establish the sharing, once it's imported\n"
- "  everywhere it generally gets closed. Userspace could re-export it and\n"
- "  then call mmap on that, but feels a bit contrived.\n"
- "- especially on SoC platforms this has already become uapi. It's not a big\n"
- "  problem because the drivers that really need unmap_mapping_range to work\n"
- "  are the big gpu drivers with discrete vram, where mappings need to be\n"
- "  invalidate when moving buffer objects in/out of vram.\n"
- "\n"
- "Hence why we'd like to be able to forward aliasing mappings and adjust the\n"
- "file and pgoff, while hopefully everything keeps working. I thought this\n"
- "would work, but Christian noticed it doesn't really.</pre>\n"
- "    </blockquote>\n"
- "    <br>\n"
- "    Well to be clear I'm still not sure if that works or not :)<br>\n"
- "    <br>\n"
- "    But Jason pointed me to the right piece of code. See this comment in\n"
- "    in mmap_region():<br>\n"
- "    <br>\n"
- "    <blockquote type=\"cite\">\n"
- "      <pre>\t\t<span class=\"cm\">/* -&gt;mmap() can change vma-&gt;vm_file, but must guarantee that</span>\n"
- "<span class=\"cm\">\t\t * vma_link() below can deny write-access if VM_DENYWRITE is set</span>\n"
- "<span class=\"cm\">\t\t * and map writably if VM_SHARED is set. This usually means the</span>\n"
- "<span class=\"cm\">\t\t * new file must not have been exposed to user-space, yet.</span>\n"
- "<span class=\"cm\">\t\t */</span>\n"
- "\t\t<span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/vma\">vma</a></span><span class=\"o\">-&gt;</span><span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/vm_file\">vm_file</a></span> <span class=\"o\">=</span> <span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/get_file\">get_file</a></span><span class=\"p\">(</span><span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/file\">file</a></span><span class=\"p\">);</span>\n"
- "\t\t<span class=\"n\">error</span> <span class=\"o\">=</span> <span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/call_mmap\">call_mmap</a></span><span class=\"p\">(</span><span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/file\">file</a></span><span class=\"p\">,</span> <span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/vma\">vma</a></span><span class=\"p\">);</span></pre>\n"
- "    </blockquote>\n"
- "    <br>\n"
- "    So changing vma-&gt;vm_file is allowed at least under certain\n"
- "    circumstances.<br>\n"
- "    <br>\n"
- "    Only the &quot;file must not have been exposed to user-space, yet&quot; part\n"
- "    still needs double checking. Currently working on that.<br>\n"
- "    <br>\n"
- "    Regards,<br>\n"
- "    Christian.<br>\n"
- "    <br>\n"
- "    <blockquote type=\"cite\" cite=\"mid:20200916095359.GD438822@phenom.ffwll.local\">\n"
- "      <pre class=\"moz-quote-pre\" wrap=\"\">\n"
- "\n"
- "Cheers, Daniel\n"
- "\n"
- "\n"
- "</pre>\n"
- "      <blockquote type=\"cite\">\n"
- "        <pre class=\"moz-quote-pre\" wrap=\"\">\n"
- "Christian.\n"
- "\n"
- "</pre>\n"
- "        <blockquote type=\"cite\">\n"
- "          <pre class=\"moz-quote-pre\" wrap=\"\">\n"
- "Jason\n"
- "</pre>\n"
- "        </blockquote>\n"
- "        <pre class=\"moz-quote-pre\" wrap=\"\">\n"
- "</pre>\n"
- "      </blockquote>\n"
- "      <pre class=\"moz-quote-pre\" wrap=\"\">\n"
- "</pre>\n"
- "    </blockquote>\n"
- "    <br>\n"
- "  </body>\n"
- "</html>\n"
  "\01:2\0"
  "b\0"
- "_______________________________________________\n"
- "dri-devel mailing list\n"
- "dri-devel@lists.freedesktop.org\n"
- https://lists.freedesktop.org/mailman/listinfo/dri-devel
+ "<html><head>\r\n"
+ "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n"
+ "  </head>\r\n"
+ "  <body>\r\n"
+ "    <div class=\"moz-cite-prefix\">Am 16.09.20 um 11:53 schrieb Daniel\r\n"
+ "      Vetter:<br>\r\n"
+ "    </div>\r\n"
+ "    <blockquote type=\"cite\" cite=\"mid:20200916095359.GD438822@phenom.ffwll.local\">\r\n"
+ "      <pre class=\"moz-quote-pre\" wrap=\"\">On Mon, Sep 14, 2020 at 08:26:47PM +0200, Christian K\303\266nig wrote:\r\n"
+ "</pre>\r\n"
+ "      <blockquote type=\"cite\">\r\n"
+ "        <pre class=\"moz-quote-pre\" wrap=\"\">Am 14.09.20 um 16:06 schrieb Jason Gunthorpe:\r\n"
+ "</pre>\r\n"
+ "        <blockquote type=\"cite\">\r\n"
+ "          <pre class=\"moz-quote-pre\" wrap=\"\">On Mon, Sep 14, 2020 at 03:30:47PM +0200, Christian K\303\266nig wrote:\r\n"
+ "</pre>\r\n"
+ "          <blockquote type=\"cite\">\r\n"
+ "            <pre class=\"moz-quote-pre\" wrap=\"\">Am 14.09.20 um 15:29 schrieb Christian K\303\266nig:\r\n"
+ "</pre>\r\n"
+ "            <blockquote type=\"cite\">\r\n"
+ "              <pre class=\"moz-quote-pre\" wrap=\"\">Hi Andrew,\r\n"
+ "\r\n"
+ "I'm the new DMA-buf maintainer and Daniel and others came up with\r\n"
+ "patches extending the use of the dma_buf_mmap() function.\r\n"
+ "\r\n"
+ "Now this function is doing something a bit odd by changing the\r\n"
+ "vma-&gt;vm_file while installing a VMA in the mmap() system call\r\n"
+ "</pre>\r\n"
+ "            </blockquote>\r\n"
+ "          </blockquote>\r\n"
+ "          <pre class=\"moz-quote-pre\" wrap=\"\">It doesn't look obviously safe as mmap_region() has an interesting mix\r\n"
+ "of file and vma-&gt;file\r\n"
+ "\r\n"
+ "Eg it calls mapping_unmap_writable() using both routes\r\n"
+ "</pre>\r\n"
+ "        </blockquote>\r\n"
+ "        <pre class=\"moz-quote-pre\" wrap=\"\">\r\n"
+ "Thanks for the hint, going to take a look at that code tomorrow.\r\n"
+ "\r\n"
+ "</pre>\r\n"
+ "        <blockquote type=\"cite\">\r\n"
+ "          <pre class=\"moz-quote-pre\" wrap=\"\">What about security? Is it OK that some other random file, maybe in\r\n"
+ "another process, is being linked to this mmap?\r\n"
+ "</pre>\r\n"
+ "        </blockquote>\r\n"
+ "        <pre class=\"moz-quote-pre\" wrap=\"\">\r\n"
+ "Good question, I have no idea. That's why I send out this mail.\r\n"
+ "\r\n"
+ "</pre>\r\n"
+ "        <blockquote type=\"cite\">\r\n"
+ "          <blockquote type=\"cite\">\r\n"
+ "            <blockquote type=\"cite\">\r\n"
+ "              <pre class=\"moz-quote-pre\" wrap=\"\">The background here is that DMA-buf allows device drivers to\r\n"
+ "export buffer which are then imported into another device\r\n"
+ "driver. The mmap() handler of the importing device driver then\r\n"
+ "find that the pgoff belongs to the exporting device and so\r\n"
+ "redirects the mmap() call there.\r\n"
+ "</pre>\r\n"
+ "            </blockquote>\r\n"
+ "          </blockquote>\r\n"
+ "          <pre class=\"moz-quote-pre\" wrap=\"\">So the pgoff is some virtualized thing?\r\n"
+ "</pre>\r\n"
+ "        </blockquote>\r\n"
+ "        <pre class=\"moz-quote-pre\" wrap=\"\">\r\n"
+ "Yes, absolutely.\r\n"
+ "</pre>\r\n"
+ "      </blockquote>\r\n"
+ "      <pre class=\"moz-quote-pre\" wrap=\"\">\r\n"
+ "Maybe notch more context. Conceptually the buffer objects we use to manage\r\n"
+ "gpu memory are all stand-alone objects, internally refcounted and\r\n"
+ "everything. And if you export them as a dma-buf, then they are indeed\r\n"
+ "stand-alone file descriptors like any other.\r\n"
+ "\r\n"
+ "But within the driver, we generally need thousands of these, and that\r\n"
+ "tends to bring fd exhaustion problems with it. That's why all the private\r\n"
+ "buffer objects which aren't shared with other process or other drivers are\r\n"
+ "handles only valid for a specific fd instance of the drm chardev (each\r\n"
+ "open gets their own namespace), and only for ioctls done on that chardev.\r\n"
+ "And for mmap we assign fake (but unique across all open fd on it) offsets\r\n"
+ "within the overall chardev. Hence all the pgoff mangling and re-mangling.\r\n"
+ "\r\n"
+ "Now for unmap_mapping_range we'd like it to find all such fake offset\r\n"
+ "aliases pointing at the one underlying buffer object:\r\n"
+ "- mmap on the dma-buf fd, at offset 0\r\n"
+ "- mmap on the drm chardev where the buffer was originally allocated, at some unique offset\r\n"
+ "- mmap on the drm chardev where the buffer was imported, again at some\r\n"
+ "  (likely) different unique (for that chardev) offset.\r\n"
+ "\r\n"
+ "So to make unmap_mapping_range work across the entire delegation change\r\n"
+ "we'd actually need to change the vma-&gt;vma_file and pgoff twice:\r\n"
+ "- once when forwarding from the importing drm chardev to the dma-buf\r\n"
+ "- once when forwarding from the dma-buf to the exported drm chardev fake\r\n"
+ "  offset, which (mostly for historical reasons) is considered the\r\n"
+ "  canonical fake offset\r\n"
+ "\r\n"
+ "We can't really do the delegation in userspace because:\r\n"
+ "- the importer might not have access to the exporters drm chardev, it only\r\n"
+ "  gets the dma-buf. If we'd give it the underlying drm chardev it could do\r\n"
+ "  stuff like issue rendering commands, breaking the access model.\r\n"
+ "- the dma-buf fd is only used to establish the sharing, once it's imported\r\n"
+ "  everywhere it generally gets closed. Userspace could re-export it and\r\n"
+ "  then call mmap on that, but feels a bit contrived.\r\n"
+ "- especially on SoC platforms this has already become uapi. It's not a big\r\n"
+ "  problem because the drivers that really need unmap_mapping_range to work\r\n"
+ "  are the big gpu drivers with discrete vram, where mappings need to be\r\n"
+ "  invalidate when moving buffer objects in/out of vram.\r\n"
+ "\r\n"
+ "Hence why we'd like to be able to forward aliasing mappings and adjust the\r\n"
+ "file and pgoff, while hopefully everything keeps working. I thought this\r\n"
+ "would work, but Christian noticed it doesn't really.</pre>\r\n"
+ "    </blockquote>\r\n"
+ "    <br>\r\n"
+ "    Well to be clear I'm still not sure if that works or not :)<br>\r\n"
+ "    <br>\r\n"
+ "    But Jason pointed me to the right piece of code. See this comment in\r\n"
+ "    in mmap_region():<br>\r\n"
+ "    <br>\r\n"
+ "    <blockquote type=\"cite\">\r\n"
+ "      <pre>\t\t<span class=\"cm\">/* -&gt;mmap() can change vma-&gt;vm_file, but must guarantee that</span>\r\n"
+ "<span class=\"cm\">\t\t * vma_link() below can deny write-access if VM_DENYWRITE is set</span>\r\n"
+ "<span class=\"cm\">\t\t * and map writably if VM_SHARED is set. This usually means the</span>\r\n"
+ "<span class=\"cm\">\t\t * new file must not have been exposed to user-space, yet.</span>\r\n"
+ "<span class=\"cm\">\t\t */</span>\r\n"
+ "\t\t<span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/vma\">vma</a></span><span class=\"o\">-&gt;</span><span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/vm_file\">vm_file</a></span> <span class=\"o\">=</span> <span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/get_file\">get_file</a></span><span class=\"p\">(</span><span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/file\">file</a></span><span class=\"p\">);</span>\r\n"
+ "\t\t<span class=\"n\">error</span> <span class=\"o\">=</span> <span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/call_mmap\">call_mmap</a></span><span class=\"p\">(</span><span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/file\">file</a></span><span class=\"p\">,</span> <span class=\"n\"><a href=\"https://elixir.bootlin.com/linux/v5.9-rc5/C/ident/vma\">vma</a></span><span class=\"p\">);</span></pre>\r\n"
+ "    </blockquote>\r\n"
+ "    <br>\r\n"
+ "    So changing vma-&gt;vm_file is allowed at least under certain\r\n"
+ "    circumstances.<br>\r\n"
+ "    <br>\r\n"
+ "    Only the &quot;file must not have been exposed to user-space, yet&quot; part\r\n"
+ "    still needs double checking. Currently working on that.<br>\r\n"
+ "    <br>\r\n"
+ "    Regards,<br>\r\n"
+ "    Christian.<br>\r\n"
+ "    <br>\r\n"
+ "    <blockquote type=\"cite\" cite=\"mid:20200916095359.GD438822@phenom.ffwll.local\">\r\n"
+ "      <pre class=\"moz-quote-pre\" wrap=\"\">\r\n"
+ "\r\n"
+ "Cheers, Daniel\r\n"
+ "\r\n"
+ "\r\n"
+ "</pre>\r\n"
+ "      <blockquote type=\"cite\">\r\n"
+ "        <pre class=\"moz-quote-pre\" wrap=\"\">\r\n"
+ "Christian.\r\n"
+ "\r\n"
+ "</pre>\r\n"
+ "        <blockquote type=\"cite\">\r\n"
+ "          <pre class=\"moz-quote-pre\" wrap=\"\">\r\n"
+ "Jason\r\n"
+ "</pre>\r\n"
+ "        </blockquote>\r\n"
+ "        <pre class=\"moz-quote-pre\" wrap=\"\">\r\n"
+ "</pre>\r\n"
+ "      </blockquote>\r\n"
+ "      <pre class=\"moz-quote-pre\" wrap=\"\">\r\n"
+ "</pre>\r\n"
+ "    </blockquote>\r\n"
+ "    <br>\r\n"
+ "  </body>\r\n"
+ "</html>\r\n"
 
-80583cfbb476eefd963f82984e6369ccbde97447b5b183b9cd870cd201986065
+cb87956250f99bc5e03e331b1e6dbffad479a213bf6e2e6052521a7e0b3b93dd

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.