Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[24.0 backport] daemon: daemon.prepareMountPoints(): fix panic if mount is not a volume #45903

Merged
merged 1 commit into from
Jul 7, 2023

Commits on Jul 7, 2023

  1. daemon: daemon.prepareMountPoints(): fix panic if mount is not a volume

    The daemon.lazyInitializeVolume() function only handles restoring Volumes
    if a Driver is specified. The Container's MountPoints field may also
    contain other kind of mounts (e.g., bind-mounts). Those were ignored, and
    don't return an error; https://github.com/moby/moby/blob/1d9c8619cded4657af1529779c5771127e8ad0e7/daemon/volumes.go#L243-L252C2
    
    However, the prepareMountPoints() assumed each MountPoint was a volume,
    and logged an informational message about the volume being restored;
    https://github.com/moby/moby/blob/1d9c8619cded4657af1529779c5771127e8ad0e7/daemon/mounts.go#L18-L25
    
    This would panic if the MountPoint was not a volume;
    
        github.com/docker/docker/daemon.(*Daemon).prepareMountPoints(0xc00054b7b8?, 0xc0007c2500)
                /root/rpmbuild/BUILD/src/engine/.gopath/src/github.com/docker/docker/daemon/mounts.go:24 +0x1c0
        github.com/docker/docker/daemon.(*Daemon).restore.func5(0xc0007c2500, 0x0?)
                /root/rpmbuild/BUILD/src/engine/.gopath/src/github.com/docker/docker/daemon/daemon.go:552 +0x271
        created by github.com/docker/docker/daemon.(*Daemon).restore
                /root/rpmbuild/BUILD/src/engine/.gopath/src/github.com/docker/docker/daemon/daemon.go:530 +0x8d8
        panic: runtime error: invalid memory address or nil pointer dereference
        [signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0x564e9be4c7c0]
    
    This issue was introduced in 647c2a6
    
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    (cherry picked from commit a490248)
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    d3893b5 View commit details
    Browse the repository at this point in the history