Prev: kernel/panic.c warn_slowpath_common printk timestamp weirdness
Next: [PATCH 2/2] USB - Option.c add Huawei K3765/K4505, ignore net interface
From: Christian Dietrich on 21 Jul 2010 09:10 Hi all! As part of the VAMOS[0] research project at the University of Erlangen we are looking at multiple integrity errors in linux' configuration system. I've been running a check on the drivers/scsi sourcetree for config Items not defined in Kconfig and found such a case. Sourcecode blocks depending on these Items are not reachable from a vanilla kernel -- dead code. I've seen such dead blocks made on purpose e.g. while integrating new features into the kernel but generally they're just useless. I encountered, that the CONFIG_SCSI_G_NCR5380_MEM symbol in drivers/scsi/g_NCR5380.c isn't defined anywhere. So this codeblocks seems to be unreachable. But there is a define in g_NCR5380_mmio.c for SCSI_G_NCR5380_MEM with an include of g_NCR5380.c. So i think this is a typo-bug and it should be a CONFIG_ define. The code wasn't changed since linux is in git, so probably no one has used the mmio module, cause there can't be a difference to the normal pio module. If you think this ifdefs should be removed, i can send a patch. Regards Christian Dietrich -- (λ x . x x) (λ x . x x) -- See how beatiful the lambda is No documentation is better than bad documentation -- Das Ausdrucken dieser Mail wird urheberrechtlich verfolgt. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Ondrej Zary on 21 Jul 2010 09:20 On Wednesday 21 July 2010, Christian Dietrich wrote: > Hi all! > > As part of the VAMOS[0] research project at the University of > Erlangen we are looking at multiple integrity errors in linux' > configuration system. > > I've been running a check on the drivers/scsi sourcetree for > config Items not defined in Kconfig and found such a case. Sourcecode > blocks depending on these Items are not reachable from a vanilla > kernel -- dead code. I've seen such dead blocks made on purpose > e.g. while integrating new features into the kernel but generally > they're just useless. > > I encountered, that the CONFIG_SCSI_G_NCR5380_MEM symbol in > drivers/scsi/g_NCR5380.c isn't defined anywhere. So this codeblocks > seems to be unreachable. But there is a define in g_NCR5380_mmio.c for > SCSI_G_NCR5380_MEM with an include of g_NCR5380.c. So i think this is a > typo-bug and it should be a CONFIG_ define. The code wasn't changed since > linux is in git, so probably no one has used the mmio module, cause > there can't be a difference to the normal pio module. If you think this > ifdefs should be removed, i can send a patch. I fixed this some time ago but the patches are still not in mainline. You can find them in -mm tree: http://userweb.kernel.org/~akpm/mmotm/ -- Ondrej Zary -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: James Bottomley on 21 Jul 2010 11:30
On Wed, 2010-07-21 at 15:12 +0200, Ondrej Zary wrote: > On Wednesday 21 July 2010, Christian Dietrich wrote: > > Hi all! > > > > As part of the VAMOS[0] research project at the University of > > Erlangen we are looking at multiple integrity errors in linux' > > configuration system. > > > > I've been running a check on the drivers/scsi sourcetree for > > config Items not defined in Kconfig and found such a case. Sourcecode > > blocks depending on these Items are not reachable from a vanilla > > kernel -- dead code. I've seen such dead blocks made on purpose > > e.g. while integrating new features into the kernel but generally > > they're just useless. > > > > I encountered, that the CONFIG_SCSI_G_NCR5380_MEM symbol in > > drivers/scsi/g_NCR5380.c isn't defined anywhere. So this codeblocks > > seems to be unreachable. But there is a define in g_NCR5380_mmio.c for > > SCSI_G_NCR5380_MEM with an include of g_NCR5380.c. So i think this is a > > typo-bug and it should be a CONFIG_ define. The code wasn't changed since > > linux is in git, so probably no one has used the mmio module, cause > > there can't be a difference to the normal pio module. If you think this > > ifdefs should be removed, i can send a patch. > > I fixed this some time ago but the patches are still not in mainline. You can > find them in -mm tree: http://userweb.kernel.org/~akpm/mmotm/ So you made me rather reluctant by reporting that the rewrite didn't actually work for you. I'm rather wary of transforming non-compiled code into non-working code in case we lose some clue in the process. However, if you can get it working, I'll be delighted to apply it. James -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |