Re: [PATCH v2] misc: sram-exec: Use aligned fncpy instead of memcpy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/17/2017 08:47 AM, Tony Lindgren wrote:
* Russell King - ARM Linux <linux@xxxxxxxxxxxxxxx> [170517 04:46]:
On Wed, May 17, 2017 at 11:13:17AM +0200, Greg Kroah-Hartman wrote:
On Tue, May 16, 2017 at 09:01:27AM -0700, Tony Lindgren wrote:
* Russell King - ARM Linux <linux@xxxxxxxxxxxxxxx> [170503 11:58]:
On Mon, Apr 10, 2017 at 09:52:47AM -0500, Dave Gerlach wrote:
Currently the sram-exec functionality, which allows allocation of
executable memory and provides an API to move code to it, is only
selected in configs for the ARM architecture. Based on commit
5756e9dd0de6 ("ARM: 6640/1: Thumb-2: Symbol manipulation macros for
function body copying") simply copying a C function pointer address
using memcpy without consideration of alignment and Thumb is unsafe on
ARM platforms.

The aforementioned patch introduces the fncpy macro which is a safe way
to copy executable code on ARM platforms, so let's make use of that here
rather than the unsafe plain memcpy that was previously used by
sram_exec_copy. Now sram_exec_copy will move the code to "dst" and
return an address that is guaranteed to be safely callable.

In the future, architectures hoping to make use of the sram-exec
functionality must define an fncpy macro just as ARM has done to
guarantee or check for safe copying to executable memory before allowing
the arch to select CONFIG_SRAM_EXEC.

Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx>

Looks a lot saner, thanks.  It's just a bit sad that we lose the type
checking.

Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx>

Looks like this is still pending so I'll add it into
omap-for-v4.12/fixes so we can get this out of the way.

It's a "fix"?  Looked to be a 4.13 issue, sorry for the delay, otherwise
I would have queued it up earlier.

Technically, it is a fix, but my greps for "sram_exec_copy" indicate
that the code does not yet have any in-tree users.  So I don't think
there's any urgency to picking this up, and I think no need to back
port to stable trees.

OK fine, I'll drop it today from my fixes (and for-next) no problem.
I did add a fixes tag to it which would then create confusion later
on too with stable trees.

Dave, probably best to resend the patch to Greg in few days with acks
added and rebased against v4.12-rc1 because it won't apply without a
merge because of the header changes.

Yes, there are no users yet. Was planning on resending this anyway, so I'll do that before I send my patches that make use of this.

Regards,
Dave


Regards,

Tony







--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux