Thread (27 messages) 27 messages, 6 authors, 2014-10-25

Re: [RFC] tcp md5 use of alloc_percpu

From: Crestez Dan Leonard <hidden>
Date: 2014-10-23 16:17:51

On 10/23/2014 05:43 PM, Eric Dumazet wrote:
On Thu, 2014-10-23 at 06:21 -0700, Eric Dumazet wrote:
quoted
On Thu, 2014-10-23 at 02:58 -0400, Jonathan Toppins wrote:
quoted
quoted
+		if (!pool) {
+			pool = kzalloc_node(sizeof(*pool), GFP_KERNEL,
GFP_DMA | GFP_KERNEL
This memory will possibly be used in a DMA correct? (thinking crypto
hardware offload)
I am not sure this is the case, but this certainly can be added.
Yes, this is not the case.


The real problem is because sg_set_buf() does the following :
sg_set_page(sg, virt_to_page(buf), buflen, offset_in_page(buf));

So it assumes a memory range is not spanning multiple pages.
Doesn't virt_to_page also assume that the memory is not from vmalloc?

Making this portable would require checking if is_vmalloc_addr and doing
vmalloc_to_page instead. Easier to just kmalloc instead.

Regards,
Leonard
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help