精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用Kdump檢查Linux內核崩潰

系統 Linux
kdump 是獲取崩潰的 Linux 內核轉儲的一種方法,但是想找到解釋其使用和內部結構的文檔可能有點困難。在本文中,我將研究 kdump 的基本使用方法,和 kdump/kexec 在內核中是如何實現。

[[198842]]

讓我們先看一下 kdump 的基本使用方法,和 kdump/kexec 在內核中是如何實現。

kdump 是獲取崩潰的 Linux 內核轉儲的一種方法,但是想找到解釋其使用和內部結構的文檔可能有點困難。在本文中,我將研究 kdump 的基本使用方法,和 kdump/kexec 在內核中是如何實現。

kexec 是一個 Linux 內核到內核的引導加載程序,可以幫助從***個內核的上下文引導到第二個內核。kexec 會關閉***個內核,繞過 BIOS 或固件階段,并跳轉到第二個內核。因此,在沒有 BIOS 階段的情況下,重新啟動變得更快。

kdump 可以與 kexec 應用程序一起使用 —— 例如,當***個內核崩潰時第二個內核啟動,第二個內核用于復制***個內核的內存轉儲,可以使用 gdb 和 crash 等工具分析崩潰的原因。(在本文中,我將使用術語“***內核”作為當前運行的內核,“第二內核” 作為使用 kexec 運行的內核,“捕獲內核” 表示在當前內核崩潰時運行的內核。)

kexec 機制在內核以及用戶空間中都有組件。內核提供了幾個用于 kexec 重啟功能的系統調用。名為 kexec-tools 的用戶空間工具使用這些調用,并提供可執行文件來加載和引導“第二內核”。有的發行版還會在 kexec-tools 上添加封裝器,這有助于捕獲并保存各種轉儲目標配置的轉儲。在本文中,我將使用名為 distro-kexec-tools 的工具來避免上游 kexec 工具和特定于發行版的 kexec-tools 代碼之間的混淆。我的例子將使用 Fedora Linux 發行版。

Fedora kexec-tools 工具

使用 dnf install kexec-tools 命令在 Fedora 機器上安裝 fedora-kexec-tools。在安裝 fedora-kexec-tools 后可以執行 systemctl start kdump 命令來啟動 kdump 服務。當此服務啟動時,它將創建一個根文件系統(initramfs),其中包含了要掛載到目標位置的資源,以保存 vmcore,以及用來復制和轉儲 vmcore 到目標位置的命令。然后,該服務將內核和 initramfs 加載到崩潰內核區域內的合適位置,以便在內核崩潰時可以執行它們。

Fedora 封裝器提供了兩個用戶配置文件:

  1. /etc/kdump.conf 指定修改后需要重建 initramfs 的配置參數。例如,如果將轉儲目標從本地磁盤更改為 NFS 掛載的磁盤,則需要由“捕獲內核”所加載的 NFS 相關的內核模塊。
  2. /etc/sysconfig/kdump 指定修改后不需要重新構建 initramfs 的配置參數。例如,如果只需修改傳遞給“捕獲內核”的命令行參數,則不需要重新構建 initramfs。

如果內核在 kdump 服務啟動之后出現故障,那么“捕獲內核”就會執行,其將進一步執行 initramfs 中的 vmcore 保存過程,然后重新啟動到穩定的內核。

kexec-tools 工具

編譯 kexec-tools 的源代碼得到了一個名為 kexec 的可執行文件。這個同名的可執行文件可用于加載和執行“第二內核”,或加載“捕獲內核”,它可以在內核崩潰時執行。

加載“第二內核”的命令:

  1. # kexec -l kernel.img --initrd=initramfs-image.img –reuse-cmdline 

--reuse-command 參數表示使用與“***內核”相同的命令行。使用 --initrd 傳遞 initramfs。 -l 表明你正在加載“第二內核”,其可以由 kexec 應用程序本身執行(kexec -e)。使用 -l 加載的內核不能在內核崩潰時執行。為了加載可以在內核崩潰時執行的“捕獲內核”,必須傳遞參數 -p 取代 -l。

加載捕獲內核的命令:

  1. # kexec -p kernel.img --initrd=initramfs-image.img –reuse-cmdline 

echo c > /pros/sysrq-trigger 可用于使內核崩潰以進行測試。有關 kexec-tools 提供的選項的詳細信息,請參閱 man kexec。在轉到下一個部分之前,請看這個 kexec_dump 的演示: 

 

 kdump: 端到端流

