亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2039 | 回復: 4
打印 上一主題 下一主題

[網(wǎng)絡子系統(tǒng)] 連接跟蹤模塊中update_alloc_size函數(shù)的問題【已解決】 [復制鏈接]

論壇徽章:
1
IT運維版塊每日發(fā)帖之星
日期:2015-11-17 06:20:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-09-28 23:15 |只看該作者 |倒序瀏覽
本帖最后由 jiufei19 于 2014-09-29 10:51 編輯

在連接跟蹤代碼對擴展進行注冊時,有如下函數(shù)處理

static void update_alloc_size(struct nf_ct_ext_type *type)
{
        int i, j;
        struct nf_ct_ext_type *t1, *t2;
        enum nf_ct_ext_id min = 0, max = NF_CT_EXT_NUM - 1;

        /* unnecessary to update all types */
         if ((type->flags & NF_CT_EXT_F_PREALLOC) == 0) {
                min = type->id;
                max = type->id;
        }

        /* This assumes that extended areas in conntrack for the types
           whose NF_CT_EXT_F_PREALLOC bit set are allocated in order */
        for (i = min; i <= max; i++) {
                t1 = nf_ct_ext_types;
                if (!t1)
                        continue;               
                t1->alloc_size = sizeof(struct nf_ct_ext)
                                 + ALIGN(sizeof(struct nf_ct_ext), t1->align)
                                 + t1->len;

上面紅色字體就是我的問題,即這里為什么要多加個sizeof(struct nf_ct_ext)呢?在該函數(shù)的上級調(diào)用函數(shù)nf_ct_extend_register中,已經(jīng)明明有如下語句了:
          type->alloc_size = ALIGN(sizeof(struct nf_ct_ext),
                                      type->align) + type->len;

PS:

這個問題lunixwh在“論壇›程序設計›C/C++›”中也提出了這一問題,參見“netfilter擴展字段 注冊的時候alloc_size 字段問題”,但是沒有得到解答

論壇徽章:
9
辰龍
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辭舊歲徽章
日期:2015-03-03 16:54:1515-16賽季CBA聯(lián)賽之青島
日期:2016-03-13 23:37:1915-16賽季CBA聯(lián)賽之深圳
日期:2016-03-29 18:52:38
2 [報告]
發(fā)表于 2014-09-29 00:42 |只看該作者
回復 1# jiufei19


NND,被你害了。
我本身對這NF又不熟。為了回你這個問題,去翻代碼,翻得連自己都暈了,還是沒能解析。
回頭想想,可能真是一個BUG,確認了一下,還真是。F!U!C!K!

社區(qū)的提交記錄為:
https://git.kernel.org/cgit/linu ... cc0d6a7cfde64307655
10年就發(fā)現(xiàn)這個問題了。
diff --git a/net/netfilter/nf_conntrack_extend.c b/net/netfilter/nf_conntrack_extend.c
index bd82450..920f924 100644
--- a/net/netfilter/nf_conntrack_extend.c
+++ b/net/netfilter/nf_conntrack_extend.c
@@ -144,9 +144,8 @@ static void update_alloc_size(struct nf_ct_ext_type *type)
                if (!t1)
                        continue;

-                t1->alloc_size = sizeof(struct nf_ct_ext)
-                                 + ALIGN(sizeof(struct nf_ct_ext), t1->align)
-                                 + t1->len;
+                t1->alloc_size = ALIGN(sizeof(struct nf_ct_ext), t1->align) +
+                                 t1->len;
                for (j = 0; j < NF_CT_EXT_NUM; j++) {
                        t2 = nf_ct_ext_types[j];
                        if (t2 == NULL || t2 == t1 ||


總結(jié):你們公司再這樣不跟進社區(qū)的補丁遲早把公司和你玩死。
友情提示:最近出了BASH的CVE漏洞,10分的,最高級別!趕緊合補丁,兄弟。


我覺得這個貼你真得感謝一下我,不然不能平復我心中的怨恨。論壇里怎么這么多人問NF的問題,論壇里就沒有對NF比較熟的牛ren?

論壇徽章:
1
IT運維版塊每日發(fā)帖之星
日期:2015-11-17 06:20:00
3 [報告]
發(fā)表于 2014-09-29 10:45 |只看該作者
本帖最后由 jiufei19 于 2014-09-29 11:03 編輯
Tinnal 發(fā)表于 2014-09-29 00:42
回復 1# jiufei19


真是非常感謝Tinnal的熱心,好人一個啊,

說來自己也慚愧,我其實有另外一個高版本的內(nèi)核源碼,居然自己沒有想到去對比下究竟怎么回事。

不過順便問下Tinnal,這種問題你是通過什么方法查到的呢,我的意思是如何在git中去搜到這樣的一個關于bug的說明,授我以魚的時候,能否再授我以漁?

再次萬分感謝!

PS:

我試了下,是否就是在該git網(wǎng)站上的“l(fā)og msg”的Search對話框中輸入自己要查找的關鍵字,比如我輸入"update_alloc_size",于是就可以查到了這個bug的相關說明,Tinnal就是這樣操作的嗎?

論壇徽章:
9
辰龍
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辭舊歲徽章
日期:2015-03-03 16:54:1515-16賽季CBA聯(lián)賽之青島
日期:2016-03-13 23:37:1915-16賽季CBA聯(lián)賽之深圳
日期:2016-03-29 18:52:38
4 [報告]
發(fā)表于 2014-09-29 14:11 |只看該作者
嗯,這樣也可以。其實當時我是看了整個文件的changelog

論壇徽章:
1
IT運維版塊每日發(fā)帖之星
日期:2015-11-17 06:20:00
5 [報告]
發(fā)表于 2014-09-29 20:34 |只看該作者
回復 4# Tinnal


    再次感謝Tinnal!
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP