Bug 7163

Summary: Memory leak with LG-81 motherboard
Product: ACPI Reporter: Roger Lucas (roger)
Component: ACPICA-CoreAssignee: acpi_aml-interpreter
Status: REJECTED DUPLICATE    
Severity: high CC: acpi-bugzilla, trenn
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.17.13 Subsystem:
Regression: --- Bisected commit-id:
Attachments: DSDT information

Description Roger Lucas 2006-09-16 05:04:33 UTC
Hardware Environment:
Intel Celeron 2.8GHz CPU, Abit LG-81 motherboard, 512 MB ram, SATA 160GB HDD

Software Environment:
Debian Sarge installation with the updated kernel and running from an LVM root.

Problem Description:
The "acpi_operand" allocation in the kernel keeps increasing until memory is
exhausted.  This happens in all kernels that I have tried, up to and including
2.6.17.13.  

Steps to reproduce:
Boot the system as described above with ACPI enabled.  Run the command "cat
/proc/slabinfo | grep acpi_operand" and watch the allocation increase.

I have tried all the different BIOS for this motherboard and they all have the
same problem.

DMESG output:
mouse:~# dmesg
Linux version 2.6.17.13.rwl1 (root@deb1) (gcc version 3.3.5 (Debian 1:3.3.5-13))
#1 Fri Sep 15 20:13:23 BST 2006
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
 BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000001f7f0000 (usable)
 BIOS-e820: 000000001f7f0000 - 000000001f7f3000 (ACPI NVS)
 BIOS-e820: 000000001f7f3000 - 000000001f800000 (ACPI data)
 BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
 BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
503MB LOWMEM available.
found SMP MP-table at 000f5400
On node 0 totalpages: 129008
  DMA zone: 4096 pages, LIFO batch:0
  Normal zone: 124912 pages, LIFO batch:31
DMI 2.3 present.
ACPI: RSDP (v000 IntelR                                ) @ 0x000f9540
ACPI: RSDT (v001 IntelR AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x1f7f3040
ACPI: FADT (v001 IntelR AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x1f7f30c0
ACPI: BOOT (v001 IntelR AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x1f7f79c0
ACPI: MCFG (v001 IntelR AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x1f7f7b40
ACPI: MADT (v001 IntelR AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x1f7f7a40
ACPI: DSDT (v001 INTELR AWRDACPI 0x00001000 MSFT 0x0100000e) @ 0x00000000
ACPI: PM-Timer IO Port: 0x408
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 15:4 APIC version 20
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] disabled)
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] disabled)
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 4, version 32, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 20000000 (gap: 1f800000:c0800000)
Built 1 zonelists
Kernel command line: root=/dev/mapper/clientstore-root ro
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 2048 (order: 11, 8192 bytes)
Detected 2828.444 MHz processor.
Using pmtmr for high-res timesource
Console: colour VGA+ 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 503972k/516032k available (1560k kernel code, 11452k reserved, 599k
data, 256k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 5663.32 BogoMIPS (lpj=11326652)
Security Framework v1.0.0 initialized
Mount-cache hash table entries: 512
CPU: After generic identify, caps: bfebfbff 20100000 00000000 00000000 0000651d
00000000 00000001
CPU: After vendor identify, caps: bfebfbff 20100000 00000000 00000000 0000651d
00000000 00000001
monitor/mwait feature present.
using mwait in idle threads.
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After all inits, caps: bfebfbff 20100000 00000000 00000180 0000651d
00000000 00000001
CPU: Intel(R) Celeron(R) CPU 2.80GHz stepping 09
Checking 'hlt' instruction... OK.
SMP alternatives: switching to UP code
Freeing SMP alternatives: 0k freed
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1
checking if image is initramfs... it is
Freeing initrd memory: 4358k freed
NET: Registered protocol family 16
EISA bus registered
ACPI: bus type pci registered
PCI: Using MMCONFIG
Setting up standard PCI resources
ACPI: Subsystem revision 20060127
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
Boot video device is 0000:00:02.0
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
PCI: Transparent bridge - 0000:00:1e.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 *10 11)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 10 11) *0, disabled.
ACPI: PCI Interrupt Link [LNKC] (IRQs *3 4 5 7 10 11)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 10 *11)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 10 11) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 10 11) *0, disabled.
ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 5 7 10 11) *0, disabled.
ACPI: PCI Interrupt Link [LNK1] (IRQs 3 4 *5 7 10 11)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 15 devices
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
pnp: 00:0b: ioport range 0x400-0x4bf could not be reserved
PCI: Ignore bogus resource 6 [0:0] of 0000:00:02.0
PCI: Bridge: 0000:00:1c.0
  IO window: d000-dfff
  MEM window: fde00000-fdefffff
  PREFETCH window: fdb00000-fdbfffff
