国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

Linux內(nèi)核品讀 /基礎組件/ 模塊機制快速入門

共 8956字,需瀏覽 18分鐘

 ·

2020-09-20 01:33



哈嘍,我是杰克吳,繼續(xù)記錄我的學習心得。

一、關(guān)于興趣的幾點思考

1. 享受不是興趣,愿意付出才是:

  • 興趣很容易跟享受混淆。享受是被動的,無需付出;而興趣則要求你甘愿為了這件事情付出努力。

2.任何事情,接觸皮毛的時候不要談興趣:

  • 在我開始公眾號寫文章之前,只是粗淺地覺得這個事不難我可以嘗試一下,而事實上,持續(xù)寫作的難度和意義超乎大多數(shù)人的想象。

  • 任何事情,先做到 60 分,再談是否喜歡。

3. 興趣和愛好不太一樣:

  • 區(qū)別在于你是否需要且愿意通過刻意練習以收獲這個興趣,以及這件事是否能給你帶來持續(xù)的成就感。

  • 吃喝玩樂(旅游,逛街,買買買)是愛好,不是興趣。純粹的看電影是愛好,但是認真地寫影評(經(jīng)歷了思考與分享)則算是興趣。表面看上去都是同一件事,但是不同人會發(fā)展成不一樣的結(jié)果。

  • 最開始時可能只是愛好,但是隨著你的持續(xù)思考和投入,可能會發(fā)展為你的理想職業(yè)。

4. 興趣可以帶有功利性:

  • 那些看似功利的標準(例如高考、面試),存在很多偏差的部分,但不可否認,在絕大多數(shù)情況下,它們提供了較為高效和正確的努力方向。

  • 把自己熱愛的事情用來掙錢,非常好。只憑自己的興致去做,確實會有更多愉悅,但這也是最廉價、最輕易的喜歡了,問題是,你很難真正做得好。你真的喜歡這個事,你會主動爭取做好,贏得市場才會給你帶來更長久的愉悅感。


二、模塊機制快速入門 (1)

目錄:

1.?內(nèi)核模塊的使用
2.?內(nèi)核模塊的文件格式
3. EXPORT_SYMBOL 是如何實現(xiàn)符號導出的?
4.?相關(guān)參考

基于 Linux-4.14 + Arm-v7。

1. 內(nèi)核模塊的使用

最簡單的內(nèi)核模塊:

#include?
#include?

static?char?*name?=?"embedded?hacker";
module_param(name,?charp,?S_IRUGO);????//?指定模塊可以接收的參數(shù)

static?void?print_hello(void)
{
????printk(KERN_INFO?"Hello?World,?%s\n",?name);
}

static?int?__init?hello_init(void)
{
????printk(KERN_INFO?"Hello?World?init\n");
????print_hello();
????return?0;
}
module_init(hello_init);

static?void?__exit?hello_exit(void)
{
????printk(KERN_INFO?"Hello?World?exit\n?");
}
module_exit(hello_exit);

EXPORT_SYMBOL(print_hello);???//?導出符號?print_hello
MODULE_AUTHOR("es-hacker");???//?指定作者
MODULE_LICENSE("GPL?v2");?????//?指定?license
MODULE_DESCRIPTION("A?simple?Hello?World?Module");??//?指定模塊的描述信息
MODULE_ALIAS("a?simplest?module");??//?指定模塊的別名

運行效果:

$?insmod?hello.ko???//?加載模塊
Hello?World?init????//?加載模塊時,module_init()?里的函數(shù)被調(diào)用
Hello?World,?embedded?hacker

$
?rmmod?hello???????//?卸載模塊
Hello?World?exit????//?卸載模塊時,module_exit()?里的函數(shù)被調(diào)用

$
?insmod?hello.ko?name=Jack?//?指定模塊參數(shù)
Hello?World?init
Hello?World,?Jack

$
?rmmod?hello
Hello?World?exit

到此,內(nèi)核模塊的使用方法就介紹完畢了,非常簡單易用。

接下來是痛苦的部分:探索一下背后的實現(xiàn)機制。

2. 內(nèi)核模塊的文件格式

可以用 file 命令確定一個文件的格式:

$?file?hello.ko?
hello.ko:?ELF?32-bit?LSB?relocatable,?ARM,?EABI5?version?1?(SYSV),?BuildID[sha1]=2feb2cb1328c0a9113658d6e90ac20d7e4c56384,?not?stripped

內(nèi)核模塊的格式為 ELF ( Executable and Linkable Format ):

目前不需要全面了解 ELF 文件格式的所有技術(shù)細節(jié),只需要結(jié)合 Linux 源碼中定義的 ELF 相關(guān)數(shù)據(jù)結(jié)構(gòu),簡單了解一下 ELF 的構(gòu)造即可。

靜態(tài)的 ELF 文件視圖總體上可分為 3 部分


  • 頭部的 ELF header;

  • 中間的 Section;

  • 尾部的 Section header table

1) ELF header 部分:

作用:描述整個 ELF 文件。

組成:Linux 內(nèi)核里的數(shù)據(jù)結(jié)構(gòu)定義如下,注釋部分為內(nèi)核模塊機制相關(guān)的的成員。

