Commit c74c69b4 authored by Paolo 'Blaisorblade' Giarrusso's avatar Paolo 'Blaisorblade' Giarrusso Committed by Linus Torvalds

uml: Replace one-element array with zero-element array

To look at users I did:
$ find arch/um/ include/asm-um -name '*.[ch]'|xargs grep -r 'net_kern\.h'
+-l|xargs grep '\<user\>'

Most users just cast user to the appropriate pointer, the remaining ones are
fixed here.  In net_kern.c, I'm almost sure that save trick is not needed
anymore, but I've not verified it.
Signed-off-by: default avatarPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: default avatarJeff Dike <jdike@linux.intel.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8c840835
...@@ -347,10 +347,9 @@ static void eth_configure(int n, void *init, char *mac, ...@@ -347,10 +347,9 @@ static void eth_configure(int n, void *init, char *mac,
struct uml_net *device; struct uml_net *device;
struct net_device *dev; struct net_device *dev;
struct uml_net_private *lp; struct uml_net_private *lp;
int save, err, size; int err, size;
size = transport->private_size + sizeof(struct uml_net_private) + size = transport->private_size + sizeof(struct uml_net_private);
sizeof(((struct uml_net_private *) 0)->user);
device = kzalloc(sizeof(*device), GFP_KERNEL); device = kzalloc(sizeof(*device), GFP_KERNEL);
if (device == NULL) { if (device == NULL) {
...@@ -409,12 +408,6 @@ static void eth_configure(int n, void *init, char *mac, ...@@ -409,12 +408,6 @@ static void eth_configure(int n, void *init, char *mac,
*/ */
(*transport->kern->init)(dev, init); (*transport->kern->init)(dev, init);
/* lp.user is the first four bytes of the transport data, which
* has already been initialized. This structure assignment will
* overwrite that, so we make sure that .user gets overwritten with
* what it already has.
*/
save = lp->user[0];
*lp = ((struct uml_net_private) *lp = ((struct uml_net_private)
{ .list = LIST_HEAD_INIT(lp->list), { .list = LIST_HEAD_INIT(lp->list),
.dev = dev, .dev = dev,
...@@ -428,8 +421,7 @@ static void eth_configure(int n, void *init, char *mac, ...@@ -428,8 +421,7 @@ static void eth_configure(int n, void *init, char *mac,
.write = transport->kern->write, .write = transport->kern->write,
.add_address = transport->user->add_address, .add_address = transport->user->add_address,
.delete_address = transport->user->delete_address, .delete_address = transport->user->delete_address,
.set_mtu = transport->user->set_mtu, .set_mtu = transport->user->set_mtu });
.user = { save } });
init_timer(&lp->tl); init_timer(&lp->tl);
spin_lock_init(&lp->lock); spin_lock_init(&lp->lock);
......
...@@ -40,7 +40,7 @@ struct uml_net_private { ...@@ -40,7 +40,7 @@ struct uml_net_private {
void (*add_address)(unsigned char *, unsigned char *, void *); void (*add_address)(unsigned char *, unsigned char *, void *);
void (*delete_address)(unsigned char *, unsigned char *, void *); void (*delete_address)(unsigned char *, unsigned char *, void *);
int (*set_mtu)(int mtu, void *); int (*set_mtu)(int mtu, void *);
int user[1]; char user[0];
}; };
struct net_kern_info { struct net_kern_info {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment