From: Christian Dietrich on
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
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
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/