typedef?struct?elf32_hdr{
??unsigned?char?e_ident[EI_NIDENT];

??/*?文件類型?*/
??Elf32_Half?e_type;
??Elf32_Half?e_machine;
??Elf32_Word?e_version;

??/*?Entry?point?*/
??Elf32_Addr?e_entry;
??Elf32_Off?e_phoff;

??/*?Section?header?table?在文件中的偏移量?*/
??Elf32_Off?e_shoff;
??Elf32_Word?e_flags;
??Elf32_Half?e_ehsize;
??Elf32_Half?e_phentsize;
??Elf32_Half?e_phnum;

??/*?Section?header?table?中?entry?的大小?*/
??Elf32_Half?e_shentsize;

??/*?Section?header?table?中有多少個?entry?*/
??Elf32_Half?e_shnum;
??Elf32_Half?e_shstrndx;
}?Elf32_Ehdr;

實踐:


$
?#?readelf?hello.ko?-h???????#?[-h|--file-header]
ELF?Header:
??Magic:???7f?45?4c?46?01?01?01?00?00?00?00?00?00?00?00?00?
??Class:?????????????????????????????ELF32
??Data:??????????????????????????????2's?complement,?little?endian
??Version:???????????????????????????1?(current)
??OS/ABI:????????????????????????????UNIX?-?System?V
??ABI?Version:???????????????????????0
??Type:??????????????????????????????REL?(Relocatable?file)
??Machine:???????????????????????????ARM
??Version:???????????????????????????0x1
??Entry?point?address:???????????????0x0
??Start?of?program?headers:??????????0?(bytes?into?file)
??Start?of?section?headers:??????????59648?(bytes?into?file)
??Flags:?????????????????????????????0x5000000,?Version5?EABI
??Size?of?this?header:???????????????52?(bytes)
??Size?of?program?headers:???????????0?(bytes)
??Number?of?program?headers:?????????0
??Size?of?section?headers:???????????40?(bytes)
??Number?of?section?headers:?????????52
??Section?header?string?table?index:?51

2) Section 部分:

作用:對應人們常說的各種數(shù)據(jù)段、代碼段等,術(shù)語是 section。

組成:ELF 文件的主體,位于文件視圖中間部分的一個連續(xù)區(qū)域中。但是當模塊被內(nèi)核加載時,會根據(jù)各自屬性被重新分配到新的內(nèi)存區(qū)域。

3) Section header table 部分:

作用:每一個條目(術(shù)語叫 entry) 就是一個 Section header,負責描述 Section;

組成:由若干個 Section header entry 組成,Linux 內(nèi)核里的數(shù)據(jù)結(jié)構(gòu)定義如下 (注釋部分為內(nèi)核模塊機制相關(guān)的的成員):

typedef?struct?elf32_shdr?{
??Elf32_Word?sh_name;
??Elf32_Word?sh_type;
??Elf32_Word?sh_flags;

??/*?對應的 section 在內(nèi)存中的實際地址。初始值為0,當模塊被內(nèi)核加載時,會被修改為 section 在內(nèi)存中的實際地址?*/
??Elf32_Addr?sh_addr;

??/*?section?在文件視圖中的偏移量?*/
??Elf32_Off?sh_offset;

??/*?section?在文件視圖中的大小?*/
??Elf32_Word?sh_size;
??Elf32_Word?sh_link;
??Elf32_Word?sh_info;
??Elf32_Word?sh_addralign;
??Elf32_Word?sh_entsize;
}?Elf32_Shdr;

實踐:

$?readelf?hello.ko?-S?????#?[-S|--section-headers|--sections]
There?are?52?section?headers,?starting?at?offset?0xe900:

Section?Headers:
??[Nr]?Name??????????????Type????????????Addr?????Off????Size???ES?Flg?Lk?Inf?Al
??[?0]???????????????????NULL????????????00000000?000000?000000?00??????0???0??0
??[?1]?.note.gnu.build-i?NOTE????????????00000000?000034?000024?00???A??0???0??4
??[?2]?.text?????????????PROGBITS????????00000000?000058?000000?00??AX??0???0??1
??[...]
??[?5]?.init.text????????PROGBITS????????00000000?000070?00001c?00??AX??0???0??4
??[...]
??[?7]?.exit.text????????PROGBITS????????00000000?00008c?00000c?00??AX??0???0??4
??[...]
??[?9]?__ksymtab?????????PROGBITS????????00000000?000098?000008?00???A??0???0??4
??[...]
??[25]?__ksymtab_strings?PROGBITS????????00000000?0001f1?00000c?00???A??0???0??1
??[26]?__param???????????PROGBITS????????00000000?000200?000014?00???A??0???0??4
??[27]?.rel__param???????REL?????????????00000000?00b9e4?000020?08???I?49??26??4
??[28]?__versions????????PROGBITS????????00000000?000214?000100?00???A??0???0??4
??[29]?.data?????????????PROGBITS????????00000000?000314?000004?00??WA??0???0??4
??[...]
??[48]?.ARM.attributes???ARM_ATTRIBUTES??00000000?00b21a?000031?00??????0???0??1
??[49]?.symtab???????????SYMTAB??????????00000000?00b24c?000520?10?????50??75??4
??[50]?.strtab???????????STRTAB??????????00000000?00b76c?0001cd?00??????0???0??1
??[51]?.shstrtab?????????STRTAB??????????00000000?00e6e4?00021b?00??????0???0??1