PCI: Bridge: 0000:00:1e.0
  IO window: e000-efff
  MEM window: fdd00000-fddfffff
  PREFETCH window: fdc00000-fdcfffff
ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:00:1c.0 to 64
PCI: Setting latency timer of device 0000:00:1e.0 to 64
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 16384 bind 8192)
TCP reno registered
Simple Boot Flag at 0x7f set to 0x1
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:00:1c.0 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:1c.0:pcie00]
Allocate Port Service[0000:00:1c.0:pcie02]
Allocate Port Service[0000:00:1c.0:pcie03]
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
smapi::smapi_init, ERROR invalid usSmapiID
mwave: tp3780i::tp3780I_InitializeBoardData: Error: SMAPI is not available on
this machine
mwave: mwavedd::mwave_init: Error: Failed to initialize board data
mwave: mwavedd::mwave_init: Error: Failed to initialize
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
FDC 0 is a post-1991 82077
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
xd: Out of memory.
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
EISA: Probing bus 0 at eisa.0
EISA: Detected 0 cards.
TCP bic registered
Using IPI Shortcut mode
ACPI wakeup devices:
PCI0 PEX0 PEX1 PEX2 PEX3 PEX4 PEX5 HUB0 UAR1 USB0 USB1 USB2 USB3 USBE AC97 AZAL
ACPI: (supports S0 S3 S4 S5)
Freeing unused kernel memory: 256k freed
NET: Registered protocol family 1
input: AT Translated Set 2 keyboard as /class/input/input0
ACPI: Fan [FAN] (on)
ACPI: Thermal Zone [THRM] (41 C)
usbcore: registered new driver usbfs
usbcore: registered new driver hub
USB Universal Host Controller Interface driver v3.0
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 23 (level, low) -> IRQ 193
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:1d.0: irq 193, io base 0x0000fe00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 201
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.1: irq 201, io base 0x0000fd00
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 209
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.2: irq 209, io base 0x0000fc00
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.3[D] -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:00:1d.3 to 64
uhci_hcd 0000:00:1d.3: UHCI Host Controller
uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 4
uhci_hcd 0000:00:1d.3: irq 169, io base 0x0000fb00
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.7[A] -> GSI 23 (level, low) -> IRQ 193
PCI: Setting latency timer of device 0000:00:1d.7 to 64
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 5
PCI: cache line size of 128 is not supported by device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: irq 193, io mem 0xfdfff000
ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb5: configuration #1 chosen from 1 choice
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 8 ports detected
ICH7: IDE controller at PCI slot 0000:00:1f.1
ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 18 (level, low) -> IRQ 209
ICH7: chipset revision 1
ICH7: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xfa00-0xfa07, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xfa08-0xfa0f, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
SCSI subsystem initialized
libata version 1.20 loaded.
Probing IDE interface ide1...
tg3.c:v3.59.1 (August 25, 2006)
ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:01:00.0 to 64
eth0: Tigon3 [partno(BCM95789) rev 4101 PHY(5750)] (PCI Express)
10/100/1000BaseT Ethernet 00:50:8d:7e:80:87
eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] Split[0] WireSpeed[1] TSOcap[1]
eth0: dma_rwctrl[76180000] dma_mask[64-bit]
ata_piix 0000:00:1f.2: version 1.05
ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 201
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ata1: SATA max UDMA/133 cmd 0xF900 ctl 0xF802 bmdma 0xF500 irq 201
ata2: SATA max UDMA/133 cmd 0xF700 ctl 0xF602 bmdma 0xF508 irq 201
ata1: dev 0 cfg 49:2f00 82:346b 83:7d01 84:4023 85:3469 86:3c01 87:4023 88:207f
ata1: dev 0 ATA-7, max UDMA/133, 312581808 sectors: LBA48
ata1: dev 0 configured for UDMA/133
scsi0 : ata_piix
ata2: SATA port has no device.
scsi1 : ata_piix
  Vendor: ATA       Model: ST3160812AS       Rev: 3.AA
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
 sda: sda1 sda2
