Project

General

Profile

Actions

Feature #6884

closed

Feature #6880: Investigate what dependent modules should be analysed together to find well known bugs

Example of multi-module dependency for detecting data races

Added by Vadim Mutilin about 8 years ago. Updated almost 8 years ago.

Status:
Closed
Priority:
High
Category:
Program fragments generation
Target version:
-
Start date:
02/19/2016
Due date:
% Done:

0%

Estimated time:
Published in build:

Description

The module drivers/net/wireless/rndis_wlan.ko
contains struct driver_info with handlers
.bind = rndis_wlan_bind
.indication = rndis_wlan_indication

rndis_wlan_bind access shared data priv->current_command_oid using lock mutex_lock(&priv->command_lock);
while rndis_wlan_indication access it without locks
thus data race is signalled.

Investigation of that case leads to understanding that indicate handler rndis_wlan_indication is called from the other module by function rndis_command (defined in drivers/net/usb/rndis_host.c) and that function is called from rndis_wlan.ko under mutex_lock(&priv->command_lock) (e.g. see rndis_query_oid).
Thus access to priv->current_command_oid is protected in rndis_wlan_indication.

Details of race detection configuration

NewRefinementStrategy, withoutRefinementLimit, without ET_FILTER, ignoreEmptyLockset, probeFilter+disconnectFilter
linux-3.16-rc1
drivers/net/wireless/rndis_wlan.ko
entry_point_struct_rndis_wlan_private_*current_command_oid

Actions #1

Updated by Evgeny Novikov about 8 years ago

  • Category changed from Environment models to Program fragments generation
  • Priority changed from Normal to High
  • Parent task changed from #6563 to #6880

First of all we need to understand how to prepare a verification object that can help to resolve the issue.

Actions #2

Updated by Alexey Polushkin almost 8 years ago

This module requires 'drivers/net/usb/rndis_host.ko' module. Any strategy ('cluster size' parameter equals 2 or more) creates required group.

Actions #3

Updated by Evgeny Novikov almost 8 years ago

  • Status changed from New to Closed

For me it is enough.

Actions

Also available in: Atom PDF