Project

General

Profile

Actions

Bug #3351

open

Handling error cases of callbacks in envgen for more than two structures

Added by Vadim Mutilin over 11 years ago. Updated over 9 years ago.

Status:
Open
Priority:
Normal
Assignee:
Category:
Environment Generation
Start date:
08/21/2012
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:

Description

If some callback returns error than current generated code will goto module_exit label thus skiping all required callback calls for the other structures.

For example (drivers/net/ethernet/calxeda/xgmac.ko):
1. structure 1: successful xgmac_probe (== 0)
2. structure 2: error case of xgmac_open (< 0)
3. goto module_exit skipping xgmac_remove from structure 1


Related issues 1 (1 open0 closed)

Related to Linux Driver Verification - Bug #1313: Infinite sequence models are flawedNewVadim Mutilin06/02/2011

Actions
Actions #1

Updated by Vadim Mutilin over 11 years ago

  • Assignee changed from Ilja Zakharov to Ilya Shchepetkov

fix available in branch fix_negative_result
checked on drivers/net/ethernet/calxeda/xgmac.ko with rule 32_7

Actions #2

Updated by Ilya Shchepetkov about 11 years ago

This fix does not work for some modules. Example:

/43_1a/drivers/gpu/drm/gma500/psb_intel_lvds.c.prepared:1401:4: error: unknown type name 'label__drm_connector_helper_funcs'

  label__drm_connector_helper_funcs
    psb_intel_lvds_connector_helper_funcs_6: {
    /*reset state of the current structure*/

  }
  break;

Actions #3

Updated by Evgeny Novikov over 9 years ago

  • Assignee changed from Ilya Shchepetkov to Vadim Mutilin
Actions

Also available in: Atom PDF