lkml.org 
[lkml]   [2013]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 04/57] bcache: Strip endline when writing the label through sysfs
    Date
    3.11-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Gabriel de Perthuis <g2p.code@gmail.com>

    commit aee6f1cfff3ce240eb4b43b41ca466b907acbd2e upstream.

    sysfs attributes with unusual characters have crappy failure modes
    in Squeeze (udev 164); later versions of udev are unaffected.

    This should make these characters more unusual.

    Signed-off-by: Gabriel de Perthuis <g2p.code@gmail.com>
    Signed-off-by: Kent Overstreet <kmo@daterainc.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/md/bcache/sysfs.c | 9 +++++++--
    1 file changed, 7 insertions(+), 2 deletions(-)

    --- a/drivers/md/bcache/sysfs.c
    +++ b/drivers/md/bcache/sysfs.c
    @@ -223,8 +223,13 @@ STORE(__cached_dev)
    }

    if (attr == &sysfs_label) {
    - /* note: endlines are preserved */
    - memcpy(dc->sb.label, buf, SB_LABEL_SIZE);
    + if (size > SB_LABEL_SIZE)
    + return -EINVAL;
    + memcpy(dc->sb.label, buf, size);
    + if (size < SB_LABEL_SIZE)
    + dc->sb.label[size] = '\0';
    + if (size && dc->sb.label[size - 1] == '\n')
    + dc->sb.label[size - 1] = '\0';
    bch_write_bdev_super(dc, NULL);
    if (dc->disk.c) {
    memcpy(dc->disk.c->uuids[dc->disk.id].label,



    \
     
     \ /
      Last update: 2013-10-03 08:21    [W:4.102 / U:0.432 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site