BSOD 0x000000C2 (BAD_POOL_CALLER, Arg1 0x99) in msiscsi.sys after installing KB5126657 — triggered by ANY iSCSI activity (no mount required)

YuDong 0 Reputation points
2026-10-16T10:46:22.69+00:00

Environment:

  • Windows 10 21H2 (ESU), OS build 19044.7807 after KB5126657 (October 13, 2026)
  • msiscsi.sys version 10.0.19041.7802 (delivered by this update, verified in the package payload)

Symptoms:

Shortly after boot (observed ~71 seconds) or whenever the iSCSI initiator performs any session activity, the machine bugchecks with:

BAD_POOL_CALLER (0xC2), Arg1: 0x00000099 (attempt to free pool with invalid address)

Reproduction (no disk mount required):

Any of the following triggers it:

  1. Boot with a stale persistent iSCSI login / registered SendTargets portal (failed login -> logout completion)
  2. An application calling ReportIScsiTargets(force refresh) or RefreshIScsiSendTargetPortal (SendTargets discovery: temporary login -> logout)
  3. Mounting an iSCSI target (LoginIScsiTarget)

WinDbg !analyze -v (full kernel dump):

Failure bucket: 0xc2_99_msiscsi!iSpFreeActiveRequestResources

Stack:

nt!KeBugCheckEx

nt!ExFreePool

msiscsi!iSpFreeActiveRequestResources+0xae

msiscsi!iSpFreeSession+0x2f

msiscsi!iSpCloseAllConnectionsAndFreeSession+0xef

msiscsi!iSpProcessLogoutCompletion+0x9a

msiscsi!iSpLogoutCompletionWorker+0x4e

nt!IopProcessWorkItem (system worker thread)

Analysis:

  • The pointer being freed lies inside an msiscsi-owned pool block (tags is0A / is0E); a second full kernel dump from a different machine shows the freed request-resource/connection objects were ALREADY freed at the time of the second free — consistent with a double free / use-after-free in the logout-completion teardown path of msiscsi.sys 10.0.19041.7802.
  • Two different machines, same signature, both running 19044.7807.
  • Uninstalling KB5126657 (reverting msiscsi.sys) fully resolves the crashes.

Workaround: uninstall KB5126657 / defer this update on machines using the iSCSI initiator.

Full kernel dumps (MEMORY.DMP) from both machines are available on request.

Windows for business | Windows Client for IT Pros | Devices and deployment | Install Windows updates, features, or roles
0 comments No comments

1 answer

Sort by: Oldest
  1. Chance Maurice Niyonzima 500 Reputation points Independent Advisor
    2026-10-16T15:33:17.6233333+00:00

    Hello YuDong,

    Thank you for posting your question on the Microsoft Windows Forum!

    Thank you for the detailed analysis. Based on the evidence provided, you've already established a strong correlation between KB5126657 and the crashes:

    • The issue reproduces on multiple systems.
    • Any iSCSI activity (including SendTargets discovery/logout) is sufficient to trigger the bugcheck.
    • The crash consistently occurs in:
    msiscsi!iSpFreeActiveRequestResources
    

    during session teardown.

    • Removing KB5126657 eliminates the problem.

    I reviewed the published information for KB5126657 and currently do not see any documented Microsoft known issue related to iSCSI, msiscsi.sys, or BAD_POOL_CALLER (0xC2). The only publicly documented known issue at this time relates to certain USB Audio Class 1.0 devices. [catalog.up...rosoft.com], [bleepingcomputer.com]

    Given the reproducible behavior, rollback validation, and dump analysis indicating a potential double-free/use-after-free condition in the logout-completion path, this appears consistent with a possible regression in msiscsi.sys 10.0.19041.7802 rather than a storage target or NIC-specific issue.

    For now, the documented workaround of uninstalling or deferring KB5126657 on systems using the Microsoft iSCSI Initiator appears reasonable while additional investigation is performed.

    References

    I hope this answer has brought you useful information. If so, please click on Accept Answer and consider upvoting it. Doing so helps other community members identify useful solutions to similar issues.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.