sd 0:0:0:0: Attached scsi disk sda
Probing IDE interface ide0...
Probing IDE interface ide1...
device-mapper: 4.6.0-ioctl (2006-02-17) initialised: dm-devel@redhat.com
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Real Time Clock Driver v1.12ac
hw_random hardware driver 1.0.0 loaded
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected an Intel 945G Chipset.
agpgart: Detected 7932K stolen memory.
agpgart: AGP aperture is 256M @ 0xd0000000
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
input: ImExPS/2 Generic Explorer Mouse as /class/input/input1
input: PC Speaker as /class/input/input2
EXT3 FS on dm-0, internal journal
md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: bitmap version 4.39
kjournald starting.  Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
ReiserFS: dm-1: found reiserfs format "3.6" with standard journal
ReiserFS: dm-1: using ordered data mode
ReiserFS: dm-1: journal params: device dm-1, size 8192, journal first block 18,
max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: dm-1: checking transaction log (dm-1)
ReiserFS: dm-1: Using r5 hash to sort names
NET: Registered protocol family 17
tg3: eth0: Link is up at 100 Mbps, full duplex.
tg3: eth0: Flow control is on for TX and on for RX.
tg3: eth0: Link is up at 100 Mbps, full duplex.
tg3: eth0: Flow control is on for TX and on for RX.
ACPI: Power Button (FF) [PWRF]
ACPI: Power Button (CM) [PWRB]
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
IPv6 over IPv4 tunneling driver
ReiserFS: dm-3: found reiserfs format "3.6" with standard journal
ReiserFS: dm-3: using ordered data mode
ReiserFS: dm-3: journal params: device dm-3, size 8192, journal first block 18,
max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: dm-3: checking transaction log (dm-3)
ReiserFS: dm-3: Using r5 hash to sort names
w83627ehf 9191-0290: fan3 low limit and alarm disabled
HTB: quantum of class 10001 is big. Consider r2q change.
u32 classifier
    OLD policer on
eth0: no IPv6 routers present
mouse:~#
Comment 1 Roger Lucas 2006-09-16 05:06:33 UTC
Created attachment 9029 [details]
DSDT information

Result from "cat /proc/acpi/dsdt" > dsdt-bios15.dat
Comment 2 fiodor.f.suietov 2006-09-17 04:27:20 UTC
Actually Thermal providing AML code in the DSDT contains a number
of places mentioned in the Bug 6514 as provoking memory leak.

Let's consider the workaround proposed by the FreeBSD guys.
The following updates of the DSDT could avoid memory leak
of Bug 6514 kind without the appropriate AML interpreter fix:

    Method (STOS, 3, NotSerialized)
    {
        Store (GBYT (0x4E), Local0)
        And (Local0, 0xF8, Local1)
//        Or (Local1, 0x01, Local1)
        Store (Or (Local1, 0x01), Local1)
        SBYT (0x4E, Local1)
        SBYT (0x55, Arg1)
        SBYT (0x56, Arg0)
        SBYT (0x4E, Local0)
    }

    Method (STHY, 3, NotSerialized)
    {
        Store (GBYT (0x4E), Local0)
        And (Local0, 0xF8, Local1)
//        Or (Local1, 0x01, Local1)
        Store (Or (Local1, 0x01), Local1)
        SBYT (0x4E, Local1)
        SBYT (0x53, Arg1)
        SBYT (0x54, Arg0)
        SBYT (0x4E, Local0)
    }

    Method (RTMP, 0, NotSerialized)
    {
        Store (GBYT (0x4E), Local0)
        And (Local0, 0xF8, Local1)
//        Or (Local1, 0x01, Local1)
        Store (Or (Local1, 0x01), Local1)
        SBYT (0x4E, Local1)
        Store (GBYT (0x50), Local1)
        Store (GBYT (0x51), Local2)
        SBYT (0x4E, Local0)
        ShiftLeft (Local1, 0x08, Local1)
        Or (Local1, Local2, Local3)
        ShiftRight (Local3, 0x07, Local3)
        ShiftLeft (Local3, 0x02, Local1)
        Add (Local3, Local1, Local3)
        Add (Local3, 0x0AAC, Local3)
        If (LGreater (Local3, 0x0E8A))
        {
            Store (0x0AAC, Local3)
        }

        Return (Local3)
    }

    Method (SBEP, 2, NotSerialized)
    {
        Store (GBYT (0x4E), Local0)
//        And (Local0, 0xF8, Local1)
        Store (And (Local0, 0xF8), Local1)
        SBYT (0x4E, Local1)
        Store (GBYT (0x56), Local1)
        And (Local1, Arg0, Local1)
//        Or (Local1, Arg1, Local1)
        Store (Or (Local1, Arg1), Local1)
        SBYT (0x56, Local1)
        SBYT (0x4E, Local0)
        Return (Local1)
    }
