Jose Bollo wrote: > The fact is that ptags is seat behind the implementation of the special > files in /proc/PID/attr/.. Thus, it has to return an allocated buffer. > I'm not aware of what kind of allocation is possible to use for this > subsystem. Is it possible to use vmalloc? I dont know.
If you replace kfree() with kvfree() in proc_pid_attr_read() in fs/proc/base.c , you will be able to use vmalloc(). However, proc_pid_attr_write() accepts only PAGE_SIZE bytes from the beginning. If you want to use attributes longer than PAGE_SIZE bytes, I think that you will need to use a different interface because implementing I/O protocol for ptags which reads/writes PAGE_SIZE bytes chunk at a time using /proc/PID/attr/ interface is not userspace friendly.