diff for duplicates of <1531325463.13297.30.camel@intel.com> diff --git a/a/content_digest b/N1/content_digest index 5c1a9b9..134fafd 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -28,7 +28,8 @@ Nadav Amit <nadav.amit@gmail.com> Oleg Nesterov <oleg@redhat.com> Pavel Machek <pavel@ucw.cz> - " Ravi V. Shan\0" + Ravi V. Shankar <ravi.v.shankar@intel.com> + " Vedvyas Shanbhogue <vedvyas.shanbhogue@intel.com>\0" "\00:1\0" "b\0" "On Wed, 2018-07-11 at 11:10 +0200, Peter Zijlstra wrote:\n" @@ -67,4 +68,4 @@ "\n" Yu-cheng -7f14bff08eb1259b16fd69bd1dddced316c30e9853be362ec3b27174d24c954e +ca720bb331057508c6da19d6813c9bed4c2b1d9969f7fea430b64e689ccca54f
diff --git a/a/1.txt b/N2/1.txt index dffd314..f15faa2 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -33,3 +33,7 @@ This can work. I don't know if that will create other issues. Let me think about that. Yu-cheng +-- +To unsubscribe from this list: send the line "unsubscribe linux-doc" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/a/content_digest b/N2/content_digest index 5c1a9b9..3d4333c 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -28,7 +28,8 @@ Nadav Amit <nadav.amit@gmail.com> Oleg Nesterov <oleg@redhat.com> Pavel Machek <pavel@ucw.cz> - " Ravi V. Shan\0" + Ravi V. Shankar <ravi.v.shankar@intel.com> + " Vedvyas Shanbhogue <vedvyas.shanbhogue@intel.com>\0" "\00:1\0" "b\0" "On Wed, 2018-07-11 at 11:10 +0200, Peter Zijlstra wrote:\n" @@ -65,6 +66,10 @@ "This can work. \302\240I don't know if that will create other issues.\n" "Let me think about that.\n" "\n" - Yu-cheng + "Yu-cheng\n" + "--\n" + "To unsubscribe from this list: send the line \"unsubscribe linux-doc\" in\n" + "the body of a message to majordomo@vger.kernel.org\n" + More majordomo info at http://vger.kernel.org/majordomo-info.html -7f14bff08eb1259b16fd69bd1dddced316c30e9853be362ec3b27174d24c954e +3bf8751a95a22e947ecb06e6718c35f67d8a18aade323a4143bf3f9e20331712
diff --git a/a/1.txt b/N3/1.txt index dffd314..005ae79 100644 --- a/a/1.txt +++ b/N3/1.txt @@ -7,29 +7,29 @@ On Wed, 2018-07-11 at 11:10 +0200, Peter Zijlstra wrote: > > +++ b/mm/memory.c > > @@ -4108,7 +4108,13 @@ static int __handle_mm_fault(struct > > vm_area_struct *vma, unsigned long address, -> > if (pmd_protnone(orig_pmd) && +> > A if (pmd_protnone(orig_pmd) && > > vma_is_accessible(vma)) -> > return do_huge_pmd_numa_page(&vmf, +> > A return do_huge_pmd_numa_page(&vmf, > > orig_pmd); -> > +> > A > > - if (dirty && !pmd_write(orig_pmd)) { > > + /* -> > + * Shadow stack trans huge PMDs are copy- +> > + A * Shadow stack trans huge PMDs are copy- > > on-access, -> > + * so wp_huge_pmd() on them no mater if we +> > + A * so wp_huge_pmd() on them no mater if we > > have a -> > + * write fault or not. -> > + */ +> > + A * write fault or not. +> > + A */ > > + if (is_shstk_mapping(vma->vm_flags) || -> > + (dirty && !pmd_write(orig_pmd))) { -> > ret = wp_huge_pmd(&vmf, orig_pmd); -> > if (!(ret & VM_FAULT_FALLBACK)) -> > return ret; +> > + A A A A (dirty && !pmd_write(orig_pmd))) { +> > A ret = wp_huge_pmd(&vmf, orig_pmd); +> > A if (!(ret & VM_FAULT_FALLBACK)) +> > A return ret; > Can't we do this (and the do_wp_page thing) by setting > FAULT_FLAG_WRITE > in the arch fault handler on shadow stack faults? -This can work. I don't know if that will create other issues. +This can work. A I don't know if that will create other issues. Let me think about that. Yu-cheng diff --git a/a/content_digest b/N3/content_digest index 5c1a9b9..eb7ad59 100644 --- a/a/content_digest +++ b/N3/content_digest @@ -28,7 +28,8 @@ Nadav Amit <nadav.amit@gmail.com> Oleg Nesterov <oleg@redhat.com> Pavel Machek <pavel@ucw.cz> - " Ravi V. Shan\0" + Ravi V. Shankar <ravi.v.shankar@intel.com> + " Vedvyas Shanbhogue <vedvyas.shanbhogue@intel.com>\0" "\00:1\0" "b\0" "On Wed, 2018-07-11 at 11:10 +0200, Peter Zijlstra wrote:\n" @@ -40,31 +41,31 @@ "> > +++ b/mm/memory.c\n" "> > @@ -4108,7 +4108,13 @@ static int __handle_mm_fault(struct\n" "> > vm_area_struct *vma, unsigned long address,\n" - "> > \302\240\t\t\tif (pmd_protnone(orig_pmd) &&\n" + "> > A \t\t\tif (pmd_protnone(orig_pmd) &&\n" "> > vma_is_accessible(vma))\n" - "> > \302\240\t\t\t\treturn do_huge_pmd_numa_page(&vmf,\n" + "> > A \t\t\t\treturn do_huge_pmd_numa_page(&vmf,\n" "> > orig_pmd);\n" - "> > \302\240\n" + "> > A \n" "> > -\t\t\tif (dirty && !pmd_write(orig_pmd)) {\n" "> > +\t\t\t/*\n" - "> > +\t\t\t\302\240* Shadow stack trans huge PMDs are copy-\n" + "> > +\t\t\tA * Shadow stack trans huge PMDs are copy-\n" "> > on-access,\n" - "> > +\t\t\t\302\240* so wp_huge_pmd() on them no mater if we\n" + "> > +\t\t\tA * so wp_huge_pmd() on them no mater if we\n" "> > have a\n" - "> > +\t\t\t\302\240* write fault or not.\n" - "> > +\t\t\t\302\240*/\n" + "> > +\t\t\tA * write fault or not.\n" + "> > +\t\t\tA */\n" "> > +\t\t\tif (is_shstk_mapping(vma->vm_flags) ||\n" - "> > +\t\t\t\302\240\302\240\302\240\302\240(dirty && !pmd_write(orig_pmd))) {\n" - "> > \302\240\t\t\t\tret = wp_huge_pmd(&vmf, orig_pmd);\n" - "> > \302\240\t\t\t\tif (!(ret & VM_FAULT_FALLBACK))\n" - "> > \302\240\t\t\t\t\treturn ret;\n" + "> > +\t\t\tA A A A (dirty && !pmd_write(orig_pmd))) {\n" + "> > A \t\t\t\tret = wp_huge_pmd(&vmf, orig_pmd);\n" + "> > A \t\t\t\tif (!(ret & VM_FAULT_FALLBACK))\n" + "> > A \t\t\t\t\treturn ret;\n" "> Can't we do this (and the do_wp_page thing) by setting\n" "> FAULT_FLAG_WRITE\n" "> in the arch fault handler on shadow stack faults?\n" "\n" - "This can work. \302\240I don't know if that will create other issues.\n" + "This can work. A I don't know if that will create other issues.\n" "Let me think about that.\n" "\n" Yu-cheng -7f14bff08eb1259b16fd69bd1dddced316c30e9853be362ec3b27174d24c954e +641b16ef6addb910c92194509bdb6e2ff2b0fcc57f2204294c086b306fd285da
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.