Skip to contentSkip to conversation

How can I know what is tainting my kernel

DISCUSSION Daniel Hilst Selli 3 participants 6 messages Nov 12, 2011 – Nov 16, 2011

lore
Share & tools
lore
#0 lore raw

Two questions about taint system..

1. I have a installation of archlinux with kernel 3.0, just after boot I cat /proc/sys/kenrel/tainted and receives 1024, but cat /var/log/messages | grep -i taint gives me no output. How can I know what is tainting my kernel?

2. I was studying char devices, and have writed some code. I have put the MODULE_LICENSE("GPL"); on the module, build it, put it on a initrd image and boot with qemu using -kernel and -initrd options. When I loadit with modprobe I receives a message on console saying that kernel was tainted and /proc/sys/kernel/tainted gives me 4024. There is any other thing on module, besides license that can taint the kernel?

Here is the code -> http://sprunge.us/RHNa?c

[]'s

#1 lore raw
Quoted 6 lines · Daniel Hilst Selli

Two questions about taint system..

1. I have a installation of archlinux with kernel 3.0, just after boot I cat /proc/sys/kenrel/tainted and receives 1024, but cat /var/log/messages | grep -i taint gives me no output. How can I know what is tainting my kernel?

Look for the "BIOS is broken..." message, 1024 is
TAINT_FIRMWARE_WORKAROUND.

Quoted 6 lines

2. I was studying char devices, and have writed some code. I have put the MODULE_LICENSE("GPL"); on the module, build it, put it on a initrd image and boot with qemu using -kernel and -initrd options. When I loadit with modprobe I receives a message on console saying that kernel was tainted and /proc/sys/kernel/tainted gives me 4024. There is any other thing on module, besides license that can taint the kernel?

Yes, lots of things, look at kernel.h for the full list.

hope this helps,

greg k-h

#2 lore raw
Quoted 10 lines · Greg KH
Quoted 6 lines · Daniel Hilst Selli

Two questions about taint system..

1. I have a installation of archlinux with kernel 3.0, just after boot I cat /proc/sys/kenrel/tainted and receives 1024, but cat /var/log/messages | grep -i taint gives me no output. How can I know what is tainting my kernel?

Look for the "BIOS is broken..." message, 1024 is
TAINT_FIRMWARE_WORKAROUND.

No, it's TAINT_CRAP.

Quoted 9 lines
Quoted 7 lines

2. I was studying char devices, and have writed some code. I have put the MODULE_LICENSE("GPL"); on the module, build it, put it on a initrd image and boot with qemu using -kernel and -initrd options. When I loadit with modprobe I receives a message on console saying that kernel was tainted and /proc/sys/kernel/tainted gives me 4024. There is any other thing on module, besides license that can taint the kernel?

Yes, lots of things, look at kernel.h for the full list.

It's also documented in Documentation/sysctl/kernel.txt, but TAINT_FIRMWARE_WORKAROUND and TAINT_OOT_MODULE are not.

Thanks,
Jonathan Neusch?fer

#3 lore raw
Quoted 9 lines · Jonathan Neusch?fer
Quoted 8 lines · Greg KH
Quoted 6 lines · Daniel Hilst Selli

Two questions about taint system..

1. I have a installation of archlinux with kernel 3.0, just after boot I cat /proc/sys/kenrel/tainted and receives 1024, but cat /var/log/messages | grep -i taint gives me no output. How can I know what is tainting my kernel?

Quoted 4 lines
Quoted 2 lines

Look for the "BIOS is broken..." message, 1024 is
TAINT_FIRMWARE_WORKAROUND.

No, it's TAINT_CRAP.

Really? As the person who added TAINT_CRAP to the kernel, for some foolish reason I thought that was the 10th bit, not the 11th bit, which would be 1024, right?

Quoted 11 lines
Quoted 8 lines
Quoted 6 lines

2. I was studying char devices, and have writed some code. I have put the MODULE_LICENSE("GPL"); on the module, build it, put it on a initrd image and boot with qemu using -kernel and -initrd options. When I loadit with modprobe I receives a message on console saying that kernel was tainted and /proc/sys/kernel/tainted gives me 4024. There is any other thing on module, besides license that can taint the kernel?

Yes, lots of things, look at kernel.h for the full list.

It's also documented in Documentation/sysctl/kernel.txt, but TAINT_FIRMWARE_WORKAROUND and TAINT_OOT_MODULE are not.

TAINT_OOT_MODULE is not in 3.0.

greg k-h

#4 lore raw
Quoted 10 lines · Greg KH
Quoted 9 lines · Jonathan Neusch?fer
Quoted 8 lines · Greg KH
Quoted 6 lines · Daniel Hilst Selli

Two questions about taint system..

1. I have a installation of archlinux with kernel 3.0, just after boot I cat /proc/sys/kenrel/tainted and receives 1024, but cat /var/log/messages | grep -i taint gives me no output. How can I know what is tainting my kernel?

Quoted 8 lines
Quoted 4 lines
Quoted 2 lines

Look for the "BIOS is broken..." message, 1024 is
TAINT_FIRMWARE_WORKAROUND.

No, it's TAINT_CRAP.

Really? As the person who added TAINT_CRAP to the kernel, for some foolish reason I thought that was the 10th bit, not the 11th bit, which would be 1024, right?

It's defined as 10 in kernel.h, which makes it actually the 11th bit, and it's documented as 1024 in Documentation/sysctl/kernel.txt.

Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 7 lines

2. I was studying char devices, and have writed some code. I have put the MODULE_LICENSE("GPL"); on the module, build it, put it on a initrd image and boot with qemu using -kernel and -initrd options. When I loadit with modprobe I receives a message on console saying that kernel was tainted and /proc/sys/kernel/tainted gives me 4024. There is any other thing on module, besides license that can taint the kernel?

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

Yes, lots of things, look at kernel.h for the full list.

It's also documented in Documentation/sysctl/kernel.txt, but TAINT_FIRMWARE_WORKAROUND and TAINT_OOT_MODULE are not.

TAINT_OOT_MODULE is not in 3.0.

Okay, that was a bit off-topic. My point was that the "tainted" entry is only documented up to TAINT_CRAP in the current mainline kernel.

thanks,
Jonathan Neusch?fer

#5 lore raw
Quoted 14 lines · Jonathan Neusch?fer
Quoted 13 lines · Greg KH
Quoted 12 lines · Jonathan Neusch?fer
Quoted 10 lines · Greg KH
Quoted 6 lines · Daniel Hilst Selli

Two questions about taint system..

1. I have a installation of archlinux with kernel 3.0, just after boot I cat /proc/sys/kenrel/tainted and receives 1024, but cat /var/log/messages | grep -i taint gives me no output. How can I know what is tainting my kernel?

Look for the "BIOS is broken..." message, 1024 is
TAINT_FIRMWARE_WORKAROUND.

Quoted 8 lines
Quoted 5 lines
Quoted 1 line

No, it's TAINT_CRAP.

Really? As the person who added TAINT_CRAP to the kernel, for some foolish reason I thought that was the 10th bit, not the 11th bit, which would be 1024, right?

It's defined as 10 in kernel.h, which makes it actually the 11th bit, and it's documented as 1024 in Documentation/sysctl/kernel.txt.

Doh, you are right, I was thinking that set_bit() started with 1 as the rightmost bit, when that would be 0.

greg k-h