Subject: Re: kern/35021: root cannot get/set rlimit information of user
To: None <bsd@cs.ubc.ca>
From: Havard Eidnes <he@NetBSD.org>
List: netbsd-bugs
Date: 11/10/2006 10:27:14
> >How-To-Repeat:
> 	As a user (using /bin/sh), set the hard datalimit to 256MB:
> 	$ ulimit -d 256000
> 	$ echo $$
> 	2657
> 	$

I think this is actually setting the soft data limit.  Certainly that
matches with what I observe:

$ ulimit -d
262144
$ sysctl -a | egrep rlimit.datasize
proc.curproc.rlimit.datasize.soft =3D 268435456
proc.curproc.rlimit.datasize.hard =3D 1073741824
$ echo 262144 1024 '*p' | dc
268435456
$ =


> 	As root, try to raise hard datalimit for proc 2657 to 384M
> 	# sysctl -w 'proc.2657.rlimit.datasize.hard=3D402653184'
> 	sysctl: proc.2657.rlimit.datasize.hard: sysctl() failed with Operati=
on not permitted
> 	#

This is trying to lower the hard data size limit from the default (1GB
in NetBSD 3.1) to 384MB.  I'm not sure that's what you want/need.  A
process which hits the soft data limit will be killed...

BTW, if you want to increase the maximum data limit up above the
default, I suspect you will need to tweak MAXDSIZ in the kernel config
and build and install a new kernel, c.f. options(4).

Regards,

- H=E5vard