]> git.ipfire.org Git - people/arne_f/kernel.git/commitdiff
Call init_timer() for ISDN PPP CCP reset state timer (CVE-2006-5749)
authorMarcel Holtmann <marcel@holtmann.org>
Thu, 4 Jan 2007 00:53:41 +0000 (01:53 +0100)
committerAdrian Bunk <bunk@stusta.de>
Thu, 4 Jan 2007 00:53:41 +0000 (01:53 +0100)
The function isdn_ppp_ccp_reset_alloc_state() sets ->timer.function
and ->timer.data and later on calls add_timer() with no init_timer()
ever done.

Noted by Al Viro.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
drivers/isdn/i4l/isdn_ppp.c

index 1a19a0f894288907c30ea2fbb91790db3d67a584..b3f0e01f74dab450e2ceab9bd016fa90f0f164f5 100644 (file)
@@ -2346,6 +2346,7 @@ static struct ippp_ccp_reset_state *isdn_ppp_ccp_reset_alloc_state(struct ippp_s
                rs->state = CCPResetIdle;
                rs->is = is;
                rs->id = id;
+               init_timer(&rs->timer);
                rs->timer.data = (unsigned long)rs;
                rs->timer.function = isdn_ppp_ccp_timer_callback;
                is->reset->rs[id] = rs;