Messages in this thread | | | Date | Thu, 20 Nov 2003 15:52:11 -0800 | From | Paul Jackson <> | Subject | What keeps drivers/base/sys.c sysdev_show() from overrunning buffer? |
| |
The calls in drivers/base/sys.c to sysdev_show(), which seem to resolve to the routines node_read_cpumap() and node_read_meminfo() in node.c, do not take any buffer count (size). They used to, by Patrick removed the count parameter in Jan 2003, from here and other such places.
What's to keep the node_read_*() sprintf's from overrunning these buffers?
I am developing some changes to the cpumask_t print routines, which include using snprintf() instead of sprintf(), and watching buffer limits. These changes are motivated by the need to handle such things as 512 CPUs.
I couldn't plug my new routine into read_cpumap() to display the node_dev->cpumap (a cpumask_t), for want of a buffer count.
-- I won't rest till it's the best ... Programmer, Linux Scalability Paul Jackson <pj@sgi.com> 1.650.933.1373 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |