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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

请善用工具审核您的内核代码:)

發(fā)布時間:2025/7/25 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 请善用工具审核您的内核代码:) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在寫內核代碼時。代碼風格(coding style)是一個非常重要的部分,否則內核代碼將變的混亂不堪。

那么什么樣的代碼算美麗的代碼?什么樣的代碼符合c99這種標準?此外,程序寫完之后,有什么工具可以幫我們檢查代碼有沒有指針錯誤?客官且隨我看看這三個工具:

1. 代碼風格篇

想開發(fā)一個內核程序?你的電腦有內核源代碼么?無論是以前用來編譯內核或者你自己查閱資料,假設您的電腦上有內核源代碼,好的,本節(jié)將介紹一個非常多人都不知道的強大的工具 -- checkpatch。

So, where is it ?

ok ,打開內核代碼,cd 到 “ scripts?”文件夾下,查看有木有checkpatch.pl 文件?

How to use ? Yup, very easy ! Please use " patch-to-kernel/scripts/checkpatch.pl ?--file yourcode.c?" !

還不明確?來看看我怎么用:

~/kernel/linux-3.12.1/scripts/checkpatch.pl --file ../net_drive/netdump.c

那么這個工具有什么好?請看以下這個代碼:

/** file : netdump.c* (C) 2014 Yunlong Zhou <reaper888@yeah.net>* Under licence GPL** Introduction :* This modules will scan netdevices and report them via printk ** Useage: 1. make -- you should make the module firstly(with Makefile )* 2. su -- use root * 3. insmod netdump.ko -- install the module* 4. dmesg | tail -- check the status that module print!* 5. rmmod netdump -- after use ,please don't forget rmmove the module **/#include <linux/module.h> /* MODULE* */ #include <linux/kernel.h> /* printk */ #include <linux/netdevice.h> /* dev_get_by_index */static int __init hello_init(void) {printk("netscan module enter\n");struct net_device *dev;struct rtnl_link_stats64 temp;int idx=1; /* first netdevice if it exists */do{dev = dev_get_by_index(&init_net,idx);if (dev==NULL) {printk("Last netdevice index %d\n",idx-1);}else {const struct rtnl_link_stats64 *stats = dev_get_stats(dev,&temp);printk("%s: ifindex %d\n",dev->name,dev->ifindex);// more in this struct than reported here ! printk("This is the current status jus get !\n");printk("packets:%llu/%llu bytes: %llu/%llu errors:%llu dropped:%llu\n\n",stats->tx_packets,stats->rx_packets,stats->tx_bytes,stats->rx_bytes,stats->rx_errors,stats->rx_dropped);}idx++;}while(dev!=NULL);return 0; }static void __exit hello_exit(void) {printk("netscan module exit\n"); }module_init(hello_init); module_exit(hello_exit);MODULE_AUTHOR("Zhou Yunlong <reaper888@yeah>"); MODULE_DESCRIPTION("scan netdevices and report them via printk"); MODULE_LICENSE("GPL");

寫過內核模塊的童鞋能輕易的分辯。這是個內核模塊。再有經(jīng)驗的童鞋,可以看出來這個模塊的主要工作都在 init 時做了(也即insmod 模塊時)。

那么做了什么工作呢?事實上非常easy。就是讀取網(wǎng)卡設備的狀態(tài)然后顯示出來,比方說發(fā)/收多少數(shù)據(jù)包,多少字節(jié)等。并且因為代碼圖簡便,通過 printk 輸出,所以信息僅僅能通過 dmesg查看!

對于有經(jīng)驗的童鞋,會在編譯模塊的Makefile 文件里加入 -Wall 標志(W 即warning,all即全部,所以加入 -Wall 標志位會打印出全部編譯時的警告)。對于這段代碼:

$ make make -Wall -C /lib/modules/`uname -r`/build M=`pwd` modules make[1]: Entering directory `/home/long/kernel/linux-3.12.1-rtpatched'CC [M] /tmp/netdump.o /tmp/netdump.c: In function ‘hello_init’: /tmp/netdump.c:24:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]Building modules, stage 2.MODPOST 1 modulesCC /tmp/netdump.mod.oLD [M] /tmp/netdump.ko make[1]: Leaving directory `/home/long/kernel/linux-3.12.1-rtpatched' $ sudo insmod netdump.ko $ dmesg .... [ 8300.686085] netscan module enter [ 8300.686095] lo: ifindex 1 [ 8300.686097] This is the current status jus get ! [ 8300.686101] packets:888/888 bytes: 282809/282809 errors:0 dropped:0 [ 8300.686101] [ 8300.686105] eth1: ifindex 2 [ 8300.686107] This is the current status jus get ! [ 8300.686110] packets:945987/2384507 bytes: 77162255/3264031681 errors:0 dropped:35 [ 8300.686110] [ 8300.686115] eth3: ifindex 3 [ 8300.686117] This is the current status jus get ! [ 8300.686119] packets:0/0 bytes: 0/0 errors:0 dropped:0 [ 8300.686119] [ 8300.686123] sit0: ifindex 4 [ 8300.686125] This is the current status jus get ! [ 8300.686128] packets:0/0 bytes: 0/0 errors:0 dropped:0 [ 8300.686128] [ 8300.686131] Last netdevice index 4

我們能夠看到,程序編譯時也僅僅提示了一個“ ISO C90 forbids mixed declarations and code?”錯誤,對于有經(jīng)驗的童鞋,能夠非常輕松的排除這個錯誤,就是把提示警告的函數(shù)中全部的聲明部分放在函數(shù)最前面,而其它代碼放在聲明后面。

那么這種代碼在您平時編程中是不是堪稱完美?編譯器不報錯(上述簡單的警告。我們能夠輕松排除)。程序執(zhí)行正常。

