精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

成人9ⅰ免费影视网站| 久久九九有精品国产23| 黄在线观看网站| 成年人视频网站在线| 久久成人综合网| 久久高清视频免费| 日本黄色动态图| 久久xxx视频| 一区二区在线观看免费| 欧美国产二区| 精品久久久无码中文字幕| 亚洲区一区二| 久久精品人人爽| 亚洲第一黄色网址| 国产一区一区| 日韩欧美视频一区二区三区| www.午夜色| 少妇性bbb搡bbb爽爽爽欧美| 狠狠色丁香久久婷婷综合丁香| 欧美极品美女电影一区| 国产三级短视频| av综合网站| 在线不卡a资源高清| 免费超爽大片黄| 四虎久久免费| 久久久久久久久久电影| 69174成人网| 进去里视频在线观看| 精品91视频| 久久精品国产久精国产思思| 国内精品久久99人妻无码| 91精品网站在线观看| 色中色一区二区| 中文字幕精品一区日韩| 欧美xxx.com| 成人免费高清视频在线观看| 91麻豆桃色免费看| 国产成人精品综合| 又黄又爽的网站| www一区二区三区| 在线观看免费亚洲| 黑鬼大战白妞高潮喷白浆| 男人天堂亚洲天堂| 最新国产精品久久精品| 日产精品久久久一区二区| 午夜视频www| 成人精品高清在线| 99视频日韩| 国产麻豆91视频| 精品影院一区二区久久久| 国产999在线观看| 国产性猛交╳xxx乱大交| 亚洲婷婷在线| 欧美国产一区二区三区| 91 在线视频| 99九九热只有国产精品| 在线观看日韩av| 亚洲第一综合网| 精品高清在线| 中文字幕视频在线免费欧美日韩综合在线看 | 色狠狠久久av五月综合| 国产三级视频在线播放| 精品一区二区免费在线观看| 国产一区二区丝袜| 中文字幕在线观看精品| 免费观看日韩电影| 国产精品午夜视频| 91久久精品国产91性色69| 另类的小说在线视频另类成人小视频在线 | 91插插插插插插插插| 午夜精品成人av| 日本韩国欧美在线| 一区二区三区免费播放| 欧美激情三区| 制服丝袜中文字幕一区| av影片在线播放| 粉嫩av一区二区| 亚洲成在人线av| 大黑人交xxx极品hd| 国产一区二区精品福利地址| 亚洲午夜av久久乱码| www色com| 欧美激情91| 久久久免费电影| 国产精品免费精品一区| 人人狠狠综合久久亚洲| 成人黄色免费片| 性一交一乱一伧老太| av一区二区三区| 日韩电影免费观看高清完整| 免费网站免费进入在线| 一区二区成人在线| 黄在线观看网站| japansex久久高清精品| 亚洲第一视频网站| 阿v天堂2014| 欧美精品一卡| 欧美一区二区三区四区在线| 一本久道久久综合无码中文| 国产福利精品一区二区| 久久99精品久久久久久青青日本| yw视频在线观看| 洋洋av久久久久久久一区| www.com毛片| 国产成人免费av一区二区午夜 | 国产欧美在线播放| www.色视频| 国产视频视频一区| 国产激情片在线观看| 涩涩视频在线播放| 91麻豆精品国产91久久久更新时间| 人妻丰满熟妇aⅴ无码| 日韩在线看片| 欧美一级免费视频| 国产chinasex对白videos麻豆| 26uuu亚洲婷婷狠狠天堂| 在线观看欧美一区| 中文字幕在线直播| 精品国产乱码久久久久久蜜臀 | 中文字幕亚洲在| 国产深夜男女无套内射| 99综合99| 色av中文字幕一区| 欧美一区二区三区网站| 丁香婷婷综合色啪| 在线观看日本一区| 亚洲不卡系列| 亚洲免费一级电影| 国产在线观看成人| 国产又黄又大久久| 亚洲国产精品日韩| av高清一区| 日韩av网站大全| 精品少妇theporn| 极品少妇一区二区三区精品视频 | 天堂av在线播放| 亚洲乱码中文字幕| www.久久av.com| 精品免费在线| 国产成人综合精品| 天堂91在线| 亚洲成av人片在线观看无码| 亚洲三级在线视频| 国产精品7m凸凹视频分类| 国产精品www| 视频一区二区在线播放| 午夜精品在线看| 亚洲香蕉中文网| 激情成人综合| 国产一区福利视频| 91豆花视频在线播放| 精品国产乱码久久久久久久| 欧美三级小视频| 国产盗摄一区二区三区| 亚洲五码在线观看视频| 欧美经典一区| 欧美大片大片在线播放| 国产白浆在线观看| 亚洲永久精品大片| 中文字幕一二三| 欧美日韩综合| 国产精品国产三级欧美二区| 国精一区二区三区| 亚洲韩国青草视频| 国产午夜免费福利| 国产亚洲欧美一区在线观看| 91网址在线播放| 围产精品久久久久久久| 亚洲a级在线播放观看| 99在线播放| 亚洲第一页自拍| 精品人妻一区二区三区免费看 | 蜜臀久久99精品久久久久宅男| 午夜欧美一区二区三区免费观看| 精品裸体bbb| 另类专区欧美制服同性| 精品人妻伦一二三区久久 | 自拍偷拍18p| 国产精品久久久一本精品| 日韩成人精品视频在线观看| 中文字幕一区二区av| 国产精品视频免费一区| 樱桃视频成人在线观看| 在线电影av不卡网址| 国产亲伦免费视频播放| 亚洲无人区一区| 四虎国产精品成人免费入口| 麻豆成人免费电影| 久久人人爽人人爽人人av| 亚洲欧美成人vr| 国产综合久久久久| 福利影院在线看| 日韩一二三在线视频播| 国精产品乱码一区一区三区四区| 一本色道**综合亚洲精品蜜桃冫| 91麻豆制片厂| 成人福利电影精品一区二区在线观看| 成人在线观看a| 欧美在线首页| 欧美一区二区三区在线播放| 国产精品一站二站| 日本成人激情视频| а√天堂官网中文在线| 亚洲精品720p| 国产一区二区在线视频聊天| 精品人伦一区二区三区蜜桃网站| 激情五月深爱五月| 成人美女视频在线观看| 色播五月激情五月| 亚洲在线观看| 免费看日b视频| 久久福利综合| 狼狼综合久久久久综合网| 国产美女亚洲精品7777| 国产精品国产三级国产aⅴ9色 | 国产精品九九九| heyzo在线播放| 久久精品国产亚洲精品2020| 水中色av综合| 精品久久久久一区| 亚洲天堂视频网| 色域天天综合网| 日本一区二区三区免费视频| 亚洲人精品午夜| 美国黑人一级大黄| 久久嫩草精品久久久精品| 国产免费a级片| 国产一区二区美女诱惑| 国产免费999| 久久av在线| 国产九色porny| 欧美激情日韩| 日本黄色a视频| 四虎成人精品永久免费av九九| 免费看成人片| 色婷婷久久久| 精品中文字幕人| av成人男女| 国产精品视频免费观看| 91精品短视频| 99久久一区三区四区免费| 日韩福利影视| 国产欧美在线观看| 免费视频观看成人| 国产精品丝袜白浆摸在线| 国偷自产一区二区免费视频| 668精品在线视频| 交100部在线观看| 欧美一性一乱一交一视频| 国内精彩免费自拍视频在线观看网址| 久久久久久久久久久久av| 污视频网站免费在线观看| 久久国产精品久久久| av免费网站在线| 麻豆成人在线看| 色婷婷视频在线观看| 欧美国产精品va在线观看| 青春草视频在线| 高清一区二区三区日本久| 国产ktv在线视频| 国产91精品黑色丝袜高跟鞋| 成人性生活视频| 国产成人综合一区二区三区| xxxxx.日韩| 成人黄色在线观看| 亚洲精品观看| 九9re精品视频在线观看re6| 香蕉国产成人午夜av影院| 欧美一区激情视频在线观看| 欧美一二区在线观看| 亚洲一区三区在线观看| 在线一区免费| 人妻少妇精品久久| 日韩电影在线一区| www.99r| 成人丝袜高跟foot| 中文字幕av观看| 国产精品美女久久久久久久久| 综合五月激情网| 精品福利在线视频| 超碰在线免费97| 日韩一区二区不卡| 亚洲欧美日韩免费| 国产亚洲人成网站在线观看| 精品视频在线一区二区| 97国产成人精品视频| 91精品美女| 99久热re在线精品996热视频| 欧美在线关看| 9999在线观看| 亚洲制服av| 亚洲天堂av一区二区| 成人h动漫精品一区二区| 波多野结衣av在线观看| 亚洲卡通动漫在线| 中文字幕第四页| 日韩一区二区三区免费看| 午夜视频福利在线| 精品国产网站地址| 伊人成综合网站| 5g国产欧美日韩视频| 国产毛片一区二区三区| 艳母动漫在线观看| 久久亚洲美女| 久久久久无码国产精品一区李宗瑞| 久久伊人蜜桃av一区二区| 性生交大片免费全黄| 欧美性猛交xxxx乱大交| 国产www免费观看| 国产亚洲一级高清| 日韩成人伦理| 国产中文欧美精品| 蜜桃一区二区| 亚洲人成无码网站久久99热国产| 久久草av在线| 野外性满足hd| 午夜一区二区三区在线观看| 91亚洲欧美激情| 亚洲色无码播放| 2021天堂中文幕一二区在线观| 成人在线精品视频| 国产欧美日韩一区二区三区四区| 青草青青在线视频| 国产在线视频一区二区| 免费网站在线高清观看| 欧美日韩在线一区| www久久久com| 久久影视免费观看| 国产一区高清| 亚洲成人18| 日韩精品国产欧美| 北岛玲一区二区| 午夜精品福利久久久| 亚洲成熟女性毛茸茸| 另类图片亚洲另类| 国产精品白丝久久av网站| 日韩视频专区| 日韩电影在线免费看| 偷拍夫妻性生活| 欧美日韩黄色大片| 手机av免费在线观看| 高清欧美一区二区三区| 国产毛片精品| 欧美成人三级在线视频| eeuss影院一区二区三区| 久久久久久久久久久网 | 91成人看片| 成人黄色一级大片| 日韩一区在线看| 国产精品区在线观看| 日韩亚洲欧美中文在线| 国产激情精品一区二区三区| 最新黄色av网站| 国产精品一区不卡| 黄色在线观看免费| 亚洲高清免费观看高清完整版| а√天堂8资源在线| 久久草视频在线看| 老司机一区二区三区| 久久久久亚洲av成人无码电影| 欧美色综合久久| 美女免费久久| 99国产在线视频| 一区二区91| 欧美人妻一区二区三区| 欧美精品自拍偷拍| 欧美性受ⅹ╳╳╳黑人a性爽| 精品国产免费一区二区三区 | 日韩免费特黄一二三区| 亚洲a级黄色片| 亚洲自拍欧美精品| 熟妇高潮一区二区三区| 日韩美女视频免费看| 久久综合av| 人妻 日韩 欧美 综合 制服| 色伊人久久综合中文字幕| 天堂地址在线www| 国产精品久久精品国产| 久久久999| 国产三级国产精品国产国在线观看| 亚洲成人999| 久久精品女人天堂av免费观看| 亚洲自拍的二区三区| 丰满亚洲少妇av| 一级黄色av片| 欧美国产视频日韩| 激情综合网站| 国产chinesehd精品露脸| 精品久久久久久久久久| h网站视频在线观看| 国产精品12| 三级久久三级久久久| 欧美日韩精品一区二区三区视频播放| 亚洲国产又黄又爽女人高潮的| 久久亚洲国产精品尤物| 精品久久久无码人妻字幂| 91免费视频网| 国产精品久久影视| 97人洗澡人人免费公开视频碰碰碰| 成人看的视频|