Messages in this thread | | | Subject | Re: [PATCH] proc: use vmalloc for our kernel buffer | From | Josef Bacik <> | Date | Thu, 13 Aug 2020 13:08:49 -0400 |
| |
On 8/13/20 12:19 PM, David Laight wrote: > From: Josef Bacik >> Sent: 13 August 2020 15:53 >> >> sysctl: pass kernel pointers to ->proc_handler >> >> we have been pre-allocating a buffer to copy the data from the proc >> handlers into, and then copying that to userspace. The problem is this >> just blind kmalloc()'s the buffer size passed in from the read, which in >> the case of our 'cat' binary was 64kib. Order-4 allocations are not >> awesome, and since we can potentially allocate up to our maximum order, >> use vmalloc for these buffers. > > What happens if I run 'dd bs=16M ...' ? > > David >
/* don't even try if the size is too large */ error = -ENOMEM; if (count >= KMALLOC_MAX_SIZE) goto out;
is above this code, thanks,
Josef
| |