那么這樣一段程序對于?checkpatch 來說是什么樣的?我們能夠看看:

$ ~/kernel/linux-3.12/linux-3.12.1/scripts/checkpatch.pl --file netdump.c > log

打開log 文件:

ERROR: trailing whitespace #7: FILE: netdump.c:7: + * This modules will scan netdevices and report them via printk $WARNING: line over 80 characters #9: FILE: netdump.c:9: + * Useage: 1. make -- you should make the module firstly(with Makefile ) ... total: 22 errors, 16 warnings, 63 lines checkedNOTE: whitespace errors detected, you may wish to use scripts/cleanpatch orscripts/cleanfilenetdump.c has style problems, please review.

最后一行,checkpatch 工具非常輕柔的告訴我們,netdump.c 文件有代碼風格問題,請改正吧!

total: 22 errors, 16 warnings, 63 lines checked?”!63行的代碼。有22個錯誤,16個警告!我們能夠先看看ERROR部分(由于ERROR部分是必需要改的,重要的錯誤):

$ grep "ERROR" log | sort | uniq ERROR: code indent should use tabs where possible --- 代碼行前面的空白處應該使用TAB 而不是空格 ERROR: do not use C99 // comments --- 不能使用C99中的"//"型凝視,須要使用 "/**/"型 ERROR: space required before the open brace '{' --- 對于 for,if,while等有涉及到代碼段時,使用 { 和 } 時。須要在{ 之前和}之后(假設后面有東西的話。否則就成了代碼行末尾空白)加空格,比方 if (cond) { ... } else { ... } ERROR: space required after that close brace '}' ERROR: space required after that ',' (ctx:VxO) --- 帶參時,比方foo(a,b),在a,后b之前須要空格,所以正確使用方法是: foo(a, b) ERROR: space required after that ',' (ctx:VxV) ERROR: space required before that '&' (ctx:OxV) --- 此條和上面的帶參反復 ERROR: space required before the open parenthesis '(' --- 相似{} ,()前后也須要空格 ERROR: spaces required around that '==' (ctx:VxV) --- 比較"=="/"!="和賦值"="前后也須要空格 ERROR: spaces required around that '=' (ctx:VxV) ERROR: spaces required around that '!=' (ctx:VxV) ERROR: trailing whitespace --- 代碼行的末尾有多余的空白(空格/tab>)

分析完ERROR。我們在來看看WARNING:

$ grep "WARNING" log | sort | uniq >b -- 吃驚的發(fā)現(xiàn),16個警告去反復之后僅僅有4類 WARNING: line over 80 characters -- 代碼行多余80個字符!為什么是80個字符。有興趣 能夠去查查(小透露一下,歷史原因。) WARNING: please, no space before tabs -- tab前有空格。全部空格一律使用tab! WARNING: please, no spaces at the start of a line -- 行開始沒有空白 WARNING: printk() should include KERN_ facility level -- printk沒有"KERN_"這種輸出級別!

為>什么這僅僅是warning?大家都知道,假設printk沒有帶輸出級別,它將採用默認!



如今還敢說你的代碼習慣非常好么?你能夠試驗一下你最自豪的代碼。祝您玩的愉快


二、 代碼檢測篇

2.1?Coccinelle?

Coccinelle是一個程序的匹配和轉換引擎,它提供了語言SMPL(語義補丁語言)用于指定C代碼所需的匹配和轉換。Coccinelle 最初是用來幫助Linux的演變,支持更改庫應用程序編程接口,比方重命名一個函數(shù)。添加一個依賴于上下文的函數(shù)參數(shù)或者又一次組織一個數(shù)據(jù)結構。除此之外,Coccinelle頁被人用來查找或者修復系統(tǒng)代碼的bug。

2.1.1 安裝

(1) sudo apt-get build-dep coccinelle?

假設您的apt-get 提示找不到coccinelle。建議您把你的" /etc/apt/sources.list "配成我這種吧:

$ cat /etc/apt/sources.list deb http://mirrors.163.com/debian wheezy main non-free contrib deb-src http://mirrors.163.com/debian wheezy main non-free contrib

(2) ./configure --enable-release
(3) sudo?make all
(4) sudo make install

2.1.2 使用

事實上Coccinelle使用起來非常easy。比方上面的內核模塊代碼。我們怎樣使用coccinelle檢查這段代碼?僅僅須要在編譯時加入coccicheck 選項就可以!

比方,我們的Makefile能夠這么寫:

$ cat Makefile obj-m:=netdump.o default:make -Wall -C /lib/modules/`uname -r`/build M=`pwd` modulescocci:make -C /lib/modules/`uname -r`/build coccicheck MODE=report M=`pwd` clean:make -C /lib/modules/`uname -r`/build M=`pwd` clean
? 這樣。我們能夠使用 make 來簡單編譯模塊,還能夠使用 make cocci 來使用coccinelle對代碼進行檢查:

$ make cocci make -C /lib/modules/`uname -r`/build coccicheck MODE=report M=`pwd` make[1]: Entering directory `/home/long/Mar_class/linux-3.12.9'Please check for false positives in the output before submitting a patch. When using "patch" mode, carefully review the patch before submitting it.make[1]: Leaving directory `/home/long/kernel/linux-3.12.9'


2.2?sparse

Sparse 是用于 C 語言的語法分析器,用以對 C 代碼進行靜態(tài)檢查,它不但能夠檢查 ANSI C 并且還能檢查具有 gcc 擴展的 C 。

在 Linux 中,不但能夠檢查用戶端代碼。還能夠檢查內核代碼。起初它由 Linus 編寫,后來交給其它人維護。

Sparse通過 gcc 的擴展屬性 __attribute__ 以及自定義的 __context__ 來對代碼進行靜態(tài)檢查。

