作者supermin ( )
看板Linux
标题[问题] 请问有关撰写/proc时所用的proc_read函式
时间Thu Jun 19 21:47:58 2008
我使用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)