Re: Linux 5.3-rc1

From: Guenter Roeck
Date: Mon Jul 22 2019 - 22:42:38 EST

On 7/22/19 4:45 PM, James Bottomley wrote:
[linux-scsi added to cc]
On Mon, 2019-07-22 at 15:21 -0700, Guenter Roeck wrote:
On Sun, Jul 21, 2019 at 02:33:38PM -0700, Linus Torvalds wrote:

[ ... ]

Go test,

Things looked pretty good until a few days ago. Unfortunately,
the last few days brought in a couple of issues.


Boot tests crash with no useful backtrace. Bisect points to
merge ac60602a6d8f ("Merge tag 'dma-mapping-5.3-1'"). Log is at


ata1: lost interrupt (Status 0x50)
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
ata1.00: failed command: READ DMA

and many similar errors. Boot ultimately times out. Bisect points to
f65420df914a ("Merge tag 'scsi-fixes'").



riscv bisect log

# bad: [5f9e832c137075045d15cd6899ab0505cfb2ca4b] Linus 5.3-rc1
# good: [bdd17bdef7d8da4d8eee254abb4c92d8a566bdc1] scsi: core: take
the DMA max mapping size into account
git bisect start 'HEAD' 'bdd17bdef7d8'
# good: [237f83dfbe668443b5e31c3c7576125871cca674] Merge
git bisect good 237f83dfbe668443b5e31c3c7576125871cca674
# good: [be8454afc50f43016ca8b6130d9673bdd0bd56ec] Merge tag 'drm-
next-2019-07-16' of git://
git bisect good be8454afc50f43016ca8b6130d9673bdd0bd56ec
# good: [d4df33b0e9925c158b313a586fb1557cf29cfdf4] Merge branch 'for-
linus-5.2' of
git bisect good d4df33b0e9925c158b313a586fb1557cf29cfdf4
# good: [f90b8fda3a9d72a9422ea80ae95843697f94ea4a] ARM: dts: gemini:
Set DIR-685 SPI CS as active low
git bisect good f90b8fda3a9d72a9422ea80ae95843697f94ea4a
# good: [31cc088a4f5d83481c6f5041bd6eb06115b974af] Merge tag 'drm-
next-2019-07-19' of git://
git bisect good 31cc088a4f5d83481c6f5041bd6eb06115b974af
# good: [ad21a4ce040cc41b4a085417169b558e86af56b7] dt-bindings:
pinctrl: aspeed: Fix 'compatible' schema errors
git bisect good ad21a4ce040cc41b4a085417169b558e86af56b7
# good: [e6023adc5c6af79ac8ac5b17939f58091fa0d870] Merge branch
'core-urgent-for-linus' of
git bisect good e6023adc5c6af79ac8ac5b17939f58091fa0d870
# bad: [ac60602a6d8f6830dee89f4b87ee005f62eb7171] Merge tag 'dma-
mapping-5.3-1' of git://
git bisect bad ac60602a6d8f6830dee89f4b87ee005f62eb7171
# good: [6e67d77d673d785631b0c52314b60d3c68ebe809] perf vendor events
s390: Add JSON files for machine type 8561
git bisect good 6e67d77d673d785631b0c52314b60d3c68ebe809
# good: [a0d14b8909de55139b8702fe0c7e80b69763dcfb] x86/mm, tracing:
Fix CR2 corruption
git bisect good a0d14b8909de55139b8702fe0c7e80b69763dcfb
# good: [6879298bd0673840cadd1fb36d7225485504ceb4] x86/entry/64:
Prevent clobbering of saved CR2 value
git bisect good 6879298bd0673840cadd1fb36d7225485504ceb4
# good: [449fa54d6815be8c2c1f68fa9dbbae9384a7c03e] dma-direct:
correct the physical addr in dma_direct_sync_sg_for_cpu/device
git bisect good 449fa54d6815be8c2c1f68fa9dbbae9384a7c03e
# good: [e0c5c5e308ee9b3548844f0d88da937782b895ef] Merge tag 'perf-
core-for-mingo-5.3-20190715' of
git:// into
git bisect good e0c5c5e308ee9b3548844f0d88da937782b895ef
# good: [c6dd78fcb8eefa15dd861889e0f59d301cb5230c] Merge branch 'x86-
urgent-for-linus' of
git bisect good c6dd78fcb8eefa15dd861889e0f59d301cb5230c
# first bad commit: [ac60602a6d8f6830dee89f4b87ee005f62eb7171] Merge
tag 'dma-mapping-5.3-1' of git://

ppc/ppc64 bisect log

# bad: [5f9e832c137075045d15cd6899ab0505cfb2ca4b] Linus 5.3-rc1
# good: [abdfd52a295fb5731ab07b5c9013e2e39f4d1cbe] Merge tag 'armsoc-
defconfig' of git://
git bisect start 'HEAD' 'abdfd52a295f'
# bad: [e6023adc5c6af79ac8ac5b17939f58091fa0d870] Merge branch 'core-
urgent-for-linus' of
git bisect bad e6023adc5c6af79ac8ac5b17939f58091fa0d870
# bad: [f65420df914a85e33b2c8b1cab310858b2abb7c0] Merge tag 'scsi-
fixes' of git://
git bisect bad f65420df914a85e33b2c8b1cab310858b2abb7c0
# good: [168c79971b4a7be7011e73bf488b740a8e1135c8] Merge tag 'kbuild-
v5.3-2' of
git bisect good 168c79971b4a7be7011e73bf488b740a8e1135c8
# good: [106d45f350c7cac876844dc685845cba4ffdb70b] scsi: zfcp: fix
request object use-after-free in send path causing wrong traces
git bisect good 106d45f350c7cac876844dc685845cba4ffdb70b
# good: [bdd17bdef7d8da4d8eee254abb4c92d8a566bdc1] scsi: core: take
the DMA max mapping size into account
git bisect good bdd17bdef7d8da4d8eee254abb4c92d8a566bdc1
# good: [09a4460ba4434ef0327cd26bf25f2d7afb973251] scsi: IB/iser: set
virt_boundary_mask in the scsi host
git bisect good 09a4460ba4434ef0327cd26bf25f2d7afb973251
# good: [ce0ad853109733d772d26224297fda0de313bf13] scsi: mpt3sas: set
an unlimited max_segment_size for SAS 3.0 HBAs
git bisect good ce0ad853109733d772d26224297fda0de313bf13
# good: [07d9aa14346489d6facae5777ceb267a1dcadbc5] scsi:
megaraid_sas: set an unlimited max_segment_size
git bisect good 07d9aa14346489d6facae5777ceb267a1dcadbc5
# first bad commit: [f65420df914a85e33b2c8b1cab310858b2abb7c0] Merge
tag 'scsi-fixes' of

When a bisect lands on a merge commit it usually indicates bad
interaction between two trees. The way to find it is to do a bisect,
but merge up to the other side of the scsi-fixes pull before running
tests so the interaction is exposed in the bisect.

Can you provide instructions for dummies ?

However my money is on:

commit bdd17bdef7d8da4d8eee254abb4c92d8a566bdc1
Author: Christoph Hellwig <hch@xxxxxx>
Date: Mon Jun 17 14:19:54 2019 +0200

scsi: core: take the DMA max mapping size into account
Now that I look at the code again:

+ shost->max_sectors = min_t(unsigned int, shost->max_sectors,
+ dma_max_mapping_size(dev) << SECTOR_SHIFT);

That shift looks to be the wrong way around (should be >>). I bet
something is giving a very large number which becomes zero on left
shift, meaning max_sectors gets set to zero.

That does indeed look bad, but changing it doesn't make a difference.