Subject: sock_ioctl sleeping while atomic warning during boot.

From: Dave Jones <[email-masked]>
Date: Thu, 20 Dec 2012 21:24:09 -0500

Seen on Linus tree as of 810a4855513b9cb1a191301eb5e4e28b276cc318

 BUG: sleeping function called from invalid context at mm/slub.c:925
 in_atomic(): 1, irqs_disabled(): 0, pid: 364, name: systemd-udevd
 2 locks on stack by systemd-udevd/364:
  #0: held:     (rtnl_mutex){+.+.+.}, instance: ffffffff81d1c038, at: [<ffffffff815d82d7>] rtnl_lock+0x17/0x20
  #1: held:     (devnet_rename_seq){+.+.+.}, instance: ffffffff81d1ba60, at: [<ffffffff815c9737>] dev_change_name+0x67/0x2a0
 Pid: 364, comm: systemd-udevd Not tainted 3.7.0+ #32
 Call Trace:
  [<ffffffff810a892b>] __might_sleep+0x14b/0x210
  [<ffffffff811ce833>] __kmalloc_track_caller+0x63/0x2d0
  [<ffffffff8146810f>] ? device_rename+0x5f/0x130
  [<ffffffff8119190a>] kstrdup+0x3a/0x70
  [<ffffffff8146810f>] device_rename+0x5f/0x130
  [<ffffffff815c97d3>] dev_change_name+0x103/0x2a0
  [<ffffffff815cb851>] dev_ifsioc+0x251/0x3b0
  [<ffffffff815cbb5b>] dev_ioctl+0x1ab/0x840
  [<ffffffff81367588>] ? __const_udelay+0x28/0x30
  [<ffffffff812f7a49>] ? avc_has_perm_flags+0x29/0x2b0
  [<ffffffff815aa86d>] sock_do_ioctl+0x5d/0x70
  [<ffffffff815aa8fd>] sock_ioctl+0x7d/0x2c0
  [<ffffffff812f9d05>] ? inode_has_perm.isra.47.constprop.60+0x65/0xa0
  [<ffffffff811f1079>] do_vfs_ioctl+0x99/0x5a0
  [<ffffffff812f9dd7>] ? file_has_perm+0x97/0xb0
  [<ffffffff811f1611>] sys_ioctl+0x91/0xb0
  [<ffffffff81711480>] tracesys+0xdd/0xe2
 systemd-udevd[364]: renamed network interface eth0 to p6p1