From 0e2ed14c7a15e6f6b8038262a898da2bda846068 Mon Sep 17 00:00:00 2001 From: Hieu Van Nguyen Date: Wed, 30 Oct 2024 10:51:53 +0000 Subject: [PATCH] libmtp: enable stack memory protection Add 0002-util-mtp-hotplug.c-Enable-stack-memory-protection.patch: Use "return 0" instead of "exit(0)" to let the program exit normally by returning from the main function. This allows the compiler to perform necessary cleanup operations, including stack canary checks. Signed-off-by: Hieu Van Nguyen Signed-off-by: Khem Raj --- ...lug.c-Enable-stack-memory-protection.patch | 33 +++++++++++++++++++ .../libmtp/libmtp_1.1.21.bb | 3 +- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-connectivity/libmtp/libmtp/0002-util-mtp-hotplug.c-Enable-stack-memory-protection.patch diff --git a/meta-oe/recipes-connectivity/libmtp/libmtp/0002-util-mtp-hotplug.c-Enable-stack-memory-protection.patch b/meta-oe/recipes-connectivity/libmtp/libmtp/0002-util-mtp-hotplug.c-Enable-stack-memory-protection.patch new file mode 100644 index 0000000000..9cd4b2fbd6 --- /dev/null +++ b/meta-oe/recipes-connectivity/libmtp/libmtp/0002-util-mtp-hotplug.c-Enable-stack-memory-protection.patch @@ -0,0 +1,33 @@ +From 0644188a537a06bc6d04483b21e23b80987eb497 Mon Sep 17 00:00:00 2001 +From: Hieu Van Nguyen +Date: Fri, 11 Oct 2024 04:21:21 +0000 +Subject: [PATCH] util/mtp-hotplug.c: Enable stack memory protection + +Use "return 0" instead of "exit(0)" at the end of main() +function to enable checking for Stack Overflow at Runtime. + +Use "return 0" to let the program exit normally by returning from +the main function. This allows the compiler to perform necessary +cleanup operations, including stack canary checks. + +__stack_chk_fail function isn't being invoked when using exit(0) at +the end of the main function +$ objdump -T ./util/.libs/mtp-hotplug | grep __stack_chk_fail +This return empty. +--- +Upstream-Status: Backport [https://github.com/libmtp/libmtp/commit/e89dbb6ecf244936acc9a52aa4af9635bda5926a] + + util/mtp-hotplug.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util/mtp-hotplug.c b/util/mtp-hotplug.c +index b5bc6da40f..db75cb38a1 100644 +--- a/util/mtp-hotplug.c ++++ b/util/mtp-hotplug.c +@@ -301,5 +301,5 @@ int main (int argc, char **argv) + printf("\n"); + } + +- exit (0); ++ return 0; + } diff --git a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.21.bb b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.21.bb index 16f82c6ba3..69dff50cd7 100644 --- a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.21.bb +++ b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.21.bb @@ -18,7 +18,8 @@ DEPENDS = "libusb1 gettext-native" DEPENDS:append:class-target = " ${BPN}-native" SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz" -SRC_URI:append:class-target = " file://0001-Use-native-mtp-hotplug.patch" +SRC_URI:append:class-target = " file://0001-Use-native-mtp-hotplug.patch \ + file://0002-util-mtp-hotplug.c-Enable-stack-memory-protection.patch" SRC_URI[sha256sum] = "f4c1ceb3df020a6cb851110f620c14fe399518c494ed252039cbfb4e34335135" UPSTREAM_CHECK_URI = "https://github.com/libmtp/libmtp/releases"