• Johan Hovold's avatar
    staging: greybus: loopback_test: fix potential path truncations · ae62cf5e
    Johan Hovold authored
    Newer GCC warns about possible truncations of two generated path names as
    we're concatenating the configurable sysfs and debugfs path prefixes
    with a filename and placing the results in buffers of the same size as
    the maximum length of the prefixes.
    
    	snprintf(d->name, MAX_STR_LEN, "gb_loopback%u", dev_id);
    
    	snprintf(d->sysfs_entry, MAX_SYSFS_PATH, "%s%s/",
    		 t->sysfs_prefix, d->name);
    
    	snprintf(d->debugfs_entry, MAX_SYSFS_PATH, "%sraw_latency_%s",
    		 t->debugfs_prefix, d->name);
    
    Fix this by separating the maximum path length from the maximum prefix
    length and reducing the latter enough to fit the generated strings.
    
    Note that we also need to reduce the device-name buffer size as GCC
    isn't smart enough to figure out that we ever only used MAX_STR_LEN
    bytes of it.
    
    Fixes: 6b0658f6 ("greybus: tools: Add tools directory to greybus repo and add loopback")
    Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
    Link: https://lore.kernel.org/r/20200312110151.22028-4-johan@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ae62cf5e
loopback_test.c 24.2 KB