日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mmap 源码分析

發布時間:2024/4/18 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mmap 源码分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mmap 源碼分析

  • 準備
  • 函數原型
  • 虛擬內存區域管理
  • The Memory Descriptor(內存描述符)
  • Virtual Memory Area(虛擬內存區域描述符)
  • mmap映射執行流程
  • 源碼分析
  • do_mmap()
  • mmap_region()
  • 匿名映射
  • 總結
  • Q&A
  • 準備

    內核版本: 4.20.1

    上一篇Linux環境寫文件如何穩定跑滿磁盤I-O帶寬我們使用了mmap來幫助我們寫文件穩定的跑滿了磁盤I/O,這篇我們來詳細介紹一下mmap()的細節和源碼分析. 雖然我們使用mmap()只是簡單的映射文件至內存中,而mmap()的設計實現主要涉及內核中的虛擬內存空間和內存映射等細節.

    函數原型

    void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t offset);

    這是mmap的函數原型,而系統調用的接口在mm/mmap.c中的:

    unsigned long ksys_mmap_pgoff(unsigned long addr, unsigned long len,unsigned long prot, unsigned long flags,unsigned long fd, unsigned long pgoff);

    虛擬內存區域管理

    這里我們先介紹兩個關于虛擬內存的數據結構。虛擬內存概念的相關資料網上已經足夠的豐富,這里我們從內核的角度來分析。虛擬空間的管理是以進程為基礎的,每個進程都有各自的虛存空間,除此之外,每個進程的“內核虛擬空間”是為所有的進程所共享的。一個進程的虛擬地址空間主要由兩個數據結構來描述:?mm_struct(內存描述符)?和vm_area_struct(虛擬內存區域描述符)。

    The Memory Descriptor(內存描述符)

    mm_struct包括進程中虛擬地址空間的所有信息,mm_struct定義在include/linux/mm_types.h:

    struct mm_struct {struct {struct vm_area_struct *mmap; /* vm_area_struct的鏈表 */pgd_t * pgd; /* 指向進程的頁目錄 *//* ... */int map_count; /* vm_area_struct數量 *//* ... */unsigned long total_vm; /* 映射的Page數量 *//* ... */unsigned long start_code, end_code, start_data, end_data; /* 代碼段起始結束位置,數據段起始結束位置 */unsigned long start_brk, brk, start_stack; /* 堆的起始結束位置, 棧因為其性質,只有起始位置 */unsigned long arg_start, arg_end, env_start, env_end; /* 參數段,環境段的起始結束位置 *//* ... */}}

    結合mm_struct和下圖32位系統典型的虛擬地址空間分布更能直觀的理解(來自《深入理解計算機系統》):

    Virtual Memory Area(虛擬內存區域描述符)

    vm_area_struct描述了虛擬地址空間的一個區間, 一個進程的虛擬空間中可能有多個虛擬區間,?vm_area_struct同樣定義在include/linux/mm_types.h:

    /** This struct defines a memory VMM memory area. There is one of these* per VM-area/task. A VM area is any part of the process virtual memory* space that has a special rule for the page-fault handlers (ie a shared* library, the executable area etc).*/ struct vm_area_struct {/* The first cache line has the info for VMA tree walking. */unsigned long vm_start; /* 在虛擬地址空間的起始位置 */unsigned long vm_end; /* 在虛擬地址空間的結束位置*//* linked list of VM areas per task, sorted by address */struct vm_area_struct *vm_next, *vm_prev; /* 虛擬內存區域鏈表中的前繼,后繼指針 */struct rb_node vm_rb;/** Largest free memory gap in bytes to the left of this VMA.* Either between this VMA and vma->vm_prev, or between one of the* VMAs below us in the VMA rbtree and its ->vm_prev. This helps* get_unmapped_area find a free area of the right size.*/unsigned long rb_subtree_gap;/* Second cache line starts here. *//* Function pointers to deal with this struct. */const struct vm_operations_struct *vm_ops; /* 虛擬內存操作集合 */struct mm_struct *vm_mm; /* vma所屬的虛擬地址空間 */pgprot_t vm_page_prot; /* Access permissions of this VMA. */unsigned long vm_flags; /* Flags, see mm.h. */unsigned long vm_pgoff; /* 以Page為單位的偏移. */struct file * vm_file; /* 映射的文件,匿名映射即為nullptr*/

    下圖是某個進程的虛擬內存簡化布局以及相應的幾個數據結構之間的關系:

    mmap映射執行流程

    • 檢查參數,并根據傳入的映射類型設置vma的flags.
    • 進程查找其虛擬地址空間,找到一塊空閑的滿足要求的虛擬地址空間.
    • 根據找到的虛擬地址空間初始化vma.
    • 設置vma->vm_file.
    • 根據文件系統類型,將vma->vm_ops設為對應的file_operations.
    • 將vma插入mm的鏈表中.

    源碼分析

    我們接下來進入mmap的代碼分析:

    do_mmap()

    do_mmap()是整個mmap()的具體操作函數, 我們跳過系統調用來直接看具體實現:

    unsigned long do_mmap(struct file *file, unsigned long addr,unsigned long len, unsigned long prot,unsigned long flags, vm_flags_t vm_flags,unsigned long pgoff, unsigned long *populate,struct list_head *uf) {struct mm_struct *mm = current->mm; /* 獲取該進程的memory descriptorint pkey = 0;*populate = 0;/*函數對傳入的參數進行一系列檢查, 假如任一參數出錯,都會返回一個errno*/if (!len)return -EINVAL;/** Does the application expect PROT_READ to imply PROT_EXEC?** (the exception is when the underlying filesystem is noexec* mounted, in which case we dont add PROT_EXEC.)*/if ((prot & PROT_READ) && (current->personality & READ_IMPLIES_EXEC))if (!(file && path_noexec(&file->f_path)))prot |= PROT_EXEC;/* force arch specific MAP_FIXED handling in get_unmapped_area */if (flags & MAP_FIXED_NOREPLACE)flags |= MAP_FIXED;/* 假如沒有設置MAP_FIXED標志,且addr小于mmap_min_addr, 因為可以修改addr, 所以就需要將addr設為mmap_min_addr的頁對齊后的地址 */if (!(flags & MAP_FIXED))addr = round_hint_to_min(addr);/* Careful about overflows.. *//* 進行Page大小的對齊 */len = PAGE_ALIGN(len);if (!len)return -ENOMEM;/* offset overflow? */if ((pgoff + (len >> PAGE_SHIFT)) < pgoff)return -EOVERFLOW;/* Too many mappings? *//* 判斷該進程的地址空間的虛擬區間數量是否超過了限制 */if (mm->map_count > sysctl_max_map_count)return -ENOMEM;/* Obtain the address to map to. we verify (or select) it and ensure* that it represents a valid section of the address space.*//* get_unmapped_area從當前進程的用戶空間獲取一個未被映射區間的起始地址 */addr = get_unmapped_area(file, addr, len, pgoff, flags);/* 檢查addr是否有效 */if (offset_in_page(addr))return addr;/* ?假如flags設置MAP_FIXED_NOREPLACE,需要對進程的地址空間進行addr的檢查. 如果搜索發現存在重合的vma, 返回-EEXIST。這是MAP_FIXED_NOREPLACE標志所要求的*/if (flags & MAP_FIXED_NOREPLACE) {struct vm_area_struct *vma = find_vma(mm, addr);if (vma && vma->vm_start < addr + len)return -EEXIST;}if (prot == PROT_EXEC) {pkey = execute_only_pkey(mm);if (pkey < 0)pkey = 0;}/* Do simple checking here so the lower-level routines won't have* to. we assume access permissions have been handled by the open* of the memory object, so we don't do any here.*/vm_flags |= calc_vm_prot_bits(prot, pkey) | calc_vm_flag_bits(flags) |mm->def_flags | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC;/* 假如flags設置MAP_LOCKED,即類似于mlock()將申請的地址空間鎖定在內存中, 檢查是否可以進行lock*/if (flags & MAP_LOCKED)if (!can_do_mlock())return -EPERM;if (mlock_future_check(mm, vm_flags, len))return -EAGAIN;if (file) { /* file指針不為nullptr, 即從文件到虛擬空間的映射 */struct inode *inode = file_inode(file); /* 獲取文件的inode */unsigned long flags_mask;if (!file_mmap_ok(file, inode, pgoff, len))return -EOVERFLOW;flags_mask = LEGACY_MAP_MASK | file->f_op->mmap_supported_flags;/*...根據標志指定的map種類,把為文件設置的訪問權考慮進去。如果所請求的內存映射是共享可寫的,就要檢查要映射的文件是為寫入而打開的,而不是以追加模式打開的,還要檢查文件上沒有上強制鎖。對于任何種類的內存映射,都要檢查文件是否為讀操作而打開的。...*/} else {switch (flags & MAP_TYPE) {case MAP_SHARED:if (vm_flags & (VM_GROWSDOWN|VM_GROWSUP))return -EINVAL;/** Ignore pgoff.*/pgoff = 0;vm_flags |= VM_SHARED | VM_MAYSHARE;break;case MAP_PRIVATE:/** Set pgoff according to addr for anon_vma.*/pgoff = addr >> PAGE_SHIFT;break;default:return -EINVAL;}}/** Set 'VM_NORESERVE' if we should not account for the* memory use of this mapping.*/if (flags & MAP_NORESERVE) {/* We honor MAP_NORESERVE if allowed to overcommit */if (sysctl_overcommit_memory != OVERCOMMIT_NEVER)vm_flags |= VM_NORESERVE;/* hugetlb applies strict overcommit unless MAP_NORESERVE */if (file && is_file_hugepages(file))vm_flags |= VM_NORESERVE;}addr = mmap_region(file, addr, len, vm_flags, pgoff, uf);if (!IS_ERR_VALUE(addr) &&((vm_flags & VM_LOCKED) ||(flags & (MAP_POPULATE | MAP_NONBLOCK)) == MAP_POPULATE))*populate = len;return addr;

    mmap_region()

    do_mmap()根據用戶傳入的參數做了一系列的檢查,然后根據參數初始化vm_area_struct的標志vm_flags,vma->vm_file = get_file(file)建立文件與vma的映射, mmap_region()負責創建虛擬內存區域:

    unsigned long mmap_region(struct file *file, unsigned long addr,unsigned long len, vm_flags_t vm_flags, unsigned long pgoff,struct list_head *uf) {struct mm_struct *mm = current->mm; // 獲取該進程的memory descriptorstruct vm_area_struct *vma, *prev;int error;struct rb_node **rb_link, *rb_parent;unsigned long charged = 0;/* Check against address space limit. *//* 檢查申請的虛擬內存空間是否超過了限制. */if (!may_expand_vm(mm, vm_flags, len >> PAGE_SHIFT)) {unsigned long nr_pages;/** MAP_FIXED may remove pages of mappings that intersects with* requested mapping. Account for the pages it would unmap.*/nr_pages = count_vma_pages_range(mm, addr, addr + len);if (!may_expand_vm(mm, vm_flags,(len >> PAGE_SHIFT) - nr_pages))return -ENOMEM;}/* 檢查[addr, addr+len)的區間是否存在映射空間,假如存在重合的映射空間需要munmap */while (find_vma_links(mm, addr, addr + len, &prev, &rb_link,&rb_parent)) {if (do_munmap(mm, addr, len, uf))return -ENOMEM;}/** Private writable mapping: check memory availability*/if (accountable_mapping(file, vm_flags)) {charged = len >> PAGE_SHIFT;if (security_vm_enough_memory_mm(mm, charged))return -ENOMEM;vm_flags |= VM_ACCOUNT;}/* 檢查是否可以合并[addr, addr+len)區間內的虛擬地址空間vma*/vma = vma_merge(mm, prev, addr, addr + len, vm_flags,NULL, file, pgoff, NULL, NULL_VM_UFFD_CTX);if (vma) /* 假如合并成功,即使用合并后的vma, 并跳轉至out */goto out;/** Determine the object being mapped and call the appropriate* specific mapper. the address has already been validated, but* not unmapped, but the maps are removed from the list.*//* 如果不能和已有的虛擬內存區域合并,通過Memory Descriptor來申請一個vma */vma = vm_area_alloc(mm);if (!vma) {error = -ENOMEM;goto unacct_error;}/* 初始化vma */vma->vm_start = addr;vma->vm_end = addr + len;vma->vm_flags = vm_flags;vma->vm_page_prot = vm_get_page_prot(vm_flags);vma->vm_pgoff = pgoff;if (file) { /* 假如指定了文件映射 */if (vm_flags & VM_DENYWRITE) { /* 映射的文件不允許寫入,調用deny_write_accsess(file)排斥常規的文件操作 */error = deny_write_access(file);if (error)goto free_vma;}if (vm_flags & VM_SHARED) { /* 映射的文件允許其他進程可見, 標記文件為可寫 */error = mapping_map_writable(file->f_mapping);if (error)goto allow_write_and_free_vma;}/* ->mmap() can change vma->vm_file, but must guarantee that* vma_link() below can deny write-access if VM_DENYWRITE is set* and map writably if VM_SHARED is set. This usually means the* new file must not have been exposed to user-space, yet.*/vma->vm_file = get_file(file); /* 遞增File的引用次數,返回File賦給vma*/error = call_mmap(file, vma); /* 調用文件系統指定的mmap函數,后面會介紹 */if (error)goto unmap_and_free_vma;/* Can addr have changed??** Answer: Yes, several device drivers can do it in their* f_op->mmap method. -DaveM* Bug: If addr is changed, prev, rb_link, rb_parent should* be updated for vma_link()*/WARN_ON_ONCE(addr != vma->vm_start);addr = vma->vm_start;vm_flags = vma->vm_flags;} else if (vm_flags & VM_SHARED) {/* 假如標志為VM_SHARED,但沒有指定映射文件,需要調用shmem_zero_setup()shmem_zero_setup()實際映射的文件是dev/zero*/error = shmem_zero_setup(vma);if (error)goto free_vma;} else {/* 既沒有指定file, 也沒有設置VM_SHARED, 即設置為匿名映射 */vma_set_anonymous(vma);}/* 將申請的新vma加入mm中的vma鏈表*/vma_link(mm, vma, prev, rb_link, rb_parent);/* Once vma denies write, undo our temporary denial count */if (file) {if (vm_flags & VM_SHARED)mapping_unmap_writable(file->f_mapping);if (vm_flags & VM_DENYWRITE)allow_write_access(file);}file = vma->vm_file; out:perf_event_mmap(vma);/* 更新進程的虛擬地址空間mm */vm_stat_account(mm, vm_flags, len >> PAGE_SHIFT);if (vm_flags & VM_LOCKED) {if ((vm_flags & VM_SPECIAL) || vma_is_dax(vma) ||is_vm_hugetlb_page(vma) ||vma == get_gate_vma(current->mm))vma->vm_flags &= VM_LOCKED_CLEAR_MASK;elsemm->locked_vm += (len >> PAGE_SHIFT);}if (file)uprobe_mmap(vma);/** New (or expanded) vma always get soft dirty status.* Otherwise user-space soft-dirty page tracker won't* be able to distinguish situation when vma area unmapped,* then new mapped in-place (which must be aimed as* a completely new data area).*/vma->vm_flags |= VM_SOFTDIRTY;vma_set_page_prot(vma);return addr;unmap_and_free_vma:vma->vm_file = NULL;fput(file);/* Undo any partial mapping done by a device driver. */unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);charged = 0;if (vm_flags & VM_SHARED)mapping_unmap_writable(file->f_mapping); allow_write_and_free_vma:if (vm_flags & VM_DENYWRITE)allow_write_access(file); free_vma:vm_area_free(vma); unacct_error:if (charged)vm_unacct_memory(charged);return error; }

    mmap_region()調用了call_mmap(file, vma):?call_mmap根據文件系統的類型選擇適配的mmap()函數,我們選擇目前常用的ext4:

    ext4_file_mmap()是ext4對應的mmap, 功能非常簡單,更新了file的修改時間(file_accessed(flie)),將對應的operation賦給vma->vm_flags:

    三個操作函數的意義:

    • .fault: 處理Page Fault
    • .map_pages: 映射文件至Page Cache
    • .page_mkwrite: 修改文件的狀態為可寫
    static const struct vm_operations_struct ext4_file_vm_ops = {.fault = ext4_filemap_fault,.map_pages = filemap_map_pages,.page_mkwrite = ext4_page_mkwrite, };static int ext4_file_mmap(struct file *file, struct vm_area_struct *vma) {struct inode *inode = file->f_mapping->host;if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb))))return -EIO;/** We don't support synchronous mappings for non-DAX files. At least* until someone comes with a sensible use case.*/if (!IS_DAX(file_inode(file)) && (vma->vm_flags & VM_SYNC))return -EOPNOTSUPP;file_accessed(file);if (IS_DAX(file_inode(file))) {vma->vm_ops = &ext4_dax_vm_ops;vma->vm_flags |= VM_HUGEPAGE;} else {vma->vm_ops = &ext4_file_vm_ops;}return 0; }

    通過分析mmap的源碼我們發現在調用mmap()的時候僅僅申請一個vm_area_struct來建立文件與虛擬內存的映射,并沒有建立虛擬內存與物理內存的映射。假如沒有設置MAP_POPULATE標志位,Linux并不在調用mmap()時就為進程分配物理內存空間,直到下次真正訪問地址空間時發現數據不存在于物理內存空間時,觸發Page Fault即缺頁中斷,Linux才會將缺失的Page換入內存空間. 后面的文章我們會介紹Linux的缺頁(Page fault)處理和請求Page的機制.

    匿名映射

    mmap()設置參數MAP_ANONYMOUS即可指定匿名映射,mmap的匿名映射并不執行文件或設備為映射地址,實際上映射的文件為/dev/zero,匿名頁的物理內存一般分配用來作為進程的棧或堆的虛擬內存映射.

    總結

    常用的read()首先從文件的Page讀取至內核頁緩存,然后再從內核態的內存空間拷貝到用戶態的內存空間,而mmap直接建立了文件與虛擬地址空間的映射, 可以直接通過MMU根據虛擬地址空間的地址映射從內核的物理內存區讀取數據, 省去了內核態拷貝數據至用戶態的開銷. 因為mmap的修改直接反映在物理內存時,所以kill -9進程不會丟數據.

    Q&A

    • vm_area_struct如何尋找對應的物理內存頁?

      vm_area_struct結構中并沒有直接的存放Page指針的結構體,但包含虛擬地址的起始地址和結束地址vm_start和vm_end, 通過虛擬地址轉換物理地址的方法可以直接尋找到指定的Page.

    • 如何處理變長的文件?

      Rocksdb使用了mmap的方式寫文件, 首先fallocate固定長度len的文件,然后通過mmap建立映射,使用一個base指針來滑動寫入位置,寫滿長度len之后,調用munmap. 假如Close文件時寫不夠長度len, 即mummap寫入的長度,然后使用ftruncate()將多余的映射部分截去.

    • mmap()之后memcpy()出現SIGBUS錯誤:

      SIGBUS出現在缺頁中斷處理的過程中,即前面我們提到的ext4_file_vm_ops的ext4_file_vm_ops():?do_mmap()有一行len = PAGE_ALIGN(len), 即根據傳入的參數len進行頁對齊后的長度來映射文件,但這里并沒有考慮文件size.
      而缺頁中斷后真正的文件映射讀取會考慮文件長度,即讀取的offset假如超過了文件size頁對齊后的長度,即會返回SIGBUS.

      /** DIV_ROUND_UP()意為向上取整, i_size_read(inode)返回文件的長度(inode->i_size)* 假如文件長度為7000, 經過DIV_ROUND_UP(), max_off返回8192*/ max_off = DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE);/** offset為memcpy()中目標地址addr所指向的偏移位置,假如超過了max_off,返回了SIGBUS*/ if (unlikely(offset >= max_off))return VM_FAULT_SIGBUS;
    • mmap()之后memcpy()出現SIGSEGV錯誤: (mm/memory.c:handle_mm_fault())

      if (!arch_vma_access_permitted(vma, flags & FAULT_FLAG_WRITE,flags & FAULT_FLAG_INSTRUCTION,flags & FAULT_FLAG_REMOTE))/* * 當進程訪問試圖訪問非法的虛擬地址空間,返回SIGSEGV錯誤*/ return VM_FAULT_SIGSEGV;
    • mmap是銀彈嗎?

      不是, 隨機寫頻繁觸發的Page Fault和臟頁回寫使得mmap避免在內核態與用戶態之間的拷貝的優勢減弱,下圖是Linux環境寫文件如何穩定跑滿磁盤I-O帶寬中方案三的mmap順序寫入的火焰圖,我們可以更直觀的看到mmap的瓶頸所在:

    • mmap設置MAP_SHARED, 這部分使用的內存會計算在RSS中嗎?

      會,RSS(Resident set size)意為常駐使用內存,一般理解為真正使用的物理內存,當這部分設置了MAP_SHARED的內存觸發了Page Fault,被OS真正分配了物理內存,就會在RSS的數值上體現.

    總結

    以上是生活随笔為你收集整理的mmap 源码分析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    麻豆国产视频 | 欧美一级性 | www.av中文字幕.com | 国产福利小视频在线 | 欧美一区二区免费在线观看 | 激情 一区二区 | 最新日韩电影 | 国产精品人成电影在线观看 | 欧美综合干 | 免费在线观看国产黄 | 久久精品牌麻豆国产大山 | 久草久热| 97人人人人| 中文亚洲欧美日韩 | 国产精品v欧美精品v日韩 | 精品一二三四五区 | 欧美日韩中字 | 一二三四精品 | 日韩3区 | 在线观看免费av片 | 国产精品ⅴa有声小说 | 免费试看一区 | 亚洲成人影音 | 99在线高清视频在线播放 | 91成熟丰满女人少妇 | 国产区av在线 | 免费人成网 | 日韩在线视频网址 | 亚洲3级 | 狠狠操天天射 | 亚洲最新视频在线播放 | 中文字幕第一页在线 | 久久草| 69xx视频| 亚洲激情六月 | 色婷五月天 | 超碰国产在线观看 | 天天操天天干天天爽 | 久久er99热精品一区二区 | 免费国产黄线在线观看视频 | 欧美日韩二区在线 | 99久久99久久精品国产片 | 九色自拍视频 | 免费在线观看一级片 | 91亚洲精品久久久蜜桃网站 | 中文字幕一区二区三区在线视频 | www.888.av| av在线电影免费观看 | 国产精品一区免费在线观看 | 免费视频国产 | 色婷婷www| 国产精品视频999 | 精品国产激情 | 2021av在线| 美女av在线免费 | 久久综合综合久久综合 | 亚洲闷骚少妇在线观看网站 | 日韩免费一级a毛片在线播放一级 | 日韩手机在线 | 欧美大片在线观看一区 | 手机看片午夜 | 国产日韩视频在线播放 | 一级黄色片毛片 | 国产99久久99热这里精品5 | 精品久久久久久久久久岛国gif | 久久精品艹 | 中文字幕观看视频 | 精品一区二区在线播放 | 国产精品久久在线 | 日韩欧美视频免费在线观看 | 最近中文字幕mv免费高清在线 | 91麻豆精品久久久久久 | 中文字幕丝袜一区二区 | 激情五月综合网 | 一区二区精品在线 | 夜夜夜| 97在线播放视频 | 成人午夜黄色影院 | 337p欧美 | 91大神在线观看视频 | 国产高清精品在线 | 国产美女网| 国产欧美高清 | 亚洲三级网 | 国产又粗又猛又黄视频 | 麻豆精品视频在线观看免费 | av888av.com| 毛片1000部免费看 | 精品乱码一区二区三四区 | 在线免费黄色av | 黄色片亚洲 | 国产精品一区二区麻豆 | 日韩中文字幕国产 | 久久999精品 | 97视频免费在线看 | www.888.av| 国产精品久久99 | 天天精品视频 | 亚洲精品人人 | 国产精品美女999 | 99精品观看 | 天天干人人干 | 韩日在线一区 | 免费a v网站| av黄色成人 | av在线永久免费观看 | 久久久久免费网 | av日韩中文| 在线精品视频在线观看高清 | 天堂va在线观看 | 91精品久久久久久综合五月天 | 欧美黑人性猛交 | 国精产品999国精产品视频 | 日韩性xxx | 国产精品破处视频 | 91精品国产综合久久福利 | 日韩成人高清在线 | 久久夜色电影 | 久久亚洲电影 | 国产精品av在线免费观看 | 天天爱天天射天天干天天 | 午夜成人免费电影 | 中文字幕资源在线 | 日韩av影视在线 | 免费在线播放av电影 | 国产一级电影在线 | 久草视频在线资源站 | 在线观看完整版 | av片中文 | 色婷婷导航 | 成人在线观看免费视频 | 午夜精品久久久久99热app | 亚洲国产精品久久久久 | 亚洲国内精品在线 | 日黄网站 | 国产一区欧美在线 | 韩国av电影在线观看 | 丁香花在线视频观看免费 | 久久精品黄 | 五月婷婷国产 | 亚洲精品麻豆视频 | 9在线观看免费高清完整版在线观看明 | 久久精品视频免费播放 | 日韩av进入 | 中文字幕精品一区久久久久 | 一区二区三区四区不卡 | 中文字幕在线高清 | 伊人天堂网 | 91精品国产欧美一区二区 | 亚洲黄色在线播放 | 国产a国产a国产a | 最新动作电影 | 91观看视频| 亚洲精品一区二区三区高潮 | 中文字幕一区二区三区精华液 | 91麻豆国产| 亚洲成a人片在线www | 国产又粗又猛又爽又黄的视频先 | 久久资源总站 | www.99在线观看 | 婷婷狠狠操 | 国产精品一区二区三区久久 | 亚洲最新毛片 | 中文字幕电影高清在线观看 | 色狠狠一区二区 | 欧美一级久久久 | 亚洲高清视频在线观看免费 | 九热精品 | 国产在线视频一区二区 | 亚洲精品在线国产 | 日日操网| 激情综合网五月婷婷 | 人人爽人人爱 | 狠狠色丁香婷婷综合欧美 | 日韩精品你懂的 | 91av亚洲 | 91精彩视频 | 久久久久久国产精品999 | 久久亚洲在线 | 最近最新最好看中文视频 | 日韩午夜在线播放 | 成人观看视频 | 亚洲精品免费在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲精品乱码久久久久久蜜桃动漫 | 射九九 | 国产精品va在线 | 在线免费观看成人 | 亚洲国产一区二区精品专区 | 国产一区二区在线影院 | 日韩在线在线 | 77国产精品 | 色资源中文字幕 | 国产剧情久久 | ww亚洲ww亚在线观看 | 久久大片网站 | 欧美怡红院视频 | 精品不卡视频 | 99综合电影在线视频 | 久久久影视 | 日韩中文久久 | 国产精品免费视频一区二区 | 日产乱码一二三区别在线 | 欧美性生活一级片 | 香蕉视频最新网址 | 亚洲欧美日韩一二三区 | 日韩高清在线不卡 | 草莓视频在线观看免费观看 | 国产日韩精品在线观看 | 日日天天av | 日韩黄色在线观看 | 国产精品久久久久久久久搜平片 | 九九热在线精品 | 婷婷激情影院 | 日日成人网 | 999久久久精品视频 日韩高清www | 中文字幕亚洲国产 | 色欲综合视频天天天 | 色综合久久久久综合体 | 伊人永久| 亚洲人毛片| 日日成人网 | 天天射日 | av免费网站在线观看 | 久色小说 | 国产一区二区三区高清播放 | 免费观看成人 | 欧美精品在线观看 | 久草在线免费看视频 | 日韩在线观看网站 | 激情综合色综合久久 | 探花视频免费观看高清视频 | 日本午夜在线观看 | 欧美一二三区在线播放 | 九九热在线观看视频 | 99视频这里只有 | 超碰97中文 | 手机av在线网站 | 免费人成在线观看网站 | 狠狠色狠狠色综合日日小说 | 91九色国产蝌蚪 | 天天射天天干天天操 | 精品一区久久 | 一本一道波多野毛片中文在线 | 一区二区三区韩国免费中文网站 | 98精品国产自产在线观看 | 亚洲欧美综合 | 久久久久国产免费免费 | 九九精品久久久 | 制服丝袜在线91 | 亚洲美女视频在线观看 | 91一区二区三区久久久久国产乱 | 国产小视频免费在线观看 | 正在播放五月婷婷狠狠干 | 久久午夜精品影院一区 | 久久久观看 | 91精品蜜桃 | 国产精品二区在线观看 | 久久99热这里只有精品国产 | 久久精品久久久久电影 | 成人免费看片网址 | 久久免费观看少妇a级毛片 久久久久成人免费 | 国产精品 中文字幕 亚洲 欧美 | 在线观看亚洲a | 中文字幕丰满人伦在线 | 亚洲午夜精品电影 | 人人爽人人乐 | 国产一区二区久久精品 | 免费在线观看一区二区三区 | 久久九九九九 | 日韩精品视频免费 | 国产精品一区二区在线看 | 亚洲视频每日更新 | 97热久久免费频精品99 | 久久婷婷色 | 久久中文字幕在线视频 | 国产日产亚洲精华av | 美女视频又黄又免费 | 五月天亚洲综合小说网 | 狠狠狠色丁香综合久久天下网 | 亚洲一级免费电影 | 中文字幕在线观看免费观看 | 一区二区视频在线看 | 在线 成人 | 青春草视频在线播放 | 亚洲欧洲久久久 | 热久久99这里有精品 | 麻豆视频免费在线播放 | 九九久久国产精品 | 操操日| 婷婷色狠狠 | 911久久香蕉国产线看观看 | 日日夜夜av | www成人av| 丁香婷婷综合激情 | 欧美精品一二三 | av一级片网站| 成人免费 在线播放 | 色婷婷综合久久久中文字幕 | 国产精品国产亚洲精品看不卡 | 狠狠色伊人亚洲综合成人 | 香蕉视频久久 | 国产999精品久久久久久麻豆 | 激情视频在线高清看 | 国产色拍拍拍拍在线精品 | 99久久久久久久久 | 日韩av不卡在线播放 | 98超碰人人 | 人人干人人艹 | 日本黄色大片儿 | 国产一二三四在线视频 | 国产麻豆精品免费视频 | 国产黄色精品网站 | 亚洲一区免费在线 | 中文字幕 二区 | 丁香婷婷色综合亚洲电影 | 国产免费观看久久黄 | 亚洲欧美成人 | 精品久久一区二区三区 | 欧美永久视频 | 亚洲久草在线 | 久久久久9999亚洲精品 | 在线观看一级片 | 中日韩在线视频 | 日韩免费电影网 | 色狠狠狠| 成人av动漫在线观看 | 欧美激情操 | 久久99热这里只有精品 | 国内精品久久久精品电影院 | 在线a亚洲视频播放在线观看 | 在线观看av小说 | 国产精品久久久久久一区二区 | 国产视频久 | www.五月婷婷 | 婷婷综合视频 | 永久精品视频 | 草樱av| 国产丝袜在线 | 国产一级片久久 | 狠狠躁夜夜av | 国产高清视频在线播放一区 | 久操97| www.久草.com| 亚洲天堂毛片 | 国产 欧美 日产久久 | 色播五月激情综合网 | www.夜夜干.com | 99久久久久久国产精品 | 欧美国产日韩一区二区 | 亚洲激情在线 | 丁香久久五月 | 天天综合网在线 | 天天天天爱天天躁 | 欧美一级专区免费大片 | 六月色丁香 | 国产精品毛片一区二区 | 亚洲精选在线观看 | 狠狠操欧美| 国产精品一二 | 国产精品视频大全 | 国产亚洲精品久久久久久电影 | 国产福利午夜 | 色福利网站 | 免费精品国产va自在自线 | 欧美久久电影 | 国产丝袜在线 | .国产精品成人自产拍在线观看6 | 在线观看国产福利片 | 人人玩人人添人人澡97 | 99久久www免费 | 久久亚洲在线 | 97久久久免费福利网址 | 国产精品淫| 欧美成人tv | 久草在线最新 | 国产福利av在线 | 国产精品美女久久久久aⅴ 干干夜夜 | www.五月激情.com | 精品国产一区二区三区噜噜噜 | a级国产片 | 国产一区二区久久 | 色九九影院| 91黄色在线观看 | 丁香花中文字幕 | 国产精品 国产精品 | 精品免费观看视频 | 香蕉视频导航 | 黄色av网站在线观看 | 久久久久日本精品一区二区三区 | 中文字幕第 | 国内精品久久久久久久久久久 | 成人播放器 | 精品在线你懂的 | av色网站 | 欧美日韩天堂 | 亚洲国产欧美在线看片xxoo | 国产成人高清 | 国产美女黄网站免费 | 久久久久亚洲国产精品 | 久久久午夜剧场 | 五月天免费网站 | 亚洲一一在线 | 色香蕉网| 久久综合九色九九 | 麻豆传媒视频在线免费观看 | 婷婷色综 | 碰超人人 | 人人澡澡人人 | 久免费| 最近日本字幕mv免费观看在线 | 午夜视频在线观看一区二区 | 综合色狠狠 | 亚洲免费观看在线视频 | 久久久精品欧美一区二区免费 | 日本精品久久久久中文字幕5 | 日韩区在线观看 | 99视频精品在线 | 亚洲免费不卡 | 亚洲黄色精品 | 一区二区精 | 99热这里只有精品免费 | 玖玖视频国产 | av看片在线观看 | 成人黄色大片在线免费观看 | 在线观看电影av | 国产精选在线 | 人人玩人人添人人澡超碰 | 91精品网站在线观看 | 国产精品久久久久久久久久久久久 | 日韩欧美一区二区在线观看 | 亚洲精品字幕在线 | 91精品久久久久久综合乱菊 | 天天插综合网 | 久久久精品一区二区 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 日本中文一级片 | 亚洲撸撸 | 色就是色综合 | 国产免费又黄又爽 | 日韩在线一二三区 | 九色91在线| 在线看片日韩 | 久久免费毛片 | 最近中文字幕大全中文字幕免费 | av一区二区在线观看中文字幕 | 久久久久成人精品 | 91麻豆精品国产自产 | 日韩在线精品视频 | 手机在线小视频 | 日日夜夜草 | 亚洲专区免费观看 | 在线精品观看国产 | 欧美日韩一区二区在线 | 国产一区二区在线免费 | 99久久婷婷国产 | 色综合久久综合中文综合网 | 91豆麻精品91久久久久久 | 国产视频精品免费 | 亚洲精品动漫在线 | 一区二区三区四区五区在线 | 人人玩人人爽 | 91免费国产在线观看 | 国产69精品久久99的直播节目 | 欧美日韩网址 | 波多野结衣在线观看一区 | av电影不卡 | 天天干天天射天天操 | 日日摸日日| 亚洲精品 在线视频 | 久久免费观看少妇a级毛片 久久久久成人免费 | 成人小视频免费在线观看 | 国产伦精品一区二区三区照片91 | 500部大龄熟乱视频 欧美日本三级 | 91最新视频 | 日日综合 | 国产午夜在线观看视频 | 国产精品一区二区在线 | 久草视频观看 | 欧美在线视频a | 色a资源在线 | 欧美性黑人 | 亚洲欧美激情插 | 亚洲国产精品电影在线观看 | 国内精品久久久久久久久 | 在线观看电影av | 中文在线字幕免费观看 | 99r在线视频 | 黄色国产在线观看 | 在线观看黄网站 | 成人亚洲精品久久久久 | 亚洲国产精品电影 | 手机av在线不卡 | 日韩激情在线 | 中文字幕二区在线观看 | 亚洲自拍偷拍色图 | 亚洲最新av网站 | 一级a性色生活片久久毛片波多野 | 天天玩天天干天天操 | 人人插人人艹 | 成人9ⅰ免费影视网站 | 久久久久久久久久网站 | 日日夜夜av| 久久亚洲精品国产亚洲老地址 | 久久精品国产99 | 亚洲专区在线播放 | 99在线观看视频网站 | 国内精品亚洲 | 免费观看性生活大片3 | 天天摸天天操天天爽 | 免费看成人片 | 国产免费xvideos视频入口 | 国产精品乱码一区二三区 | 91麻豆精品国产91久久久久 | 亚洲午夜精品久久久久久久久 | 欧美日韩在线视频一区 | 香蕉久草 | se婷婷 | 国产中文字幕视频 | 久国产在线播放 | 四川妇女搡bbbb搡bbbb搡 | 综合色中文 | 天堂av最新网址 | av爱干 | 特黄特黄的视频 | 黄色免费电影网站 | 精品视频123区在线观看 | 夜夜躁日日躁狠狠久久88av | 国产一区国产二区在线观看 | 午夜精品一区二区三区在线视频 | 日批视频 | 中文视频一区二区 | 99视频在线免费观看 | 美女视频免费一区二区 | 91在线播| 国产在线观看国语版免费 | 国产一区在线免费 | www夜夜操 | 亚洲五月婷婷 | 国产在线精品一区二区三区 | 波多野结衣在线观看一区二区三区 | 久久久免费精品视频 | 青青草国产成人99久久 | 黄色大片免费播放 | www.色com| 亚洲电影第一页av | 91精品夜夜 | 精品国产诱惑 | 91免费高清观看 | 久久久久久久久久免费 | 亚洲欧美999 | 99免费看片| 亚洲五月激情 | 中文在线8新资源库 | 在线观看中文 | 探花视频免费观看高清视频 | 国产免费三级在线观看 | 日韩va欧美va亚洲va久久 | 国产精品久久久久久一区二区三区 | 欧美日韩视频在线观看一区二区 | 白丝av在线 | 久久久久国产精品www | 亚洲视频一级 | 久久亚洲综合色 | 国产精品系列在线播放 | 99资源网| 亚洲精品高清在线 | 欧美日韩三区二区 | 麻豆你懂的 | 欧美aa一级片 | 91av欧美| 91视频3p| 91片在线观看 | 久久久久久久久久久影院 | 国产一区视频导航 | 性色大片在线观看 | 国产精品美女毛片真酒店 | 国产精品久久久亚洲 | 国产黄色片在线 | 免费国产ww | 国产亚洲成人网 | 亚洲人成在线观看 | 国产二区精品 | 国产麻豆电影 | 免费激情网 | 久久久精品福利视频 | 久久久精品午夜 | 亚洲国产精品第一区二区 | 福利一区二区三区四区 | 成人av网站在线观看 | 日本一区二区免费在线观看 | 国产一区av在线 | 狠狠综合久久av | 一区二区激情 | 手机成人在线电影 | 日韩视频区 | 99这里精品| 久久亚洲婷婷 | 欧美一级黄色网 | 久草热久草视频 | 国产精品对白一区二区三区 | 欧美成人xxxx | 亚洲综合精品在线 | 少妇av片| 日韩91av| 亚洲精品白浆高清久久久久久 | 国产女人18毛片水真多18精品 | 在线观看一区二区视频 | 精品国偷自产国产一区 | 婷婷色网视频在线播放 | 911久久| 天天干天天草天天爽 | av超碰在线| 亚洲成人资源网 | 狠狠色丁香婷婷综合欧美 | 久久a久久| 尤物一区二区三区 | 欧美色噜噜 | 久草视频首页 | 91久久国产自产拍夜夜嗨 | 欧美成人手机版 | 欧美日韩视频在线播放 | 国产精品免费观看久久 | 久久综合五月婷婷 | 国产麻豆成人传媒免费观看 | 色吊丝av中文字幕 | 久久黄色影视 | 国产精品手机看片 | 91精品播放 | 免费精品视频在线观看 | 91在线蜜桃臀 | 九草在线视频 | 国产看片网站 | 国产精久久久 | 久久久久国 | 亚洲免费精彩视频 | 香蕉视频导航 | 99久久日韩精品免费热麻豆美女 | 亚洲综合成人婷婷小说 | 国产免费一区二区三区最新 | 成av在线| 久久综合精品国产一区二区三区 | 久久视频在线观看中文字幕 | 在线免费视频 你懂得 | 久久免费99精品久久久久久 | 久草精品在线播放 | 亚洲欧美乱综合图片区小说区 | 日韩免费高清在线 | 国产精品久久久久aaaa九色 | 97偷拍在线视频 | av网址最新 | 五月婷婷中文字幕 | 久久精品久久精品久久 | 五月天开心 | 婷婷资源站 | 亚洲天堂香蕉 | 国产精品12 | 久av电影 | 一区免费视频 | 亚洲女人天堂成人av在线 | 日日精品| 91精品久久久久 | 2024国产精品视频 | 国产精品99久久久久人中文网介绍 | 成人黄色在线视频 | 伊人干综合 | 欧美日韩中文国产一区发布 | 500部大龄熟乱视频使用方法 | 日韩精品黄 | 99久久久久久久 | 久久99亚洲热视 | 亚洲婷婷在线视频 | 国产淫a| 日韩毛片在线一区二区毛片 | 日韩电影在线观看中文字幕 | 久久精品aaa | 国产成人精品久久亚洲高清不卡 | 91成年人网站 | 中文字幕一区二区三区精华液 | 国产一区二区高清不卡 | 精品亚洲成a人在线观看 | 久久综合色一综合色88 | 亚洲精品视频国产 | 亚洲成人网在线 | 狠狠色丁香久久婷婷综合五月 | 在线观看日韩中文字幕 | 粉嫩高清一区二区三区 | 人九九精品 | 国产综合视频在线观看 | 在线视频观看你懂的 | 久久草草影视免费网 | 日韩在线免费视频观看 | av免费在线播放 | 黄色成年片| 91精品资源| 天天干天天干天天干天天干天天干天天干 | 久久久精品网 | 丝袜网站在线观看 | 久久综合欧美精品亚洲一区 | 综合久久一本 | 欧美视屏一区二区 | 成人sm另类专区 | 天天操天天射天天爽 | 色综合人人 | 99色亚洲 | 美女网站视频免费都是黄 | 色在线视频网 | 国产精品免费一区二区三区 | 国产视频一区二区在线播放 | 久久国产精品成人免费浪潮 | 中文久久精品 | 日韩精品中文字幕有码 | 国内精品久久久久久久久久久久 | 亚洲精品www久久久 www国产精品com | 中文在线中文资源 | www.婷婷色| 久章操 | 91中文字幕永久在线 | 亚洲精品视频网址 | 欧美激情视频免费看 | 成人在线一区二区 | 久视频在线播放 | 黄色av电影免费观看 | 美女视频黄频大全免费 | 精品国产免费久久 | 国产精品久久久久久久久久久久午夜片 | 日韩理论在线视频 | 亚洲欧洲成人精品av97 | 欧美日韩国产一区二区在线观看 | 欧美精品v国产精品v日韩精品 | 日韩一区二区免费在线观看 | 国产精品美女久久久久久久网站 | 91视频在线观看免费 | 国产 中文 日韩 欧美 | 天天干天天做 | 中文十次啦 | 成年免费在线视频 | 91av社区 | 91看片在线观看 | 91麻豆精品国产91久久久无需广告 | 日韩免费网站 | 免费av在线网 | 激情综合网五月婷婷 | 成人一级片免费看 | 国产3p视频| 在线a亚洲视频播放在线观看 | 国产色视频123区 | 日韩成人精品一区二区三区 | 久久国产成人午夜av影院潦草 | 麻豆高清免费国产一区 | 欧美日韩国产亚洲乱码字幕 | 日本性生活免费看 | 黄色小说免费观看 | 久久99亚洲网美利坚合众国 | 日韩一区二区三区在线观看 | 国产伦精品一区二区三区免费 | 91看片淫黄大片在线播放 | 日韩电影在线观看一区二区三区 | 国产精品久久久久久久av大片 | 色av婷婷 | 色在线免费 | 日本中文字幕网址 | 久久综合婷婷 | 96国产精品视频 | 欧美坐爱视频 | 久久五月婷婷丁香 | 中字幕视频在线永久在线观看免费 | 伊人色播 | 免费视频一区 | 久久免费视频7 | 狠狠色丁香婷婷综合欧美 | 国产日韩欧美在线免费观看 | 黄色成人小视频 | 亚洲精品久久久久中文字幕二区 | 香蕉网站在线观看 | 久久99国产视频 | 日本三级不卡视频 | 99精品视频在线观看 | ww亚洲ww亚在线观看 | av在线h| 日本精品在线 | 免费视频91 | 99久久精品国产欧美主题曲 | 97视频在线播放 | 亚洲第二色 | 色综合久久88色综合天天 | 麻豆成人精品视频 | 欧洲一区二区三区精品 | 男女拍拍免费视频 | 国产一区二区在线观看视频 | 婷婷丁香花 | 少妇搡bbbb搡bbb搡忠贞 | 国产资源在线观看 | 一级黄网 | 亚洲精品午夜久久久 | 亚洲美女视频在线 | 国产91学生| 国产999精品久久久久久绿帽 | 在线 视频 一区二区 | 欧美日韩一区二区在线观看 | 亚洲国产资源 | 婷婷伊人五月天 | 麻豆传媒一区二区 | 久草视频免费观 | 国产精品爽爽爽 | 色综合久久综合网 | 一区二区三区高清不卡 | 免费观看性生活大片3 | 欧美a级一区二区 | 91精品久久香蕉国产线看观看 | 国产亚洲精品综合一区91 | 狠狠做深爱婷婷综合一区 | www.伊人网 | 超碰国产在线播放 | 亚洲综合视频在线播放 | 国产日韩视频在线观看 | 成人91在线 | 五月婷婷久久丁香 | 成人av地址 | 日韩欧美在线高清 | 黄色精品一区 | 亚洲电影久久久 | 伊人久久电影网 | 丁香六月婷婷激情 | 91久久国产综合精品女同国语 | 国产91精品高清一区二区三区 | 日韩在线小视频 | 午夜视频免费在线观看 | 欧美成人猛片 | 夜添久久精品亚洲国产精品 | 福利网在线 | 精品国产aⅴ一区二区三区 在线直播av | 精品美女久久久久久免费 | 成年在线观看 | av电影一区 | 国产精品毛片久久久久久久久久99999999 | 欧美精品v国产精品v日韩精品 | 天天色天天 | 日韩日韩日韩日韩 | 在线a人片免费观看视频 | 久草在线手机观看 | 久久69精品久久久久久久电影好 | 在线视频18在线视频4k | 中文字幕在线影院 | 69精品视频在线观看 | 成人电影毛片 | 成人午夜黄色 | 国产高清一区二区 | 亚洲美女精品视频 | 国产高清视频在线免费观看 | 高清不卡一区二区三区 | 日韩中文字幕国产 | 欧美孕妇视频 | 国产精品久久毛片 | 久久久久久久精 | 国产精品久久电影网 | 成人黄色免费在线观看 | 91在线一区二区 | 欧美日韩1区 | 91久久偷偷做嫩草影院 | 欧美疯狂性受xxxxx另类 | 日b黄色片 | 丁香六月五月婷婷 | 久久tv | 日韩精品一区二区三区第95 | 亚洲一级在线观看 | 91视频免费看片 | 免费网站在线观看成人 | 久久国产精品一二三区 | 日本精品久久久久影院 | 亚洲人精品午夜 | 亚洲精品一区二区三区四区高清 | 亚洲 精品在线视频 | 91在线入口| 天天爽天天爽夜夜爽 | 久久久久电影网站 | 国产免费午夜 | www.久久久com| 国产第一页福利影院 | 片黄色毛片黄色毛片 | 久久综合九色综合久99 | 韩国精品在线观看 | 久草免费在线观看视频 | 国产黄色片在线免费观看 | 2021国产精品视频 | 免费黄色在线网站 | 亚洲网站在线看 | 亚洲丝袜中文 | 91免费试看 | 精品国产精品久久 | 九九热只有精品 | 日韩高清免费电影 | 夜夜骑日日操 | 超碰日韩| 成人欧美一区二区三区在线观看 | 免费亚洲精品视频 | 最新av电影网址 | 免费看污在线观看 | 人人搞人人爽 | 久久精品一区二区三区视频 | 国产一区欧美二区 | 国产人成看黄久久久久久久久 | 国产精品久久久久久一区二区三区 | 久久国产精品免费视频 | 国产高清一级 | 中文字幕在线观看亚洲 | 狠狠操综合 | 色婷婷综合久久久中文字幕 | 久久女同性恋中文字幕 | 亚洲国产精品成人av | 国产无吗一区二区三区在线欢 | 中文字幕国语官网在线视频 | 久久亚洲影视 | 精品国产电影一区 | 免费看国产一级片 | 成人国产精品久久久春色 | 九九精品久久久 | 久草视频在线免费播放 | 色a综合 | av电影中文字幕 | 91麻豆国产 | 免费在线成人av电影 | 色婷婷天天干 | 国产在线观看av | 国内久久精品 | 国产成人精品综合久久久久99 | 97超碰在线资源 | 91精品国产综合久久婷婷香蕉 | 国产精品美女在线 | 精品国偷自产国产一区 | 波多野结衣视频网址 | a国产精品 | 91av视频在线观看 | 免费a现在观看 | www.五月婷婷 | 91麻豆免费版 | 国产精品麻豆果冻传媒在线播放 | 亚洲国产网站 | 999久久久久久久久 69av视频在线观看 | 国产在线精品视频 | 亚洲日本色 | 99色在线| 亚洲国产精品推荐 | 成人性生交大片免费看中文网站 | 日韩欧美在线国产 | 91精品在线观看视频 | 亚洲一级理论片 | av免费看网站 | 中文字幕资源网在线观看 | 国产精品免费视频一区二区 | 国产日韩一区在线 | 狠狠狠狠狠狠狠狠 | 在线99| 一区二区三区四区精品视频 | 四虎www.| 91传媒免费在线观看 | av三级在线免费观看 | 国产小视频在线免费观看视频 | 国产黄大片 | 日韩欧美区 | 久久免费播放 | 久久超级碰视频 | 亚洲精品成人网 | 国产精品嫩草影院9 | 国产精品久久久久久一区二区三区 | 国产精品涩涩屋www在线观看 | 在线观看色视频 | 激情五月婷婷丁香 | 9色在线视频 | 999色视频 | 亚洲aⅴ一区二区三区 | 亚洲资源在线观看 | 亚州精品在线视频 | 在线性视频日韩欧美 | 激情片av | 国产a精品 | 视频国产一区二区三区 | 成人午夜电影免费在线观看 | 插婷婷 | 精品美女国产在线 | av 一区二区三区 | 国产天天爽 | 亚洲资源一区 | 国产一性一爱一乱一交 | 亚洲dvd| 天天做天天射 | 久久 亚洲视频 | 国产精品久久久久久久久岛 | 色妞久久福利网 | 色偷偷人人澡久久超碰69 | 亚洲精品国产免费 | 国产精品久久久久一区二区三区共 | 日韩久久久久久久久久 | 国产精品久久久久影院 | 天天插天天操天天干 | 美女一二三区 | 日韩最新av在线 | 国产日韩精品一区二区 |