• Filipe Manana's avatar
    Btrfs: send, fix corrupted path strings for long paths · 01a9a8a9
    Filipe Manana authored
    If a path has more than 230 characters, we allocate a new buffer to
    use for the path, but we were forgotting to copy the contents of the
    previous buffer into the new one, which has random content from the
    kmalloc call.
    
    Test:
    
        mkfs.btrfs -f /dev/sdd
        mount /dev/sdd /mnt
    
        TEST_PATH="/mnt/fdmanana/.config/google-chrome-mysetup/Default/Pepper_Data/Shockwave_Flash/WritableRoot/#SharedObjects/JSHJ4ZKN/s.wsj.net/[[IMPORT]]/players.edgesuite.net/flash/plugins/osmf/advanced-streaming-plugin/v2.7/osmf1.6/Ak#"
        mkdir -p $TEST_PATH
        echo "hello world" > $TEST_PATH/amaiAdvancedStreamingPlugin.txt
    
        btrfs subvolume snapshot -r /mnt /mnt/mysnap1
        btrfs send /mnt/mysnap1 -f /tmp/1.snap
    
    A test for xfstests follows.
    Signed-off-by: default avatarFilipe David Borba Manana <fdmanana@gmail.com>
    Cc: Marc Merlin <marc@merlins.org>
    Tested-by: default avatarMarc MERLIN <marc@merlins.org>
    Signed-off-by: default avatarChris Mason <clm@fb.com>
    01a9a8a9
send.c 132 KB