On Thu, 21 Feb 2013 19:02:50 +0000 (UTC)
John Baldwin <j...@freebsd.org> wrote:

> Author: jhb
> Date: Thu Feb 21 19:02:50 2013
> New Revision: 247116
> URL: http://svnweb.freebsd.org/changeset/base/247116
> 
> Log:
>   Further refine the handling of stop signals in the NFS client.  The
>   changes in r246417 were incomplete as they did not add explicit
> calls to sigdeferstop() around all the places that previously passed
> SBDRY to _sleep().  In addition, nfs_getcacheblk() could trigger a
> write RPC from getblk() resulting in sigdeferstop() recursing.
> Rather than manually deferring stop signals in specific places,
> change the VFS_*() and VOP_*() methods to defer stop signals for
> filesystems which request this behavior via a new VFCF_SBDRY flag.
> Note that this has to be a VFC flag rather than a MNTK flag so that
> it works properly with VFS_MOUNT() when the mount is not yet fully
> constructed.  For now, only the NFS clients are set this new flag in
> VFS_SET(). 
>   A few other related changes:
>   - Add an assertion to ensure that TDF_SBDRY doesn't leak to
> userland.
>   - When a lookup request uses VOP_READLINK() to follow a symlink,
> mark the request as being on behalf of the thread performing the
> lookup (cnp_thread) rather than using a NULL thread pointer.  This
> causes NFS to properly handle signals during this VOP on an
> interruptible mount.
>   
>   PR:         kern/176179
>   Reported by:        Russell Cattelan (sigdeferstop() recursion)
>   Reviewed by:        kib
>   MFC after:  1 month

This change is causing init to crash for me on armv6. I'm netbooting a
PandaBoard and it appears init is receiving a SIGABRT before it gets
into main().

Do you have any idea where I could look to track down why it is doing
this?

Andrew
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to