lkml.org 
[lkml]   [2014]   [Jul]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v7 02/33] net: set name assign type for renamed devices
    Date
    Based on a patch from David Herrmann.

    This is the only place devices can be renamed.

    Signed-off-by: Tom Gundersen <teg@jklm.no>
    Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
    ---
    net/core/dev.c | 7 +++++++
    1 file changed, 7 insertions(+)

    diff --git a/net/core/dev.c b/net/core/dev.c
    index 30eedf6..7765ec5 100644
    --- a/net/core/dev.c
    +++ b/net/core/dev.c
    @@ -1083,6 +1083,7 @@ static int dev_get_valid_name(struct net *net,
    int dev_change_name(struct net_device *dev, const char *newname)
    {
    char oldname[IFNAMSIZ];
    + unsigned char old_assign_type;
    int err = 0;
    int ret;
    struct net *net;
    @@ -1109,10 +1110,14 @@ int dev_change_name(struct net_device *dev, const char *newname)
    return err;
    }

    + old_assign_type = dev->name_assign_type;
    + dev->name_assign_type = NET_NAME_RENAMED;
    +
    rollback:
    ret = device_rename(&dev->dev, dev->name);
    if (ret) {
    memcpy(dev->name, oldname, IFNAMSIZ);
    + dev->name_assign_type = old_assign_type;
    write_seqcount_end(&devnet_rename_seq);
    return ret;
    }
    @@ -1141,6 +1146,8 @@ rollback:
    write_seqcount_begin(&devnet_rename_seq);
    memcpy(dev->name, oldname, IFNAMSIZ);
    memcpy(oldname, newname, IFNAMSIZ);
    + dev->name_assign_type = old_assign_type;
    + old_assign_type = NET_NAME_RENAMED;
    goto rollback;
    } else {
    pr_err("%s: name change rollback failed: %d\n",
    --
    1.9.3


    \
     
     \ /
      Last update: 2014-07-10 12:21    [W:4.063 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site