Key?to?Flags:
??W?(write),?A?(alloc),?X?(execute),?M?(merge),?S?(strings)
??I?(info),?L?(link?order),?G?(group),?T?(TLS),?E?(exclude),?x?(unknown)
??O?(extra?OS?processing?required)?o?(OS?specific),?p?(processor?specific)

這里只截取模塊加載相關(guān)的部分 section header,現(xiàn)在有個初步印象就好,后續(xù)使用到了相關(guān)的 secition header,再做進一步的研究分析。

內(nèi)核模塊自身并不會使用到上述數(shù)據(jù)結(jié)構(gòu) (elf32_hdr、elf32_shdr),它們是給內(nèi)核模塊加載器在加載模塊時使用的。

3. EXPORT_SYMBOL() 是如何實現(xiàn)符號導出的?

EXPORT_SYMBOL() 系列宏用來向外界導出一個符號。內(nèi)核和內(nèi)核模塊通過符號表的形式向外部世界導出符號的相關(guān)信息。

為什么要導出符號?

  • 如果沒有獨立存在的內(nèi)核模塊,作為單一的 Linux 內(nèi)核映像,就沒必要導出符號了。對于靜態(tài)編譯鏈接而成的內(nèi)核映像而言,所有的符號引用都會在靜態(tài)鏈接階段完成。

  • 有了內(nèi)核模塊之后,獨立編譯鏈接的內(nèi)核模塊要使用到內(nèi)核提供的基礎設施(即調(diào)用內(nèi)核函數(shù),例如 printk)的話,就必須要解決符號引用問題 (unresolved symbol)。

  • 可以用 nm 命令來查看一個模塊中出現(xiàn)的未定義符號:

$?nm?hello.o?-u?????????#?[-u|--undefined-only]
?????????U?__aeabi_unwind_cpp_pr0
?????????U?param_ops_charp
?????????U?printk
?????????U?__this_module
  • 處理 unresolved symbol 問題的本質(zhì)是在模塊加載期間找到該符號在內(nèi)存中的實際地址。

從全局上看,EXPORT_SYMBOL 的完整實現(xiàn)包括 3 部分:

  • EXPORT_SYMBOL 的定義部分

  • 鏈接腳本鏈接器部分

  • 使用導出符號部分

EXPORT_SYMBOL 的定義:

//?include/linux/export.h
#define?EXPORT_SYMBOL(sym)?__EXPORT_SYMBOL(sym,?"")

