Commit d597416
x86/mm: Inhibit _PAGE_NX changes from cpa_process_alias()
There is a cludge in change_page_attr_set_clr() that inhibits
propagating NX changes to the aliases (directmap and highmap) -- this
is a cludge twofold:
- it also inhibits the primary checks in __change_page_attr();
- it hard depends on single bit changes.
The introduction of set_memory_rox() triggered this last issue for
clearing both _PAGE_RW and _PAGE_NX.
Explicitly ignore _PAGE_NX in cpa_process_alias() instead.
Fixes: b389949 ("x86/mm: Implement native set_memory_rox()")
Reported-by: kernel test robot <[email protected]>
Debugged-by: Dave Hansen <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Link: https://lkml.kernel.org/r/20221110125544.594991716%40infradead.org1 parent ef9ab81 commit d597416
1 file changed
+23
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1669 | 1669 | | |
1670 | 1670 | | |
1671 | 1671 | | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
1672 | 1678 | | |
1673 | 1679 | | |
1674 | 1680 | | |
| |||
1691 | 1697 | | |
1692 | 1698 | | |
1693 | 1699 | | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
1694 | 1709 | | |
1695 | 1710 | | |
1696 | 1711 | | |
| |||
1709 | 1724 | | |
1710 | 1725 | | |
1711 | 1726 | | |
| 1727 | + | |
| 1728 | + | |
| 1729 | + | |
| 1730 | + | |
| 1731 | + | |
| 1732 | + | |
1712 | 1733 | | |
1713 | 1734 | | |
1714 | 1735 | | |
| |||
1755 | 1776 | | |
1756 | 1777 | | |
1757 | 1778 | | |
1758 | | - | |
| 1779 | + | |
1759 | 1780 | | |
1760 | 1781 | | |
1761 | 1782 | | |
| |||
1805 | 1826 | | |
1806 | 1827 | | |
1807 | 1828 | | |
1808 | | - | |
1809 | | - | |
1810 | | - | |
1811 | | - | |
| 1829 | + | |
1812 | 1830 | | |
1813 | 1831 | | |
1814 | 1832 | | |
| |||
0 commit comments