下圖展示了流程圖。必須在引導“***內核”期間為捕獲內核保留 crashkernel 的內存。您可以在內核命令行中傳遞 crashkernel=Y@X,其中 @X 是可選的。crashkernel=256M 適用于大多數 x86_64 系統;然而,為崩潰內核選擇適當的內存取決于許多因素,如內核大小和 initramfs,以及 initramfs 中包含的模塊和應用程序運行時的內存需求。有關傳遞崩潰內核參數的更多方法,請參閱 kernel-parameters 文檔。 

 

pratyush_f1.png

您可以將內核和 initramfs 鏡像傳遞給 kexec 可執行文件,如(kexec-tools)部分的命令所示。“捕獲內核”可以與“***內核”相同,也可以不同。通常,一樣即可。Initramfs 是可選的;例如,當內核使用 CONFIG_INITRAMFS_SOURCE 編譯時,您不需要它。通常,從***個 initramfs 中保存一個不一樣的捕獲 initramfs,因為在捕獲 initramfs 中自動執行 vmcore 的副本能獲得更好的效果。當執行 kexec 時,它還加載了 elfcorehdr 數據和 purgatory 可執行文件(LCTT 譯注:purgatory 就是一個引導加載程序,是為 kdump 定作的。它被賦予了“煉獄”這樣一個古怪的名字應該只是一種調侃)。 elfcorehdr 具有關于系統內存組織的信息,而 purgatory 可以在“捕獲內核”執行之前執行并驗證第二階段的二進制或數據是否具有正確的 SHA。purgatory 也是可選的。

當“***內核”崩潰時,它執行必要的退出過程并切換到 purgatory(如果存在)。purgatory 驗證加載二進制文件的 SHA256,如果是正確的,則將控制權傳遞給“捕獲內核”。“捕獲內核”根據從 elfcorehdr 接收到的系統內存信息創建 vmcore。因此,“捕獲內核”啟動后,您將看到 /proc/vmcore 中“***內核”的轉儲。根據您使用的 initramfs,您現在可以分析轉儲,將其復制到任何磁盤,也可以是自動復制的,然后重新啟動到穩定的內核。

內核系統調用

內核提供了兩個系統調用:kexec_load() 和 kexec_file_load(),可以用于在執行 kexec -l 時加載“第二內核”。它還為 reboot() 系統調用提供了一個額外的標志,可用于使用 kexec -e 引導到“第二內核”。

kexec_load():kexec_load() 系統調用加載一個可以在之后通過 reboot() 執行的新的內核。其原型定義如下:

  1. long kexec_load(unsigned long entry, unsigned long nr_segments, 
  2. struct kexec_segment *segments, unsigned long flags); 

用戶空間需要為不同的組件傳遞不同的段,如內核,initramfs 等。因此,kexec 可執行文件有助于準備這些段。kexec_segment 的結構如下所示:

  1. struct kexec_segment { 
  2.     void *buf; 
  3.     /* 用戶空間緩沖區 */ 
  4.     size_t bufsz; 
  5.     /* 用戶空間中的緩沖區長度 */ 
  6.     void *mem; 
  7.     /* 內核的物理地址 */ 
  8.     size_t memsz; 
  9.     /* 物理地址長度 */ 
  10. }; 

當使用 LINUX_REBOOT_CMD_KEXEC 調用 reboot() 時,它會引導進入由 kexec_load 加載的內核。如果標志 KEXEC_ON_CRASH 被傳遞給 kexec_load(),則加載的內核將不會使用 reboot(LINUX_REBOOT_CMD_KEXEC) 來啟動;相反,這將在內核崩潰中執行。必須定義 CONFIG_KEXEC 才能使用 kexec,并且為 kdump 定義 CONFIG_CRASH_DUMP。

kexec_file_load():作為用戶,你只需傳遞兩個參數(即 kernel 和 initramfs)到 kexec 可執行文件。然后,kexec 從 sysfs 或其他內核信息源中讀取數據,并創建所有段。所以使用 kexec_file_load() 可以簡化用戶空間,只傳遞內核和 initramfs 的文件描述符。其余部分由內核本身完成。使用此系統調用時應該啟用 CONFIG_KEXEC_FILE。它的原型如下:

  1. long kexec_file_load(int kernel_fd, int initrd_fd, unsigned long 
  2. cmdline_len, const char __user * cmdline_ptr, unsigned long 
  3. flags); 

