From danielt@knast.server-king.de  Thu Jan 22 04:03:58 2004
Return-Path: <danielt@knast.server-king.de>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id D348D16A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 22 Jan 2004 04:03:58 -0800 (PST)
Received: from knast.server-king.de (knast.server-king.de [217.19.167.129])
	by mx1.FreeBSD.org (Postfix) with ESMTP id AD4E643D46
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 22 Jan 2004 04:03:56 -0800 (PST)
	(envelope-from danielt@knast.server-king.de)
Received: from knast.server-king.de (danielt@localhost.server-king.de [127.0.0.1])
	by knast.server-king.de (8.12.10/8.12.10) with ESMTP id i0MC3snt018268
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 22 Jan 2004 13:03:54 +0100 (CET)
	(envelope-from danielt@knast.server-king.de)
Received: (from danielt@localhost)
	by knast.server-king.de (8.12.10/8.12.10/Submit) id i0MC3sO0018267;
	Thu, 22 Jan 2004 13:03:54 +0100 (CET)
	(envelope-from danielt)
Message-Id: <200401221203.i0MC3sO0018267@knast.server-king.de>
Date: Thu, 22 Jan 2004 13:03:54 +0100 (CET)
From: Danijel Tasov <dt@vosat.de>
Reply-To: Danijel Tasov <dt@vosat.de>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: NFS: rpc.lockd dumps core
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         61718
>Category:       bin
>Synopsis:       NFS: rpc.lockd dumps core
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    mr
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jan 22 04:10:14 PST 2004
>Closed-Date:    Fri Jul 16 14:29:15 GMT 2004
>Last-Modified:  Fri Jul 16 14:29:15 GMT 2004
>Originator:     Danijel Tasov
>Release:        FreeBSD 5.2-RELEASE i386
>Organization:
KlagenfurT
>Environment:
System: FreeBSD knast 5.2-RELEASE FreeBSD 5.2-RELEASE #0: Sat Jan 17 15:55:17 CET 2004 knarf@knast:/usr/obj/usr/src/sys/KLAGENFURT i386


>Description:

rpc.lockd dies every now and then on the NFS server.

# egrep -i 'nfs|rpc' /etc/rc.conf
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 16"
nfs_client_enable="YES"
rpc_statd_enable=YES
rpc_lockd_enable=YES

Here is the backtrace:

# gdb -core rpc.lockd.core /usr/sbin/rpc.lockd
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-freebsd"...
Core was generated by `rpc.lockd'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/librpcsvc.so.2...done.
Loaded symbols for /usr/lib/librpcsvc.so.2
Reading symbols from /lib/libutil.so.4...done.
Loaded symbols for /lib/libutil.so.4
Reading symbols from /lib/libc.so.5...done.
Loaded symbols for /lib/libc.so.5
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x0804dd0f in get_lock_matching_unlock (fl=0xbfbfd8e0)
    at /usr/src/usr.sbin/rpc.lockd/lockd_lock.c:722
722                     if (bcmp(&fl->filehandle, &ifl->filehandle, sizeof(fhandle_t)))
(gdb) bt
#0  0x0804dd0f in get_lock_matching_unlock (fl=0xbfbfd8e0)
    at /usr/src/usr.sbin/rpc.lockd/lockd_lock.c:722
#1  0x0804e37c in unlock_nfslock (fl=0xbfbfd8e0, released_lock=0xbfbfd8a0,
    left_lock=0xbfbfd8a4, right_lock=0xbfbfd8a8)
    at /usr/src/usr.sbin/rpc.lockd/lockd_lock.c:976
#2  0x0804ec20 in unlock_partialfilelock (fl=0xbfbfd8e0)
    at /usr/src/usr.sbin/rpc.lockd/lockd_lock.c:1477
#3  0x0804f180 in do_unlock (fl=0xbfbfd8e0)
    at /usr/src/usr.sbin/rpc.lockd/lockd_lock.c:1788
#4  0x0804f50e in unlock (lock=0xbfbfddb8, flags=2)
    at /usr/src/usr.sbin/rpc.lockd/lockd_lock.c:1967
#5  0x0804cd53 in nlm4_unlock_msg_4_svc (arg=0xbfbfd8e0, rqstp=0xbfbfddb8)
    at /usr/src/usr.sbin/rpc.lockd/lock_proc.c:1136
#6  0x0804aea4 in nlm_prog_4 (rqstp=0xbfbfe310, transp=0xbfbfd8e0)
    at nlm_prot_svc.c:436
#7  0x480f57d8 in svc_getreq_common () from /lib/libc.so.5
#8  0x480f55af in svc_getreqset () from /lib/libc.so.5
#9  0x480b4ea4 in svc_run () from /lib/libc.so.5
#10 0x0804b358 in main (argc=134660864, argv=0xbfbfe504)
    at /usr/src/usr.sbin/rpc.lockd/lockd.c:212
#11 0x080498a2 in _start ()
(gdb)

>How-To-Repeat:

	This happens automatically.

>Fix:

	Don't know :-/

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->rwatson 
Responsible-Changed-By: ceri 
Responsible-Changed-When: Thu Jan 22 04:21:39 PST 2004 
Responsible-Changed-Why:  
Robert has been working on rpc.lockd recently. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=61718 

From: Danijel Tasov <dt@vosat.de>
To: FreeBSD-gnats-submit@FreeBSD.org
Cc:  
Subject: Re: bin/61718: NFS: rpc.lockd dumps core
Date: Thu, 22 Jan 2004 20:54:05 +0100

 --bgQAstJ9X1Eg13Dy
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 Content-Transfer-Encoding: quoted-printable
 
 Note: Only the parent process (the one running as root) is dying.
 
 # ps -auxww | fgrep lockd
 daemon  14690  0.0  0.2  1592 1192  ??  I    12:44PM   0:00.00 /usr/sbin/rp=
 c.lockd
 # killall rpc.lockd; /usr/sbin/rpc.lockd; ps -auxww | fgrep lockd
 root    23915  0.0  0.2  1592 1232  ??  Is    8:25PM   0:00.03 /usr/sbin/rp=
 c.lockd
 daemon  23917  0.0  0.2  1592 1212  ??  I     8:25PM   0:00.00 /usr/sbin/rp=
 c.lockd
 
 A few minutes ago, it died again, but the backtrace differs, so here
 is a new one, maybe it helps:
 
 # gdb -core rpc.lockd.core /usr/sbin/rpc.lockd
 GNU gdb 5.2.1 (FreeBSD)
 Copyright 2002 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and you are
 welcome to change it and/or distribute copies of it under certain condition=
 s.
 Type "show copying" to see the conditions.
 There is absolutely no warranty for GDB.  Type "show warranty" for details.
 This GDB was configured as "i386-unknown-freebsd"...
 Core was generated by `rpc.lockd'.
 Program terminated with signal 11, Segmentation fault.
 Reading symbols from /usr/lib/librpcsvc.so.2...done.
 Loaded symbols for /usr/lib/librpcsvc.so.2
 Reading symbols from /lib/libutil.so.4...done.
 Loaded symbols for /lib/libutil.so.4
 Reading symbols from /lib/libc.so.5...done.
 Loaded symbols for /lib/libc.so.5
 Reading symbols from /libexec/ld-elf.so.1...done.
 Loaded symbols for /libexec/ld-elf.so.1
 #0  0x0804deed in test_nfslock (fl=3D0x8072800, conflicting_fl=3D0xbfbfdcec)
     at /usr/src/usr.sbin/rpc.lockd/lockd_lock.c:802
 802                     if (bcmp(&fl->filehandle, &ifl->filehandle, sizeof(=
 fhandle_t)))
 (gdb) bt
 #0  0x0804deed in test_nfslock (fl=3D0x8072800, conflicting_fl=3D0xbfbfdcec)
     at /usr/src/usr.sbin/rpc.lockd/lockd_lock.c:802
 #1  0x0804e0a1 in lock_nfslock (fl=3D0x8072800)
     at /usr/src/usr.sbin/rpc.lockd/lockd_lock.c:875
 #2  0x0804ea7b in lock_partialfilelock (fl=3D0x8072800)
     at /usr/src/usr.sbin/rpc.lockd/lockd_lock.c:1337
 #3  0x0804f080 in do_lock (fl=3D0x8072800)
     at /usr/src/usr.sbin/rpc.lockd/lockd_lock.c:1738
 #4  0x0804f43e in getlock (lckarg=3D0x8072800, rqstp=3D0xbfbfdcec,
     flags=3D-1077945108) at /usr/src/usr.sbin/rpc.lockd/lockd_lock.c:1925
 #5  0x0804cb64 in nlm4_lock_msg_4_svc (arg=3D0xbfbfddc0, rqstp=3D0xbfbfe320)
     at /usr/src/usr.sbin/rpc.lockd/lock_proc.c:1047
 #6  0x0804aea4 in nlm_prog_4 (rqstp=3D0xbfbfe320, transp=3D0xbfbfe320)
     at nlm_prot_svc.c:436
 #7  0x480f57d8 in svc_getreq_common () from /lib/libc.so.5
 #8  0x480f55af in svc_getreqset () from /lib/libc.so.5
 #9  0x480b4ea4 in svc_run () from /lib/libc.so.5
 #10 0x0804b358 in main (argc=3D134660864, argv=3D0xbfbfe514)
     at /usr/src/usr.sbin/rpc.lockd/lockd.c:212
 #11 0x080498a2 in _start ()
 (gdb)
 
                                                -DaTa-
 
 --=20
 Jabber: data@jabber.pilgerer.org ICQ: 84074839 e-Mail: dt@vosat.de
 http://wiki.pilgerer.org/ - Die Kommunikations- und Kooperations-   | () AS=
 CII
 plattform fuer Unix-Fans und alle die es werden wollen.  Macht mit! | /\ RI=
 BBON
 # "zieh deinen xterm groesser und fertig..." - Spaceelk                    =
     =20
 
 --bgQAstJ9X1Eg13Dy
 Content-Type: application/pgp-signature
 Content-Disposition: inline
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.2.4 (FreeBSD)
 
 iD8DBQFAECpdWUSLpvlrHsMRAjwCAKCSueljj8I1I7mfRLpl2TqG6h32IACgmCoL
 z9G1D4iQIttNN5hMN2a81j4=
 =igJJ
 -----END PGP SIGNATURE-----
 
 --bgQAstJ9X1Eg13Dy--