/*?For?every?exported?symbol,?place?a?struct?in?the?__ksymtab?section?*/
#define?___EXPORT_SYMBOL(sym,?sec)?????\
?extern?typeof(sym)?sym;??????\
?__CRC_SYMBOL(sym,?sec)??????\
?static?const?char?__kstrtab_##sym[]????\
?__attribute__((section("__ksymtab_strings"),?aligned(1)))?\
?=?VMLINUX_SYMBOL_STR(sym);?????\
?static?const?struct?kernel_symbol?__ksymtab_##sym??\
?__used????????\
?__attribute__((section("___ksymtab"?sec?"+"?#sym),?used))?\
?=?{?(unsigned?long)&sym,?__kstrtab_##sym?}

以 hello.ko 為例,EXPORT_SYMBOL(print_hello) 本質(zhì)上就是定義了 2 個變量:

static?const?char?__kstrtab_print_hello[]?=?"print_hello"

static?const?struct?kernel_symbol?__ksymtab_print_hello?=?{
??(unsigned?long)&print_hello,
??__kstrtab_print_hello,
};
  • 變量1: char []

    • 用于保存符號名;
    • 被放置在名為 "__ksymtab_strings" 的 section 中;
  • 變量2: struct kernel_symbol

    • 用于保存符號名與地址;
    • 被放置在名為 "___ksymtab+print_hello" 的 section 中;

根據(jù) scripts/module-common.lds 里的定義:

SECTIONS?{
??[...]
?__ksymtab??0?:?{?*(SORT(___ksymtab+*))?}
??[...]
}

"___ksymtab+print_hello" 會被轉(zhuǎn)換為 "__ksymtab",這樣就跟我們用 readelf hello.ko -S 查看到的 section 對應上了。

為了讓內(nèi)核可以通過上述 __ksymtab section 找到被導出的符號,鏈接器必須導出 section 的地址

include/asm-generic/vmlinux.lds.h

?/*?Kernel?symbol?table:?Normal?symbols?*/???\
?__ksymtab?????????:?AT(ADDR(__ksymtab)?-?LOAD_OFFSET)?{??\
??VMLINUX_SYMBOL(__start___ksymtab)?=?.;???\
??KEEP(*(SORT(___ksymtab+*)))????\
??VMLINUX_SYMBOL(__stop___ksymtab)?=?.;???\
?}?

?/*?Kernel?symbol?table:?strings?*/????\
?__ksymtab_strings?:?AT(ADDR(__ksymtab_strings)?-?LOAD_OFFSET)?{?\
??*(__ksymtab_strings)?????\
?}?

在 kernel/module.c 中,可以看到下列聲明:

/*?Provided?by?the?linker?*/
extern?const?struct?kernel_symbol?__start___ksymtab[];
extern?const?struct?kernel_symbol?__stop___ksymtab[];
[...]

這些變量會在內(nèi)核或者內(nèi)核模塊查找某個符號時被使用。

EXPORT_SYMBOL 和 EXPORT_SYMBOL_GPL 導出符號的可見性


從這里開始重頭戲模塊加載的分析了,鑒于大多數(shù)人的注意力無法在一篇文章里上集中太久,更多的內(nèi)容將放在后面的文章里。建議大家可以先自行閱讀相關(guān)書籍,不是自己理解到的東西是消化不了的。

4. 相關(guān)參考

  • Linux 設備驅(qū)動開發(fā)詳解,第 4 章節(jié)

  • 深入 Linux 設備驅(qū)動程序內(nèi)核機制,第 1 章節(jié)

  • 深入 Linux 內(nèi)核架構(gòu),第 7 章節(jié)

  • 深入理解 Linux 內(nèi)核,第20 章節(jié)、附錄2

5. 更多值得關(guān)注的知識點

  • 模塊的加載

  • 模塊的參數(shù)傳遞機制

  • 模塊之間的依賴關(guān)系

  • 模塊中的版本控制機制

  • ...


三、思考技術(shù),也思考人生

要學習技術(shù),更要學習如何生活。

你和我各有一個蘋果,如果我們交換蘋果的話,我們還是只有一個蘋果。但當你和我各有一個想法,我們交換想法的話,我們就都有兩個想法了。



? 推薦閱讀:
? ??專輯|Linux文章匯總
? ??專輯|程序人生
? ??專輯|C語言


嵌入式Linux
微信掃描二維碼,關(guān)注我的公眾號?
瀏覽 70
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 老司机av| 好吊一区二区三区| 国产资源在线观看| 欧美色视频一区二区三区在线观看| 操逼免费观看视频| 韩国中文字幕HD久久| 肏屄免费视频| 日韩人妻无码一区二区三区| 四虎蜜桃| 国产综合久久久777777色胡同| 黄色录像一级带| 国产一级a毛一级a| 无码日批| 欧美一区二区在线观看| 成人三级片在线播放| 日本午夜无码| YOUjiZZ欧美大全| 老熟女17页一91| 五月综合久久| 一本色道久久综合狠狠躁的推荐| 亚洲AV永久无码成人| 毛片1| 国产老熟女高潮毛片A片仙踪林| 成人H在线| 性欧美成人播放77777| 人妻少妇视频| 国内精品卡一卡二卡三| 久久久精品久久久| аⅴ资源新版在线天堂| 欧美AAAAAAAA| 久久国产偷拍| 免费中文字幕视频| 在线观看国产一区| 午夜亚洲福利| 黄色片网站免费观看| 中文字幕亚洲天堂| 久草综合网| 在线观看亚洲无码视频| 无码国精品一区二区免费蜜桃| 久久亚洲Aⅴ成人无码国产丝袜| 麻豆传媒视频观看| 在线看片a| 在线视频a| 免费黄色A片| 国产成人91| 激情小视频| 波多野结衣在线精品| 午夜亚洲视频| 88AV在线观看| 久操免费在线观看| 日韩无码高清免费| 亚洲AV成人电影| 免费视频在线观看一区| 亚洲精品一区二区三区四区五区六区 | 男人的天堂婷婷| 精品操逼视频| 欧美一级特黄真人做受| 日本一级片免费看| 国产免费AV在线观看| 熟女资源网| 国产精品在线免费观看| 日本黄色色情视频| 一区二区三区四区日韩| 亚洲色图p| 99青青草| 久久久亚洲AV无码精品色午夜| 日本成人视频在线免费播放| 日本高清视频九区| 大鸡吧成人视频| 国产性交网站| 性爱午夜视频| 手机毛片在线播放| 国色天香一区二区| 大香蕉精品欧美色综合2025| 天天干天天撸影视| 国产欧美日本视频| 欧美性爱一级视频| 西西4444WWW无视频| 麻豆91网站| 国产精品毛片A√一区| 2012天天夜夜| 老司机精品在线观看| 玖玖爱资源站| 青青草综合| 黑人av在线观看| 久久国产精| 人妻在线无码| 手机看片1024久久| 亚洲国产色婷婷| 日韩无码流出| 另类国产| 亚洲天堂在线观看免费视频| AV乱伦网站| 成人图片小说| 国产AV无码高清| 国产亚洲久一区二区三区| www.97超碰| 国产熟女一区二区| 成人激情视频网| 九九热在线精品| 欧美女人操逼| AV在线免费观看网站| 波多野吉衣毛片| 天天av天天av天天爽| 国产精品成人无码免费| 精品三区| 蜜桃av.38| 欧美国产综合在线| 人妻无码精品久久人妻成人| 青青草视频免费在线观看| 国产精品免费一区二区三区四区视频| 综合网操笔| 亚洲无码中| 亚洲成人不卡| 欧美深夜福利| 欧美性猛交XXXX乱大交| 丰满人妻一区二区三区蜜桃视频| 一级A片一毛片大全| 午夜看黄| 久久婷婷五月天| 翔田千里被躁120分钟| 婷婷视频网站| 夜夜操狠狠操| 成人三级片网| 色综合久久久| 欧美午夜成人一区二区三区| av片在线观看| 韩国一级av| 四川w搡BBB搡wBBB搡| AA片在线观看视频在线播放| 中文字幕日韩无码电影| 97人人操人人干| 五月丁香婷中文字幕| 国产成人综合电影| 在线操b| 微熟女导航| 狠狠草狠狠干| 成人日韩| 中国无码专区| 亚洲日韩一区二区三区| 人人爱人人干人人操| 成人性爱视频免费观看| 国产人妖TS重口系列网站观看| 亚洲免费黄片| 国产精品久久久久久久久久九秃| 久久人妻中文字幕| 日韩精品欧美一区二区三区| 青娱乐国产AV| 日本免费在线黄色视频| 天啪| 天天色AV| 少妇嫩搡BBBB搡BBBB| 亚洲热视频| 久久久久久久久久国产精品免费观看-百度| 免费V片在线观看| 天天毛片| 婷婷午夜精品久久久久久| 一级中国毛片| 91人妻无码成人精品一区二区| 欧美三级片视频| 国产人妻一区二区三区欧美毛片| 国产精品欧美性爱| 欧美插菊花综合网| 香蕉国产2023| 欧美一级婬片A片免费软件| 成人精品一区二区三区| 瘦精品无码一区二区三区四区五区六区七区八区| 国产综合色网| 91精品国产成人做爰观看奶头| 91在线无码精品秘入口男同| 色综合一区| 91热视频| AAA三级视频| 丁香五月在线播放| 青青草原网站在线观看| 免费操B视频| 人妻少妇精品视频| 开心激情播播网| 人人爽人人操人人爱| 青青色在线视频| 国产一区二区成人久久919色| 久久精品国产视频| 熊猫AⅤ| AV观看免费| 亚洲自拍中文字幕| 人妻无码高清| 日韩欧美高清视频| 无码伦理电影| 亚洲性爱小说网址| 高清无码视频18| 亚洲性爱无码| 无码高清在线| 午夜免费福利视频| 精品国产A片| 欧美日本在线观看| 黄视频免费在线观看| 91亚洲国产成人| 亚洲综合二区| 亚洲国产精品二二三三区| 玩弄人妻少妇500系列视频| 在线免费A片| 91久久久久| 成人性生活影视av| 欧洲性爱视频在线观看| 国产无码中文| 天天日天天操天天干| 2025中文在线观看最好看的电影| 久久久久女人精品毛片九一| av网站在线免费观看| www.18禁| 奶大丰满一乱一视频一区二区三区在 | 护士小雪的yin荡高日记H视频| 黄片www| 国产一级AA大片毛片| 久久精品免费电影| 人人操久久| 色男人的天堂| 黄色网页免费观看| 麻豆传媒一区二区| 日韩欧美亚洲| 偷拍视频网站北条麻妃| 国产第五页| 男人在线天堂| 四虎精品一区二区三区| 久久国产偷拍| 日本一本在线| 神马午夜久久| 午夜成人小视频| 国产精品1区2区3区| 日韩一二三四区| 91豆花视频18| 天天干少妇| 成人AV一区二区三区| h片免费在线观看| footjobvk| 狠狠2021| 91丨国产丨熟女熟女| 成人免费观看的毛视频| 亚洲成人h| 亚洲人成免费| 韩国AV在线| 99在线观看视频在线高清| 九一国产| 国产做受91一片二片老头| 暴操美女网站| a无码视频在线观看| 国产99re| 91香蕉在线观看视频在线播放| 亚洲免费人妻| 蜜臀久久久久久999| av大片免费看| 中文字幕无码观看| 在线免费A片| 久久人妻无码| 午夜黄色视频在线观看| 护士小雪的yin荡高日记H视频| 伊人成人视频在线观看| 想要xx视频| 欧美性爱福利| 人妻少妇一区二区| 你懂的视频在线播放| 中文字幕在线网站| 日韩一级乱伦| 色色色色五月| 亚洲高清无码在线| 蜜芽成人在线视频| V在线| 91一区| 人人舔人人草| 亚洲日韩激情| 成人肏逼视频在线| 青青草大香蕉伊人| 成人免费a片| 国产三级成人| 日本一区二区三区在线播放| 影音先锋一区二区三区| 99热精品2| 嫩BBB槡BBBB槡BBBB撒尿| 日韩精品在线免费视频| av在线天堂网| 大香蕉一级片| 久久久久久久久久久亚洲| 精品一区二区三区视频| 亚洲天堂自拍| 秋霞丝鲁片一区二区三区手机在绒免| 久久99精品久久久水蜜桃| 亚洲最大三级片| 成人性爱视频网站| 久久久国产精品黄毛片| 香蕉国产在线| www.蜜桃视频| 亚洲欧美精品AAAAAA片| 婷婷久久综合久| 亚洲影音| 亚洲第一色播| 亚洲日韩Av无码中文字幕美国| 视频一区二区免费| 好男人WWW一区二区三区| 久久久久亚洲AV成人无码电影| 国产成人精品无码片子的价格| 九九成人电影| 久久精品片| 亚洲福利一区| 国产精品视频一区二区三| 无码人妻一区二区三区在线视频不卡| 亚洲中文字幕网| 最新亚洲无码在线观看| 精品国产AⅤ麻豆| 狠狠精品| 天天做天天爽| 天天躁狠狠躁av| 色色综合视频| 乱伦自拍| 中文字幕乱码无码人妻系列蜜桃| 97久久精品国产熟妇高清网| 天天操人人射| 特级西西44www无码| www.伊人大香蕉| 大香蕉欧美视频| 插插插插网| 五月天久久精品| 99精品热| 日本一区二区视频在线| 国产18| 深夜av| 人人插人人摸| 大香蕉久久精品| 97激情| www.91超碰在线| 日韩免费在线播放| 日韩在线观看视频免费| 日韩欧美国产精品| 婷婷九月色| 99Re66精品免费视频| 韩国深夜福利视频| 台湾精品无码| 肏亚洲美女| 日本操B视频| 美女网站黄| 亚洲欧美日韩另类| 台湾无码| 天堂网在线播放| 一区二区三区av| 乱伦小视频| 欧美黄片免费| 亚洲日韩欧美中在线| 亚洲无码二区| 精品视频网| 国产成人AV| 国产亚洲欧洲| 成人免费Av| 超碰在线无码| 北条麻妃无码一区三区| 国产精品无码专区AV免费播放| 91在线无码精品秘网站| 久久免费视频播放| free性欧美| 日本一区二区视频| 99久久久久久久久久| 俺来也网| 亚洲黄色小电影| 99啪啪| 综合伊人大香蕉| 午夜激情在线观看| 日本一区二区视频在线| 亚洲高清无码在线观看| 可以免费看的AV| 欧洲成人在线播放| 亚洲国产精品成人综合| 国产精品aaa| 黄片日逼| www.大香蕉伊人| 婷婷五月天亚洲| 国产中文字字幕乱码无限| 大香蕉久操| 日本黄色影院在线| 久久久一区二区| 人人摸人人操人人干| 操一炮在线视频| 无码探花| 蝌蚪窝免费在线视频| 日韩高清毛片| 九热精品| 人人草人人干| 色欲五月天| 木牛AV| 欧美三级片在线视频| 人妻丰满熟妇| 91国产爽黄在线| 日韩免费高清无码视频| 青娱乐青青草| 亚洲国产成人91精品| 91偷拍网| 久艹大香蕉| 国产浮力草草| 日本在线小视频| 少妇一级婬片内射视频| 亚洲激情小说| 久久久人妻熟妇精品无码蜜桃| 成人在线视频一区| 久久综合99| 欧美天天性爱| A片地址| 精品99视频| 天堂网av2025| 人妻无码A| 免费AA片| 午夜免费小视频| 高清无码色播| 青草无码视频| 成人视频A片| 驲韩在线视频免费观看| 高清无码在线不卡| 国产福利电影在线| 高清无码免费视频| 国产精品a久久久久| 热久精品| 91中文字幕| 狠狠操狠狠操狠狠操| 国产在线拍揄自揄拍无码男男 | 2020人妻中文字幕| 免费福利在线观看| 97超碰伊人| 国产精品久久久久久最猛| 天天干夜夜骑| 一本色道久久综合无码人妻软件 | 久久大鸡巴| 操逼视频国产| 日本免费黄| 亚洲AV无码乱码AV| 国产精品成人无码| 77777精品成人免费A片| 精品国产va久久久久久| 免费大黄网站| 中文字幕日韩AV| 北条麻妃无码视频| 先锋影音麻豆| 91精品人妻一区二区三区四区| 日韩国产欧美| 四虎成人精品无码永久在线的客服| 午夜性爱福利视频| 色婷婷无码| 日韩精品一区二区在线观看| 欧美AAAAA| 亚洲高清无码免费观看| 久久精品片| 日本无码在线播放| 亚洲社区在线观看| 国产区av| 免费AV播放| 人人看人人射| 69xx视频| 简单AV网| 综合欧美国产视频二区| 国产—a毛—a毛A免费| 国产三级免费观看| 欧美日韩三级在线| 99国产在线| 99精品久久久久久无码| 日韩无码视屏| 我要操视频| 欧美一区二区三区四区视频| 九九亚洲| AV在线四季综合网站| 人妻无码蜜桃视频| 欧美亚韩一区二区三区| 在线亚洲欧美| av官网| 九色九一| 日本中文字幕无码| 2022黄片| 亚洲二区视频| 91丨九色丨熟女老版| 狠狠干狠狠草| 西西人体444rt高清大胆模特| 色欲成人网| 免费AV黄色| 久久国产无码| 91香蕉国产在线观看软件| 亚洲成人电影无码| 色综合五月婷婷| 在线看片a| 老司机av| 不卡无码高清| 操逼999| 国产成人精品视频免费看| 无码视频一区二区| 中文字幕在线网址| 国产成人精品一区二区三区视频| 国产传媒av| 91人妻人人澡人人精品| 黄片在线免费观看视频| 免费无码一级A片大黄在线观看 | 国产97视频| 蜜桃视频网站18| 亚洲国产电影| 久久久久女人精品毛片九一 | 日韩在线91| 白丝自慰网站| 午夜成人福利| 欧美成人一级A片| 天天操天天射天天日| 日韩精品中文无码| 婷婷视频网站| 一区二区三区无码视频| 国产AV黄色| 六月丁香婷| 欧美级黑寡妇毛片app| 国产一级免费在线观看| 狠狠狠操| 欧美午夜福利在线观看| 超碰2022| 天天看天天爽| 影音先锋男人| gogogo高清在线观看免费直播中国| 久久99精品视频| 91免费高清视频| 精品少妇人妻一区二区| 免费福利视频网站| 新超碰在线观看| 骚逼影院| 日本精品国产| av岛国免费| 三级网站视频| 国产精品久免费的黄网站| 亚洲AV无码成人精品区东京热| 大香蕉一区| 日韩中文字幕一区| 人人操人人摸人人爱| 91精品国产一区二区| 在线观看AV资源| 日韩在线观看视频免费| 国产免费视频69| 爽好紧别夹喷水网站| 九九精品国产| 五月天婷婷色色| 在线成人AV| 超碰av电影| 在线操B视频| 亚洲欧美综合| 蜜臀久久99精品久久久电影| 热久久中文字幕| 黑人猛躁白人BBBBBBBBB| 日韩欧美成人片| 看免费黄色录像| 久艹AV| 青青草无码成人AV片| 国产精品你懂的| 国产精品卡一卡二| 亚洲理论视频| 欧美伊人久久| 精品999999| 香蕉91| 少妇熟女视频一区二区三区| 久久亚洲日韩天天做日日做综合亚洲| 91人妻人人澡人人爽| 日韩免费一区| 欧美大香蕉在线视频| 激情五月天黄色| 成人久久综合| 亚洲91成人| 成人做爰100片免费着| 日韩无码91| 无码不卡视频在线观看| 无码不卡视频| 成人视频在线播放| 人人操人人撸| 欧美色操| 欧美级毛片一进一出夜本色| 日韩不卡电影| 蜜桃人妻无码| 无码av高清| 精品乱子伦一区二区在线播放| 自拍无码视频| 日韩精品一区二区三区四区蜜桃视频| 国精产品乱码一区一区三区四区| 福利视频网站| 国产在线观看一区二区| 欧美成人手机在线| 理论片91| 中文区中文字幕免费看| 色婷婷小说| 欧美特黄一级视频| 亚洲第一色播| 日韩精品无码人妻| 人人澡av| 欧美特黄AAA| 夜色321| 91大神免费在线观看| 日韩一级在线| 麻豆回家视频区一区二| 欧美做爱网站| 欧美日本亚洲| 无码人妻丰满熟妇| 成人特级毛片全部免费播放| 欧美精品区| 日韩在线中文字幕视频| 国产男女AV| 蜜桃Av噜噜一区| 亚洲男人的天堂AV| 久操久| 青娱乐日韩| 亚洲精品国产精品国自产A片同性| 在线观看国产一级片| 青青久久91| 激情麻豆| 国外操逼视频| 国产美女被| 韩日午夜| 日屄视频免费看| 在线观看免费欧美操逼视频| 天天色伊人| 性爱网站免费看| 国产嫩草久久久一二三久久免费观看| 91九色丨国产丨爆乳| 91啪啪| 免费一区二区三区四区| 伊人激情网| 男女日逼视频| 免费v片| 一级A片免费看| 大香蕉国产精品| 久久国产精品波多野结衣AV| 在线国产视频| 国产精品视频播放| 亚洲电影在线观看| 日韩毛片视频| 奇米影视亚洲春色| 亚洲婷婷五月| 无码一区二区三| 黄色视频网站在线观看| 夜夜骚AV一二三区无码| 久草网站| 青青草原av| 操碰在线视频| 高清无码免费| 2025最新国产精品每日更新| 天堂无线av无码av| 美妇肥臀一区二区三区-久久99精品国| 朝鲜性感AV在线| 做爱激情视频网站| 大屌探花| 妖精视频黄色| 成人毛片18毛片女人| 九九热精品视频99| 国产人妻人伦精品1国产丝袜| 综合狠狠| 337P大胆粉嫩银噜噜噜| 婷婷亚洲五月色综合| 天天日天天日天天操| 亚洲热在线视频| 国产精品久久久久久久久久久久久久久久 | 成人A毛片| 操逼视频免费| 婷婷草逼| 精品国产乱码久久久久夜深人妻| 四虎激情| 成人免费无码激情AV片| 欧美日韩免费观看视频| 欧美中文字| 蜜桃Av噜噜| 亚洲AV秘无码不卡在线观看 | 亚洲精品国产AV婷婷| 韩国三级HD中文字幕的背景音乐 | www.男人的天堂| 国产AV资源| 亚洲天堂女| 日韩在线一级片| 亚洲精品乱码久久久久久蜜桃欧美| 广西少妇BBwBBwBBw| 国产无码久久久| 躁BBB躁BBB躁BBBBBB日视频 | 91青青草| 97在线鲁碰免费视频| 欧美性BBwBBwBBwHD| 天天干天天日蜜臀色欲av| 日韩最新无码发布| 偷拍亚洲综合| 韩日av| 五月丁香视频在线观看| A黄色视频| 久久久91精品国产一区苍井空| 久久精品一区二区三区蜜芽的特点| 久操视频在线免费观看| 无码久久久| 婷婷日韩| 国产三级片在线观看| 色逼五月| 国产黄色一区| 天天操人人射| 亚洲少妇人妻| 国产精品无码免费视频| 亚洲图片小说区| 亚洲网站视频| 伊人久久大| 日韩AV一区二区三区| 麻豆免费版在线观看| 欧美黄色免费| 午夜精品久久久久久久99热精东| 日韩av免费在线| 国产足交视频| 懂色av懂色av粉嫩av无码| 91人妻人人澡人人爽人人精品乱| 日韩中文欧美| 麻豆AV96熟妇人妻| 无码国产精品一区二区| 无套内射在线免费观看| 天天射天天干天天| 中文无码影院| 欧美日韩国产性爱| 亚洲AV无一区二区三区久久| 久久久久亚洲AV成人网人人软件| 中文字幕第八页| 亚洲无码久久久| 亚洲第一香蕉视频| 三级片男人天堂| 天堂中文在线播放| 日本成人黄色电影| 丁香婷婷五月色成人网站| 日韩福利在线| 水蜜桃视频在线观看| 性爱网站免费看| 手机无码在线播放| 色婷婷成人网| 久久婷香| www.6969成人片亚洲| 学生妹一级J人片内射视频| 黄网站免费观看| 欧美性爱天天| 四川性BBB搡BBB爽爽爽小说| 26uuu国产| 日欧无码| 欧美性爱福利| 亚洲精品区| 操逼视频一区| 免费人成视频观看| 大香蕉免费网| 天天综合7799| 免费一级黄色视频| 污网站在线观看| 国产三级片网| 69福利社| www.丁香五月| 国产成人精品免高潮在线人与禽一| 日本色色网| 悠悠AV导航| 99精品一区二区三区| 日韩精品无码AV| AV自拍偷拍| 操B网址| 日韩国产在线观看| 操干视频| 免费的黄色视频在线观看| aⅴ在线| 午夜福利在线视频| 中文字字幕在线中文乱码电影| 嫩草视频在线观看免费网站| 五月丁香激情四射| 欧美熟妇一区二区三区| 少妇白洁视频| 国产天堂在线| 嫩草av在线| 另类激情网| 爱爱午夜福利| 一级特黄大片色| 天天干天天操天天| 青娱乐成人网| 日韩欧美在线免费| 黄色片视频| 大香蕉999| 欧美高清无码| 超碰人人干人人操| 国产乱伦AV网站| 久久AV秘一区二区三区水生| 无码国产精品一区二区免费96| 国产精品HongKong麻豆| 国产成人小电影| 日韩无码不卡视频| 亚洲三级视频在线观看| 操逼在线观看| 国产精品色婷婷| 亚洲无码一区在线| 亚洲综合社区| 国产激情AV| 久久成人久久| 亚洲AV无码秘翔田| 国产福利一区二区| a片在线免费观看| 色臀av| 成熟的国模冰莲[2]| 91露脸熟女四川熟女在线观看| 日韩免费av| 日无码在线| AⅤ在线观看| 视频一区二区三区在线观看| 操东北老女人| 尤物视频网站在线观看| 美女天天日| 日韩小视频在线观看| 色老板在线观看| 国产激情精品视频| 无码欧美成人AAAA三区在线| 国产人妻精品| 中文字幕无码在线观看| 久久高清亚洲| 一区二区三区免费播放| 国产成人小视频| 4虎亚洲人成人网www| 波多野结衣在线无码视频| 成人精品视频在线| 国产激情网站| 中文字幕播放| 在线观看日韩视频| www国产精品| 免费黄色小视频| 午夜xxx| 国产视频一区二区在线观看 | 亚洲欧美精品AAAAAA片| 青春草在线播放| 国产成人无码区亚洲A片356p| 免费亚洲视频| 五月丁香婷婷激情综合| www.插插| 山东wBBBB搡wBBBB| 俩小伙3p老熟女露脸| 免费在线观看AV网站| 91免费| 美女av日逼| 热久精品| 中文字幕在线视频免费观看| 尤物视频在线观看| 亚洲网站在线免费观看| 人人射人人爱| 自拍偷拍视频网址| 日本无码视频在线观看毒| 91在线永久| 俺来也俺就去www色情网| 99草自拍| 欧美69影院| 操人妻| 韩国毛片基地久久| 操BBB操BBB| 影音先锋日韩精品| 欧美操逼视频| 免费黄视频在线观看| 在线成人av| 午夜乱伦| 99热这里是精品| 亚洲国产成人电影| 国产成人精品八戒| 91原创国产内射| 五月伊人激情| 欧美国产日韩欧美亚洲国产| 国产乱码精品一品二品| 欧美一级婬片AAAA毛片| 中文字幕在线看成人电影| 婷婷色中文网| 熟女三区| 欧洲肥胖BBBBBBBBBB| 国产足交视频| 久久久久久AV| 夏目あきら被续侵犯7天| 中文字幕av免费观看| 麻豆免费视频| 人人爱人人操人人爽| 国产香蕉精品视频| www.超碰| 欧美一区在线视频| 中文字幕无码视频在线观看| 国产香蕉视频| 无码人妻久久一区二区三区蜜桃 | 中文字幕乱视频| 人人操人人透| 成年人在线播放| 操逼免费| 97人妻一区| 91香蕉国产在线观看软件| 91大神久久| 精品黄色视频| 国产精品国产精品国产专区不片| 黄色的视频网站| 超碰97av| 日韩操比| 国产成人秘在线观看免费网站| 五月天狠狠操| 影音先锋成人视频| 91人妻人人澡人人爽精品| 久久er| 无码欧精品亚洲日韩一区| 91女人18片女毛片60分钟| 1024黄| av中文无码| 大色欧美| PORNY九色视频9l自拍| 日韩伊人| 亚洲福利一区二区| 河南乱子伦视频国产| 天天干天天日天天干| 午夜视频成人| 日批网站在线观看|