]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.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)
committerTim Gardner <tim.gardner@canonical.com>
Thu, 21 Apr 2016 13:20:28 +0000 (07:20 -0600)
commitdbeaa580c0f943bd6906ba7569d7ce487bbf72ba
tree388e0ad305e8e3a1d4928280bf95f5c1402a4ebf
parent08589004630b7ea87dfcd7c76101f6cd0a972be9
ppp: ensure file->private_data can't be overridden

BugLink: http://bugs.launchpad.net/bugs/1573034
[ 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
drivers/net/ppp/ppp_generic.c