From: Frode Nordahl <frode@nordahl.net>
To: freebsd-gnats-submit@FreeBSD.org, dt@vosat.de
Cc: rwatson@FreeBSD.org
Subject: Re: bin/61718: NFS: rpc.lockd dumps core
Date: Sun, 25 Jan 2004 21:20:53 +0100

 Hello,
 
 I have problems with the rpc.lockd stopping to work too, but it does 
 not core dump.
 
 It stops responding to requests and eats 39-50 % CPU time until killed.
 
 ps:
 root   35184 39.1  0.1  1660 1280  ??  Rs   Fri09AM   9:36.51 
 /usr/sbin/rpc.lockd
 daemon 35185  0.0  0.1  1576 1160  ??  I    Fri09AM   0:00.00 
 /usr/sbin/rpc.lockd
 
 
 fstat:
 daemon   rpc.lockd  68061 root /             2 drwxr-xr-x     512  r
 daemon   rpc.lockd  68061   wd /             2 drwxr-xr-x     512  r
 daemon   rpc.lockd  68061 text /        1134379 -r-xr-xr-x   43388  r
 daemon   rpc.lockd  68061    0 /dev          9 crw-rw-rw-    null rw
 daemon   rpc.lockd  68061    1 /dev          9 crw-rw-rw-    null rw
 daemon   rpc.lockd  68061    2 /dev          9 crw-rw-rw-    null rw
 daemon   rpc.lockd  68061    3* internet dgram udp c8750870
 daemon   rpc.lockd  68061    4* internet stream tcp c878f450
 daemon   rpc.lockd  68061    5* internet6 dgram udp c87504ec
 daemon   rpc.lockd  68061    6* internet6 stream tcp c87c4000
 daemon   rpc.lockd  68061    7* local dgram c876171c <-> c8762000
 daemon   rpc.lockd  68061    8 /        942245 prw-------       0  r
 daemon   rpc.lockd  68061    9* internet6 dgram udp c874f5a0
 root     rpc.lockd  68060 root /             2 drwxr-xr-x     512  r
 root     rpc.lockd  68060   wd /             2 drwxr-xr-x     512  r
 root     rpc.lockd  68060 text /        1134379 -r-xr-xr-x   43388  r
 root     rpc.lockd  68060    0 /dev          9 crw-rw-rw-    null rw
 root     rpc.lockd  68060    1 /dev          9 crw-rw-rw-    null rw
 root     rpc.lockd  68060    2 /dev          9 crw-rw-rw-    null rw
 root     rpc.lockd  68060    3* internet dgram udp c8750870
 root     rpc.lockd  68060    4* internet stream tcp c878f450
 root     rpc.lockd  68060    5* internet6 dgram udp c87504ec
 root     rpc.lockd  68060    6* internet6 stream tcp c87c4000
 root     rpc.lockd  68060    7* local dgram c876171c <-> c8762000
 root     rpc.lockd  68060    8 /export/1 16631016 -rw-r--r--       0 rw
 root     rpc.lockd  68060   11* internet6 dgram udp c87505a0
 
 
 I did a kill -SEGV to get a core dump.
 
 This backtrace may not be usefull at all, as my rpc.lockd is compiled 
 without debug symbols (I have them in there now :) )
 
 
 gdb backtrace:
 (gdb) bt
 #0  0x0804deed in sigprocmask ()
 #1  0x08051360 in _fini ()
 #2  0x0804e0a1 in sigprocmask ()
 #3  0x0804ea7b in sigprocmask ()
 #4  0x0804e99e in sigprocmask ()
 #5  0x0804ed4b in sigprocmask ()
 #6  0x0804f180 in sigprocmask ()
 #7  0x0804f50e in sigprocmask ()
 #8  0x0804cce3 in sigprocmask ()
 #9  0x0804aea4 in sigprocmask ()
 #10 0x280f57d8 in svc_getreq_common () from /lib/libc.so.5
 #11 0x280f55af in svc_getreqset () from /lib/libc.so.5
 #12 0x280b4ea4 in svc_run () from /lib/libc.so.5
 #13 0x0804b358 in sigprocmask ()
 #14 0x080498a2 in sigprocmask ()
 (gdb)
 
 
 Mvh,
 Frode Nordahl
 

From: Frode Nordahl <frode@nordahl.net>
To: freebsd-gnats-submit@FreeBSD.org, dt@vosat.de
Cc: rwatson@FreeBSD.org
Subject: Re: bin/61718: NFS: rpc.lockd dumps core
Date: Sun, 25 Jan 2004 21:36:47 +0100

 Hey,
 
 caught another one with debug symbols compiled in allready!
 
 (gdb) bt
 #0  0x0804d239 in debuglog (fmt=0xbfbfdb00 "?&\024@Hg\006") at 
 lockd_lock.c:234
 #1  0x0804e0a1 in lock_nfslock (fl=0x807b015) at lockd_lock.c:875
 #2  0x0804ea7b in lock_partialfilelock (fl=0x8079015) at 
 lockd_lock.c:1337
 #3  0x0804e99e in retry_blockingfilelocklist () at lockd_lock.c:1261
 #4  0x0804ed4b in unlock_partialfilelock (fl=0xbfbfdc80) at 
 lockd_lock.c:1532
 #5  0x0804f180 in do_unlock (fl=0xbfbfdc80) at lockd_lock.c:1788
 #6  0x0804f50e in unlock (lock=0xbfbfe158, flags=2) at lockd_lock.c:1967
 #7  0x0804cce3 in nlm4_unlock_4_svc (arg=0xbfbfdc80, rqstp=0xbfbfdb00)
      at lock_proc.c:1120
 #8  0x0804aea4 in nlm_prog_4 (rqstp=0xbfbfe6b0, transp=0xbfbfdc80)
      at nlm_prot_svc.c:436
 #9  0x280f57d8 in svc_getreq_common () from /lib/libc.so.5
 #10 0x280f55af in svc_getreqset () from /lib/libc.so.5
 #11 0x280b4ea4 in svc_run () from /lib/libc.so.5
 #12 0x0804b358 in main (argc=134685440, argv=0xbfbfe8a0) at lockd.c:212
 #13 0x080498a2 in _start ()
 (gdb)
 
 -- 
 
 drift | frode nordahl
 
 powertech information systems
 
 nedre slottsgate 5
 0157 oslo
 
 tlf | + 47 23 01 00 00
 fax | + 47 23 01 00 01
 dir | + 47 23 01 00 45
 
 email | frode@powertech.no
 web | www.powertech.no
 

