Thread (19 messages) 19 messages, 6 authors, 2018-02-26

[v2,1/1] ARM: orion5x: use mac_pton() helper

From: andrew@lunn.ch (Andrew Lunn)
Date: 2018-02-22 23:34:57

But: On the 27th block is a large file (1,5kB) without 0 bytes inside.
The code in qnap_tsx09_find_mac_addr() maps 1kB into memory (not a whole
file or the whole 384kB) and then calls qnap_tsx09_check_mac_addr() ->
mac_pton() -> strlen() on this memory block. as there is no 0 byte in the
file on the 27th block, strlen runs into bad memory and the machine panics.
The old code had no strlen().
Yes, that sounds look a good explanation. 
I changed mac_pton() to use strnlen(), and now the panic is gone. I don't
know why strlen is actually needed in mac_pton. The string is checked in the
following loop, if there is a zero byte somewhere, the loop will be returned
immediately. So I think the strlen() superfluous. Is the following patch
correct?
The patch has been corrupted by you email client. But otherwise, yes.

Please take a look at:

https://www.kernel.org/doc/html/v4.12/process/submitting-patches.html

It will give you hits about correctly formatting the patch. In
addition it should have:

Fixes: 4cd5773a2ae6 ("net: core: move mac_pton() to lib/net_utils.c")

before the --- line, to indicate what it is fixing.

This patch should be against
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git,
since it is a fix, and sent to [off-list ref].

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