Project

General

Profile

Actions

Feature #8588

closed

Support initialization of Linux kernel

Added by Evgeny Novikov about 7 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
Environment models
Target version:
-
Start date:
11/22/2017
Due date:
% Done:

0%

Estimated time:
Published in build:

Description

At the moment EMG respects initialization of modules independently on whether they are built as loadable modules or as a part of the kernel (indeed #6571 was implemented although I suggested a small improvement). Moreover, often it initializes the kernel itself when its parts are analyzed together with modules since the same API is used. Unfortunately this isn't correct sometimes.

First of all EMG assumes that there can be a single initialization function for a given module or a kernel part object file. For modules this assumption works but this isn't the case for kernel parts. For instance, drivers/cpufreq/cpufreq.c has 2 initialization functions init_cpufreq_transition_notifier_list and cpufreq_core_init.

The second issue is the order of initialization. As far as I understand EMG doesn't distinguish different kinds of initialization functions although they can be responsible for determining the call order. Although I didn't encounter any problems due to the incorrect initialization order, but they definitely happen if one will analyze together large chunks of the kernel code.


Related issues 1 (0 open1 closed)

Related to Klever - Feature #6571: Support modules without or with non-standard approaches to provide init and exit functionsClosedIlja Zakharov01/28/2016

Actions
Actions #1

Updated by Ilja Zakharov over 6 years ago

  • Status changed from New to Resolved

Implemented in 8066-abstract-translator.

Actions #2

Updated by Evgeny Novikov about 5 years ago

  • Status changed from Resolved to Closed

It seems that the branch was merged to master a long ago, but issues were not closed at that time.

Actions

Also available in: Atom PDF