請注意,kexec_file_load 也可以接受命令行,而 kexec_load() 不行。內核根據不同的系統架構來接受和執行命令行。因此,在 kexec_load() 的情況下,kexec-tools 將通過其中一個段(如在 dtb 或 ELF 引導注釋等)中傳遞命令行。

目前,kexec_file_load() 僅支持 x86 和 PowerPC。

當內核崩潰時會發生什么

當***個內核崩潰時,在控制權傳遞給 purgatory 或“捕獲內核”之前,會執行以下操作:

  • 準備 CPU 寄存器(參見內核代碼中的 crash_setup_regs());
  • 更新 vmcoreinfo 備注(請參閱 crash_save_vmcoreinfo());
  • 關閉非崩潰的 CPU 并保存準備好的寄存器(請參閱 machine_crash_shutdown() 和 crash_save_cpu());
  • 您可能需要在此處禁用中斷控制器;
  • ***,它執行 kexec 重新啟動(請參閱 machine_kexec()),它將加載或刷新 kexec 段到內存,并將控制權傳遞給進入段的執行文件。輸入段可以是下一個內核的 purgatory 或開始地址。

ELF 程序頭

kdump 中涉及的大多數轉儲核心都是 ELF 格式。因此,理解 ELF 程序頭部很重要,特別是當您想要找到 vmcore 準備的問題。每個 ELF 文件都有一個程序頭:

  • 由系統加載器讀取,
  • 描述如何將程序加載到內存中,
  • 可以使用 Objdump -p elf_file 來查看程序頭。

vmcore 的 ELF 程序頭的示例如下:

  1. # objdump -p vmcore 
  2. vmcore: 
  3. file format elf64-littleaarch64 
  4. Program Header: 
  5. NOTE off 0x0000000000010000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**0 filesz 
  6. 0x00000000000013e8 memsz 0x00000000000013e8 flags --- 
  7. LOAD off 0x0000000000020000 vaddr 0xffff000008080000 paddr 0x0000004000280000 align 2**0 filesz 
  8. 0x0000000001460000 memsz 0x0000000001460000 flags rwx 
  9. LOAD off 0x0000000001480000 vaddr 0xffff800000200000 paddr 0x0000004000200000 align 2**0 filesz 
  10. 0x000000007fc00000 memsz 0x000000007fc00000 flags rwx 
  11. LOAD off 0x0000000081080000 vaddr 0xffff8000ffe00000 paddr 0x00000040ffe00000 align 2**0 filesz 
  12. 0x00000002fa7a0000 memsz 0x00000002fa7a0000 flags rwx 
  13. LOAD off 0x000000037b820000 vaddr 0xffff8003fa9e0000 paddr 0x00000043fa9e0000 align 2**0 filesz 
  14. 0x0000000004fc0000 memsz 0x0000000004fc0000 flags rwx 
  15. LOAD off 0x00000003807e0000 vaddr 0xffff8003ff9b0000 paddr 0x00000043ff9b0000 align 2**0 filesz 
  16. 0x0000000000010000 memsz 0x0000000000010000 flags rwx 
  17. LOAD off 0x00000003807f0000 vaddr 0xffff8003ff9f0000 paddr 0x00000043ff9f0000 align 2**0 filesz 
  18. 0x0000000000610000 memsz 0x0000000000610000 flags rwx 

在這個例子中,有一個 note 段,其余的是 load 段。note 段提供了有關 CPU 信息,load 段提供了關于復制的系統內存組件的信息。

vmcore 從 elfcorehdr 開始,它具有與 ELF 程序頭相同的結構。參見下圖中 elfcorehdr 的表示: 

 

pratyush_f2.png

kexec-tools 讀取 /sys/devices/system/cpu/cpu%d/crash_notes 并準備 CPU PT_NOTE 的標頭。同樣,它讀取 /sys/kernel/vmcoreinfo 并準備 vmcoreinfo PT_NOTE 的標頭,從 /proc/iomem 讀取系統內存并準備存儲器 PT_LOAD 標頭。當“捕獲內核”接收到 elfcorehdr 時,它從標頭中提到的地址中讀取數據,并準備 vmcore。

Crash note

