Project

General

Profile

Bug #124

batman-adv 0.2-alpha: possible[tm] regression in packet aggregation

Added by Simon Wunderlich over 12 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Assume we have 2 "threads":

Thread1:

add_packet_list()

-> set_outstanding_packets_timer()

calls spin_trylock(&packets_timer_lock), acquires the lock, and calls

-> cancel_delayed_work_sync(&send_outstanding_packets_wq);

Thread 2:

Workqueue threads, calls

-> set_oustanding_packets()

Assumption:

Thread 2 jumps between the spin_trylock() and cancel_delayed_work_sync(). Then Thread 1 holds, Thread 2 tries to acquire it and waits. Thread 1 then waits for Thread 2 to complete within cancel_delayed_work_sync(). This is a deadlock/lifelock.

Its not very likely that it happens, but it might happen, so i'm opening this ticket. ;)

History

#1

Updated by Marek Lindner about 12 years ago

  • Status changed from New to Closed

has been fixed in r1247

#2

Updated by Anonymous over 10 years ago

  • Assignee deleted (Anonymous)
  • Category set to 2
#3

Updated by Sven Eckelmann over 4 years ago

  • Target version set to 0.2

Also available in: Atom PDF