[PATCH] mkiss: fix scribble on freed memory

Subsystems: networking drivers, the rest

STALE3873d

3 messages, 3 authors, 2016-01-06 · open the first message on its own page

[PATCH] mkiss: fix scribble on freed memory

From: Alan <hidden>
Date: 2016-01-06 14:55:11

commit d79f16c046086f4fe0d42184a458e187464eb83e fixed a user triggerable
scribble on free memory but added a new one which allows the user to
scribble even more and user controlled data into freed space.

As with 6pack we need to halt the queue before we free the buffers, because
the transmit logic is not protected by the semaphore.

Signed-off-by: Alan Cox <redacted>
---
 drivers/net/hamradio/mkiss.c |    5 +++++
 1 file changed, 5 insertions(+)
diff --git a/drivers/net/hamradio/mkiss.c b/drivers/net/hamradio/mkiss.c
index 0b72b9d..85828f1 100644
--- a/drivers/net/hamradio/mkiss.c
+++ b/drivers/net/hamradio/mkiss.c
@@ -797,6 +797,11 @@ static void mkiss_close(struct tty_struct *tty)
 	 */
 	if (!atomic_dec_and_test(&ax->refcnt))
 		down(&ax->dead_sem);
+	/*
+	 * Halt the transmit queue so that a new transmit cannot scribble
+	 * on our buffers
+	 */
+	netif_stop_queue(ax->dev);
 
 	/* Free all AX25 frame buffers. */
 	kfree(ax->rbuff);

Re: [PATCH] mkiss: fix scribble on freed memory

From: David Miller <davem@davemloft.net>
Date: 2016-01-06 20:08:19

From: Alan <redacted>
Date: Wed, 06 Jan 2016 14:55:02 +0000
commit d79f16c046086f4fe0d42184a458e187464eb83e fixed a user triggerable
scribble on free memory but added a new one which allows the user to
scribble even more and user controlled data into freed space.

As with 6pack we need to halt the queue before we free the buffers, because
the transmit logic is not protected by the semaphore.

Signed-off-by: Alan Cox <redacted>
Applied and queued up for -stable, thanks Alan.

Re: [PATCH] mkiss: fix scribble on freed memory

From: Sergei Shtylyov <hidden>
Date: 2016-01-06 20:29:28

Hello.

On 1/6/2016 5:55 PM, Alan wrote:
commit d79f16c046086f4fe0d42184a458e187464eb83e fixed a user triggerable
    scripts/checkpatch.pl now enforces certain format of the commit citing.
scribble on free memory but added a new one which allows the user to
scribble even more and user controlled data into freed space.

As with 6pack we need to halt the queue before we free the buffers, because
the transmit logic is not protected by the semaphore.

Signed-off-by: Alan Cox <redacted>
[...]

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