]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ppp: ensure file->private_data can't be overridden
authorGuillaume Nault <g.nault@alphalink.fr>
Mon, 14 Mar 2016 20:17:16 +0000 (21:17 +0100)
committerDhaval Giani <dhaval.giani@oracle.com>
Fri, 20 Jan 2017 22:22:01 +0000 (17:22 -0500)
commitb130b6ba9c7c574b9f05e321947db1b8eee27792
treee850c7293d211bcd2b9a5a7f175089a2fd73464d
parent5bdedcbac585ac084271b78ce1cf234bf7912745
ppp: ensure file->private_data can't be overridden

Orabug: 25308058

[ Upstream commit e8e56ffd9d2973398b60ece1f1bebb8d67b4d032 ]

Locking ppp_mutex must be done before dereferencing file->private_data,
otherwise it could be modified before ppp_unattached_ioctl() takes the
lock. This could lead ppp_unattached_ioctl() to override ->private_data,
thus leaking reference to the ppp_file previously pointed to.

v2: lock all ppp_ioctl() instead of just checking private_data in
    ppp_unattached_ioctl(), to avoid ambiguous behaviour.

Fixes: f3ff8a4d80e8 ("ppp: push BKL down into the driver")
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
(cherry picked from commit 827e50724c0009dc327627df1edb478cda1ca32a)
Signed-off-by: Dhaval Giani <dhaval.giani@oracle.com>
drivers/net/ppp/ppp_generic.c