mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
NFSv4.1: Fix Oopsable condition in server callback races
The slot table hasn't been an array since v3.7. Ensure that we
use nfs4_lookup_slot() to access the slot correctly.
Fixes: 87dda67e73
("NFSv4.1: Allow SEQUENCE to resize the slot table...")
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: stable@vger.kernel.org # v3.8+
This commit is contained in:
parent
16590a2281
commit
e09c978aae
3 changed files with 35 additions and 4 deletions
|
@ -454,11 +454,8 @@ static bool referring_call_exists(struct nfs_client *clp,
|
|||
((u32 *)&rclist->rcl_sessionid.data)[3],
|
||||
ref->rc_sequenceid, ref->rc_slotid);
|
||||
|
||||
spin_lock(&tbl->slot_tbl_lock);
|
||||
status = (test_bit(ref->rc_slotid, tbl->used_slots) &&
|
||||
tbl->slots[ref->rc_slotid].seq_nr ==
|
||||
status = nfs4_slot_seqid_in_use(tbl, ref->rc_slotid,
|
||||
ref->rc_sequenceid);
|
||||
spin_unlock(&tbl->slot_tbl_lock);
|
||||
if (status)
|
||||
goto out;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue