From: James Chapman <jchapman@katalix.com>
Date: Tue, 10 Jun 2008 13:34:24 +0100
This patch fixes a potential memory corruption in
pppol2tp_recvmsg(). If skb->len is bigger than the caller's buffer
length, memcpy_toiovec() will go into unintialized data on the kernel
heap, interpret it as an iovec and start modifying memory.
The fix is to change the memcpy_toiovec() call to
skb_copy_datagram_iovec() so that paged packets (rare for PPPOL2TP)
are handled properly. Also check that the caller's buffer is big
enough for the data and set the MSG_TRUNC flag if it is not so.
Reported-by: Ilja <redacted>
Signed-off-by: James Chapman <jchapman@katalix.com>
Applied, thanks.
Please see:
http://marc.info/?l=linux-netdev&m=121262022428660&w=2
for a description of how I would like folks to format their
commit header lines for networking changes nowadays. I fixed
it up by hand for you this time.
A candidate for -stable?
Yes, and I've queued it up for such.