以下我們來看看這個奇妙的工具:

2.2.1 安裝

對于sparse的安裝,能夠使用多種方法:

最簡單的一種就是使用apt-get安裝:sudo apt-get install sparse

其次是從站點下載,下載sparse-0.4.4.tar.gz壓縮包后解壓,然后直接 makemake install 就可以!

最后就是使用?git clone git://git.kernel.org/pub/scm/devel/sparse/sparse.git 克隆sparse倉庫,然后進入倉庫先使用?git tag 查看最新的版本號。然后使用?$ git checkout -b stable v0.4.4 切到最新的版本號,最后連續(xù)使用root 權限make make install 安裝即完畢了。

2.2.2 使用

事實上sparse的使用比上面介紹的coccinelle還簡單,僅僅須要在make 后加入 “ C=2 ”。所以上面的Makefile 還能夠擴展成:

$ cat Makefile obj-m:=netdump.o default:make -Wall -C /lib/modules/`uname -r`/build M=`pwd` modulescocci:make -C /lib/modules/`uname -r`/build coccicheck MODE=report M=`pwd` sparse:make C=2 -C /lib/modules/`uname -r`/build M=`pwd`clean:make -C /lib/modules/`uname -r`/build M=`pwd` clean
此時我們僅僅要使用 make sparse 就可以使用sparse工具對代碼進行檢查:

$ make sparse make C=2 -C /lib/modules/`uname -r`/build M=`pwd` make[1]: Entering directory `/home/long/kernel/linux-3.12.9'LD /tmp/test/built-in.oCHECK /tmp/test/netdump.c /tmp/test/netdump.c:23:9: warning: mixing declarations and code /tmp/test/netdump.c:29:48: warning: incorrect type in argument 1 (different base types) /tmp/test/netdump.c:29:48: expected struct net *net /tmp/test/netdump.c:29:48: got struct net extern [addressable] [toplevel] init_netCC [M] /tmp/test/netdump.o /tmp/test/netdump.c: In function ‘hello_init’: /tmp/test/netdump.c:23:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] /tmp/test/netdump.c:29:4: error: incompatible type for argument 1 of ‘dev_get_by_index’ In file included from /tmp/test/netdump.c:18:0: include/linux/netdevice.h:1795:27: note: expected ‘struct net *’ but argument is of type ‘struct net’ make[2]: *** [/tmp/test/netdump.o] Error 1 make[1]: *** [_module_/tmp/test] Error 2 make[1]: Leaving directory `/home/long/kernel/linux-3.12.9' make: *** [sparse] Error 2
由于sparse是對屬性進行檢查,所以在上面使用 make sparse 之前,我把代碼第29行“?dev = dev_get_by_index(&init_net,idx); ”中的& 去掉了,所以sparse會檢測出參數(shù)格式錯誤!

所以你能夠想象,你的代碼中假設指針使用錯誤,sparse都會一一指出哦!

是不是非常幸福?

注:如今貌似也有針對其它語言的sparse工具,前幾天剛看到有python的sparse,只是還沒嘗試過。


三、總結篇

使用第一節(jié)中的checkpatch是讓我們養(yǎng)成好的代碼風格。既美觀又符合內核中的代碼風格,何樂而不為?事實上,不管是對于已工作的程序員還是對于要找工作的學生來說,養(yǎng)成好的代碼習慣和風格總是好的。最大的優(yōu)點是讀代碼方便。其次是好的代碼風格能夠讓別人對你有了最主要的認識!

第二節(jié)中的兩個工具都是由來已久,并且在內何編碼界使用也非常廣泛,假設你每次都使用這兩個工具檢查。相信對你的代碼能力也會有非常大的提升。

最后送大家一句: 學習easy,堅持不易。且學且珍惜!


==================

很多其它閱讀:?

[1] http://kernelnewbies.org/KernelHacking

[2]?http://coccinelle.lip6.fr/

[3]?https://home.regit.org/technical-articles/coccinelle-for-the-newbie/

[4]?http://kernelnewbies.org/Sparse

[5]?http://www.cnblogs.com/wang_yb/p/3575039.html


轉載于:https://www.cnblogs.com/bhlsheji/p/5386611.html

總結

以上是生活随笔為你收集整理的请善用工具审核您的内核代码:)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

