Re: taint/module: Fix problems when out-of-kernel driver defines true or false
Latest pull of 4.10-rc4 includes the fix. Kernel builds and so does modules for VirtualBox-5.1-5.1.14_112924. # lsmod|grep vbox vboxpci24576 0 vboxnetadp 28672 0 vboxnetflt 28672 0 vboxdrv 417792 3 vboxnetadp,vboxnetflt,vboxpci git show - commit 0aa0313f9d576affd7747cc3f179feb097d28990 Merge: 4b19a9e20bf9 5eb7c0d04f04 Author: Linus Torvalds <torva...@linux-foundation.org> Date: Tue Jan 17 14:49:21 2017 -0800 Merge tag 'modules-for-v4.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux Pull modules fix from Jessica Yu: - fix out-of-tree module breakage when it supplies its own definitions of true and false * tag 'modules-for-v4.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux: taint/module: Fix problems when out-of-kernel driver defines true or false Regards Sid. -- Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support Senior Staff Specialist, Cricket Coach Microsoft Windows Free Zone - Linux used for all Computing Tasks
Re: taint/module: Fix problems when out-of-kernel driver defines true or false
Latest pull of 4.10-rc4 includes the fix. Kernel builds and so does modules for VirtualBox-5.1-5.1.14_112924. # lsmod|grep vbox vboxpci24576 0 vboxnetadp 28672 0 vboxnetflt 28672 0 vboxdrv 417792 3 vboxnetadp,vboxnetflt,vboxpci git show - commit 0aa0313f9d576affd7747cc3f179feb097d28990 Merge: 4b19a9e20bf9 5eb7c0d04f04 Author: Linus Torvalds Date: Tue Jan 17 14:49:21 2017 -0800 Merge tag 'modules-for-v4.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux Pull modules fix from Jessica Yu: - fix out-of-tree module breakage when it supplies its own definitions of true and false * tag 'modules-for-v4.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux: taint/module: Fix problems when out-of-kernel driver defines true or false Regards Sid. -- Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support Senior Staff Specialist, Cricket Coach Microsoft Windows Free Zone - Linux used for all Computing Tasks
Re: taint/module: Fix problems when out-of-kernel driver defines true or false
+++ Larry Finger [17/01/17 10:08 -0600]: Jessica, What is the status of the patch? VirtualBox has converted to the hotplug state manager, thus their drivers now build, but only if this patch has been applied. Thanks, Larry This fix has already been sitting on modules-next for some time, queued up for the next merge window. But since it was actually one of the patches from the last merge window that caused the OOT module breakage, this should have be an -rc fix instead, my mistake. I will send a pull request for -rc5. Thanks for pinging. Jessica
Re: taint/module: Fix problems when out-of-kernel driver defines true or false
+++ Larry Finger [17/01/17 10:08 -0600]: Jessica, What is the status of the patch? VirtualBox has converted to the hotplug state manager, thus their drivers now build, but only if this patch has been applied. Thanks, Larry This fix has already been sitting on modules-next for some time, queued up for the next merge window. But since it was actually one of the patches from the last merge window that caused the OOT module breakage, this should have be an -rc fix instead, my mistake. I will send a pull request for -rc5. Thanks for pinging. Jessica
Re: taint/module: Fix problems when out-of-kernel driver defines true or false
http://lkml.iu.edu//hypermail/linux/kernel/1701.0/01592.html says Larry's patch was applied Jan. 3 2017. So far it hasn't showed in pull updates. Regards Sid. -- Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support Senior Staff Specialist, Cricket Coach Microsoft Windows Free Zone - Linux used for all Computing Tasks
Re: taint/module: Fix problems when out-of-kernel driver defines true or false
http://lkml.iu.edu//hypermail/linux/kernel/1701.0/01592.html says Larry's patch was applied Jan. 3 2017. So far it hasn't showed in pull updates. Regards Sid. -- Sid Boyce ... Hamradio License G3VBV, Licensed Private Pilot Emeritus IBM/Amdahl Mainframes and Sun/Fujitsu Servers Tech Support Senior Staff Specialist, Cricket Coach Microsoft Windows Free Zone - Linux used for all Computing Tasks
Re: taint/module: Fix problems when out-of-kernel driver defines true or false
+++ Larry Finger [01/01/17 20:25 -0600]: Commit 7fd8329ba502 ("taint/module: Clean up global and module taint flags handling") used the key words true and false as character members of a new struct. These names cause problems when out-of-kernel modules such as VirtualBox include their own definitions of true and false. Fixes: 7fd8329ba502 ("taint/module: Clean up global and module taint flags handling") Signed-off-by: Larry FingerCc: Petr Mladek Cc: Jessica Yu Cc: Rusty Russell Applied, thanks. Jessica
Re: taint/module: Fix problems when out-of-kernel driver defines true or false
+++ Larry Finger [01/01/17 20:25 -0600]: Commit 7fd8329ba502 ("taint/module: Clean up global and module taint flags handling") used the key words true and false as character members of a new struct. These names cause problems when out-of-kernel modules such as VirtualBox include their own definitions of true and false. Fixes: 7fd8329ba502 ("taint/module: Clean up global and module taint flags handling") Signed-off-by: Larry Finger Cc: Petr Mladek Cc: Jessica Yu Cc: Rusty Russell Applied, thanks. Jessica
Re: [RFC] taint/module: Fix problems when out-of-kernel driver defines true or false
Larry Fingerwrites: > Commit 7fd8329ba502 ("taint/module: Clean up global and module taint > flags handling") used the key words true and false as character members > of a new struct. These names cause problems when out-of-kernel modules > such as VirtualBox include their own definitions of true and false. > > Fixes: 7fd8329ba502 ("taint/module: Clean up global and module taint flags > handling") > Signed-off-by: Larry Finger > Cc: Petr Mladek > Cc: Jessica Yu > Cc: Rusty Russell Acked-by: Rusty Russell Thanks, Rusty. > --- > include/linux/kernel.h | 4 ++-- > kernel/module.c| 2 +- > kernel/panic.c | 2 +- > 3 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/include/linux/kernel.h b/include/linux/kernel.h > index 56aec84..cb09238 100644 > --- a/include/linux/kernel.h > +++ b/include/linux/kernel.h > @@ -514,8 +514,8 @@ extern enum system_states { > #define TAINT_FLAGS_COUNT16 > > struct taint_flag { > - char true; /* character printed when tainted */ > - char false; /* character printed when not tainted */ > + char c_true;/* character printed when tainted */ > + char c_false; /* character printed when not tainted */ > bool module;/* also show as a per-module taint flag */ > }; > > diff --git a/kernel/module.c b/kernel/module.c > index f7482db..5f7d482 100644 > --- a/kernel/module.c > +++ b/kernel/module.c > @@ -1145,7 +1145,7 @@ static size_t module_flags_taint(struct module *mod, > char *buf) > > for (i = 0; i < TAINT_FLAGS_COUNT; i++) { > if (taint_flags[i].module && test_bit(i, >taints)) > - buf[l++] = taint_flags[i].true; > + buf[l++] = taint_flags[i].c_true; > } > > return l; > diff --git a/kernel/panic.c b/kernel/panic.c > index c51edaa..901c4fb 100644 > --- a/kernel/panic.c > +++ b/kernel/panic.c > @@ -355,7 +355,7 @@ const char *print_tainted(void) > for (i = 0; i < TAINT_FLAGS_COUNT; i++) { > const struct taint_flag *t = _flags[i]; > *s++ = test_bit(i, _mask) ? > - t->true : t->false; > + t->c_true : t->c_false; > } > *s = 0; > } else > -- > 2.10.2
Re: [RFC] taint/module: Fix problems when out-of-kernel driver defines true or false
Larry Finger writes: > Commit 7fd8329ba502 ("taint/module: Clean up global and module taint > flags handling") used the key words true and false as character members > of a new struct. These names cause problems when out-of-kernel modules > such as VirtualBox include their own definitions of true and false. > > Fixes: 7fd8329ba502 ("taint/module: Clean up global and module taint flags > handling") > Signed-off-by: Larry Finger > Cc: Petr Mladek > Cc: Jessica Yu > Cc: Rusty Russell Acked-by: Rusty Russell Thanks, Rusty. > --- > include/linux/kernel.h | 4 ++-- > kernel/module.c| 2 +- > kernel/panic.c | 2 +- > 3 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/include/linux/kernel.h b/include/linux/kernel.h > index 56aec84..cb09238 100644 > --- a/include/linux/kernel.h > +++ b/include/linux/kernel.h > @@ -514,8 +514,8 @@ extern enum system_states { > #define TAINT_FLAGS_COUNT16 > > struct taint_flag { > - char true; /* character printed when tainted */ > - char false; /* character printed when not tainted */ > + char c_true;/* character printed when tainted */ > + char c_false; /* character printed when not tainted */ > bool module;/* also show as a per-module taint flag */ > }; > > diff --git a/kernel/module.c b/kernel/module.c > index f7482db..5f7d482 100644 > --- a/kernel/module.c > +++ b/kernel/module.c > @@ -1145,7 +1145,7 @@ static size_t module_flags_taint(struct module *mod, > char *buf) > > for (i = 0; i < TAINT_FLAGS_COUNT; i++) { > if (taint_flags[i].module && test_bit(i, >taints)) > - buf[l++] = taint_flags[i].true; > + buf[l++] = taint_flags[i].c_true; > } > > return l; > diff --git a/kernel/panic.c b/kernel/panic.c > index c51edaa..901c4fb 100644 > --- a/kernel/panic.c > +++ b/kernel/panic.c > @@ -355,7 +355,7 @@ const char *print_tainted(void) > for (i = 0; i < TAINT_FLAGS_COUNT; i++) { > const struct taint_flag *t = _flags[i]; > *s++ = test_bit(i, _mask) ? > - t->true : t->false; > + t->c_true : t->c_false; > } > *s = 0; > } else > -- > 2.10.2
Re: [PATCH] taint/module: Fix problems when out-of-kernel driver defines true or false
On Sun 2017-01-01 20:25:25, Larry Finger wrote: > Commit 7fd8329ba502 ("taint/module: Clean up global and module taint > flags handling") used the key words true and false as character members > of a new struct. These names cause problems when out-of-kernel modules > such as VirtualBox include their own definitions of true and false. > > Fixes: 7fd8329ba502 ("taint/module: Clean up global and module taint flags > handling") > Signed-off-by: Larry Finger> Cc: Petr Mladek > Cc: Jessica Yu > Cc: Rusty Russell I like this variant a bit more than the tainted/untainted one. Reviewed-by: Petr Mladek Best Regards, Petr
Re: [PATCH] taint/module: Fix problems when out-of-kernel driver defines true or false
On Sun 2017-01-01 20:25:25, Larry Finger wrote: > Commit 7fd8329ba502 ("taint/module: Clean up global and module taint > flags handling") used the key words true and false as character members > of a new struct. These names cause problems when out-of-kernel modules > such as VirtualBox include their own definitions of true and false. > > Fixes: 7fd8329ba502 ("taint/module: Clean up global and module taint flags > handling") > Signed-off-by: Larry Finger > Cc: Petr Mladek > Cc: Jessica Yu > Cc: Rusty Russell I like this variant a bit more than the tainted/untainted one. Reviewed-by: Petr Mladek Best Regards, Petr
Re: [PATCH] taint/module: Fix problems when out-of-kernel driver defines true or false
On Sun, Jan 01, 2017 at 08:25:25PM -0600, Larry Finger wrote: > Commit 7fd8329ba502 ("taint/module: Clean up global and module taint > flags handling") used the key words true and false as character members > of a new struct. These names cause problems when out-of-kernel modules > such as VirtualBox include their own definitions of true and false. Whuch they should not define, so fix them, just like you;d fix them for everything else that would conflict with something in kernel headers.
Re: [PATCH] taint/module: Fix problems when out-of-kernel driver defines true or false
On Sun, Jan 01, 2017 at 08:25:25PM -0600, Larry Finger wrote: > Commit 7fd8329ba502 ("taint/module: Clean up global and module taint > flags handling") used the key words true and false as character members > of a new struct. These names cause problems when out-of-kernel modules > such as VirtualBox include their own definitions of true and false. Whuch they should not define, so fix them, just like you;d fix them for everything else that would conflict with something in kernel headers.
[PATCH] taint/module: Fix problems when out-of-kernel driver defines true or false
Commit 7fd8329ba502 ("taint/module: Clean up global and module taint flags handling") used the key words true and false as character members of a new struct. These names cause problems when out-of-kernel modules such as VirtualBox include their own definitions of true and false. Fixes: 7fd8329ba502 ("taint/module: Clean up global and module taint flags handling") Signed-off-by: Larry FingerCc: Petr Mladek Cc: Jessica Yu Cc: Rusty Russell --- include/linux/kernel.h | 4 ++-- kernel/module.c| 2 +- kernel/panic.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 56aec84..cb09238 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -514,8 +514,8 @@ extern enum system_states { #define TAINT_FLAGS_COUNT 16 struct taint_flag { - char true; /* character printed when tainted */ - char false; /* character printed when not tainted */ + char c_true;/* character printed when tainted */ + char c_false; /* character printed when not tainted */ bool module;/* also show as a per-module taint flag */ }; diff --git a/kernel/module.c b/kernel/module.c index f7482db..5f7d482 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -1145,7 +1145,7 @@ static size_t module_flags_taint(struct module *mod, char *buf) for (i = 0; i < TAINT_FLAGS_COUNT; i++) { if (taint_flags[i].module && test_bit(i, >taints)) - buf[l++] = taint_flags[i].true; + buf[l++] = taint_flags[i].c_true; } return l; diff --git a/kernel/panic.c b/kernel/panic.c index c51edaa..901c4fb 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -355,7 +355,7 @@ const char *print_tainted(void) for (i = 0; i < TAINT_FLAGS_COUNT; i++) { const struct taint_flag *t = _flags[i]; *s++ = test_bit(i, _mask) ? - t->true : t->false; + t->c_true : t->c_false; } *s = 0; } else -- 2.10.2
[PATCH] taint/module: Fix problems when out-of-kernel driver defines true or false
Commit 7fd8329ba502 ("taint/module: Clean up global and module taint flags handling") used the key words true and false as character members of a new struct. These names cause problems when out-of-kernel modules such as VirtualBox include their own definitions of true and false. Fixes: 7fd8329ba502 ("taint/module: Clean up global and module taint flags handling") Signed-off-by: Larry Finger Cc: Petr Mladek Cc: Jessica Yu Cc: Rusty Russell --- include/linux/kernel.h | 4 ++-- kernel/module.c| 2 +- kernel/panic.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 56aec84..cb09238 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -514,8 +514,8 @@ extern enum system_states { #define TAINT_FLAGS_COUNT 16 struct taint_flag { - char true; /* character printed when tainted */ - char false; /* character printed when not tainted */ + char c_true;/* character printed when tainted */ + char c_false; /* character printed when not tainted */ bool module;/* also show as a per-module taint flag */ }; diff --git a/kernel/module.c b/kernel/module.c index f7482db..5f7d482 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -1145,7 +1145,7 @@ static size_t module_flags_taint(struct module *mod, char *buf) for (i = 0; i < TAINT_FLAGS_COUNT; i++) { if (taint_flags[i].module && test_bit(i, >taints)) - buf[l++] = taint_flags[i].true; + buf[l++] = taint_flags[i].c_true; } return l; diff --git a/kernel/panic.c b/kernel/panic.c index c51edaa..901c4fb 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -355,7 +355,7 @@ const char *print_tainted(void) for (i = 0; i < TAINT_FLAGS_COUNT; i++) { const struct taint_flag *t = _flags[i]; *s++ = test_bit(i, _mask) ? - t->true : t->false; + t->c_true : t->c_false; } *s = 0; } else -- 2.10.2
[RFC] taint/module: Fix problems when out-of-kernel driver defines true or false
Commit 7fd8329ba502 ("taint/module: Clean up global and module taint flags handling") used the key words true and false as character members of a new struct. These names cause problems when out-of-kernel modules such as VirtualBox include their own definitions of true and false. Fixes: 7fd8329ba502 ("taint/module: Clean up global and module taint flags handling") Signed-off-by: Larry FingerCc: Petr Mladek Cc: Jessica Yu Cc: Rusty Russell --- include/linux/kernel.h | 4 ++-- kernel/module.c| 2 +- kernel/panic.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 56aec84..cb09238 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -514,8 +514,8 @@ extern enum system_states { #define TAINT_FLAGS_COUNT 16 struct taint_flag { - char true; /* character printed when tainted */ - char false; /* character printed when not tainted */ + char c_true;/* character printed when tainted */ + char c_false; /* character printed when not tainted */ bool module;/* also show as a per-module taint flag */ }; diff --git a/kernel/module.c b/kernel/module.c index f7482db..5f7d482 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -1145,7 +1145,7 @@ static size_t module_flags_taint(struct module *mod, char *buf) for (i = 0; i < TAINT_FLAGS_COUNT; i++) { if (taint_flags[i].module && test_bit(i, >taints)) - buf[l++] = taint_flags[i].true; + buf[l++] = taint_flags[i].c_true; } return l; diff --git a/kernel/panic.c b/kernel/panic.c index c51edaa..901c4fb 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -355,7 +355,7 @@ const char *print_tainted(void) for (i = 0; i < TAINT_FLAGS_COUNT; i++) { const struct taint_flag *t = _flags[i]; *s++ = test_bit(i, _mask) ? - t->true : t->false; + t->c_true : t->c_false; } *s = 0; } else -- 2.10.2
[RFC] taint/module: Fix problems when out-of-kernel driver defines true or false
Commit 7fd8329ba502 ("taint/module: Clean up global and module taint flags handling") used the key words true and false as character members of a new struct. These names cause problems when out-of-kernel modules such as VirtualBox include their own definitions of true and false. Fixes: 7fd8329ba502 ("taint/module: Clean up global and module taint flags handling") Signed-off-by: Larry Finger Cc: Petr Mladek Cc: Jessica Yu Cc: Rusty Russell --- include/linux/kernel.h | 4 ++-- kernel/module.c| 2 +- kernel/panic.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 56aec84..cb09238 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -514,8 +514,8 @@ extern enum system_states { #define TAINT_FLAGS_COUNT 16 struct taint_flag { - char true; /* character printed when tainted */ - char false; /* character printed when not tainted */ + char c_true;/* character printed when tainted */ + char c_false; /* character printed when not tainted */ bool module;/* also show as a per-module taint flag */ }; diff --git a/kernel/module.c b/kernel/module.c index f7482db..5f7d482 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -1145,7 +1145,7 @@ static size_t module_flags_taint(struct module *mod, char *buf) for (i = 0; i < TAINT_FLAGS_COUNT; i++) { if (taint_flags[i].module && test_bit(i, >taints)) - buf[l++] = taint_flags[i].true; + buf[l++] = taint_flags[i].c_true; } return l; diff --git a/kernel/panic.c b/kernel/panic.c index c51edaa..901c4fb 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -355,7 +355,7 @@ const char *print_tainted(void) for (i = 0; i < TAINT_FLAGS_COUNT; i++) { const struct taint_flag *t = _flags[i]; *s++ = test_bit(i, _mask) ? - t->true : t->false; + t->c_true : t->c_false; } *s = 0; } else -- 2.10.2