Crash notes 是每個 CPU 中用于在系統崩潰的情況下存儲 CPU 狀態的區域;它有關于當前 PID 和 CPU 寄存器的信息。

vmcoreinfo

該 note 段具有各種內核調試信息,如結構體大小、符號值、頁面大小等。這些值由捕獲內核解析并嵌入到 /proc/vmcore 中。 vmcoreinfo 主要由 makedumpfile 應用程序使用。在 Linux 內核,include/linux/kexec.h 宏定義了一個新的 vmcoreinfo。 一些示例宏如下所示:

  • VMCOREINFO_PAGESIZE()
  • VMCOREINFO_SYMBOL()
  • VMCOREINFO_SIZE()
  • VMCOREINFO_STRUCT_SIZE()

makedumpfile

vmcore 中的許多信息(如可用頁面)都沒有用處。makedumpfile 是一個用于排除不必要的頁面的應用程序,如:

  • 填滿零的頁面;
  • 沒有私有標志的緩存頁面(非專用緩存);
  • 具有私有標志的緩存頁面(專用緩存);
  • 用戶進程數據頁;
  • 可用頁面。

此外,makedumpfile 在復制時壓縮 /proc/vmcore 的數據。它也可以從轉儲中刪除敏感的符號信息; 然而,為了做到這一點,它首先需要內核的調試信息。該調試信息來自 VMLINUX 或 vmcoreinfo,其輸出可以是 ELF 格式或 kdump 壓縮格式。

典型用法:

  1. # makedumpfile -l --message-level 1 -d 31 /proc/vmcore makedumpfilecore 

詳細信息請參閱 man makedumpfile。

kdump 調試

新手在使用 kdump 時可能會遇到的問題:

kexec -p kernel_image 沒有成功

  • 檢查是否分配了崩潰內存。
  • cat /sys/kernel/kexec_crash_size 不應該有零值。
  • cat /proc/iomem | grep "Crash kernel" 應該有一個分配的范圍。
  • 如果未分配,則在命令行中傳遞正確的 crashkernel= 參數。
  • 如果沒有顯示,則在 kexec 命令中傳遞參數 -d,并將輸出信息發送到 kexec-tools 郵件列表。

在“***內核”的***一個消息之后,在控制臺上看不到任何東西(比如“bye”)

  • 檢查 kexec -e 之后的 kexec -l kernel_image 命令是否工作。
  • 可能缺少支持的體系結構或特定機器的選項。
  • 可能是 purgatory 的 SHA 驗證失敗。如果您的體系結構不支持 purgatory 中的控制臺,則很難進行調試。
  • 可能是“第二內核”早已崩潰。
  • 將您的系統的 earlycon 或 earlyprintk 選項傳遞給“第二內核”的命令行。
  • 使用 kexec-tools 郵件列表共享***個內核和捕獲內核的 dmesg 日志。

資源

fedora-kexec-tools

  • GitHub 倉庫:git://pkgs.fedoraproject.org/kexec-tools
  • 郵件列表:kexec@lists.fedoraproject.org
  • 說明:Specs 文件和腳本提供了用戶友好的命令和服務,以便 kexec-tools 可以在不同的用戶場景下實現自動化。

kexec-tools

  • GitHub 倉庫:git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git
  • 郵件列表:kexec@lists.infradead.org
  • 說明:使用內核系統調用并提供用戶命令 kexec。

Linux kernel

  • GitHub 倉庫: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
  • 郵件列表:kexec@lists.infradead.org
  • 說明:實現了 kexec_load()、kexec_file_load()、reboot() 系統調用和特定體系結構的代碼,例如 machine_kexec() 和 machine_crash_shutdown()。

Makedumpfile

  • GitHub 倉庫: git://git.code.sf.net/p/makedumpfile/code
  • 郵件列表:kexec@lists.infradead.org
  • 說明:從轉儲文件中壓縮和過濾不必要的組件。

(題圖:Penguin、 Boot,修改:Opensource.com. CC BY-SA 4.0)

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-03-05 07:14:08

Linuxcrashvmcore

2023-12-26 15:06:00

Linux內核轉儲

2020-06-10 10:50:15

Linuxpstore內核

2021-10-06 20:00:08

LinuxLinux內核Kasan

2025-06-11 01:00:00

2025-01-16 09:35:08

Ubuntukdump數據

2022-07-13 14:26:26

Linux

2009-12-07 09:55:12