From: Frode Nordahl <frode@nordahl.net>
To: freebsd-gnats-submit@FreeBSD.org, dt@vosat.de
Cc: rwatson@FreeBSD.org
Subject: Re: bin/61718: NFS: rpc.lockd dumps core
Date: Tue, 27 Jan 2004 18:41:41 +0100

 Hello again,
 
 Caught a core dump from rpc.lockd dying with signal 6.
 
 The last operation is a free(), may be a double free or something? (it 
 does not seem to be a null pointer).  I set malloc.conf -> J to help 
 identify this if it crashes this way again.
 
 I run rpc.lockd -d 1 now and hope to get some info from that.
 
 the backtrace:
 (gdb) bt
 #0  0x280dbd4f in kill () from /lib/libc.so.5
 #1  0x280d07f8 in raise () from /lib/libc.so.5
 #2  0x28148f02 in abort () from /lib/libc.so.5
 #3  0x2814767e in tcflow () from /lib/libc.so.5
 #4  0x281476ab in tcflow () from /lib/libc.so.5
 #5  0x28148baf in realloc () from /lib/libc.so.5
 #6  0x28148210 in tcflow () from /lib/libc.so.5
 #7  0x28148420 in free () from /lib/libc.so.5
 #8  0x0804d647 in deallocate_file_lock (fl=0x28157120) at 
 lockd_lock.c:441
 #9  0x0804edab in unlock_partialfilelock (fl=0xbfbfe090) at 
 lockd_lock.c:1562
 #10 0x0804f180 in do_unlock (fl=0xbfbfe090) at lockd_lock.c:1788
 #11 0x0804f50e in unlock (lock=0xbfbfe568, flags=2) at lockd_lock.c:1967
 #12 0x0804cce3 in nlm4_unlock_4_svc (arg=0xbfbfe090, rqstp=0x0)
      at lock_proc.c:1120
 #13 0x0804aea4 in nlm_prog_4 (rqstp=0xbfbfeac0, transp=0xbfbfe090)
      at nlm_prot_svc.c:436
 #14 0x280f57d8 in svc_getreq_common () from /lib/libc.so.5
 #15 0x280f55af in svc_getreqset () from /lib/libc.so.5
 #16 0x280b4ea4 in svc_run () from /lib/libc.so.5
 #17 0x0804b358 in main (argc=134685440, argv=0xbfbfecbc) at lockd.c:212
 #18 0x080498a2 in _start ()
 (gdb)
 
 
 Mvh,
 Frode
 

From: fabbri <fabbri@isilon.com>
To: freebsd-gnats-submit@FreeBSD.org, dt@vosat.de
Cc:  
Subject: Re:bin/61718: NFS: rpc.lockd dumps core
Date: Fri, 13 Feb 2004 11:30:07 -0800

 Please see kern/61122.
 
 I sent a followup including a patch for one of these SIGSEGV crashes.
 
 -ajf
 
 
 -- 
 << Aaron Fabbri  o  Developer, Filesystems Team  o  isilon.com >>

From: =?ISO-8859-1?Q?Bj=F6rn_Gr=F6nvall?= <bg@sics.se>
To: freebsd-gnats-submit@FreeBSD.org, dt@vosat.de, frode@nordahl.net,
	rwatson@FreeBSD.org, alfred@FreeBSD.org, bsder@allcaps.org
