[LEDE-DEV] [PATCH 2/2] generic: keep module aliases inside .modinfo

Yousong Zhou yszhou4tech at gmail.com
Tue Jan 17 00:36:14 PST 2017


On 11 January 2017 at 19:57, Yousong Zhou <yszhou4tech at gmail.com> wrote:
> It seems module aliases are actually essential info.  E.g. other modules
> may call xt_request_find_match(NFPROTO_IPV{4,6}, "hashlimit", 1) and the
> kernel will request user mode modprobe helper for ipt_hashlimit and
> ip6t_hashlimit respectively which are aliases of xt_hashlimit.ko
>
> Compile-tested for armvirt, there is nearly no size impact.
>

Hi, is there any chance that we include mod alias support in lede-17.01?

It's a clear and straightforward change though was made only recently
and may need more testing feedback.  At the very least, bugfix commits
in ubox repo should be included ;)

               yousong

> Before
>
>     -rw-r--r-- 1 yousong yousong     304 Jan 10 17:37 config.seed
>     -rw-r--r-- 1 yousong yousong    1634 Jan 11 11:07 lede-armvirt-default.manifest
>     -rw-r--r-- 1 yousong yousong 1533647 Jan 11 11:07 lede-armvirt-default-rootfs.tar.gz
>     -rw-r--r-- 1 yousong yousong 1802711 Jan 11 11:07 lede-armvirt-root.ext4.gz
>     -rw-r--r-- 1 yousong yousong 1544597 Jan 11 11:07 lede-armvirt-rootfs.cpio.gz
>     -rw-r--r-- 1 yousong yousong 1174984 Jan 11 11:07 lede-armvirt-root.squashfs.gz
>     -rwxr-xr-x 1 yousong yousong 1654712 Jan 11 11:07 lede-armvirt-zImage
>     -rwxr-xr-x 1 yousong yousong 2738296 Jan 11 11:07 lede-armvirt-zImage-initramfs
>     drwxr-xr-x 2 yousong yousong    4096 Jan 10 17:35 packages
>     -rw-r--r-- 1 yousong yousong     739 Jan 10 17:37 sha256sums
>
> After
>
>     -rw-r--r-- 1 yousong yousong     304 Jan 10 17:37 config.seed
>     -rw-r--r-- 1 yousong yousong    1634 Jan 11 11:10 lede-armvirt-default.manifest
>     -rw-r--r-- 1 yousong yousong 1533646 Jan 11 11:10 lede-armvirt-default-rootfs.tar.gz
>     -rw-r--r-- 1 yousong yousong 1802711 Jan 11 11:10 lede-armvirt-root.ext4.gz
>     -rw-r--r-- 1 yousong yousong 1544593 Jan 11 11:10 lede-armvirt-rootfs.cpio.gz
>     -rw-r--r-- 1 yousong yousong 1174984 Jan 11 11:10 lede-armvirt-root.squashfs.gz
>     -rwxr-xr-x 1 yousong yousong 1654736 Jan 11 11:10 lede-armvirt-zImage
>     -rwxr-xr-x 1 yousong yousong 2738144 Jan 11 11:10 lede-armvirt-zImage-initramfs
>     drwxr-xr-x 2 yousong yousong    4096 Jan 10 17:35 packages
>     -rw-r--r-- 1 yousong yousong     739 Jan 10 17:37 sha256sums
>
> Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
> ---
>  target/linux/generic/patches-3.18/204-module_strip.patch | 8 ++------
>  target/linux/generic/patches-4.1/204-module_strip.patch  | 8 ++------
>  target/linux/generic/patches-4.4/204-module_strip.patch  | 8 ++------
>  3 files changed, 6 insertions(+), 18 deletions(-)
>
> diff --git a/target/linux/generic/patches-3.18/204-module_strip.patch b/target/linux/generic/patches-3.18/204-module_strip.patch
> index dab7799..844c3b5 100644
> --- a/target/linux/generic/patches-3.18/204-module_strip.patch
> +++ b/target/linux/generic/patches-3.18/204-module_strip.patch
> @@ -5,18 +5,14 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
>  ---
>  --- a/include/linux/module.h
>  +++ b/include/linux/module.h
> -@@ -84,9 +84,10 @@ void trim_init_extable(struct module *m)
> +@@ -84,6 +84,7 @@ void trim_init_extable(struct module *m)
>
>   /* Generic info of form tag = "info" */
>   #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
>  +#define MODULE_INFO_STRIP(tag, info) __MODULE_INFO_STRIP(tag, tag, info)
>
>   /* For userspace: you can also call me... */
> --#define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
> -+#define MODULE_ALIAS(_alias) MODULE_INFO_STRIP(alias, _alias)
> -
> - /* Soft module dependencies. See man modprobe.d for details.
> -  * Example: MODULE_SOFTDEP("pre: module-foo module-bar post: module-baz")
> + #define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
>  @@ -127,12 +128,12 @@ void trim_init_extable(struct module *m)
>    * Author(s), use "Name <email>" or just "Name", for multiple
>    * authors use multiple MODULE_AUTHOR() statements/lines.
> diff --git a/target/linux/generic/patches-4.1/204-module_strip.patch b/target/linux/generic/patches-4.1/204-module_strip.patch
> index 4f5f647..6b5f878 100644
> --- a/target/linux/generic/patches-4.1/204-module_strip.patch
> +++ b/target/linux/generic/patches-4.1/204-module_strip.patch
> @@ -5,18 +5,14 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
>  ---
>  --- a/include/linux/module.h
>  +++ b/include/linux/module.h
> -@@ -84,9 +84,10 @@ void trim_init_extable(struct module *m)
> +@@ -84,6 +84,7 @@ void trim_init_extable(struct module *m)
>
>   /* Generic info of form tag = "info" */
>   #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
>  +#define MODULE_INFO_STRIP(tag, info) __MODULE_INFO_STRIP(tag, tag, info)
>
>   /* For userspace: you can also call me... */
> --#define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
> -+#define MODULE_ALIAS(_alias) MODULE_INFO_STRIP(alias, _alias)
> -
> - /* Soft module dependencies. See man modprobe.d for details.
> -  * Example: MODULE_SOFTDEP("pre: module-foo module-bar post: module-baz")
> + #define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
>  @@ -127,12 +128,12 @@ void trim_init_extable(struct module *m)
>    * Author(s), use "Name <email>" or just "Name", for multiple
>    * authors use multiple MODULE_AUTHOR() statements/lines.
> diff --git a/target/linux/generic/patches-4.4/204-module_strip.patch b/target/linux/generic/patches-4.4/204-module_strip.patch
> index 8b807da..85805b3 100644
> --- a/target/linux/generic/patches-4.4/204-module_strip.patch
> +++ b/target/linux/generic/patches-4.4/204-module_strip.patch
> @@ -5,18 +5,14 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
>  ---
>  --- a/include/linux/module.h
>  +++ b/include/linux/module.h
> -@@ -169,9 +169,10 @@ void trim_init_extable(struct module *m)
> +@@ -169,6 +169,7 @@ void trim_init_extable(struct module *m)
>
>   /* Generic info of form tag = "info" */
>   #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
>  +#define MODULE_INFO_STRIP(tag, info) __MODULE_INFO_STRIP(tag, tag, info)
>
>   /* For userspace: you can also call me... */
> --#define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
> -+#define MODULE_ALIAS(_alias) MODULE_INFO_STRIP(alias, _alias)
> -
> - /* Soft module dependencies. See man modprobe.d for details.
> -  * Example: MODULE_SOFTDEP("pre: module-foo module-bar post: module-baz")
> + #define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
>  @@ -212,12 +213,12 @@ void trim_init_extable(struct module *m)
>    * Author(s), use "Name <email>" or just "Name", for multiple
>    * authors use multiple MODULE_AUTHOR() statements/lines.
> --
> 2.6.4
>



More information about the Lede-dev mailing list