2011-09-28 10:25:23

2021-07-12 12:25:21

LinuxSIGIO使用

2025-07-01 02:44:00

2012-10-29 11:25:05

IBMdw

2021-02-20 06:08:07

LinuxWindows內核

2023-03-10 11:12:12

2010-03-02 09:17:32

Linux local

2012-09-28 10:19:32

IBMdw

2021-10-11 10:33:02

Linux jps命令Java

2018-08-09 08:00:00

Linux命令內存用量

2024-01-17 17:36:06

Linuxsystemd

2018-11-13 12:52:50

Linux內核棧回溯
點贊
收藏

51CTO技術棧公眾號

伊人成人网在线看| 成人免费视频国产免费麻豆| 免费看成人哺乳视频网站| 亚洲第一av色| 麻豆一区区三区四区产品精品蜜桃| 精品肉丝脚一区二区三区| 久久97精品| 91国偷自产一区二区三区成为亚洲经典 | 久久综合亚洲精品| 国产精品一级二级| 亚洲乱码视频| 在线观看日韩视频| 色诱av手机版| 蜜桃视频在线观看免费视频| 国产欧美精品区一区二区三区| 国产主播在线一区| 天天干中文字幕| 伊人久久大香线蕉| 欧美午夜一区二区三区| 亚洲欧洲精品在线观看| 国产xxxx孕妇| 中文精品在线| 日韩在线视频观看正片免费网站| 911福利视频| 91超碰国产在线| 国产精品美女久久久久aⅴ国产馆| 99国产超薄肉色丝袜交足的后果| 天堂中文字幕在线观看| 亚洲a级精品| 6080日韩午夜伦伦午夜伦| 能看的毛片网站| 中老年在线免费视频| 一区二区免费在线播放| 国产高清免费在线| 午夜伦理在线| 久久精品视频在线看| 爱情岛论坛亚洲入口| 91 中文字幕| 麻豆精品在线视频| 国产精品视频男人的天堂| 国产亚洲色婷婷久久99精品| 91成人超碰| 色老头一区二区三区| 爱爱的免费视频| 99re热精品视频| 精品捆绑美女sm三区| 日本网站在线看| 天天天干夜夜夜操| 一级特黄特色的免费大片视频| 亚洲欧美日韩国产| 色综合男人天堂| 久一视频在线观看| 欧美午夜国产| 欧美高清性猛交| 久久这里只有精品国产| 97视频精品| 亚洲区免费影片| 国产黄色录像视频| 婷婷伊人综合| 久久福利网址导航| 国产一级做a爱免费视频| 亚洲午夜一区| 91av视频在线| 日韩女优在线观看| 久久精品人人| 国产欧美精品在线播放| 99久久久久久久| 福利一区福利二区| av电影成人| 色噜噜一区二区三区| 26uuu国产日韩综合| 欧美日韩在线观看一区二区三区| 最新97超碰在线| 国产精品国产三级国产aⅴ入口| 国产精品美女在线播放| 国内高清免费在线视频| 日韩欧美国产骚| 超碰影院在线观看| 看片一区二区| 欧美人狂配大交3d怪物一区| 亚洲黄色小说在线观看| 亚洲区小说区图片区qvod按摩 | 成人网在线观看| 亚洲免费不卡视频| 99视频一区二区三区| 日本一区二区久久精品| a在线免费观看| 亚洲制服丝袜在线| av在线无限看| 成人精品动漫一区二区三区| 亚洲一区www| 在线免费观看亚洲视频| 欧美午夜不卡| 国产精品激情av在线播放| 中文字幕人妻精品一区| 粉嫩久久99精品久久久久久夜| 欧美日韩一区在线播放| 天堂av资源在线观看| 亚洲va欧美va人人爽| 日日躁夜夜躁aaaabbbb| 成人三级毛片| 最新国产精品亚洲| 国产一级片毛片| 国产在线观看一区二区| 欧美成熟毛茸茸复古| 成人午夜在线影视| 在线亚洲免费视频| 99视频在线观看视频| 久久99国产成人小视频| 中文字幕亚洲专区| 欧美在线观看不卡| 成人中文字幕电影| 麻豆md0077饥渴少妇| av在线日韩| 日韩成人久久久| 曰本女人与公拘交酡| 人人超碰91尤物精品国产| 国产精品综合久久久| 日韩中文字幕观看| 亚洲精品国产品国语在线app| www.色就是色| 欧美**vk| 日本一欧美一欧美一亚洲视频| 亚洲国产一二三区| 国产精品美女久久久久久2018| 熟女性饥渴一区二区三区| 57pao国产一区二区| 久久中文字幕在线视频| 亚洲国产av一区二区三区| 99久久精品情趣| 日本中文字幕在线视频观看| 国产精品国产三级在线观看| 国产小视频91| 岛国av中文字幕| 99国产精品国产精品毛片| 91麻豆文化传媒在线观看| 亚洲成人网上| 最新日韩三级| 亚洲人在线视频| 国产大片中文字幕| 国产成人av一区二区三区在线| 伊人久久大香线蕉成人综合网 | 欧美激情四色| 7777精品伊久久久大香线蕉语言 | 依依成人综合视频| 成人高清在线观看视频| 欧美在线免费| 亚洲在线第一页| 91精品久久| 欧美一级夜夜爽| 欧美日韩精品亚洲精品| 国产成人精品一区二区三区网站观看| 精品一区二区三区毛片| 国产精品毛片aⅴ一区二区三区| 久久精品国产久精国产一老狼| 一区二区三区亚洲视频| 亚洲精品伦理在线| 中文字幕99页| 亚洲在线黄色| 日韩在线三区| 福利视频亚洲| 欧美成人高清视频| 国精产品一品二品国精品69xx| 亚洲一区二区三区三| 熟妇高潮一区二区| 影音先锋一区| 欧美日韩另类综合| 欧美黄页免费| 欧美激情一区二区久久久| 三级在线观看网站| 欧美午夜寂寞影院| 农村妇女精品一区二区| 国产一区二区伦理| 大荫蒂性生交片| 伊人精品一区| 亚洲影视九九影院在线观看| 久草在线资源站手机版| 在线观看亚洲视频| 国产女人18毛片18精品| 亚洲尤物在线视频观看| 国模私拍在线观看| 日韩精品色哟哟| 免费观看亚洲视频| 精品国产123区| 99se婷婷在线视频观看| 亚洲精品成人图区| 久久精品国产亚洲一区二区 | 成人午夜精品一区二区三区| 国产偷人视频免费| 一区二区不卡| 欧美在线日韩精品| 亚洲精品一二三**| 国产精品美女久久久免费| 毛片av在线| 亚洲视频视频在线| 国产特黄一级片| 日韩欧美亚洲成人| 欧美成人一二三区| 中文一区二区在线观看 | 欧美激情一区二区| 四虎精品一区二区| 青青国产91久久久久久| 国产一区二区三区在线免费| 欧美日中文字幕| 精品久久久久久一区| 在线毛片观看| 欧美激情亚洲精品| 国产成人无吗| 亚洲女人被黑人巨大进入| 在线视频欧美亚洲| 91久久精品一区二区三| 日韩精品国产一区二区| 亚洲欧美成aⅴ人在线观看| 国产亚洲精品熟女国产成人| 国产美女精品人人做人人爽| 六月丁香婷婷激情| 黄色亚洲精品| 国产一级黄色录像片| 久久在线电影| 国模精品一区二区三区| 本网站久久精品| 日本午夜在线亚洲.国产| 蜜桃视频www网站在线观看| 欧美黑人一区二区三区| 99热国产在线| 久久精品亚洲国产| 日韩专区在线| 视频在线观看99| 成年人视频在线看| 国产亚洲精品91在线| 日韩精品系列| 亚洲精品色婷婷福利天堂| 五月天丁香视频| 日韩成人在线观看| 伊人av成人| 97成人超碰| 国产精品久久久久久久久借妻 | 国产无套粉嫩白浆在线2022年| 欧美日韩免费视频| 一级α片免费看刺激高潮视频| 欧美日韩色综合| 中文字幕 日韩有码| 91黄色免费版| 亚洲专区在线播放| 欧美日本一道本| 国产欧美久久久| 884aa四虎影成人精品一区| 中文字幕av网站| 欧美日韩国产综合久久| 国产精品探花视频| 欧美不卡在线视频| 黑人精品一区二区| 日韩国产高清视频在线| 四虎影视在线播放| 日韩你懂的在线观看| 97精品人妻一区二区三区| 色婷婷综合视频在线观看| 国产成人亚洲精品自产在线| 亚洲综合自拍偷拍| 中文字幕第15页| 欧美影片第一页| 国产又粗又猛视频免费| 精品视频1区2区3区| 国产乱色精品成人免费视频| 欧美变态tickling挠脚心| 少妇一级淫片免费看| 亚洲成人三级在线| 美州a亚洲一视本频v色道| 日韩在线视频二区| 日本不卡影院| 热草久综合在线| 456成人影院在线观看| 国产精品久久久久aaaa九色| 国产区一区二| 国产99在线免费| 欧美不卡在线观看| 成人欧美一区二区三区视频xxx | 激情久久一区二区| 99久久综合狠狠综合久久止| 美国成人xxx| 午夜精品区一区二区三| 欧美日韩影院| 少妇高清精品毛片在线视频 | 日本人添下边视频免费| 99热99精品| 丁香六月激情综合| 亚洲久草在线视频| 久久香蕉精品视频| 欧美日韩在线观看一区二区| 亚洲一二区视频| 亚洲国产天堂久久综合| 色视频在线免费观看| 国内精品免费午夜毛片| 国产精品美女午夜爽爽| 国产精品久久波多野结衣| 九九久久精品| 免费的av在线| 日韩电影在线免费观看| 女女调教被c哭捆绑喷水百合| 91在线丨porny丨国产| 2019男人天堂| 精品国产91久久久| 99热这里只有精品5| 国产一区二区黄| 黄毛片在线观看| 91人成网站www| 国产亚洲电影| 精品无码国模私拍视频| 国产久卡久卡久卡久卡视频精品| 少妇精品无码一区二区免费视频| 午夜私人影院久久久久| 国产喷水福利在线视频| 夜夜嗨av一区二区三区四区| 看黄在线观看| 91在线播放视频| 亚洲第一天堂| 中文字幕22页| 91在线观看高清| 国产精品theporn动漫| 日韩一区二区在线看片| 五月婷婷激情在线| 欧美激情欧美激情| 91精品国产一区二区在线观看| 亚洲7777| 日韩国产欧美视频| 巨胸大乳www视频免费观看| 亚洲国产日日夜夜| 亚洲精品久久久久avwww潮水| 日韩av在线免费| 激情视频网站在线播放色| 国产精品免费在线播放| 不卡日本视频| av网站在线不卡| 日本一二三四高清不卡| 99re热视频| 亚洲美女精品久久| 午夜伦理福利在线| 欧美日韩在线精品| 玖玖玖国产精品| 一级国产黄色片| 欧美日韩在线免费| 黄网站在线观看| 午夜精品福利在线观看| 一区二区三区免费在线看| 波多野结衣 作品| 福利电影一区二区| 久草资源在线视频| 日韩免费高清av| 色呦呦在线看| 国产一区二区三区四区五区在线| aa国产精品| 亚洲人成欧美中文字幕| 成年人在线观看网站| 国产日韩在线看片| 亚洲视频在线免费| 国产精品日日摸夜夜爽| 亚洲午夜免费电影| 亚洲免费成人网| 久久久久免费视频| 香蕉久久精品日日躁夜夜躁| 国产美女主播在线| 久久综合九色综合97_久久久| 国产精品久久久久久人| 社区色欧美激情 | 亚洲不卡视频| 丝袜老师办公室里做好紧好爽 | 欧美激情一区二区三区在线视频 | 午夜欧美视频在线观看| 先锋av资源站| 国产精品香蕉av| 欧美另类女人| 中文字字幕码一二三区| 欧美日韩一区二区三区在线| 黄色网址视频在线观看| 91久久国产综合久久91精品网站| 国产精品99视频| av在线播放网址| 欧美私人免费视频| 亚洲大胆人体大胆做受1| 欧美日韩国产精品一卡| 久久国产精品第一页| 日本熟妇毛茸茸丰满| 一区二区三区四区在线观看视频| 日韩精品三级| 久久九九国产视频| 一区二区三区四区精品在线视频| 五月色婷婷综合| 亚洲一区二区三区久久| 久久亚洲欧洲| 久久久久久久9999| 在线播放日韩精品| 久草在线综合| 福利视频999| 一本大道久久a久久综合| 亚洲资源一区| 日韩精品一区二区三区丰满| 国产成人自拍高清视频在线免费播放| 亚洲欧美一区二区三区在线观看| 欧美日韩国产123| 日本精品黄色|