* [PATCH v2 1/2] firmware_loader: revert removal of the fw_fallback_config export
@ 2020-04-24 18:49 Luis R. Rodriguez
2020-04-24 18:49 ` [PATCH v2 2/2] firmware_loader: move fw_fallback_config to a private kernel symbol namespace Luis R. Rodriguez
2020-04-25 8:14 ` [PATCH v2 1/2] firmware_loader: revert removal of the fw_fallback_config export Greg KH
0 siblings, 2 replies; 3+ messages in thread
From: Luis R. Rodriguez @ 2020-04-24 18:49 UTC (permalink / raw)
To: gregkh
Cc: akpm, josh, rishabhb, kubakici, maco, david.brown,
bjorn.andersson, linux-wireless, keescook, shuah, mfuzzey, zohar,
dhowells, pali.rohar, tiwai, arend.vanspriel, zajec5, nbroeking,
broonie, dmitry.torokhov, dwmw2, torvalds, Abhay_Salunke, jewalt,
cantabile.desu, ast, andresx7, dan.rue, brendanhiggins, yzaikin,
sfr, rdunlap, linux-kernel, linux-fsdevel, Luis Chamberlain
From: Luis Chamberlain <mcgrof@kernel.org>
Christoph's patch removed two unsused exported symbols, however, one
symbol is used by the firmware_loader itself. If CONFIG_FW_LOADER=m so
the firmware_loader is modular but CONFIG_FW_LOADER_USER_HELPER=y we fail
the build at mostpost.
ERROR: modpost: "fw_fallback_config" [drivers/base/firmware_loader/firmware_class.ko] undefined!
This happens because the variable fw_fallback_config is built into the
kernel if CONFIG_FW_LOADER_USER_HELPER=y always, so we need to grant
access to the firmware loader module by exporting it.
Revert only one hunk from his patch.
Fixes: 739604734bd8e4ad71 ("firmware_loader: remove unused exports")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
drivers/base/firmware_loader/fallback_table.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/base/firmware_loader/fallback_table.c b/drivers/base/firmware_loader/fallback_table.c
index 0a737349f78f..a182e318bd09 100644
--- a/drivers/base/firmware_loader/fallback_table.c
+++ b/drivers/base/firmware_loader/fallback_table.c
@@ -21,6 +21,7 @@ struct firmware_fallback_config fw_fallback_config = {
.loading_timeout = 60,
.old_timeout = 60,
};
+EXPORT_SYMBOL_GPL(fw_fallback_config);
#ifdef CONFIG_SYSCTL
struct ctl_table firmware_config_table[] = {
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v2 2/2] firmware_loader: move fw_fallback_config to a private kernel symbol namespace
2020-04-24 18:49 [PATCH v2 1/2] firmware_loader: revert removal of the fw_fallback_config export Luis R. Rodriguez
@ 2020-04-24 18:49 ` Luis R. Rodriguez
2020-04-25 8:14 ` [PATCH v2 1/2] firmware_loader: revert removal of the fw_fallback_config export Greg KH
1 sibling, 0 replies; 3+ messages in thread
From: Luis R. Rodriguez @ 2020-04-24 18:49 UTC (permalink / raw)
To: gregkh
Cc: akpm, josh, rishabhb, kubakici, maco, david.brown,
bjorn.andersson, linux-wireless, keescook, shuah, mfuzzey, zohar,
dhowells, pali.rohar, tiwai, arend.vanspriel, zajec5, nbroeking,
broonie, dmitry.torokhov, dwmw2, torvalds, Abhay_Salunke, jewalt,
cantabile.desu, ast, andresx7, dan.rue, brendanhiggins, yzaikin,
sfr, rdunlap, linux-kernel, linux-fsdevel, Luis Chamberlain
From: Luis Chamberlain <mcgrof@kernel.org>
Take advantage of the new kernel symbol namespacing functionality, and
export the fw_fallback_config symbol only to a new private firmware loader
namespace. This would prevent misuses from other drivers and makes it clear
the goal is to keep this private to the firmware loader only.
It should also make it clearer for folks git grep'ing for users of
the symbol that this exported symbol is private, and prevent future
accidental removals of the exported symbol.
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
drivers/base/firmware_loader/fallback.c | 3 +++
drivers/base/firmware_loader/fallback_table.c | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/base/firmware_loader/fallback.c b/drivers/base/firmware_loader/fallback.c
index 1e9c96e3ed63..d9ac7296205e 100644
--- a/drivers/base/firmware_loader/fallback.c
+++ b/drivers/base/firmware_loader/fallback.c
@@ -9,6 +9,7 @@
#include <linux/umh.h>
#include <linux/sysctl.h>
#include <linux/vmalloc.h>
+#include <linux/module.h>
#include "fallback.h"
#include "firmware.h"
@@ -17,6 +18,8 @@
* firmware fallback mechanism
*/
+MODULE_IMPORT_NS(FIRMWARE_LOADER_PRIVATE);
+
extern struct firmware_fallback_config fw_fallback_config;
/* These getters are vetted to use int properly */
diff --git a/drivers/base/firmware_loader/fallback_table.c b/drivers/base/firmware_loader/fallback_table.c
index a182e318bd09..46a731dede6f 100644
--- a/drivers/base/firmware_loader/fallback_table.c
+++ b/drivers/base/firmware_loader/fallback_table.c
@@ -21,7 +21,7 @@ struct firmware_fallback_config fw_fallback_config = {
.loading_timeout = 60,
.old_timeout = 60,
};
-EXPORT_SYMBOL_GPL(fw_fallback_config);
+EXPORT_SYMBOL_NS_GPL(fw_fallback_config, FIRMWARE_LOADER_PRIVATE);
#ifdef CONFIG_SYSCTL
struct ctl_table firmware_config_table[] = {
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2 1/2] firmware_loader: revert removal of the fw_fallback_config export
2020-04-24 18:49 [PATCH v2 1/2] firmware_loader: revert removal of the fw_fallback_config export Luis R. Rodriguez
2020-04-24 18:49 ` [PATCH v2 2/2] firmware_loader: move fw_fallback_config to a private kernel symbol namespace Luis R. Rodriguez
@ 2020-04-25 8:14 ` Greg KH
1 sibling, 0 replies; 3+ messages in thread
From: Greg KH @ 2020-04-25 8:14 UTC (permalink / raw)
To: Luis R. Rodriguez
Cc: akpm, josh, rishabhb, kubakici, maco, david.brown,
bjorn.andersson, linux-wireless, keescook, shuah, mfuzzey, zohar,
dhowells, pali.rohar, tiwai, arend.vanspriel, zajec5, nbroeking,
broonie, dmitry.torokhov, dwmw2, torvalds, Abhay_Salunke, jewalt,
cantabile.desu, ast, andresx7, dan.rue, brendanhiggins, yzaikin,
sfr, rdunlap, linux-kernel, linux-fsdevel
On Fri, Apr 24, 2020 at 06:49:15PM +0000, Luis R. Rodriguez wrote:
> From: Luis Chamberlain <mcgrof@kernel.org>
>
> Christoph's patch removed two unsused exported symbols, however, one
> symbol is used by the firmware_loader itself. If CONFIG_FW_LOADER=m so
> the firmware_loader is modular but CONFIG_FW_LOADER_USER_HELPER=y we fail
> the build at mostpost.
>
> ERROR: modpost: "fw_fallback_config" [drivers/base/firmware_loader/firmware_class.ko] undefined!
>
> This happens because the variable fw_fallback_config is built into the
> kernel if CONFIG_FW_LOADER_USER_HELPER=y always, so we need to grant
> access to the firmware loader module by exporting it.
>
> Revert only one hunk from his patch.
>
> Fixes: 739604734bd8e4ad71 ("firmware_loader: remove unused exports")
Fixes: 739604734bd8 ("firmware_loader: remove unused exports")
No need to be over-eager with the number of digits...
I'll fix this up when I apply it, thanks.
greg k-h
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-04-25 8:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-24 18:49 [PATCH v2 1/2] firmware_loader: revert removal of the fw_fallback_config export Luis R. Rodriguez
2020-04-24 18:49 ` [PATCH v2 2/2] firmware_loader: move fw_fallback_config to a private kernel symbol namespace Luis R. Rodriguez
2020-04-25 8:14 ` [PATCH v2 1/2] firmware_loader: revert removal of the fw_fallback_config export Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).