NetBSD Problem Report #40491

From www@NetBSD.org  Mon Jan 26 23:52:59 2009
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by narn.NetBSD.org (Postfix) with ESMTP id 6426463BFFA
	for <gnats-bugs@gnats.netbsd.org>; Mon, 26 Jan 2009 23:52:59 +0000 (UTC)
Message-Id: <20090126235259.3BD2C63B99A@narn.NetBSD.org>
Date: Mon, 26 Jan 2009 23:52:59 +0000 (UTC)
From: ad@netbsd.org
Reply-To: ad@netbsd.org
To: gnats-bugs@NetBSD.org
Subject: 5.0: nfs timer can crash/break on smp
X-Send-Pr-Version: www-1.0

>Number:         40491
>Category:       kern
>Synopsis:       5.0: nfs timer can crash/break on smp
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    ad
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jan 26 23:55:00 +0000 2009
>Closed-Date:    Wed Feb 04 20:50:42 +0000 2009
>Last-Modified:  Fri Jun 08 10:30:01 +0000 2018
>Originator:     Andrew Doran
>Release:        5.0_BETA
>Organization:
The NetBSD Project
>Environment:
n/a
>Description:
pooka found a problem with the nfs timer.

solock() can block, and the request being processed can be freed
or change state.


>How-To-Repeat:
Use nfs client, be unlucky.

>Fix:
A cheap and cheerful fix for 5.0 is to comment out the solock/sounlock,
and grab softnet_lock around the whole block.


>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: kern-bug-people->ad
Responsible-Changed-By: ad@NetBSD.org
Responsible-Changed-When: Mon, 26 Jan 2009 23:56:22 +0000
Responsible-Changed-Why:
take


From: Andrew Doran <ad@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/40491 CVS commit: src/sys/nfs
Date: Wed,  4 Feb 2009 20:36:54 +0000 (UTC)

 Module Name:	src
 Committed By:	ad
 Date:		Wed Feb  4 20:36:54 UTC 2009

 Modified Files:
 	src/sys/nfs: nfs_socket.c

 Log Message:
 PR kern/40491 5.0: nfs timer can crash/break on smp

 Hack around it by acquiring softnet_lock around the client-side timer loop.


 To generate a diff of this commit:
 cvs rdiff -r1.177 -r1.178 src/sys/nfs/nfs_socket.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: ad@NetBSD.org
State-Changed-When: Wed, 04 Feb 2009 20:50:42 +0000
State-Changed-Why:
fixed
ticket opened elsewhere to track the pullup


From: Soren Jacobsen <snj@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/40491 CVS commit: [netbsd-5] src/sys/nfs
Date: Fri,  6 Feb 2009 01:48:58 +0000 (UTC)

 Module Name:	src
 Committed By:	snj
 Date:		Fri Feb  6 01:48:58 UTC 2009

 Modified Files:
 	src/sys/nfs [netbsd-5]: nfs_socket.c

 Log Message:
 Pull up following revision(s) (requested by ad in ticket #412):
 	sys/nfs/nfs_socket.c: revision 1.178
 PR kern/40491 5.0: nfs timer can crash/break on smp
 Hack around it by acquiring softnet_lock around the client-side timer loop.


 To generate a diff of this commit:
 cvs rdiff -r1.173.4.2 -r1.173.4.3 src/sys/nfs/nfs_socket.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Christos Zoulas" <christos@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/40491 CVS commit: src/sys/nfs
Date: Sun, 21 Jan 2018 15:36:50 -0500

 Module Name:	src
 Committed By:	christos
 Date:		Sun Jan 21 20:36:50 UTC 2018

 Modified Files:
 	src/sys/nfs: nfs.h nfs_clntsocket.c nfs_socket.c nfs_subs.c

 Log Message:
 PR/40491: From Tobias Ulmer in tech-kern@:
 1. Protect the nfs request queue with its own mutex
 2. make the nfs_receive queue check for signals so that intr mounts
    can be interrupted.
 XXX: pullup-8


 To generate a diff of this commit:
 cvs rdiff -u -r1.75 -r1.76 src/sys/nfs/nfs.h
 cvs rdiff -u -r1.5 -r1.6 src/sys/nfs/nfs_clntsocket.c
 cvs rdiff -u -r1.198 -r1.199 src/sys/nfs/nfs_socket.c
 cvs rdiff -u -r1.229 -r1.230 src/sys/nfs/nfs_subs.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/40491 CVS commit: [netbsd-8] src/sys/nfs
Date: Fri, 8 Jun 2018 10:25:23 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Fri Jun  8 10:25:23 UTC 2018

 Modified Files:
 	src/sys/nfs [netbsd-8]: nfs.h nfs_clntsocket.c nfs_socket.c nfs_subs.c

 Log Message:
 Pull up following revision(s) (requested by maya in ticket #856):

 	sys/nfs/nfs.h: revision 1.76
 	sys/nfs/nfs_subs.c: revision 1.230
 	sys/nfs/nfs_socket.c: revision 1.199
 	sys/nfs/nfs_clntsocket.c: revision 1.6

 PR/40491: From Tobias Ulmer in tech-kern@:
 1. Protect the nfs request queue with its own mutex
 2. make the nfs_receive queue check for signals so that intr mounts
    can be interrupted.

 XXX: pullup-8


 To generate a diff of this commit:
 cvs rdiff -u -r1.75 -r1.75.10.1 src/sys/nfs/nfs.h
 cvs rdiff -u -r1.5 -r1.5.10.1 src/sys/nfs/nfs_clntsocket.c
 cvs rdiff -u -r1.198 -r1.198.10.1 src/sys/nfs/nfs_socket.c
 cvs rdiff -u -r1.229 -r1.229.6.1 src/sys/nfs/nfs_subs.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.