From owner-freebsd-current@FreeBSD.ORG Fri Aug 12 14:13:21 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1233) id 60E89106566B; Fri, 12 Aug 2011 14:13:21 +0000 (UTC) Date: Fri, 12 Aug 2011 14:13:21 +0000 From: Alexander Best To: Test Rat Message-ID: <20110812141321.GA36805@freebsd.org> References: <20110812101627.GA1848@freebsd.org> <86obzuydnt.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <86obzuydnt.fsf@gmail.com> Cc: freebsd-current@freebsd.org Subject: Re: recent commit causes lock up X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Aug 2011 14:13:21 -0000 On Fri Aug 12 11, Test Rat wrote: > Alexander Best writes: > > > hi there, > > > > running r224715 i'm having no problems what so ever. after upgrading my kernel > > to r224784, i'm experiencing fatal lock ups, where only a hard reset will > > resolve the problem. > > > > the lock up happend two times while running chromium with only a decent number > > of tabs (~ 5). also the lock up occured only after ~ 5 minutes uptime and an > > uptime of chromium of only ~ 2 minutes. > > > > i've now reverted my kernel back to r224715 and everything's working again. > > Do you use x11/nvidia-driver? In r224778 fget(9) KPI changed which broke > the port in src/nvidia_linux.c:linux_ioctl_nvidia(). It's probably only > called when using linuxolator, e.g. flash plugin. Try below workaround. thanks i'll try the patch later on. indeed i'm using the nvidia drivers and i think the freeze might in fact be related to flash. did r224778 introduce a version bump of freebsd? cheers. alex > > %% > --- src/nvidia_linux.c~ > +++ src/nvidia_linux.c > @@ -26,6 +26,8 @@ > #include "machine/../linux32/linux32_proto.h" > #endif > > +#include > + > int linux_ioctl_nvidia(d_thread_t *, struct linux_ioctl_args *); > > int linux_ioctl_nvidia( > @@ -37,7 +39,7 @@ int linux_ioctl_nvidia( > int error; > u_long cmd; > > - if ((error = fget(td, args->fd, &fp)) != 0) > + if ((error = fget(td, args->fd, CAP_IOCTL, &fp)) != 0) > return error; > > cmd = args->cmd; > %%