Bug 242221

Summary: does nlm_lookup_host lose hosts in hash table?
Product: Red Hat Enterprise Linux 4 Reporter: Steve Dickson <steved>
Component: kernelAssignee: Jeff Layton <jlayton>
Status: CLOSED NOTABUG QA Contact: Martin Jenner <mjenner>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.5CC: jbaron, staubach, steved
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-06-18 11:21:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 235648    
Bug Blocks:    

Description Steve Dickson 2007-06-02 09:57:14 UTC
This is the RHEL4 version of this bug.

+++ This bug was initially created as a clone of Bug #235648 +++

for function nlm_lookup_host in fs/lockd/host.c,
when the host found is not the head in the bucket in the hash table, it will be
moved to head. source is like this,
---------------------
  if (hp != nlm_hosts + hash) {
                                *hp = host->h_next;
                                host->h_next = nlm_hosts[hash];
                                nlm_hosts[hash] = host;
                        }
--------------------------
won't it lose hosts that are originally between the one to search for and the
original head? for *hp is not handled after *hp = host->h_next;

this problem covers rhel4 and rhel5.  
i think it fixed in kernel 2.6.20.

-- Additional comment from pknirsch on 2007-05-24 10:37 EST --
Reassigning to kernel component.

Read ya, Phil

Comment 1 Jeff Layton 2007-06-18 11:21:04 UTC
The short answer here is no. See the details and test program in bug #235648 as
to why. Please reopen if my conclusion is incorrect.