Linux файл подкачки и раздел гибернации
Я провожу некоторые исследования в области безопасности ОС на базе Linux. Специально, я пытаюсь понять структуру Linux (не крипто) Swap файл / раздел Swap. Для своих исследований я использую Linux Ubuntu 16.06 x64.
И теперь у меня есть 2 вопроса:
- Кто-нибудь из Вас видел документацию о структуре раздела подкачки?
- Кто-нибудь знает что-нибудь о механизмах обеспечения целостности раздела Swap? Теперь, когда я меняю некоторые байты в Swap-части Hibernated System (общая длина одинакова!) С выключенной системой и сохраняю изменения, Linux пытается запустить систему из Hibernation и не может применить мои изменения. Похоже, запуск не из режима гибернации, а как запуск "с нуля", из выключенной системы очистки.
Может быть, у раздела подкачки есть сводка на основе хеша или есть какие-то атрибуты с change_time?
1 ответ
Решение
Поскольку Linux является бесплатным, программное обеспечение с открытым исходным кодом, вы можете скачать исходный код sudo apt-get install linux-source-4.4.0
и посмотрите на эти файлы:
w3@aardvark:/usr/src/linux-source-4.4.0(130)$ tar tvf linux-source-4.4.0.tar.bz2| grep -i swap
-rw-r--r-- root/root 1278 2017-04-27 11:28 linux-source-4.4.0/spl/include/sys/fs/swapnode.h
-rw-r--r-- root/root 36409 2016-01-10 18:01 linux-source-4.4.0/drivers/mtd/mtdswap.c
-rw-r--r-- root/root 6169 2016-01-10 18:01 linux-source-4.4.0/drivers/net/wireless/ath/ath10k/swap.c
-rw-r--r-- root/root 2262 2016-01-10 18:01 linux-source-4.4.0/drivers/net/wireless/ath/ath10k/swap.h
-rw-r--r-- root/root 502 2017-04-27 11:28 linux-source-4.4.0/arch/mips/lib/bswapdi.c
-rw-r--r-- root/root 254 2017-04-27 11:28 linux-source-4.4.0/arch/mips/lib/bswapsi.c
-rw-r--r-- root/root 610 2016-01-10 18:01 linux-source-4.4.0/arch/arm/lib/bswapsdi2.S
-rw-r--r-- root/root 417 2016-01-10 18:01 linux-source-4.4.0/include/linux/swapfile.h
-rw-r--r-- root/root 2752 2016-01-10 18:01 linux-source-4.4.0/include/linux/frontswap.h
-rw-r--r-- root/root 876 2016-01-10 18:01 linux-source-4.4.0/include/linux/swap_cgroup.h
-rw-r--r-- root/root 6038 2016-01-10 18:01 linux-source-4.4.0/include/linux/swapops.h
-rw-r--r-- root/root 18137 2017-04-27 11:28 linux-source-4.4.0/include/linux/swap.h
-rw-r--r-- root/root 38097 2016-01-10 18:01 linux-source-4.4.0/kernel/power/swap.c
-rw-r--r-- root/root 251 2016-01-10 18:01 linux-source-4.4.0/tools/build/feature/test-sync-compare-and-swap.c
-rw-r--r-- root/root 5738 2017-04-27 11:28 linux-source-4.4.0/zfs/module/zfs/zfs_byteswap.c
-rw-r--r-- root/root 2768 2016-01-10 18:01 linux-source-4.4.0/Documentation/power/swsusp-and-swap-files.txt
-rw-r--r-- root/root 5282 2016-01-10 18:01 linux-source-4.4.0/Documentation/vm/zswap.txt
-rw-r--r-- root/root 15384 2016-01-10 18:01 linux-source-4.4.0/Documentation/vm/frontswap.txt
-rw-r--r-- root/root 13398 2016-01-10 18:01 linux-source-4.4.0/mm/swap_state.c
-rw-r--r-- root/root 33755 2017-04-27 11:28 linux-source-4.4.0/mm/zswap.c
-rw-r--r-- root/root 79828 2017-04-27 11:28 linux-source-4.4.0/mm/swapfile.c
-rw-r--r-- root/root 32859 2016-01-10 18:01 linux-source-4.4.0/mm/swap.c
-rw-r--r-- root/root 14595 2016-01-10 18:01 linux-source-4.4.0/mm/frontswap.c
-rw-r--r-- root/root 4732 2016-01-10 18:01 linux-source-4.4.0/mm/swap_cgroup.c
У них всех есть swap
в их именах файлов, и может иметь отношение к свопу.