請問有關撰寫/proc時所用的proc_read函式 - Linux

By Isabella
at 2008-06-19T21:47
at 2008-06-19T21:47
Table of Contents
我使用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的問題,
這時候該怎麼解決才能看到全部內容呢?
--
使用與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的問題,
這時候該怎麼解決才能看到全部內容呢?
--
Tags:
Linux
All Comments
Related Posts
fx3如何安裝於debian

By Heather
at 2008-06-19T16:48
at 2008-06-19T16:48
fx3如何安裝於debian

By Hazel
at 2008-06-19T16:15
at 2008-06-19T16:15
openSUSE 11

By Genevieve
at 2008-06-19T13:18
at 2008-06-19T13:18
ubuntu要如何和XP共用家用網路??

By Skylar DavisLinda
at 2008-06-19T12:41
at 2008-06-19T12:41
gsin的嘸蝦米輸入法

By Steve
at 2008-06-19T07:35
at 2008-06-19T07:35