.. SPDX-License-Identifier: GPL-2.0 :Original: Documentation/mm/page_table_check.rst :翻译: å¸å»¶è…¾ Yanteng Si <siyanteng@loongson.cn> :æ ¡è¯‘: ======== 页表检查 ======== 概述 ==== 页表检查å…许通过确ä¿é˜²æ¢æŸäº›ç±»åž‹çš„内å˜æŸåæ¥å¼ºåŒ–å†…æ ¸ã€‚ 当新的页é¢å¯ä»¥ä»Žç”¨æˆ·ç©ºé—´è®¿é—®æ—¶ï¼Œé¡µè¡¨æ£€æŸ¥é€šè¿‡å°†å®ƒä»¬çš„页表项(PTEs PMDç‰ï¼‰æ·»åŠ 到页表ä¸æ¥æ‰§è¡Œé¢å¤– 的验è¯ã€‚ 在检测到æŸåçš„æƒ…å†µä¸‹ï¼Œå†…æ ¸ä¼šè¢«å´©æºƒã€‚é¡µè¡¨æ£€æŸ¥æœ‰ä¸€ä¸ªå°çš„性能和内å˜å¼€é”€ã€‚å› æ¤ï¼Œå®ƒåœ¨é»˜è®¤æƒ…况下是ç¦ç”¨ 的,但是在é¢å¤–çš„åŠ å›ºè¶…è¿‡æ€§èƒ½æˆæœ¬çš„系统上,å¯ä»¥é€‰æ‹©å¯ç”¨ã€‚å¦å¤–,由于页表检查是åŒæ¥çš„,它å¯ä»¥å¸®åŠ©è°ƒ 试åŒæ˜ 射内å˜æŸåé—®é¢˜ï¼Œåœ¨é”™è¯¯çš„æ˜ å°„å‘ç”Ÿæ—¶å´©æºƒå†…æ ¸ï¼Œè€Œä¸æ˜¯åœ¨å†…å˜æŸå错误å‘生åŽå†…æ ¸å´©æºƒã€‚ åŒé‡æ˜ 射检测逻辑 ================ +-------------------+-------------------+-------------------+------------------+ | Current Mapping | New mapping | Permissions | Rule | +===================+===================+===================+==================+ | Anonymous | Anonymous | Read | Allow | +-------------------+-------------------+-------------------+------------------+ | Anonymous | Anonymous | Read / Write | Prohibit | +-------------------+-------------------+-------------------+------------------+ | Anonymous | Named | Any | Prohibit | +-------------------+-------------------+-------------------+------------------+ | Named | Anonymous | Any | Prohibit | +-------------------+-------------------+-------------------+------------------+ | Named | Named | Any | Allow | +-------------------+-------------------+-------------------+------------------+ å¯ç”¨é¡µè¡¨æ£€æŸ¥ ============ ç”¨ä»¥ä¸‹æ–¹æ³•æž„å»ºå†…æ ¸: - PAGE_TABLE_CHECK=y 注æ„,它åªèƒ½åœ¨ARCH_SUPPORTS_PAGE_TABLE_CHECKå¯ç”¨çš„å¹³å°ä¸Šå¯ç”¨ã€‚ - 使用 "page_table_check=on" å†…æ ¸å‚æ•°å¯åŠ¨ã€‚ å¯ä»¥é€‰æ‹©ç”¨PAGE_TABLE_CHECK_ENFORCEDæ¥æž„å»ºå†…æ ¸ï¼Œä»¥ä¾¿åœ¨æ²¡æœ‰é¢å¤–çš„å†…æ ¸å‚数的情况下获得页表 支æŒã€‚