...
    Method (RFAN, 0, NotSerialized)
    {
        Store (GBYT (0x4E), Local0)
//        And (Local0, 0xF8, Local1)
        Store (And (Local0, 0xF8), Local1)
        SBYT (0x4E, Local1)
        GBYT (0x41)
        GBYT (0x42)
        Store (GBYT (0x43), Local1)
        Not (Local1, Local1)
        And (Local1, 0xC0, Local2)
        Store (GBYT (0x44), Local1)
        Not (Local1, Local1)
        And (Local1, 0x08, Local1)
        Or (Local2, Local1, Local2)
        Store (GBYT (0x46), Local1)
        Not (Local1, Local1)
        And (Local1, 0x06, Local1)
        Or (Local2, Local1, Local2)
        And (Local0, 0xF8, Local1)
//        Or (Local1, 0x04, Local1)
        Store (Or (Local1, 0x04), Local1)
        SBYT (0x4E, Local1)
        Store (GBYT (0x59), Local1)
        And (Local1, 0xC0, Local3)
        Store (GBYT (0x5A), Local1)
        And (Local1, 0x08, Local1)
        Or (Local1, Local3, Local3)
        Store (GBYT (0x5A), Local1)
        And (Local1, 0x04, Local1)
        ShiftRight (Local1, 0x01, Local1)
        Or (Local1, Local3, Local3)
        Store (GBYT (0x5B), Local1)
        And (Local1, 0x80, Local1)
        ShiftRight (Local1, 0x06, Local1)
        Or (Local1, Local3, Local3)
        And (Local2, Local3, Local2)
        SBYT (0x4E, Local0)
        Return (Local2)
    }
Comment 3 fiodor.f.suietov 2006-09-18 01:38:57 UTC
Linux version 2.6.17.13 does not contain the memory leak fix proposed in Bug 6514. It is certainly presented since 2.6.18.rc1
Comment 4 Roger Lucas 2006-09-18 01:47:32 UTC
Hi Fiodor,

Thanks for all your work tracking this down.  I checked the code in the
2.6.17.13 tree and came to the same conclusion about the patch not being there :-)
When you say "It is certainly presented since 2.6.18.rc1", do you mean that the
patch is applied to the 2.6.18.rc1 Linus kernel release or do you mean that the
problem still exists with the code in the 2.6.18.rc1 Linus kernel release? 

Best regards,

Roger
Comment 5 fiodor.f.suietov 2006-09-18 02:41:08 UTC
Hi Roger,

I meant the patch ;-)

Thanks,
 Fiodor
Comment 6 Roger Lucas 2006-09-18 03:57:37 UTC
Hi Fiodor,
These DSDT code changes fix the leak.  The ACPI works perfectly now with
2.6.17.13.  Thank you for all your help on this.
BR, Roger
Comment 7 Len Brown 2006-09-19 19:42:10 UTC
Please verify that 2.6.18-rc7 has no leak -- when running 
the un-modified DSDT.  On the assumption the answer is "yes", 
closing this as a duplicate of bug 6514, which will surely 
need to be back-ported to 2.6.17.stable. 
Comment 8 Len Brown 2006-09-19 19:42:47 UTC

*** This bug has been marked as a duplicate of 6514 ***
Comment 9 Roger Lucas 2006-09-21 15:03:50 UTC
Bug not present in 2.6.18 with the original DSDT from the BIOS.