Cc: bg@sics.se
Subject: Re:bin/61718: NFS: rpc.lockd dumps core
Date: Tue, 2 Mar 2004 18:09:17 +0100

 This is a multi-part message in MIME format.
 
 --Multipart=_Tue__2_Mar_2004_18_09_17_+0100_p1+J.GpImywv6e5l
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: 8bit
 
 Hi,
 
 The attached patch fixes a number of problems present in rpc.lockd.
 
 1)
 
 Nfslocklist_head.lf_first is overwritten because of an off-by-one-bug
 that happens when clnt_cache_next_to_use is incorrectly incremented.
 
 2)
 
 'struct sockaddr *addr' inside 'struct file_lock' is set to point to
 the result from svc_getrpccaller(). This value is malloc:ed inside the
 rpc libraries and is free:ed when clnt_destroy() is called. Fix,
 maintain a copy of the result.
 
 3)
 
 The loop inside retry_blockingfilelocklist() that uses 3 pointers ifl,
 nfl, and pfl thrashes the list pointed to by
 blockedlocklist_head.lf_first. Fix, use a simpler loop. The new loop
 does not preserve list order but the order is immaterial anyways. See
 also revison 1.6-1.7 and kern/61122.
 
 4)
 
 struct file_lock
         char client_name[SM_MAXSTRLEN];
 
 and
 
 struct host
         char name[SM_MAXSTRLEN];
 
 Be careful to not create open (non 0 terminated) C strings and later
 passing them to e.g syslog. Fix, make sure that the strings are always
 terminated with 0. When at it, move the strings to the end of the
 structs and make them variable length. This saves about 1000 bytes for
 every malloc:ed struct.
 
 5)
 
 The newfl = malloc(sizeof(struct file_lock)) memory was never properly
 bzero:ed.
 
 Minor changes:
 
 A)
 
 Nlmtonlm4(0) made assumptions about struct layouts.
 
 B)
 
 Don't close stdout and stderr when debugging (-d option).
 
 C)
 
 Remove unused pid_t locker and int fd in struct file_lock.
 
 D)
 
 s/printf/debuglog/
 
 E)
 
 Remove redundant sleep(1) and call to debuglog().
 
 Cheers,
 Bjrn
 
 --
   _     _                                           ,_______________.
 Bjorn Gronvall (Bjrn Grnvall)                    /_______________/|
 Swedish Institute of Computer Science              |               ||
 PO Box 1263, S-164 29 Kista, Sweden                | Schroedingers ||
 Email: bg@sics.se, Phone +46 -8 633 15 25          |      Cat      |/
 Cellular +46 -70 768 06 35, Fax +46 -8 751 72 30   '---------------'
 
 --Multipart=_Tue__2_Mar_2004_18_09_17_+0100_p1+J.GpImywv6e5l
 Content-Type: application/octet-stream;
  name="lockd.patch"
 Content-Disposition: attachment;
  filename="lockd.patch"
 Content-Transfer-Encoding: base64
 
 ZGlmZiAtdXIgcnBjLmxvY2tkL2xvY2tfcHJvYy5jIHJwYy5sb2NrZC5uZXcsMi9sb2NrX3Byb2Mu
 YwotLS0gcnBjLmxvY2tkL2xvY2tfcHJvYy5jCVN1biBPY3QgMjYgMDc6MTA6NDQgMjAwMworKysg
 cnBjLmxvY2tkLm5ldywyL2xvY2tfcHJvYy5jCVRodSBGZWIgMjYgMTU6MDU6NDUgMjAwNApAQCAt
 Mjc3LDcgKzI3Nyw3IEBACiAJICAgIGhvc3RfYWRkci0+c2FfbGVuKTsKIAljbG50X2NhY2hlX3Zl
 cnNbY2xudF9jYWNoZV9uZXh0X3RvX3VzZV0gPSB2ZXJzOwogCWNsbnRfY2FjaGVfdGltZVtjbG50
 X2NhY2hlX25leHRfdG9fdXNlXSA9IHRpbWVfbm93LnR2X3NlYzsKLQlpZiAoKytjbG50X2NhY2hl
 X25leHRfdG9fdXNlID4gQ0xJRU5UX0NBQ0hFX1NJWkUpCisJaWYgKCsrY2xudF9jYWNoZV9uZXh0
 X3RvX3VzZSA+PSBDTElFTlRfQ0FDSEVfU0laRSkKIAkJY2xudF9jYWNoZV9uZXh0X3RvX3VzZSA9
 IDA7CiAKIAkvKgpAQCAtMzY4LDcgKzM2OCwxMCBAQAogCXN0cnVjdCBubG1fbG9jayAqYXJnOwog
 CXN0cnVjdCBubG00X2xvY2sgKmFyZzQ7CiB7Ci0JbWVtY3B5KGFyZzQsIGFyZywgc2l6ZW9mKG5s
 bV9sb2NrKSk7CisJYXJnNC0+Y2FsbGVyX25hbWUgPSBhcmctPmNhbGxlcl9uYW1lOworCWFyZzQt
 PmZoID0gYXJnLT5maDsKKwlhcmc0LT5vaCA9IGFyZy0+b2g7CisJYXJnNC0+c3ZpZCA9IGFyZy0+
 c3ZpZDsKIAlhcmc0LT5sX29mZnNldCA9IGFyZy0+bF9vZmZzZXQ7CiAJYXJnNC0+bF9sZW4gPSBh
 cmctPmxfbGVuOwogfQpkaWZmIC11ciBycGMubG9ja2QvbG9ja2QuYyBycGMubG9ja2QubmV3LDIv
 bG9ja2QuYwotLS0gcnBjLmxvY2tkL2xvY2tkLmMJU3VuIE9jdCAyNiAwNzoxMDo0NCAyMDAzCisr
 KyBycGMubG9ja2QubmV3LDIvbG9ja2QuYwlTYXQgRmViIDIxIDA4OjU4OjAwIDIwMDQKQEAgLTE4
 Miw3ICsxODIsNyBAQAogCSAqIE5vdGUgdGhhdCBpdCBpcyBOT1Qgc2Vuc2libGUgdG8gcnVuIHRo
 aXMgcHJvZ3JhbSBmcm9tIGluZXRkIC0gdGhlCiAJICogcHJvdG9jb2wgYXNzdW1lcyB0aGF0IGl0
 IHdpbGwgcnVuIGltbWVkaWF0ZWx5IGF0IGJvb3QgdGltZS4KIAkgKi8KLQlpZiAoZGFlbW9uKDAs
 IDApKSB7CisJaWYgKGRhZW1vbigwLCBkZWJ1Z19sZXZlbCA+IDApKSB7CiAJCWVycigxLCAiY2Fu
 bm90IGZvcmsiKTsKIAkJLyogTk9UUkVBQ0hFRCAqLwogCX0KZGlmZiAtdXIgcnBjLmxvY2tkL2xv
 Y2tkX2xvY2suYyBycGMubG9ja2QubmV3LDIvbG9ja2RfbG9jay5jCi0tLSBycGMubG9ja2QvbG9j
 a2RfbG9jay5jCVR1ZSBNYXIgIDIgMTY6MjE6MjYgMjAwNAorKysgcnBjLmxvY2tkLm5ldywyL2xv
 Y2tkX2xvY2suYwlUdWUgTWFyICAyIDE2OjI2OjQ0IDIwMDQKQEAgLTY0LDExICs2NCw2IEBACiAj
 ZGVmaW5lIE1BWEJVRkZFUlNJWkUgMTAyNAogCiAvKgotICogU01fTUFYU1RSTEVOIGlzIHVzdWFs
 bHkgMTAyNC4gIFRoaXMgbWVhbnMgdGhhdCBsb2NrIHJlcXVlc3RzIGFuZAotICogaG9zdCBuYW1l
 IG1vbml0b3JpbmcgZW50cmllcyBhcmUgKk1VQ0gqIGxhcmdlciB0aGFuIHRoZXkgc2hvdWxkIGJl
 Ci0gKi8KLQotLyoKICAqIEEgc2V0IG9mIHV0aWxpdGllcyBmb3IgbWFuYWdpbmcgZmlsZSBsb2Nr
 aW5nCiAgKgogICogWFhYOiBBbGwgbG9ja3MgYXJlIGluIGEgbGlua2VkIGxpc3QsIGEgYmV0dGVy
 IHN0cnVjdHVyZSBzaG91bGQgYmUgdXNlZApAQCAtODMsMTMgKzc4LDEyIEBACiAJc3RydWN0IG5s
 bTRfaG9sZGVyIGNsaWVudDsgLyogbG9jayBob2xkZXIgKi8KIAkvKiBYWFg6IGNsaWVudF9jb29r
 aWUgdXNlZCAqb25seSogaW4gc2VuZF9ncmFudGVkICovIAogCW5ldG9iaiBjbGllbnRfY29va2ll
 OyAvKiBjb29raWUgc2VudCBieSB0aGUgY2xpZW50ICovCi0JY2hhciBjbGllbnRfbmFtZVtTTV9N
 QVhTVFJMRU5dOwogCWludCBuc21fc3RhdHVzOyAvKiBzdGF0dXMgZnJvbSB0aGUgcmVtb3RlIGxv
 Y2sgbWFuYWdlciAqLwogCWludCBzdGF0dXM7IC8qIGxvY2sgc3RhdHVzLCBzZWUgYmVsb3cgKi8K
 IAlpbnQgZmxhZ3M7IC8qIGxvY2sgZmxhZ3MsIHNlZSBsb2NrZF9sb2NrLmggKi8KIAlpbnQgYmxv
 Y2tpbmc7IC8qIGJsb2NraW5nIGxvY2sgb3Igbm90ICovCi0JcGlkX3QgbG9ja2VyOyAvKiBwaWQg
 b2YgdGhlIGNoaWxkIHByb2Nlc3MgdHJ5aW5nIHRvIGdldCB0aGUgbG9jayAqLwotCWludCBmZDsJ
 LyogZmlsZSBkZXNjcmlwdG9yIGZvciB0aGlzIGxvY2sgKi8KKwljaGFyIGNsaWVudF9uYW1lW1NN
 X01BWFNUUkxFTl07CS8qIGNsaWVudF9uYW1lIGlzIHJlYWxseSB2YXJpYWJsZQorCQkJCQkgICBs
 ZW5ndGggYW5kIG11c3QgYmUgbGFzdCEgKi8KIH07CiAKIExJU1RfSEVBRChuZnNsb2NrbGlzdF9o
 ZWFkLCBmaWxlX2xvY2spOwpAQCAtMTA4LDggKzEwMiw5IEBACiAvKiBzdHJ1Y3QgZGVzY3JpYmlu
 ZyBhIG1vbml0b3JlZCBob3N0ICovCiBzdHJ1Y3QgaG9zdCB7CiAJTElTVF9FTlRSWShob3N0KSBo
 b3N0bHN0OwotCWNoYXIgbmFtZVtTTV9NQVhTVFJMRU5dOwogCWludCByZWZjbnQ7CisJY2hhciBu
 YW1lW1NNX01BWFNUUkxFTl07IC8qIG5hbWUgaXMgcmVhbGx5IHZhcmlhYmxlIGxlbmd0aCBhbmQK
 KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11c3QgYmUgbGFzdCEgKi8KIH07
 CiAvKiBsaXN0IG9mIGhvc3RzIHdlIG1vbml0b3IgKi8KIExJU1RfSEVBRChob3N0bHN0X2hlYWQs
 IGhvc3QpOwpAQCAtMTY1LDExICsxNjAsMTMgQEAKIHZvaWQJY29weV9ubG00X2xvY2tfdG9fbmxt
 NF9ob2xkZXIoY29uc3Qgc3RydWN0IG5sbTRfbG9jayAqc3JjLAogICAgIGNvbnN0IGJvb2xfdCBl
 eGNsdXNpdmUsIHN0cnVjdCBubG00X2hvbGRlciAqZGVzdCk7CiBzdHJ1Y3QgZmlsZV9sb2NrICoJ
 YWxsb2NhdGVfZmlsZV9sb2NrKGNvbnN0IG5ldG9iaiAqbG9ja293bmVyLAotICAgIGNvbnN0IG5l
 dG9iaiAqbWF0Y2hjb29raWUpOworCQkJCQkgICBjb25zdCBuZXRvYmogKm1hdGNoY29va2llLAor
 CQkJCQkgICBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsCisJCQkJCSAgIGNvbnN0IGNoYXIg
 KmNhbGxlcl9uYW1lKTsKIHZvaWQJZGVhbGxvY2F0ZV9maWxlX2xvY2soc3RydWN0IGZpbGVfbG9j
 ayAqZmwpOwogdm9pZAlmaWxsX2ZpbGVfbG9jayhzdHJ1Y3QgZmlsZV9sb2NrICpmbCwgY29uc3Qg
 ZmhhbmRsZV90ICpmaCwKLSAgICBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsIGNvbnN0IGJvb2xfdCBl
 eGNsdXNpdmUsIGNvbnN0IGludDMyX3Qgc3ZpZCwKLSAgICBjb25zdCB1X2ludDY0X3Qgb2Zmc2V0
 LCBjb25zdCB1X2ludDY0X3QgbGVuLCBjb25zdCBjaGFyICpjYWxsZXJfbmFtZSwKKwkJICAgICAg
 IGNvbnN0IGJvb2xfdCBleGNsdXNpdmUsIGNvbnN0IGludDMyX3Qgc3ZpZCwKKyAgICBjb25zdCB1
 X2ludDY0X3Qgb2Zmc2V0LCBjb25zdCB1X2ludDY0X3QgbGVuLAogICAgIGNvbnN0IGludCBzdGF0
 ZSwgY29uc3QgaW50IHN0YXR1cywgY29uc3QgaW50IGZsYWdzLCBjb25zdCBpbnQgYmxvY2tpbmcp
 OwogaW50CXJlZ2lvbnNfb3ZlcmxhcChjb25zdCB1X2ludDY0X3Qgc3RhcnQxLCBjb25zdCB1X2lu
 dDY0X3QgbGVuMSwKICAgICBjb25zdCB1X2ludDY0X3Qgc3RhcnQyLCBjb25zdCB1X2ludDY0X3Qg
 bGVuMik7OwpAQCAtMzcyLDIwICszNjksNDAgQEAKIH0KIAogCitzaXplX3QKK3N0cm5sZW4oY29u
 c3QgY2hhciAqcywgc2l6ZV90IGxlbikKK3sKKyAgICBzaXplX3QgbjsKKworICAgIGZvciAobiA9
 IDA7ICBzW25dICE9IDAgJiYgbiA8IGxlbjsgbisrKQorICAgICAgICA7CisgICAgcmV0dXJuIG47
 Cit9CisKIC8qCiAgKiBhbGxvY2F0ZV9maWxlX2xvY2s6IENyZWF0ZSBhIGxvY2sgd2l0aCB0aGUg
 Z2l2ZW4gcGFyYW1ldGVycwogICovCiAKIHN0cnVjdCBmaWxlX2xvY2sgKgotYWxsb2NhdGVfZmls
 ZV9sb2NrKGNvbnN0IG5ldG9iaiAqbG9ja293bmVyLCBjb25zdCBuZXRvYmogKm1hdGNoY29va2ll
 KQorYWxsb2NhdGVfZmlsZV9sb2NrKGNvbnN0IG5ldG9iaiAqbG9ja293bmVyLCBjb25zdCBuZXRv
 YmogKm1hdGNoY29va2llLAorCQkgICBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsIGNvbnN0
 IGNoYXIgKmNhbGxlcl9uYW1lKQogewogCXN0cnVjdCBmaWxlX2xvY2sgKm5ld2ZsOworCXNpemVf
 dCBuOwogCi0JbmV3ZmwgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBmaWxlX2xvY2spKTsKKwkvKiBC
 ZXdhcmUgb2YgcnViYmlzaCBpbnB1dCEgKi8KKwluID0gc3RybmxlbihjYWxsZXJfbmFtZSwgU01f
 TUFYU1RSTEVOKTsKKwlpZiAobiA9PSBTTV9NQVhTVFJMRU4pIHsKKwkJcmV0dXJuIE5VTEw7CisJ
 fQorCisJbmV3ZmwgPSBtYWxsb2Moc2l6ZW9mKCpuZXdmbCkgLSBzaXplb2YobmV3ZmwtPmNsaWVu
 dF9uYW1lKSArIG4gKyAxKTsKIAlpZiAobmV3ZmwgPT0gTlVMTCkgewogCQlyZXR1cm4gTlVMTDsK
 IAl9Ci0JYnplcm8obmV3ZmwsIHNpemVvZihuZXdmbCkpOworCWJ6ZXJvKG5ld2ZsLCBzaXplb2Yo
 Km5ld2ZsKSAtIHNpemVvZihuZXdmbC0+Y2xpZW50X25hbWUpKTsKKwltZW1jcHkobmV3ZmwtPmNs
 aWVudF9uYW1lLCBjYWxsZXJfbmFtZSwgbik7CisJbmV3ZmwtPmNsaWVudF9uYW1lW25dID0gMDsK
 IAogCW5ld2ZsLT5jbGllbnQub2gubl9ieXRlcyA9IG1hbGxvYyhsb2Nrb3duZXItPm5fbGVuKTsK
 IAlpZiAobmV3ZmwtPmNsaWVudC5vaC5uX2J5dGVzID09IE5VTEwpIHsKQEAgLTQwNCw2ICs0MjEs
 MTUgQEAKIAluZXdmbC0+Y2xpZW50X2Nvb2tpZS5uX2xlbiA9IG1hdGNoY29va2llLT5uX2xlbjsK
 IAliY29weShtYXRjaGNvb2tpZS0+bl9ieXRlcywgbmV3ZmwtPmNsaWVudF9jb29raWUubl9ieXRl
 cywgbWF0Y2hjb29raWUtPm5fbGVuKTsKIAorCW5ld2ZsLT5hZGRyID0gbWFsbG9jKGFkZHItPnNh
 X2xlbik7CisJaWYgKG5ld2ZsLT5hZGRyID09IE5VTEwpIHsKKwkJZnJlZShuZXdmbC0+Y2xpZW50
 X2Nvb2tpZS5uX2J5dGVzKTsKKwkJZnJlZShuZXdmbC0+Y2xpZW50Lm9oLm5fYnl0ZXMpOworCQlm
 cmVlKG5ld2ZsKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCW1lbWNweShuZXdmbC0+YWRkciwgYWRk
 ciwgYWRkci0+c2FfbGVuKTsKKwogCXJldHVybiBuZXdmbDsKIH0KIApAQCAtNDEyLDIwICs0Mzgs
 MTcgQEAKICAqLwogdm9pZAogZmlsbF9maWxlX2xvY2soc3RydWN0IGZpbGVfbG9jayAqZmwsIGNv
 bnN0IGZoYW5kbGVfdCAqZmgsCi0gICAgc3RydWN0IHNvY2thZGRyICphZGRyLCBjb25zdCBib29s
 X3QgZXhjbHVzaXZlLCBjb25zdCBpbnQzMl90IHN2aWQsCi0gICAgY29uc3QgdV9pbnQ2NF90IG9m
 ZnNldCwgY29uc3QgdV9pbnQ2NF90IGxlbiwgY29uc3QgY2hhciAqY2FsbGVyX25hbWUsCisgICAg
 Y29uc3QgYm9vbF90IGV4Y2x1c2l2ZSwgY29uc3QgaW50MzJfdCBzdmlkLAorICAgIGNvbnN0IHVf
 aW50NjRfdCBvZmZzZXQsIGNvbnN0IHVfaW50NjRfdCBsZW4sCiAgICAgY29uc3QgaW50IHN0YXRl
 LCBjb25zdCBpbnQgc3RhdHVzLCBjb25zdCBpbnQgZmxhZ3MsIGNvbnN0IGludCBibG9ja2luZykK
 IHsKIAliY29weShmaCwgJmZsLT5maWxlaGFuZGxlLCBzaXplb2YoZmhhbmRsZV90KSk7Ci0JZmwt
 PmFkZHIgPSBhZGRyOwogCiAJZmwtPmNsaWVudC5leGNsdXNpdmUgPSBleGNsdXNpdmU7CiAJZmwt
 PmNsaWVudC5zdmlkID0gc3ZpZDsKIAlmbC0+Y2xpZW50Lmxfb2Zmc2V0ID0gb2Zmc2V0OwogCWZs
 LT5jbGllbnQubF9sZW4gPSBsZW47CiAKLQlzdHJuY3B5KGZsLT5jbGllbnRfbmFtZSwgY2FsbGVy
 X25hbWUsIFNNX01BWFNUUkxFTik7Ci0KIAlmbC0+bnNtX3N0YXR1cyA9IHN0YXRlOwogCWZsLT5z
 dGF0dXMgPSBzdGF0dXM7CiAJZmwtPmZsYWdzID0gZmxhZ3M7CkBAIC00MzgsNiArNDYxLDcgQEAK
 IHZvaWQKIGRlYWxsb2NhdGVfZmlsZV9sb2NrKHN0cnVjdCBmaWxlX2xvY2sgKmZsKQogeworCWZy
 ZWUoZmwtPmFkZHIpOwogCWZyZWUoZmwtPmNsaWVudC5vaC5uX2J5dGVzKTsKIAlmcmVlKGZsLT5j
 bGllbnRfY29va2llLm5fYnl0ZXMpOwogCWZyZWUoZmwpOwpAQCAtOTE4LDIyICs5NDIsMjEgQEAK
 IAkgICAgJnN0YXJ0MSwgJmxlbjEsICZzdGFydDIsICZsZW4yKTsKIAogCWlmICgoc3BzdGF0dXMg
 JiBTUExfTE9DSzEpICE9IDApIHsKLQkJKmxlZnRfbG9jayA9IGFsbG9jYXRlX2ZpbGVfbG9jaygm
 ZXhpc3RfbG9jay0+Y2xpZW50Lm9oLCAmZXhpc3RfbG9jay0+Y2xpZW50X2Nvb2tpZSk7CisJCSps
 ZWZ0X2xvY2sgPSBhbGxvY2F0ZV9maWxlX2xvY2soJmV4aXN0X2xvY2stPmNsaWVudC5vaCwgJmV4
 aXN0X2xvY2stPmNsaWVudF9jb29raWUsIGV4aXN0X2xvY2stPmFkZHIsIGV4aXN0X2xvY2stPmNs
 aWVudF9uYW1lKTsKIAkJaWYgKCpsZWZ0X2xvY2sgPT0gTlVMTCkgewogCQkJZGVidWdsb2coIlVu
 YWJsZSB0byBhbGxvY2F0ZSByZXNvdXJjZSBmb3Igc3BsaXQgMVxuIik7CiAJCQlyZXR1cm4gU1BM
 X1JFU0VSUjsKIAkJfQogCiAJCWZpbGxfZmlsZV9sb2NrKCpsZWZ0X2xvY2ssICZleGlzdF9sb2Nr
 LT5maWxlaGFuZGxlLAotCQkgICAgZXhpc3RfbG9jay0+YWRkciwKIAkJICAgIGV4aXN0X2xvY2st
 PmNsaWVudC5leGNsdXNpdmUsIGV4aXN0X2xvY2stPmNsaWVudC5zdmlkLAogCQkgICAgc3RhcnQx
 LCBsZW4xLAotCQkgICAgZXhpc3RfbG9jay0+Y2xpZW50X25hbWUsIGV4aXN0X2xvY2stPm5zbV9z
 dGF0dXMsCisJCSAgICBleGlzdF9sb2NrLT5uc21fc3RhdHVzLAogCQkgICAgZXhpc3RfbG9jay0+
 c3RhdHVzLCBleGlzdF9sb2NrLT5mbGFncywgZXhpc3RfbG9jay0+YmxvY2tpbmcpOwogCX0KIAog
 CWlmICgoc3BzdGF0dXMgJiBTUExfTE9DSzIpICE9IDApIHsKLQkJKnJpZ2h0X2xvY2sgPSBhbGxv
 Y2F0ZV9maWxlX2xvY2soJmV4aXN0X2xvY2stPmNsaWVudC5vaCwgJmV4aXN0X2xvY2stPmNsaWVu
 dF9jb29raWUpOworCQkqcmlnaHRfbG9jayA9IGFsbG9jYXRlX2ZpbGVfbG9jaygmZXhpc3RfbG9j
 ay0+Y2xpZW50Lm9oLCAmZXhpc3RfbG9jay0+Y2xpZW50X2Nvb2tpZSwgZXhpc3RfbG9jay0+YWRk
 ciwgZXhpc3RfbG9jay0+Y2xpZW50X25hbWUpOwogCQlpZiAoKnJpZ2h0X2xvY2sgPT0gTlVMTCkg
 ewogCQkJZGVidWdsb2coIlVuYWJsZSB0byBhbGxvY2F0ZSByZXNvdXJjZSBmb3Igc3BsaXQgMVxu
 Iik7CiAJCQlpZiAoKmxlZnRfbG9jayAhPSBOVUxMKSB7CkBAIC05NDMsMTAgKzk2Niw5IEBACiAJ
 CX0KIAogCQlmaWxsX2ZpbGVfbG9jaygqcmlnaHRfbG9jaywgJmV4aXN0X2xvY2stPmZpbGVoYW5k
 bGUsCi0JCSAgICBleGlzdF9sb2NrLT5hZGRyLAogCQkgICAgZXhpc3RfbG9jay0+Y2xpZW50LmV4
 Y2x1c2l2ZSwgZXhpc3RfbG9jay0+Y2xpZW50LnN2aWQsCiAJCSAgICBzdGFydDIsIGxlbjIsCi0J
 CSAgICBleGlzdF9sb2NrLT5jbGllbnRfbmFtZSwgZXhpc3RfbG9jay0+bnNtX3N0YXR1cywKKwkJ
 ICAgIGV4aXN0X2xvY2stPm5zbV9zdGF0dXMsCiAJCSAgICBleGlzdF9sb2NrLT5zdGF0dXMsIGV4
 aXN0X2xvY2stPmZsYWdzLCBleGlzdF9sb2NrLT5ibG9ja2luZyk7CiAJfQogCkBAIC05NzIsNyAr
 OTk0LDcgQEAKIAogCXJldHZhbCA9IE5GU19ERU5JRURfTk9MT0NLOwogCi0JcHJpbnRmKCJBdHRl
 bXB0aW5nIHRvIG1hdGNoIGxvY2suLi5cbiIpOworCWRlYnVnbG9nKCJBdHRlbXB0aW5nIHRvIG1h
 dGNoIGxvY2suLi5cbiIpOwogCW1mbCA9IGdldF9sb2NrX21hdGNoaW5nX3VubG9jayhmbCk7CiAK
 IAlpZiAobWZsICE9IE5VTEwpIHsKQEAgLTEyMzEsMjMgKzEyNTMsMTMgQEAKIHJldHJ5X2Jsb2Nr
 aW5nZmlsZWxvY2tsaXN0KHZvaWQpCiB7CiAJLyogUmV0cnkgYWxsIGxvY2tzIGluIHRoZSBibG9j
 a2VkIGxpc3QgKi8KLQlzdHJ1Y3QgZmlsZV9sb2NrICppZmwsICpuZmwsICpwZmw7IC8qIEl0ZXJh
 dG9yICovCisJc3RydWN0IGZpbGVfbG9jayAqaWZsLCAqbmZsOyAvKiBJdGVyYXRvciAqLwogCWVu
 dW0gcGFydGlhbGZpbGVsb2NrX3N0YXR1cyBwZmxzdGF0dXM7CiAKIAlkZWJ1Z2xvZygiRW50ZXJp
 bmcgcmV0cnlfYmxvY2tpbmdmaWxlbG9ja2xpc3RcbiIpOwogCi0JcGZsID0gTlVMTDsKLQlpZmwg
 PSBMSVNUX0ZJUlNUKCZibG9ja2VkbG9ja2xpc3RfaGVhZCk7Ci0JZGVidWdsb2coIkl0ZXJhdG9y
 IGNob2ljZSAlcFxuIixpZmwpOwotCi0Jd2hpbGUgKGlmbCAhPSBOVUxMKSB7Ci0JCS8qCi0JCSAq
 IFNVQlRMRSBCVUc6IFRoZSBuZXh0IGVsZW1lbnQgbXVzdCBiZSB3b3JrZWQgb3V0IGJlZm9yZSB0
 aGUKLQkJICogY3VycmVudCBlbGVtZW50IGhhcyBiZWVuIG1vdmVkCi0JCSAqLwotCQluZmwgPSBM
 SVNUX05FWFQoaWZsLCBuZnNsb2NrbGlzdCk7CisJTElTVF9GT1JFQUNIX1NBRkUoaWZsLCAmYmxv
 Y2tlZGxvY2tsaXN0X2hlYWQsIG5mc2xvY2tsaXN0LCBuZmwpIHsKIAkJZGVidWdsb2coIkl0ZXJh
 dG9yIGNob2ljZSAlcFxuIixpZmwpOwotCQlkZWJ1Z2xvZygiUHJldiBpdGVyYXRvciBjaG9pY2Ug
 JXBcbiIscGZsKTsKIAkJZGVidWdsb2coIk5leHQgaXRlcmF0b3IgY2hvaWNlICVwXG4iLG5mbCk7
 CiAKIAkJLyoKQEAgLTEyNjUsMjIgKzEyNzcsMTAgQEAKIAkJCS8qIGxvY2sgZ3JhbnRlZCBhbmQg
 aXMgbm93IGJlaW5nIHVzZWQgKi8KIAkJCXNlbmRfZ3JhbnRlZChpZmwsMCk7CiAJCX0gZWxzZSB7
 Ci0JCQkvKiBSZWluc2VydCBsb2NrIGJhY2sgaW50byBzYW1lIHBsYWNlIGluIGJsb2NrZWQgbGlz
 dCAqLworCQkJLyogUmVpbnNlcnQgbG9jayBiYWNrIGludG8gYmxvY2tlZCBsaXN0ICovCiAJCQlk
 ZWJ1Z2xvZygiUmVwbGFjaW5nIGJsb2NrZWQgbG9ja1xuIik7Ci0JCQlpZiAocGZsICE9IE5VTEwp
 Ci0JCQkJTElTVF9JTlNFUlRfQUZURVIocGZsLCBpZmwsIG5mc2xvY2tsaXN0KTsKLQkJCWVsc2UK
 LQkJCQkvKiBpZmwgaXMgdGhlIG9ubHkgZWxlbS4gaW4gdGhlIGxpc3QgKi8KLQkJCQlMSVNUX0lO
 U0VSVF9IRUFEKCZibG9ja2VkbG9ja2xpc3RfaGVhZCwgaWZsLCBuZnNsb2NrbGlzdCk7CisJCQlM
 SVNUX0lOU0VSVF9IRUFEKCZibG9ja2VkbG9ja2xpc3RfaGVhZCwgaWZsLCBuZnNsb2NrbGlzdCk7
 CiAJCX0KLQotCQkvKiBWYWxpZCBpbmNyZW1lbnQgYmVoYXZpb3IgcmVnYXJkbGVzcyBvZiBzdGF0
 ZSBvZiBpZmwgKi8KLQkJaWZsID0gbmZsOwotCQkvKiBpZiBhIGxvY2sgd2FzIGdyYW50ZWQgaW5j
 cmVtZW50aW5nIHBmbCB3b3VsZCBtYWtlIGl0IG5mbCAqLwotCQlpZiAocGZsICE9IE5VTEwgJiYg
 KExJU1RfTkVYVChwZmwsIG5mc2xvY2tsaXN0KSAhPSBuZmwpKQotCQkJcGZsID0gTElTVF9ORVhU
 KHBmbCwgbmZzbG9ja2xpc3QpOwotCQllbHNlCi0JCQlwZmwgPSBMSVNUX0ZJUlNUKCZibG9ja2Vk
 bG9ja2xpc3RfaGVhZCk7CiAJfQogCiAJZGVidWdsb2coIkV4aXRpbmcgcmV0cnlfYmxvY2tpbmdm
 aWxlbG9ja2xpc3RcbiIpOwpAQCAtMTg5NSw3ICsxODk1LDggQEAKIAkJICAgIG5sbTRfZGVuaWVk
 X2dyYWNlX3BlcmlvZCA6IG5sbV9kZW5pZWRfZ3JhY2VfcGVyaW9kOwogCiAJLyogYWxsb2NhdGUg
 bmV3IGZpbGVfbG9jayBmb3IgdGhpcyByZXF1ZXN0ICovCi0JbmV3ZmwgPSBhbGxvY2F0ZV9maWxl
 X2xvY2soJmxja2FyZy0+YWxvY2sub2gsICZsY2thcmctPmNvb2tpZSk7CisJbmV3ZmwgPSBhbGxv
 Y2F0ZV9maWxlX2xvY2soJmxja2FyZy0+YWxvY2sub2gsICZsY2thcmctPmNvb2tpZSwKKwkJCQkg
 ICAoc3RydWN0IHNvY2thZGRyICopc3ZjX2dldHJwY2NhbGxlcihycXN0cC0+cnFfeHBydCktPmJ1
 ZiwgbGNrYXJnLT5hbG9jay5jYWxsZXJfbmFtZSk7CiAJaWYgKG5ld2ZsID09IE5VTEwpIHsKIAkJ
 c3lzbG9nKExPR19OT1RJQ0UsICJsb2NrIGFsbG9jYXRlIGZhaWxlZDogJXMiLCBzdHJlcnJvcihl
 cnJubykpOwogCQkvKiBmYWlsZWQgKi8KQEAgLTE5MDksMTAgKzE5MTAsOSBAQAogCX0KIAogCWZp
 bGxfZmlsZV9sb2NrKG5ld2ZsLCAoZmhhbmRsZV90ICopbGNrYXJnLT5hbG9jay5maC5uX2J5dGVz
 LAotCSAgICAoc3RydWN0IHNvY2thZGRyICopc3ZjX2dldHJwY2NhbGxlcihycXN0cC0+cnFfeHBy
 dCktPmJ1ZiwKIAkgICAgbGNrYXJnLT5leGNsdXNpdmUsIGxja2FyZy0+YWxvY2suc3ZpZCwgbGNr
 YXJnLT5hbG9jay5sX29mZnNldCwKIAkgICAgbGNrYXJnLT5hbG9jay5sX2xlbiwKLQkgICAgbGNr
 YXJnLT5hbG9jay5jYWxsZXJfbmFtZSwgbGNrYXJnLT5zdGF0ZSwgMCwgZmxhZ3MsIGxja2FyZy0+
 YmxvY2spOworCSAgICBsY2thcmctPnN0YXRlLCAwLCBmbGFncywgbGNrYXJnLT5ibG9jayk7CiAJ
 CiAJLyoKIAkgKiBuZXdmbCBpcyBub3cgZnVsbHkgY29uc3RydWN0ZWQgYW5kIGRlYWxsb2NhdGVf
 ZmlsZV9sb2NrCkBAIC0xOTkwLDYgKzE5OTAsNyBAQAogCXN0cnVjdCBtb24gc21vbjsKIAlzdHJ1
 Y3Qgc21fc3RhdF9yZXMgc3JlczsKIAlpbnQgcnBjcmV0LCBzdGF0ZmxhZzsKKwlzaXplX3QgbjsK
 IAkKIAlycGNyZXQgPSAwOwogCXN0YXRmbGFnID0gMDsKQEAgLTIwMDQsMTUgKzIwMDUsMTkgQEAK
 IAl9CiAKIAkvKiBIb3N0IGlzIG5vdCB5ZXQgbW9uaXRvcmVkLCBhZGQgaXQgKi8KLQluaHAgPSBt
 YWxsb2Moc2l6ZW9mKHN0cnVjdCBob3N0KSk7Ci0JCQorCW4gPSBzdHJubGVuKGhvc3RuYW1lLCBT
 TV9NQVhTVFJMRU4pOworCWlmIChuID09IFNNX01BWFNUUkxFTikgeworCQlyZXR1cm47CisJfQor
 CW5ocCA9IG1hbGxvYyhzaXplb2YoKm5ocCkgLSBzaXplb2YobmhwLT5uYW1lKSArIG4gKyAxKTsK
 IAlpZiAobmhwID09IE5VTEwpIHsKIAkJZGVidWdsb2coIlVuYWJsZSB0byBhbGxvY2F0ZSBlbnRy
 eSBmb3Igc3RhdGQgbW9uXG4iKTsKIAkJcmV0dXJuOwogCX0KIAogCS8qIEFsbG9jYXRlZCBuZXcg
 aG9zdCBlbnRyeSwgbm93IGZpbGwgdGhlIGZpZWxkcyAqLwotCXN0cm5jcHkobmhwLT5uYW1lLCBo
 b3N0bmFtZSwgU01fTUFYU1RSTEVOKTsKKwltZW1jcHkobmhwLT5uYW1lLCBob3N0bmFtZSwgbik7
 CisJbmhwLT5uYW1lW25dID0gMDsKIAluaHAtPnJlZmNudCA9IDE7CiAJZGVidWdsb2coIkxvY2Fs
 bHkgTW9uaXRvcmluZyBob3N0ICUxNnNcbiIsaG9zdG5hbWUpOwogCQkJCkBAIC0yMTUyLDggKzIx
 NTcsNiBAQAogCXN0YXRpYyBzdHJ1Y3QgbmxtNF9yZXMgcmV0dmFsNDsKIAogCWRlYnVnbG9nKCJB
 Ym91dCB0byBzZW5kIGdyYW50ZWQgb24gYmxvY2tlZCBsb2NrXG4iKTsKLQlzbGVlcCgxKTsKLQlk
 ZWJ1Z2xvZygiQmxvd2luZyBvZmYgcmV0dXJuIHNlbmRcbiIpOwogCiAJY2xpID0gZ2V0X2NsaWVu
 dChmbC0+YWRkciwKIAkgICAgKGZsLT5mbGFncyAmIExPQ0tfVjQpID8gTkxNX1ZFUlM0IDogTkxN
 X1ZFUlMpOwo=
 
 --Multipart=_Tue__2_Mar_2004_18_09_17_+0100_p1+J.GpImywv6e5l--

