On Tue, Jan 07, 2020 at 02:00:56PM -0700, Jens Axboe wrote: > On 1/7/20 1:53 PM, Greg Kroah-Hartman wrote: > > From: Ming Lei <ming.lei@xxxxxxxxxx> > > > > commit 429120f3df2dba2bf3a4a19f4212a53ecefc7102 upstream. > > > > We ran into a problem with a mpt3sas based controller, where we would > > see random (and hard to reproduce) file corruption). The issue seemed > > specific to this controller, but wasn't specific to the file system. > > After a lot of debugging, we find out that it's caused by segments > > spanning a 4G memory boundary. This shouldn't happen, as the default > > setting for segment boundary masks is 4G. > > > > Turns out there are two issues in get_max_segment_size(): > > > > 1) The default segment boundary mask is bypassed > > > > 2) The segment start address isn't taken into account when checking > > segment boundary limit > > > > Fix these two issues by removing the bypass of the segment boundary > > check even if the mask is set to the default value, and taking into > > account the actual start address of the request when checking if a > > segment needs splitting. > > Greg, there's a problem with this one on ARM. Should be resolved > shortly, but probably best to defer this one until the next 5.4 > stable release. > > I'll ping you with both patches once the dust has settled. Thanks for letting me know, I've now dropped this from the queue. greg k-h