Wine needs to disable the mmap_min_addr setting silently and automatically
Kees Cook
kees at ubuntu.com
Mon Aug 18 19:46:50 BST 2008
Hi Scott,
On Fri, Aug 08, 2008 at 04:34:51AM -0700, Scott Ritchie wrote:
> Steve Langasek wrote:
> > On Fri, Jul 11, 2008 at 02:27:06PM -0700, Scott Ritchie wrote:
> >> A change to the kernel in Hardy has completely broken Wine's support for
> >> 16 bit applications (as well as DOS ones).
> >
> >> Right now, users have to manually modify /etc/sysctl.conf and change
> >> vm.mmap_min_addr = 65536 to vm.mmap_min_addr = 0. Otherwise, some of
> >> their programs refuse to launch and others may start crashing. This is
> >> obviously unworkable, so I've been thinking of various fixes.
> >
> > For intrepid and beyond, the procps package supports loading sysctl settings
> > not only from /etc/sysctl.conf, but also from /etc/sysctl.d. So the obvious
> > solution is for each of dosemu and wine to ship a file of their own under
> > /etc/sysctl.d/ that disables this setting. (Though I would question how
> > appropriate it is these days to enable that by default for wine, if only
> > 16-bit programs need it.)
> >
> > Ideally you would also re-process the sysctl settings on package install,
> > probably by calling "invoke-rc.d procps start".
> >
> This is good, and the Wine package now does this, however see
> https://bugs.edge.launchpad.net/ubuntu/+source/procps/+bug/256025
>
> I couldn't find an upstream bugtracker for procps, so hopefully whomever
> can fix it is looking at launchpad.
>
> Additionally, this new change to sysctl is completely undocumented (the
> manpage still only mentions the old file). There's also no established
> standard for naming files that will go in /etc/sysctl.d/ -- I chose
> wine.sysctl.conf, since it seemed reasonable, however I'm not sure where
> to start documenting such a thing either. Maybe the same manpage should
> have it.
Since this is something that dosemu will need also, perhaps a separate
package ('sysctl-lowmem' ?). I'd like to use numbered filename ins
/etc/sysctl.d/, so how about 60-lowmem-enable.conf or something like
that? I currently have a procps merge prepared, but I'm thinking about
splitting out the sysctl files into a separate 'sysctl-ubuntu' package.
-Kees
--
Kees Cook
Ubuntu Security Team
More information about the ubuntu-devel
mailing list