亚洲婷婷免费 | 久久免费黄色大片 | 亚洲日本成人网 | av一级免费| 久久免费视频这里只有精品 | 97精品欧美91久久久久久 | 国产精品午夜久久久久久99热 | www国产一区 | 国产精品原创 | 久久久精品国产一区二区电影四季 | 91精品在线免费观看 | 国产99久久九九精品免费 | 中文字幕亚洲国产 | 亚洲精品乱码久久久一二三 | 午夜精品成人一区二区三区 | 成人91免费视频 | 国产韩国日本高清视频 | 黄色精品久久 | 麻豆视频在线观看 | 黄色大片网 | 伊人资源视频在线 | 九九99视频 | 婷婷婷国产在线视频 | 精品免费视频123区 午夜久久成人 | 麻豆91视频 | 久久成人高清视频 | 欧美一区二区三区免费观看 | 色激情五月 | 麻豆一精品传二传媒短视频 | 成人毛片a | 在线免费成人 | 久久另类视频 | 久久撸在线视频 | 久久综合久久鬼 | 国产精品国产三级国产 | 久在线观看 | 综合视频在线 | 99资源网 | 久久99视频| 视频一区二区精品 | 久久激情日本aⅴ | 99在线观看精品 | 亚洲开心色 | 久久成人一区二区 | 天天舔天天射天天操 | 欧美一级网站 | 久久97久久97精品免视看 | 精品一区二区三区在线播放 | 国产精品免费视频观看 | 国内精品中文字幕 | 国产精品久久久久久久久久免费 | 国产 日韩 欧美 中文 在线播放 | 国产精品一区在线播放 | 欧美日韩国产精品久久 | 激情喷水 | www国产亚洲精品久久网站 | 国产成人91 | 青春草视频在线播放 | 久久ww| 久精品视频在线 | 99精品国产高清在线观看 | 国产在线一区观看 | 亚洲一区网 | 免费av观看网站 | 亚洲九九 | 精品欧美乱码久久久久久 | 毛片一级免费一级 | 久久a v电影 | 免费观看的黄色片 | 精品久久久久久亚洲综合网站 | 日韩欧美一区二区在线 | 91精品视频在线观看免费 | 国产1区2区3区精品美女 | 91高清视频在线 | 成年人网站免费观看 | 九九九九精品九九九九 | 久久视频免费观看 | 国产精品永久 | 精品99在线 | 久久99精品久久久久久三级 | 在线一级片 | 天天搞天天 | 久久免费99精品久久久久久 | 免费网站观看www在线观看 | 手机色站 | 久久综合久色欧美综合狠狠 | 最近日韩中文字幕中文 | 国产午夜三级一区二区三 | 中文字幕在线免费看线人 | 久青草国产在线 | 激情网在线观看 | 91视频在线自拍 | 国产亚州精品视频 | 日本69hd | 国产又粗又猛又爽又黄的视频先 | 中国一级特黄毛片大片久久 | 久久精品欧美一 | 操少妇视频 | 狠狠的操你 | 国产午夜三级 | 日韩久久久久久 | 丁香激情综合 | 久久久久久麻豆 | 欧美国产日韩一区二区三区 | 综合久久久久久 | av片中文字幕 | 国产黄在线免费观看 | 国产馆在线播放 | 久久视频这里有精品 | 久久精品一区二区国产 | 超碰公开在线 | 国产精品久久久久久久久久久久午夜 | 精品九九九 | 国产伦精品一区二区三区照片91 | 国产特黄色片 | 伊人狠狠干 | 亚洲视频一级 | 91九色蝌蚪视频网站 | 国产亚洲在 | 夜夜夜夜夜夜操 | 国产亚洲一区二区在线观看 | 深夜成人av | 欧美综合色在线图区 | 久久精品一区二区三区国产主播 | 99久久久久久 | 丁香狠狠 | 亚洲精品乱码白浆高清久久久久久 | 日韩欧美精品一区二区三区经典 | 日韩a免费 | 久久久av电影 | 97视频亚洲 | 九九在线高清精品视频 | 久久艹艹 | 国产精品国产毛片 | 美女久久久久久久久久久 | 97精品国产 | 免费日韩 | 国产欧美最新羞羞视频在线观看 | 国产性xxxx | 中文字幕免费高清在线 | 在线播放国产一区二区三区 | 中文字幕在线免费97 | 97人人模人人爽人人少妇 | 日本中文乱码卡一卡二新区 | 国产夫妻自拍av | 五月开心激情网 | 中文十次啦 | 四虎小视频 | 国产视频久久久 | 久久久久久久久久久久亚洲 | 九九热精品视频在线播放 | 99久久精 | 五月天综合网站 | 五月婷婷电影网 | 久久久亚洲影院 | 日韩欧美在线综合网 | 久草精品在线观看 | 999超碰 | 人人网av | 国产一级电影网 | 国产一区av在线 | 久久精品播放 | 最近中文国产在线视频 | 中文字幕电影网 | 国产一区二区不卡视频 | 成人性生交大片免费观看网站 | 成人午夜在线观看 | 日韩av高潮 | 亚洲人片在线观看 | 综合色综合 | 亚洲精品影院在线观看 | 五月婷婷综合激情 | 99热在线观看免费 | 国产原厂视频在线观看 | 人人干人人添 | 免费一级特黄录像 | 亚洲 欧美 国产 va在线影院 | 日韩中文字幕免费视频 | 天天操天天添天天吹 | 久久综合射 | 天天干天天综合 | 99久久国产免费免费 | 午夜精品久久久99热福利 | 亚洲欧美国产精品 | 中文字幕日本电影 | 国产99久久精品一区二区永久免费 | 激情丁香 | 成人a大片 | 免费视频一区二区 | 久99精品 | 国产小视频在线观看 | 1000部国产精品成人观看 | 97超碰伊人 | 色九九在线 | 色吊丝av中文字幕 | 黄色av高清 | 黄网站污 | 久久大香线蕉app | 天天色天天骑天天射 | 中文字幕亚洲国产 | 一区二区高清在线 | 成人av在线直播 | 久久久鲁 | av片在线看 | 中文字幕专区高清在线观看 | 99视频偷窥在线精品国自产拍 | 国偷自产中文字幕亚洲手机在线 | 蜜臀av性久久久久av蜜臀三区 | 很黄很污的视频网站 | 精品国产久| 青草草在线视频 | 久久日韩精品 | 在线免费高清视频 | 狠狠色噜噜狠狠 | 欧美激情精品久久久久久免费印度 | 国产一级二级视频 | 久久久久欧美精品 | 天天操天天摸天天爽 | 国产精品系列在线播放 | 成人av免费在线 | 91在线www| 中文字幕一区二区三区在线观看 | 五月天久久久久 | 综合网五月天 | 伊人激情网 | 美女黄濒| 国产精品av免费 | 中文字幕有码在线 | 亚洲日本一区二区在线 | 日本激情视频中文字幕 | 国产福利中文字幕 | 日韩在线国产 | 国产日韩欧美视频 | 色综合天天色综合 | 9797在线看片亚洲精品 | 日狠狠 | 一区二区不卡在线观看 | 91精品国自产在线观看欧美 | 国产在线观看av | 亚洲精品乱码久久久久久蜜桃欧美 | 久久久久这里只有精品 | 日韩精选在线 | 精品久久久免费视频 | 日韩欧美在线免费观看 | 欧美黑人xxxx猛性大交 | 成人黄色短片 | 亚洲三级网站 | 久久婷婷一区二区三区 | 久草在线电影网 | 精品免费观看 | 国产成人精品一区二区在线 | 欧美成人视 | 在线播放视频一区 | 色综合天天综合在线视频 | 成人a在线观看高清电影 | 99国产精品视频免费观看一公开 | 99久久精品免费一区 | 91网站在线视频 | 久久99久国产精品黄毛片入口 | a黄在线观看 | 国产资源在线免费观看 | 亚洲黄色一级电影 | 国产精品久久久久影视 | 免费看片色 | 玖玖色在线观看 | 中文字幕av在线 | av电影一区二区三区 | 青草视频在线看 | 国产精品九九九九九 | 中文字幕av全部资源www中文字幕在线观看 | 国产伦理一区二区三区 | 91在线成人| 91xav| 中文字幕免费在线看 | 97免费在线观看视频 | 香蕉视频4aa| 久久精品一区二区三区中文字幕 | 92中文资源在线 | 狠狠狠色 | 亚洲japanese制服美女 | 天天爽夜夜爽精品视频婷婷 | 精品国产一区二区三区日日嗨 | 午夜精品福利在线 | 亚洲理论在线观看 | 欧美精品做受xxx性少妇 | 五月婷婷导航 | 日韩午夜一级片 | 很黄很黄的网站免费的 | 在线视频一二区 | 在线观看91精品视频 | 免费能看的av | 国产精品久久久久久久久久久免费 | 久久久久久久久久免费视频 | 日女人电影| 亚洲激情 欧美激情 | 国内精品国产三级国产aⅴ久 | 美女在线观看网站 | 亚洲综合网 | 久久99九九99精品 | 欧美日韩视频在线观看一区二区 | 免费av网站观看 | 国产成人精品午夜在线播放 | 91久久丝袜国产露脸动漫 | 色综合五月天 | 国产成人av电影在线观看 | 日韩成人免费在线 | 麻豆视频在线看 | 中文字幕 第二区 | 视频在线一区 | 久久99深爱久久99精品 | 亚洲成人一区 | 99色99| 久久精品久久99 | 亚洲视频电影在线 | 97久久精品午夜一区二区 | 欧美性黄网官网 | 国产精品1区2区3区 久久免费视频7 | 天天操夜夜想 | 亚洲不卡av一区二区三区 | av解说在线 | 亚洲欧美日韩一二三区 | 久久经典国产视频 | 亚洲成av人电影 | 亚洲精品国产精品国自产在线 | 性日韩欧美在线视频 | 亚洲精品系列 | 狠狠干网址 | 婷婷av网站 | 成人国产精品免费观看 | 91亚洲成人 | 国产人成一区二区三区影院 | 中文字幕 国产 一区 | 日韩在线视频二区 | 国产精品久久久久永久免费看 | 中文字幕在线日本 | 色婷婷狠狠操 | 亚洲成a人片77777kkkk1在线观看 | 国产99久久久精品 | 国产高清在线免费观看 | 一二三区高清 | 亚洲不卡av一区二区三区 | 69欧美视频| 又爽又黄在线观看 | 午夜av色| 国产精品理论片在线播放 | 婷婷在线色 | 免费在线观看av网址 | 欧美激情精品一区 | 亚洲在线激情 | 久久久久久久久亚洲精品 | 国产手机在线视频 | а天堂中文最新一区二区三区 | 91大神视频网站 | 亚洲小视频在线观看 | 久久久久久久久久久免费视频 | 一区二区三区四区五区在线 | 在线观看av网站 | 中文字幕刺激在线 | 蜜桃传媒一区二区 | 久久久久电影 | 97视频在线观看免费 | 欧美专区日韩专区 | 色综合色综合久久综合频道88 | 亚洲成人第一区 | 免费国产在线精品 | 最近中文字幕国语免费高清6 | 亚洲欧美视频 | 人人澡人人舔 | 成人一区在线观看 | 99热在线国产精品 | 午夜精品一二三区 | 久草免费资源 | 日韩在线大片 | 成人小电影在线看 | 亚洲激情在线播放 | 亚洲午夜小视频 | 四虎影视成人永久免费观看视频 | 久久久久久久久久影院 | 日韩午夜精品福利 | 亚洲人毛片 | 丰满少妇在线观看网站 | 亚洲综合视频在线播放 | 欧美最爽乱淫视频播放 | 国产专区在线视频 | 一本一道波多野毛片中文在线 | 欧美伦理电影一区二区 | 久久精品中文字幕免费mv | 日韩高清免费在线观看 | 亚洲人视频在线 | 中文字幕在线乱 | 国产精品不卡在线播放 | 国产免费一区二区三区最新6 | 国产成人三级在线 | 91毛片视频 | 中文字幕在线视频一区二区三区 | 91av资源在线 | 美女国产在线 | 中文在线8新资源库 | 精品国产一区二区三区久久影院 | 欧美日韩精品网站 | 精品国产1区2区3区 国产欧美精品在线观看 | 国产区精品视频 | 玖玖国产精品视频 | 99精品热视频只有精品10 | 在线免费观看国产黄色 | 日日碰狠狠添天天爽超碰97久久 | 国产精品久久电影观看 | 中文字幕免费高清av | 1024手机看片国产 | 嫩草av在线 | 五月天综合激情网 | 国产成人久久精品亚洲 | 久久婷婷久久 | 国产精品com | 在线视频一二区 | 999一区二区三区 | 高清国产午夜精品久久久久久 | 天天婷婷 | 久久久久中文 | 日韩激情精品 | 蜜臀av网址| 91香蕉视频黄 | 看片的网址 | 天天操天天摸天天爽 | 免费av试看 | 国产精品原创视频 | 欧美性天天 | 最新久久免费视频 | 免费看十八岁美女 | 午夜视频一区二区 | 亚洲草视频 | 成年人黄色在线观看 | 天天干天天操av | 碰天天操天天 | 日韩剧 | 三上悠亚一区二区在线观看 | 美女视频久久久 | 日韩专区一区二区 | 在线91av| 成人超碰在线 | 激情网站 | 免费观看mv大片高清 | 亚洲精品国产麻豆 | 国产视频一区二区三区在线 | 久久九九久久精品 | 欧美在线aa | 2021国产在线 | 欧美大荫蒂xxx | 国产在线专区 | 亚洲成年人av | 亚洲高清视频一区二区三区 | 丰满少妇麻豆av | 手机在线日韩视频 | 色综合天天天天做夜夜夜夜做 | 激情九九 | www久草 | 在线观看国产一区 | 精品国产激情 | 国产精品video爽爽爽爽 | 免费a级观看 | 91传媒在线播放 | 五月婷网 | 日日狠狠| 人人草人人草 | 99久久久国产精品美女 | 国产超碰97 | 在线观看中文字幕亚洲 | 久久男人中文字幕资源站 | 麻豆视频免费在线 | 日韩亚洲在线视频 | 亚洲小视频在线观看 | 久久国产精品久久精品 | 久久久久久草 | 日日夜夜av | 999成人免费视频 | 日本高清中文字幕有码在线 | 成人全视频免费观看在线看 | www视频在线观看 | 国产麻豆精品传媒av国产下载 | 精品国产欧美一区二区 | 中文av影院 | 黄色99视频 | 欧美大码xxxx | 欧美ⅹxxxxxx | 国色天香在线观看 | 99欧美视频| 精品日韩中文字幕 | 久久久国产一区 | 欧美精品在线观看一区 | 韩国av电影在线观看 | 一区二区三区四区精品视频 | 日韩亚洲精品电影 | 中文字幕在线免费 | 91污污视频在线观看 | 99精品偷拍视频一区二区三区 | 玖玖爱在线观看 | 精品一二三四视频 | 一级片黄色片网站 | 天天综合狠狠精品 | 国产精品一区二区三区免费看 | 欧美一区日韩一区 | 亚洲精品理论片 | 欧美日韩视频网站 | 国产又粗又硬又长又爽的视频 | 欧美性爽爽 | 久久久99精品免费观看app | 91私密视频 | 天天曰天天曰 | 麻豆精品视频 | 国产亚洲91 | 国产中文字幕三区 | 国产区精品在线观看 | 免费观看全黄做爰大片国产 | 狠狠躁天天躁 | 亚洲国产精品激情在线观看 | 9999激情 | 久久久久女教师免费一区 | 一级做a爱片性色毛片www | av在线免费网站 | 日韩精品免费一线在线观看 | 亚洲精品国产精品国产 | 久久免费av | 在线最新av | 国产成人一区二区三区在线观看 | 国产又粗又猛又黄 | 天天操天天添天天吹 | 天天操天天干天天干 | 日韩xxxbbb| 91九色综合 | 精品一区二区免费 | 五月视频 | 国产精品久久久久毛片大屁完整版 | 正在播放一区 | 91最新在线观看 | 夜夜干天天操 | 久草在线最新视频 | 韩日电影在线免费看 | 国产三级精品在线 | 成人午夜在线观看 | 丁香婷婷激情五月 | 精品在线观看免费 | 韩国在线视频一区 | 在线观看国产日韩欧美 | 草免费视频 | 日韩电影中文字幕在线 | 中文字幕在线看视频国产 | 最新午夜电影 | 精品免费视频123区 午夜久久成人 | 黄色一二级片 | 国产日韩在线播放 | 日韩精品久久中文字幕 | 亚洲精品啊啊啊 | 国产一区二区在线播放 | 精品久久毛片 | 久草国产在线 | 亚洲午夜久久久久久久久 | sesese图片 | 国产中文字幕视频在线观看 | 成人综合免费 | 亚洲精品综合一二三区在线观看 | 亚洲精品在线观看免费 | 色偷偷97 | 九九国产视频 | 免费视频区 | 婷婷色网站 | 久久久久久麻豆 | 欧美精品一区二区性色 | 亚一亚二国产专区 | 中文字幕在线看视频 | 日韩精品免费在线观看视频 | 免费性网站 | 91免费观看视频在线 | 91免费网站在线观看 | 国产美女精品视频 | 亚洲日本国产精品 | 激情五月播播久久久精品 | 国产精品黄色 | 国产精品视频 | 国产色在线视频 | 久草网站 | 在线观看视频福利 | 日韩高清不卡一区二区三区 | 中文字幕高清av | 在线视频免费观看 | 欧美成人91 | 久久成人国产精品 | 在线日韩中文字幕 | 亚洲区视频在线 | 婷婷色婷婷 | 一区二区三区四区在线免费观看 | www.夜夜夜 | 粉嫩高清一区二区三区 | 欧美成人xxxx | 伊人狠狠干 | 天天色天天草天天射 | www.夜夜 | 91精品国自产在线观看 | 欧美一级性 | 狠狠色噜噜狠狠狠狠2022 | 国产网红在线观看 | 亚洲在线日韩 | 亚洲国产电影在线观看 | 日韩在线影视 | 欧美色图狠狠干 | 亚洲 欧洲 国产 精品 | 精品福利在线视频 | www.人人草| 亚洲精品资源在线 | 欧美亚洲国产精品久久高清浪潮 | 亚洲免费av一区二区 | 久久手机看片 | 国产一区高清在线观看 | 97国产在线 | 人人讲下载 | av日韩不卡 | 久草在线费播放视频 | 韩国一区二区av | 香蕉视频导航 | 五月天久久婷 | 激情视频91 | 国内亚洲精品 | 色狠狠狠| 69国产精品成人在线播放 | 亚洲午夜精品一区 | 亚洲三级在线 | av 一区二区三区四区 | www.久久视频 | 精品成人久久 | 欧美日韩免费一区二区三区 | 亚洲欧美日韩在线一区二区 | 色综合久久久久综合体 | 亚洲精品久久久久久国 | 中文字幕123区 | 亚洲a网| 丁香花五月 | 在线国产能看的 | 天天干天天搞天天射 | 91成人区| 久草.com | 色com| 97av在线视频免费播放 | 综合色久 | 超碰在线97免费 | 色综合天天综合在线视频 | 一级欧美一级日韩 | 久久久999精品视频 国产美女免费观看 | 久久av影院| 免费成人在线观看 | av日韩精品 | 国产性天天综合网 | 久久再线视频 | 国产精品国产自产拍高清av | 精品久久久久久国产偷窥 | 丰满少妇在线观看 | 日日夜日日干 | 91av官网 | www.久艹| 天天爽夜夜操 | 午夜的福利 | 国产视频亚洲精品 | 精品字幕在线 | 五月婷婷播播 | 国产91精品一区二区麻豆亚洲 | 四虎海外影库www4hu | 国产爽妇网 | 992tv在线观看 | 91av视频网 | 在线播放精品一区二区三区 | 久久久久久久国产精品视频 | 欧美日韩激情网 | 国内视频一区二区 | www.99久久.com| 一级一片免费观看 | 国产伦精品一区二区三区无广告 | 91在线最新 | 欧美成人久久 | 国产一区二区手机在线观看 | 国产一级特黄毛片在线毛片 | 国产伦理一区二区三区 | 国产精彩在线视频 | 国际精品久久久 | 天天射天天干天天爽 | 亚洲最新在线视频 | 国产精品手机在线观看 | 五月婷婷av | 一区三区在线欧 | 免费视频国产 | 久草在线最新免费 | 成人av一区二区三区 | 99精品毛片| 久久影视精品 | 国产精品久久久久久麻豆一区 | 精品一区在线 | 久久精品欧美一区二区三区麻豆 | 99 精品 在线| 视频成人 | 91精品视频免费在线观看 | 视频国产精品 | 久久图 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 国产精品第二十页 | 久久综合偷偷噜噜噜色 | 国产网站在线免费观看 | 成年人电影毛片 | 美女视频国产 | 黄影院| 久久怡红院 | 日日爱av | 久久久久久蜜桃一区二区 | 超碰在线99 | 国产精品免费在线观看视频 | 91精品国产综合久久久久久久 | 国产日产亚洲精华av | 国产人成精品一区二区三 | 午夜99 | 91看片网址 | 日韩视频a | 欧美日韩18 | 最近2019好看的中文字幕免费 | 国产精选在线观看 | 国产精品久久久久久久久婷婷 | 午夜久久电影网 | 日韩中文字幕免费在线播放 | 久久电影色| 国产999精品久久久影片官网 | 精品视频国产一区 | 国产资源在线播放 | 黄色小视频在线观看免费 | 日韩欧美一区二区在线播放 | av先锋影音少妇 | 黄色最新网址 | 国产 一区二区三区 在线 | 特级西西444www大胆高清无视频 | 97福利在线观看 | 免费视频成人 | 五月婷婷在线观看视频 | 久久天天躁夜夜躁狠狠85麻豆 | 丁香激情网 | 国产专区视频在线 | 国产精品成人自产拍在线观看 | 久久久www成人免费毛片 | 丁香花在线观看视频在线 | 欧美美女一级片 | 97精品视频在线 | 狠狠狠狠狠狠狠干 | 福利片视频区 | 四虎在线免费视频 | 欧美成人中文字幕 | 亚洲成人精品av | 九九九电影免费看 | 日韩精品三区四区 | 成人av片在线观看 | 男女激情免费网站 | 午夜在线观看影院 | 色七七亚洲影院 | 久久新视频| 国产精品国产亚洲精品看不卡15 | 国产一区二区三区视频在线 | 日韩三级免费 | 亚洲蜜桃在线 | 天天爱天天操天天爽 | 欧美 日韩精品 | 日韩免费视频观看 | 美女网色| 婷婷色综合 | 国产精品视频免费看 | 亚洲精品一区二区三区新线路 | 在线免费黄色毛片 | 久久久99精品免费观看app | 很黄很污的视频网站 | 丁香六月综合网 | 日本中文字幕在线电影 | 成人一级影视 | 国产91亚洲 | 国产欧美精品在线观看 | 91午夜精品| 五月婷综合 | 亚洲九九精品 | 国产精品久久在线观看 | 中文字幕91视频 | 91精品办公室少妇高潮对白 | 玖玖在线观看视频 | 国产午夜精品视频 | 国产视频一二区 | 免费一级片在线 | 亚洲精品男女 | 超碰国产97 | 久久精品国产亚洲精品 | 99亚洲精品 | 日韩最新在线视频 | 欧美精品一区二区在线播放 | 黄色小网站在线观看 | 亚洲激情精品 | 久久成人国产精品一区二区 | 大胆欧美gogo免费视频一二区 | 四虎国产精品免费 | 国精产品满18岁在线 | 亚洲激情 | 欧美日韩国产在线观看 | 超碰国产在线观看 | 国产日韩在线视频 | 国产日产精品一区二区三区四区 | 欧美激情精品久久久 | 精品国产电影 | 不卡中文字幕在线 | 亚州国产精品久久久 | 国产裸体bbb视频 | 69久久99精品久久久久婷婷 | 国产福利91精品一区 | 91在线精品播放 | 探花视频在线观看+在线播放 | 国产不卡av在线 | 亚洲精品激情 | 2018好看的中文在线观看 | 欧美日本不卡高清 | 亚州国产精品久久久 | 99re国产| 久久免费视频在线 | 一区二区三区手机在线观看 | 国产精品区二区三区日本 | 97视频资源 | av在线播放不卡 | 亚洲国产成人在线 | 欧美精品三级在线观看 | 国产精品久久久久永久免费观看 | 黄av在线 | 亚洲免费av在线 | 精品国产乱码久久久久久久 | 国产在线观看午夜 | 亚洲三级网 | 一区二区免费不卡在线 | 日韩亚洲国产中文字幕 | 99久久精品国产系列 | 99亚洲天堂 | 日本精品视频在线观看 | 亚洲a色| 99视频久久 | 在线一区电影 | 99精品久久久久久久 | 日韩有码欧美 | 中国一级片在线播放 | 亚洲精品综合久久 | 免费91麻豆精品国产自产在线观看 | 一区二区三区四区五区在线 | 91高清在线 | 国产小视频在线观看 | 色多多视频在线观看 | 91污在线 | 在线色资源 | 久久久久成人精品 | 久久精品在线免费观看 | 香蕉日日 | 婷婷五情天综123 | 国产精品永久在线 | 黄色免费网战 | 日韩三级不卡 | 狠狠色伊人亚洲综合成人 | 涩涩网站在线观看 | 综合久色 | 国产精品成人品 | 国产美女在线精品免费观看 | 高清在线一区二区 | 少妇bbw搡bbbb搡bbbb | 婷婷资源站 | 亚洲精品视频在线播放 | 精选久久 | 成年人在线电影 | 天天射天天射天天 | 青青看片| 欧美最爽乱淫视频播放 | 99re视频在线观看 | 在线观看 国产 | 欧美极品久久 | 精品福利视频在线观看 | 亚洲精品视频在线观看免费视频 | 91久久精品一区 | 高清不卡毛片 | 国产中文字幕网 | 日韩精品第一区 | 久草在线这里只有精品 | 西西4444www大胆艺术 | www激情com| 国产黄色片在线免费观看 | 999久久久免费视频 午夜国产在线观看 | 欧美9999| 免费网址你懂的 | 天堂va欧美va亚洲va老司机 | 91资源在线观看 | 四虎国产精品免费观看视频优播 | 国产一二三区在线观看 | 亚洲欧美视频网站 | 国产裸体永久免费视频网站 | 永久av免费在线观看 | 99久久精品视频免费 | 久久久久| 91热这里只有精品 | 成人h电影在线观看 | 日韩av中文在线观看 | 日本一区二区三区免费看 | 国产一级免费播放 | 日韩av资源在线观看 | 免费看三级 | 黄色小说免费观看 | 久久久久国产成人精品亚洲午夜 | 免费看黄视频 | 日韩欧美在线观看一区二区 | 五月天婷婷免费视频 | 成人免费观看视频大全 | 欧美日韩高清在线 | 色综合久久天天 | 伊人久久av | 日韩成人欧美 | 国产精品自产拍在线观看桃花 | 国产视频欧美视频 | 国产视频在线一区二区 | 国产视频亚洲 | 亚洲免费小视频 | 国产原创91| 国产在线观看 | 丁香视频全集免费观看 | 欧美激情视频一区二区三区 | 天堂网一区二区三区 | 久久久视频在线 | 在线性视频日韩欧美 | a在线免费观看视频 | 激情久久网 | 91网免费看 | 日日插日日干 | 久久国产一区二区 | 日日草av| 欧美亚洲精品在线观看 | 五月天久久综合 | 国产色啪 | 五月开心网 | 国产999视频 | 国产精品久久久久久久久久 | 在线观看成人毛片 | 亚洲精品午夜久久久久久久久久久 | 国产在线免费av | 国产女人40精品一区毛片视频 | 午夜色婷婷 | www.com久久久| 成 人 免费 黄 色 视频 | 婷婷六月色 | 日日干日日操 | 欧美日韩综合在线观看 | 久久色网站 | 欧美性色综合网站 | 麻豆国产在线视频 | 天天综合网天天综合色 | 欧美视频18 | 国产精品嫩草55av | 丁香婷婷综合色啪 | 综合色在线观看 | 国产精品久久久久永久免费观看 | av免费在线免费观看 | 久热久草在线 | 一级片免费视频 | 成人久久| 在线观看精品视频 | 精品在线观看一区二区 | 黄色网址中文字幕 | 久久精品99久久久久久2456 | 国内精品久久久 | 国产精品12| 精品一区久久 | 成人黄色大片在线免费观看 | 精品久久久久久综合日本 | 欧亚久久 | 日日天天av | 最近日韩免费视频 | 欧美综合久久久 | 中文字幕av日韩 | 日韩成人免费电影 | 日韩精品免费在线观看 | 久久伊人色综合 | 久久久99精品免费观看乱色 | 天天干天天射天天爽 | 91漂亮少妇露脸在线播放 | www黄| 青草草在线 | 在线免费日韩 | 国产精品白丝jk白祙 | 国产在线第三页 | 成年人免费观看在线视频 | 久久这里精品视频 | 免费a级黄色毛片 | 国产精品初高中精品久久 | 久草在线手机视频 | 人人澡人人草 | 91精彩视频 | 精品国产诱惑 | 天天av在线播放 | 日韩高清 一区 | 欧美色图一区 | 免费在线播放黄色 | 一级免费观看 | 丁香在线视频 |