Re: Bug#322309: Debian woody dpkg no longer works with recent linux kernel.

From: Junichi Uekawa
Date: Tue Oct 11 2005 - 10:16:06 EST


Hi,

> > > dpkg in Debian woody (3.0) is broken by recent linux kernels;
> > > due to the following command changing behavior (mmap of
> > > zero-byte length):
> > >
> > > addr=mmap(NULL, 0, PROT_READ, MAP_SHARED, fd, 0);
> > >
> > > These bugs are caused by mmap changing behavior;
> > > it used to return NULL when given a length of 0.
> > > However, it now returns -1, and gives back an errno=EINVAL.
> > >
> > Indeed. This was the sole change in the 1.13.8 release.
>
> 1.13.8 is more recent than sarge; and I'm not quite sure
> why sarge successfully installs, and woody fails.

Okay, I've verified that dpkg on sarge doesn't call mmap.
strace snippet:

umask(022) = 022
open("/var/lib/dpkg/status", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
close(3) = 0
open("/var/lib/dpkg/updates/", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
getdents64(3, /* 2 entries */, 4096) = 48
getdents64(3, /* 0 entries */, 4096) = 0
close(3) = 0
open("/var/lib/dpkg/available", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
close(3) = 0
exit_group(0, 0, 0x2aaaaadfc530, 0x2, 0x2aaaaae00640 <unfinished ... exit status


So, the impact is restricted on trying to run woody dpkg
on newer kernels.


regards,
junichi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/