diff options
Diffstat (limited to 'target/linux/layerscape/patches-4.4/7156-staging-fsl-mc-Avoid-section-mismatch.patch')
-rw-r--r-- | target/linux/layerscape/patches-4.4/7156-staging-fsl-mc-Avoid-section-mismatch.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-4.4/7156-staging-fsl-mc-Avoid-section-mismatch.patch b/target/linux/layerscape/patches-4.4/7156-staging-fsl-mc-Avoid-section-mismatch.patch new file mode 100644 index 0000000000..60fecd9b08 --- /dev/null +++ b/target/linux/layerscape/patches-4.4/7156-staging-fsl-mc-Avoid-section-mismatch.patch @@ -0,0 +1,43 @@ +From b2e5cfb43faf26517d191de65121f1a40166340f Mon Sep 17 00:00:00 2001 +From: Thierry Reding <treding@nvidia.com> +Date: Mon, 15 Feb 2016 14:22:23 +0100 +Subject: [PATCH 156/226] staging: fsl-mc: Avoid section mismatch + +The fsl_mc_allocator_driver_exit() function is marked __exit, but is +called by the error handling code in fsl_mc_allocator_driver_init(). +This results in a section mismatch, which in turn could lead to +executing random code. + +Remove the __exit annotation to fix this. + +Cc: J. German Rivera <German.Rivera@freescale.com> +Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +Signed-off-by: Thierry Reding <treding@nvidia.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/staging/fsl-mc/bus/mc-allocator.c | 2 +- + drivers/staging/fsl-mc/include/mc-private.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/staging/fsl-mc/bus/mc-allocator.c ++++ b/drivers/staging/fsl-mc/bus/mc-allocator.c +@@ -756,7 +756,7 @@ int __init fsl_mc_allocator_driver_init( + return fsl_mc_driver_register(&fsl_mc_allocator_driver); + } + +-void __exit fsl_mc_allocator_driver_exit(void) ++void fsl_mc_allocator_driver_exit(void) + { + fsl_mc_driver_unregister(&fsl_mc_allocator_driver); + } +--- a/drivers/staging/fsl-mc/include/mc-private.h ++++ b/drivers/staging/fsl-mc/include/mc-private.h +@@ -123,7 +123,7 @@ void dprc_driver_exit(void); + + int __init fsl_mc_allocator_driver_init(void); + +-void __exit fsl_mc_allocator_driver_exit(void); ++void fsl_mc_allocator_driver_exit(void); + + int __must_check fsl_mc_resource_allocate(struct fsl_mc_bus *mc_bus, + enum fsl_mc_pool_type pool_type, |