From: Antoine Jacoutot <ajacoutot@lphp.org>
To: =?iso-8859-15?q?Bj=F6rn_Gr=F6nvall?= <bg@sics.se>
Cc: freebsd-gnats-submit@FreeBSD.org, dt@vosat.de, frode@nordahl.net,
	rwatson@FreeBSD.org, alfred@FreeBSD.org, bsder@allcaps.org
Subject: Re: bin/61718: NFS: rpc.lockd dumps core
Date: Thu, 4 Mar 2004 01:14:31 +0100

 On Tuesday 02 March 2004 18:09, Bj=F6rn Gr=F6nvall wrote:
 > Hi,
 >
 > The attached patch fixes a number of problems present in rpc.lockd.
 
 Allright, 48 hours without any crashes :)
 It looks like this patch resolved the issues I was having !
 No more rpc.lockd core dumps.
 
 Thanks.
 
 Antoine

From: Ulrich Spoerlein <q@uni.de>
To: FreeBSD-gnats-submit@FreeBSD.org
Cc: dt@vosat.de, frode@nordahl.net, rwatson@FreeBSD.org,
	alfred@FreeBSD.org, bsder@allcaps.org, bg@sics.se
Subject: Re: bin/61718: NFS: rpc.lockd dumps core
Date: Wed, 17 Mar 2004 13:15:58 +0100

 Hi
 I too found my rpc.lockd constantly crashing on 5.2.1-RELEASE with a
 5.2.1 Client.
 Mar  5 12:48:58 coyote kernel: pid 423 (rpc.lockd), uid 0: exited on signal 11 (core dumped)
 Mar  5 23:10:07 coyote kernel: pid 421 (rpc.lockd), uid 0: exited on signal 11 (core dumped)
 Mar  6 16:48:33 coyote kernel: pid 422 (rpc.lockd), uid 0: exited on signal 11 (core dumped)
 Mar  6 20:17:58 coyote kernel: pid 7484 (rpc.lockd), uid 0: exited on signal 11 (core dumped)
 Mar  7 18:07:17 coyote kernel: pid 420 (rpc.lockd), uid 0: exited on signal 11 (core dumped)
 Mar  7 20:51:56 coyote kernel: pid 99986 (rpc.lockd), uid 0: exited on signal 11 (core dumped)
 Mar  8 13:39:05 coyote kernel: pid 8102 (rpc.lockd), uid 0: exited on signal 11 (core dumped)
 Mar  8 16:07:10 coyote kernel: pid 35470 (rpc.lockd), uid 0: exited on signal 11 (core dumped)
 Mar  8 19:30:49 coyote kernel: pid 36874 (rpc.lockd), uid 0: exited on signal 11 (core dumped
 
 Running rpc.lockd with debugging produced the following log entries:
 Mar  7 20:51:56 coyote rpc.lockd: ********Dump of fl***************** 
 Mar  7 20:51:56 coyote rpc.lockd: Dumping file lock structure @ 0xbfbfddd0 
 Mar  7 20:51:56 coyote rpc.lockd: Dumping nlm4_holder: exc: 0  svid: 327 offset:len 0:0 
 Mar  7 20:51:56 coyote rpc.lockd: Pointer to file lock: 0x4 
 Mar  7 20:51:56 coyote rpc.lockd: ****Dump of ifl**** 
 Mar  7 20:51:56 coyote rpc.lockd: Dumping file lock structure @ 0x4 
 
 ifl was always pointing to 0x4, which obviously is bogus. After applying
 the patch by Bjoern Groenvall, the system runs rock stable again.
 
 Ulrich Spoerlein
 -- 
 PGP Key ID: F0DB9F44				Get it while it's hot!
 PGP Fingerprint: F1CE D062 0CA9 ADE3 349B  2FE8 980A C6B5 F0DB 9F44
 "They that can give up essential liberty to obtain a little temporary
 safety deserve neither liberty nor safety."	-- Benjamin Franklin

From: "Jason M. Leonard" <fuzz@ldc.upenn.edu>
To: freebsd-gnats-submit@FreeBSD.org, dt@vosat.de
Cc:  
Subject: Re: bin/61718: NFS: rpc.lockd dumps core
Date: Wed, 21 Apr 2004 02:51:39 -0400 (EDT)

 Hi,
 
 Before applying Bjorn's patch I was able to consistently crash rpc.lockd
 (5.2* servers with 5.2* clients) by running make(1) in
 /usr/ports/mail/procmail and giving its lock test routine an NFS target.
 
 After applying Bjorn's patch I am not able to crash rpc.lockd.
 
 
 :Fuzz
Responsible-Changed-From-To: rwatson->cperciva 
Responsible-Changed-By: rwatson 
Responsible-Changed-When: Sun May 2 15:21:36 PDT 2004 
Responsible-Changed-Why:  
Colin has agreed to look into rpc.lockd problems as I'm currently 
spending all my time on network stack locking work.  Thanks Colin! 


http://www.freebsd.org/cgi/query-pr.cgi?pr=61718 
State-Changed-From-To: open->closed 
State-Changed-By: mr 
State-Changed-When: Fri Jul 16 14:28:16 GMT 2004 
State-Changed-Why:  
commited 


Responsible-Changed-From-To: cperciva->mr 
Responsible-Changed-By: mr 
Responsible-Changed-When: Fri Jul 16 14:28:16 GMT 2004 
Responsible-Changed-Why:  
commited 

http://www.freebsd.org/cgi/query-pr.cgi?pr=61718 
>Unformatted:
