[LU-6995] incorrect use of bvec_iter_page in dio_complete_routine Created: 12/Aug/15  Updated: 19/Sep/15  Resolved: 19/Sep/15

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.8.0

Type: Bug Priority: Minor
Reporter: Frank Zago (Inactive) Assignee: Bob Glossman (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

bvec_iter_page is expecting a biovecs list as a first argument, not a biovec. That works as long as there is only one biovec in the bio. If there is more than one, then invalid memory is dereferences since bvl is a single vector, not a list. This only affect 3.14+ kernels, where HAVE_BVEC_ITER is true. Don't use bvec_iter_page, but create the right macro to simply return the vector's bv_page. Bug introduced in commit 833b670a.



 Comments   
Comment by James A Simmons [ 12/Aug/15 ]

Yeah I have know about this bug for a while but never got around to fixing since I was busy with other task Thanks for picking this up.

Comment by Gerrit Updater [ 12/Aug/15 ]

frank zago (fzago@cray.com) uploaded a new patch: http://review.whamcloud.com/15967
Subject: LU-6995 osd: fix invalid use of bvec_iter_page
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 6a57311a84ae1046588d6be2d2c3556dfc16f4d2

Comment by Frank Zago (Inactive) [ 12/Aug/15 ]

No problem, James.

Comment by Joseph Gmitter (Inactive) [ 13/Aug/15 ]

Hi Bob,
Can you have a look at the patch?
Thanks.
Joe

Comment by Gerrit Updater [ 19/Sep/15 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/15967/
Subject: LU-6995 osd: fix invalid use of bvec_iter_page
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: decbd1c0bfbc2d6c9e43c6fb880d7cbfe41b9143

Comment by Peter Jones [ 19/Sep/15 ]

Landed for 2.8

Generated at Sat Feb 10 02:05:05 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.