IP Library Granted Patent US 8,533,418
Granted Patent B2
US 8,533,418 · App. 12/827,740 · Granted Sep 10, 2013

Memory allocation with identification of requesting loadable kernel module

Inventors: Marco Cabrera Escandell (Austin, TX); Lucas McLane (Austin, TX); Eduardo Reyes (Austin, TX)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,533,418
App. No.
12/827,740
Granted
Sep 10, 2013
Kind
B2
Abstract

A technique that supports improved debugging of kernel loadable modules (KLMs) that involves allocating a first portion of a memory and detecting a first kernel loadable module (KLM) requesting an allocation of at least a portion of the memory. The first KLM is then loaded into the first portion of the memory and a first identifier is associated with the first KLM and the first portion. The access of a second portion of the memory by the first KLM, the second portion being distinct from the first portion is detected and an indication that the first KLM has accessed the second portion is generated.

Claims (79)

1. A method comprising:

allocating a first portion of a memory;

detecting a first kernel loadable module (KLM) requesting an allocation of at least a portion of the memory;

loading the first KLM into the first portion of the memory;

associating a first identifier with the first KLM and the first portion;

detecting access of a second portion of the memory by the first KLM, the second portion being distinct from the first portion;

generating an indication that the first KLM has accessed the second portion;

allocating a third portion of the memory, the third portion being distinct from the first and second portions;

detecting a second KLM requesting an allocation of at least a portion of the memory;

associating a second identifier with the third portion and the second KLM;

loading the second KLM into the third portion and a part of the first portion; and

associating the part of the first portion with the second identifier.

2. The method according to claim 1 and further comprising displaying the indication and determining, by a user, an action to take in response to the displayed indication.

3. The method according to claim 1 and further comprising storing the indication, wherein the indication is a storage key and wherein the association between the first identifier, the KLM and the first portion is stored in a table.

4. The method according to claim wherein the memory comprises one of virtual memory or physical memory.

5. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:

allocate a first portion of a memory; detect a first kernel loadable module (KLM) requesting an allocation of at least a portion of the memory;

load the first KLM into the first portion of the memory;

associate a first identifier with the first KLM and the first portion;

detect access of a second portion of the memory by the first KLM, the second portion being distinct from the first portion;

generate an indication that the first KLM has accessed the second portion;

allocate a third portion of the memory, the third portion being distinct from the first and second portions;

detect a second KLM requesting an allocation of at least a portion of the memory;

associate a second identifier with the third portion and the second KLM;

load the second KLM into the third portion and a part of the first portion; and

associate the part of the first portion with the second identifier.

6. The computer program product according to claim 5 , wherein the computer readable program further causes the computing device to display the indication to allow a user to determine an appropriate action.

7. The computer program product according to claim 5 , wherein the computer readable program further causes the computing device to store the indication, wherein the indication is a storage key, and wherein the association between the first identifier, the KLM and the first portion is stored in a table.

8. The computer program product according to claim 5 , wherein the memory comprises one of virtual memory or physical memory.

9. An apparatus, comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:

allocate a first portion of a memory;

detect a first kernel loadable module (KLM) requesting an allocation of at least a portion of the memory;

load the first KLM into the first portion of the memory;

associate a first identifier with the first KLM and the first portion;

detect access of a second portion of the memory by the first KLM, the second portion being distinct from the first portion;

generate an indication that the first KLM has accessed the second portion;

allocate a third portion of the memory, the third portion being distinct from the first and second portions;

detect a second KLM requesting an allocation of at least a portion of the memory;

associate a second identifier with the third portion and the second KLM; and

load the second KLM into the third portion and a part of the first portion; and associate the part of the first portion with the second identifier.

10. The apparatus according to claim 8 , wherein the instructions further cause the processor to display the indication to allow a user to determine an appropriate action.

11. The apparatus according to claim 8 , wherein the instructions further cause the processor to store the indication, wherein the indicator is a storage key, and wherein the association between the first identifier, the KLM and the first portion is stored in a table.

12. The apparatus according to claim 8 , wherein the memory comprises one of virtual memory or physical memory.

13. A method comprising:

allocating a first portion of as memory;

detecting a first kernel loadable module (KLM) requesting an allocation of at least a portion of the memory;

loading the first KLM into the first portion of the memory;

associating a first identifier with the first KLM and the first portion;

detecting access of a second portion of the memory by the first KLM, the second portion being distinct from the first portion;

generating an indication that the first KLM has accessed the second portion;

allocating a third portion of the memory, the third portion being distinct from the first and second portions;

detecting a second KLM requesting an allocation of at least a portion of the memory;

associating the first identifier with the third portion and the second KLM in addition to the first portion and the first KLM; and

loading the second KLM into the third portion.

14. A computer program product comprising as non-transitory computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:

allocate a first portion of a memory; detect a first kernel loadable module (KLM) requesting an allocation of at least a portion of the memory;

load the first KLM into the first portion of the memory;

associate a first identifier with the first KLM and the first portion;

detect access of a second portion of the memory by the first KLM, the second portion being distinct from the first portion;

generate an indication that the first KLM has accessed the second portion;

allocate a third portion of the memory, the third portion being distinct from the first and second portions;

detect a second KLM requesting an allocation of at least a portion of the memory;

associate the first identifier with the third portion and the second KLM in addition to the first portion and the first KLM; and

load the second KLM into the third portion.

15. An apparatus, comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:

allocate a first portion of a memory;

detect a first kernel loadable module (KLM) requesting an allocation of at least a portion of the memory;

load the first KLM into the first portion of the memory;

associate a first identifier with the first KLM and the first portion;

detect access of a second portion of the memory by the first KLM, the second portion being distinct from the first portion;

generate an indication that the first KLM has accessed the second portion;

allocate a third portion of the memory, the third portion being distinct from the first and second portions;

detect a second KLM requesting an allocation of at least a portion of the memory;

associate the first identifier with the third portion and the second KLM in addition to the first portion and the first KLM; and

load the second KLM into the third portion.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2010
From: ESCANDELL, MARCO CABRERA; MCLANE, LUCAS; REYES, EDUARDO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 024689/0475 →
Continuity (1)
Related Publication 20120005445A1 · Jan 5, 2012