Bug#721147: zaphfc: memory leak - skbuff

Tzafrir Cohen tzafrir at debian.org
Wed Aug 28 13:53:08 UTC 2013


Package: dahdi-source
Version: 1:2.6.1+dfsg2-1
Severity: normal

A user reports the following issue with a system that has a DAHDI device
using the ZapHFC driver:

Everything works nicely, except the zaphfc driver is leaking skbuff
kernel memory at a rate of ~1 KiByte per minute. Please see kmemleak
output below. It took me a while to figure this out, because the
Asterisk machine has 8 GB of RAM.

I am no expert with skb functionality, but from what I could gather
reading the driver source code file base.c, it appears the leak is
occuring in function hfc_frame_arrived.  That dev_alloc_skb is
apparantly not freed when required.  Symptom of the leak is the line
SUnreclaim in /proc/meminfo steadily increasing and of course kmemleak
thread reporting unreferenced objects.

unreferenced object 0xffff880211868200 (size 256):
  comm "hardirq", pid 0, jiffies 4305662577 (age 35733.616s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<ffffffff816cba06>] kmemleak_alloc+0x26/0x50
    [<ffffffff8118651b>] kmem_cache_alloc+0xab/0x170
    [<ffffffff815d6cc4>] build_skb+0x34/0x1c0
    [<ffffffff815da9b2>] __netdev_alloc_skb+0xa2/0xf0
    [<ffffffffa03be793>] hfc_frame_arrived+0xf3/0x1e0 [zaphfc]
    [<ffffffffa03bea6c>] hfc_interrupt+0x1ec/0x790 [zaphfc]
    [<ffffffff810ee475>] handle_irq_event_percpu+0x55/0x210
    [<ffffffff810ee67e>] handle_irq_event+0x4e/0x80
    [<ffffffff810f1894>] handle_fasteoi_irq+0x64/0x120
    [<ffffffff810166f2>] handle_irq+0x22/0x40
    [<ffffffff81700caa>] do_IRQ+0x5a/0xe0
    [<ffffffff816f672d>] ret_from_intr+0x0/0x15
    [<ffffffff8158d620>] cpuidle_enter_tk+0x10/0x20
    [<ffffffff8158d1df>] cpuidle_idle_call+0xaf/0x2b0
    [<ffffffff8101dacf>] cpu_idle+0xcf/0x120
    [<ffffffff816c8f62>] rest_init+0x72/0x80

-- System Information:
Debian Release: 7.1
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=he_IL.utf8, LC_CTYPE=he_IL.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dahdi-source depends on:
ii  bzip2             1.0.6-4
ii  debhelper         9.20120909
ii  module-assistant  0.11.4

Versions of packages dahdi-source recommends:
ii  dahdi-linux  1:2.6.1+dfsg2-1

dahdi-source suggests no packages.

-- no debconf information



More information about the Pkg-voip-maintainers mailing list