看板 Linux 關於我們 聯絡資訊
我使用kernel-2.6.17,撰寫kernel modules來記錄一些系統資訊, 使用與user space溝通的機制是/proc,在開完檔案之後指定read function大致如下: int procfile_read(char *buffer, char **buffer_location, off_t offset, int buffer_length, int *eof, void *data) { if (offset > 0) { ret = 0; } else { *buffer_location = my_buffer; } bufferLength = 0; return bufferLength; } 其中my_buffer以及bufferLength為全域變數, 我想在記錄完一堆東西之後使用cat /proc/myfile來看我記錄的東西 不過由於bufferLength頗大,超過10000bytes,而cat的結果被切掉了, 只能顯示部分內容,顯然應該是buffer overflow的問題, 這時候該怎麼解決才能看到全部內容呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.215.191 ※ 編輯: supermin 來自: 140.113.215.191 (06/19 22:02)