1. 09 8月, 2016 1 次提交
    • S
      batman-adv: Modify mesh_iface outside sysfs context · 77d69d8c
      Sven Eckelmann 提交于
      The legacy sysfs interface to modify interfaces belonging to batman-adv
      is run inside a region holding s_lock. And to add a net_device, it has
      to also get the rtnl_lock. This is exactly the other way around than in
      other virtual net_devices and conflicts with netdevice notifier which
      executes inside rtnl_lock.
      
      The inverted lock situation is currently solved by executing the removal
      of netdevices via workqueue. The workqueue isn't executed inside
      rtnl_lock and thus can independently get the s_lock and the rtnl_lock.
      
      But this workaround fails when the netdevice notifier creates events in
      quick succession and the earlier triggered removal of a net_device isn't
      processed in the workqueue before the adding of the new netdevice (with
      same name) event is issued.
      
      Instead the legacy sysfs interface store events have to be enqueued in
      a workqueue to loose the s_lock. The worker is then free to get the
      required locks and the deadlock is avoided.
      Signed-off-by: NSven Eckelmann <sven@narfation.org>
      Signed-off-by: NMarek Lindner <mareklindner@neomailbox.ch>
      Signed-off-by: NSimon Wunderlich <sw@simonwunderlich.de>
      77d69d8c
  2. 04 7月, 2016 1 次提交
  3. 30 6月, 2016 4 次提交
  4. 10 5月, 2016 2 次提交
  5. 29 2月, 2016 3 次提交
  6. 23 2月, 2016 2 次提交
  7. 10 2月, 2016 1 次提交
  8. 02 2月, 2016 4 次提交
  9. 09 1月, 2016 2 次提交
  10. 25 8月, 2015 1 次提交
  11. 07 6月, 2015 2 次提交
    • S
      batman-adv: Add required includes to all files · 1e2c2a4f
      Sven Eckelmann 提交于
      The header files could not be build indepdent from each other. This is
      happened because headers didn't include the files for things they've used.
      This was problematic because the success of a build depended on the
      knowledge about the right order of local includes.
      
      Also source files were not including everything they've used explicitly.
      Instead they required that transitive includes are always stable. This is
      problematic because some transitive includes are not obvious, depend on
      config settings and may not be stable in the future.
      
      The order for include blocks are:
      
       * primary headers (main.h and the *.h file of a *.c file)
       * global linux headers
       * required local headers
       * extra forward declarations for pointers in function/struct declarations
      
      The only exceptions are linux/bitops.h and linux/if_ether.h in packet.h.
      This header file is shared with userspace applications like batctl and must
      therefore build together with userspace applications. The header
      linux/bitops.h is not part of the uapi headers and linux/if_ether.h
      conflicts with the musl implementation of netinet/if_ether.h. The
      maintainers rejected the use of __KERNEL__ preprocessor checks and thus
      these two headers are only in main.h. All files using packet.h first have
      to include main.h to work correctly.
      Reported-by: NMarkus Pargmann <mpa@pengutronix.de>
      Signed-off-by: NSven Eckelmann <sven@narfation.org>
      Signed-off-by: NMarek Lindner <mareklindner@neomailbox.ch>
      1e2c2a4f
    • A
      batman-adv: split name from variable for uint mesh attributes · 6f70eb75
      Antonio Quartulli 提交于
      Some mesh attributes are behind substructs in the
      batadv_priv object and for this reason the name cannot be
      used anymore to refer to them.
      
      This patch allows to specify the variable name where the
      attribute is stored inside batadv_priv instead of using the
      name
      Signed-off-by: NAntonio Quartulli <antonio@open-mesh.com>
      Signed-off-by: NMarek Lindner <mareklindner@neomailbox.ch>
      6f70eb75
  12. 29 5月, 2015 1 次提交
  13. 08 1月, 2015 1 次提交
  14. 08 7月, 2014 1 次提交
  15. 18 5月, 2014 2 次提交
  16. 22 3月, 2014 1 次提交
  17. 12 1月, 2014 1 次提交
  18. 09 1月, 2014 4 次提交
  19. 19 10月, 2013 2 次提交
  20. 10 10月, 2013 4 次提交