Ubuntu

[ath9] kswapd0: page allocation failure. order:1, mode:0x4020

Reported by Cristian Aravena Romero on 2011-03-04
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Linux
Fix Released
High
linux (Ubuntu)
Medium
Unassigned
Natty
Medium
Leann Ogasawara

Bug Description

SRU Justification:

Impact: Without the fix, users will experience a page allocation failure with the ath9k driver

Fix: Upstream commit 0d95521ea74735826cb2e28bebf6a07392c75bfa

Test Case: Boot without a patched kernel and you'll notice page allocation failures in your dmesg output. Boot with a patched kernel and the errors are no longer present.

See:
kernel dmesg 2.6.38-rc[4-7]
https://bugzilla.kernel.org/show_bug.cgi?id=28922
$ uname -a
Linux VGN-NS130FE 2.6.38-020638rc7-generic #201103020909 SMP Wed Mar 2 09:11:42 UTC 2011 x86_64 GNU/Linux

[274762.344172] kswapd0: page allocation failure. order:1, mode:0x4020
[274762.344178] Pid: 26, comm: kswapd0 Not tainted 2.6.38-020638rc4-generic
#201102081010
[274762.344180] Call Trace:
[274762.344183] <IRQ> [<ffffffff8110f213>] ?
__alloc_pages_slowpath+0x553/0x720
[274762.344196] [<ffffffff8110beff>] ? zone_watermark_ok+0x1f/0x30
[274762.344201] [<ffffffff8110f573>] ? __alloc_pages_nodemask+0x193/0x1d0
[274762.344205] [<ffffffff815a8884>] ? _raw_spin_lock_irqsave+0x34/0x50
[274762.344210] [<ffffffff81144a93>] ? alloc_pages_current+0xa3/0x110
[274762.344216] [<ffffffff8114e245>] ? allocate_slab+0x175/0x180
[274762.344219] [<ffffffff8114e840>] ? new_slab+0x30/0x170
[274762.344223] [<ffffffff8114fdb9>] ? __slab_alloc+0x1e9/0x250
[274762.344235] [<ffffffffa01090c9>] ? ath_rxbuf_alloc+0x39/0xc0 [ath]
[274762.344239] [<ffffffff81151428>] ? __kmalloc_node_track_caller+0x188/0x1e0
[274762.344244] [<ffffffffa01090c9>] ? ath_rxbuf_alloc+0x39/0xc0 [ath]
[274762.344248] [<ffffffff814ab22f>] ? __alloc_skb+0x7f/0x170
[274762.344252] [<ffffffffa01090c9>] ? ath_rxbuf_alloc+0x39/0xc0 [ath]
[274762.344260] [<ffffffffa022e884>] ? ath_rx_tasklet+0x294/0x600 [ath9k]
[274762.344266] [<ffffffffa022b2c8>] ? ath9k_tasklet+0xb8/0x180 [ath9k]
[274762.344270] [<ffffffff8106b3ba>] ? tasklet_action+0x6a/0x110
[274762.344273] [<ffffffff8106ad40>] ? __do_softirq+0xb0/0x1c0
[274762.344278] [<ffffffff8102fcfa>] ? ack_apic_level+0x7a/0xf0
[274762.344282] [<ffffffff8100cf1c>] ? call_softirq+0x1c/0x30
[274762.344285] [<ffffffff8100e875>] ? do_softirq+0x65/0xa0
[274762.344288] [<ffffffff8106aed5>] ? irq_exit+0x85/0x90
[274762.344292] [<ffffffff815b0cf9>] ? do_IRQ+0x69/0xe0
[274762.344295] [<ffffffff815a8f13>] ? ret_from_intr+0x0/0x15
[274762.344297] <EOI> [<ffffffff815a88d9>] ?
_raw_spin_unlock_irqrestore+0x19/0x30
[274762.344303] [<ffffffff811484c1>] ? isolate_freepages+0x111/0x1a0
[274762.344306] [<ffffffff81148680>] ? compaction_alloc+0x60/0x70
[274762.344309] [<ffffffff811534c8>] ? unmap_and_move+0x48/0x2f0
[274762.344312] [<ffffffff81153815>] ? migrate_pages+0xa5/0x140
[274762.344315] [<ffffffff81148620>] ? compaction_alloc+0x0/0x70
[274762.344318] [<ffffffff81148cc0>] ? compact_zone+0xa0/0x150
[274762.344321] [<ffffffff81148fca>] ? compact_zone_order+0xca/0x100
[274762.344326] [<ffffffff8111a05b>] ? balance_pgdat+0x4eb/0x5d0
[274762.344330] [<ffffffff8111a26b>] ? kswapd+0x12b/0x1a0
[274762.344333] [<ffffffff8111a140>] ? kswapd+0x0/0x1a0
[274762.344337] [<ffffffff810850e7>] ? kthread+0x97/0xa0
[274762.344341] [<ffffffff8100ce24>] ? kernel_thread_helper+0x4/0x10
[274762.344344] [<ffffffff81085050>] ? kthread+0x0/0xa0
[274762.344347] [<ffffffff8100ce20>] ? kernel_thread_helper+0x0/0x10
[274762.344349] Mem-Info:
[274762.344351] Node 0 DMA per-cpu:
[274762.344354] CPU 0: hi: 0, btch: 1 usd: 0
[274762.344357] CPU 1: hi: 0, btch: 1 usd: 0
[274762.344358] Node 0 DMA32 per-cpu:
[274762.344361] CPU 0: hi: 186, btch: 31 usd: 180
[274762.344363] CPU 1: hi: 186, btch: 31 usd: 181
[274762.344368] active_anon:334552 inactive_anon:83841 isolated_anon:20
[274762.344369] active_file:57732 inactive_file:58043 isolated_file:0
[274762.344370] unevictable:42 dirty:2414 writeback:0 unstable:0
[274762.344371] free:8641 slab_reclaimable:10621 slab_unreclaimable:9673
[274762.344372] mapped:170461 shmem:30731 pagetables:12009 bounce:0
[274762.344375] Node 0 DMA free:11556kB min:36kB low:44kB high:52kB
active_anon:0kB inactive_anon:0kB active_file:768kB inactive_file:1976kB
unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15668kB
mlocked:0kB dirty:0kB writeback:0kB mapped:1204kB shmem:0kB
slab_reclaimable:68kB slab_unreclaimable:312kB kernel_stack:0kB pagetables:4kB
unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[274762.344384] lowmem_reserve[]: 0 2883 2883 2883
[274762.344389] Node 0 DMA32 free:23008kB min:6848kB low:8560kB high:10272kB
active_anon:1338208kB inactive_anon:335364kB active_file:230160kB
inactive_file:230196kB unevictable:168kB isolated(anon):80kB isolated(file):0kB
present:2952660kB mlocked:168kB dirty:9656kB writeback:0kB mapped:680640kB
shmem:122924kB slab_reclaimable:42416kB slab_unreclaimable:38380kB
kernel_stack:3480kB pagetables:48032kB unstable:0kB bounce:0kB
writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[274762.344399] lowmem_reserve[]: 0 0 0 0
[274762.344403] Node 0 DMA: 3*4kB 3*8kB 4*16kB 6*32kB 4*64kB 4*128kB 1*256kB
2*512kB 3*1024kB 3*2048kB 0*4096kB = 11556kB
[274762.344413] Node 0 DMA32: 5438*4kB 8*8kB 14*16kB 0*32kB 1*64kB 1*128kB
3*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 23000kB
[274762.344423] 165982 total pagecache pages
[274762.344425] 19473 pages in swap cache
[274762.344427] Swap cache stats: add 650825, delete 631352, find
1249740/1303578
[274762.344429] Free swap = 3180904kB
[274762.344431] Total swap = 3574424kB
[274762.350609] 752624 pages RAM
[274762.350609] 153594 pages reserved
[274762.350609] 275668 pages shared
[274762.350609] 491506 pages non-shared
[274762.350609] SLUB: Unable to allocate memory on node -1 (gfp=0x20)
[274762.350609] cache: kmalloc-8192, object size: 8192, buffer size: 8192,
default order: 3, min order: 1
[274762.350609] node 0: slabs: 173, objs: 677, free: 0
[274762.358458] skbuff alloc of size 3904 failed

Changed in linux:
importance: Unknown → High
status: Unknown → Confirmed
tags: added: patch

Hi Cristian,

As requested in the upstream bug report, have you been able to test the suggested patch? If not, I've built a test kernel with the patch applied, care to test and let us know our results. The test kernel can be found at the following:

http://people.canonical.com/~ogasawara/lp728835/amd64/

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: New → Incomplete

Patch work fine =); not message (Call Trace) for my laptop

Hi Cristian. Thanks for testing, glad it looks like the patch resolves this issue for you. Care to post a comment to the upstream bug report letting them know as well. I'll submit this to the Ubuntu kernel team mailing list for consideration against Natty. Thanks.

Changed in linux:
status: Confirmed → Incomplete
Changed in linux:
status: Incomplete → Fix Released
Changed in linux (Ubuntu):
status: Incomplete → Fix Released
description: updated
Changed in linux (Ubuntu Natty):
assignee: nobody → Leann Ogasawara (leannogasawara)
importance: Undecided → Medium
status: New → In Progress
Herton R. Krzesinski (herton) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-natty' to 'verification-done-natty'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

Changed in linux (Ubuntu Natty):
status: In Progress → Fix Committed
tags: added: verification-needed-natty
Herton R. Krzesinski (herton) wrote :

@Cristian Aravena: can you test the natty kernel in proposed (2.6.38-11.49)? If it is not tested, the patch will be reverted from the official natty update (official updates require verification/testing of the patches).

Herton R. Krzesinski (herton) wrote :

Verification that this bug is fixed has not been completed by the deadline for the current
stable kernel release cycle. The change was reverted and this bug is being set to
incomplete.

In order to have this fix considered for reapplication to the kernel, please follow the
process documented here:

https://wiki.ubuntu.com/Kernel/StableReleaseCadence

Discussions about the new process tend to take place in #ubuntu-kernel on IRC, so please
contribute to the discussion there if you would like.

Thank you!

tags: added: verification-reverted-natty
removed: verification-needed-natty
Changed in linux (Ubuntu Natty):
status: Fix Committed → Incomplete
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.38-11.50

---------------
linux (2.6.38-11.50) natty-proposed; urgency=low

  [Herton R. Krzesinski]

  * Release Tracking Bug
    - LP: #848246

  [ Upstream Kernel Changes ]

  * Revert "eCryptfs: Handle failed metadata read in lookup"
  * Revert "KVM: fix kvmclock regression due to missing clock update"
  * Revert "ath9k: use split rx buffers to get rid of order-1 skb
    allocations"

linux (2.6.38-11.49) natty-proposed; urgency=low

  [Herton R. Krzesinski]

  * Release Tracking Bug
    - LP: #836903

  [ Adam Jackson ]

  * SAUCE: drm/i915/pch: Fix integer math bugs in panel fitting
    - LP: #753994

  [ Keng-Yu Lin ]

  * SAUCE: Input: ALPS - Enable Intellimouse mode for Lenovo Zhaoyang E47
    - LP: #632884, #803005

  [ Stefan Bader ]

  * [Config] Force perf to use libiberty for demangling
    - LP: #783660

  [ Tim Gardner ]

  * [Config] Add enic/fnic to udebs
    - LP: #801610

  [ Upstream Kernel Changes ]

  * eeepc-wmi: add keys found on EeePC 1215T
    - LP: #812644
  * eCryptfs: Handle failed metadata read in lookup
    - LP: #509180
  * pagemap: close races with suid execve, CVE-2011-1020
    - LP: #813026
    - CVE-2011-1020
  * report errors in /proc/*/*map* sanely, CVE-2011-1020
    - LP: #813026
    - CVE-2011-1020
  * close race in /proc/*/environ, CVE-2011-1020
    - LP: #813026
    - CVE-2011-1020
  * auxv: require the target to be tracable (or yourself), CVE-2011-1020
    - LP: #813026
    - CVE-2011-1020
  * deal with races in /proc/*/{syscall, stack, personality}, CVE-2011-1020
    - LP: #813026
    - CVE-2011-1020
  * vmscan: fix a livelock in kswapd
    - LP: #813797
  * mmc: Add PCI fixup quirks for Ricoh 1180:e823 reader
    - LP: #773524
  * mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency
    - LP: #773524
  * rose: Add length checks to CALL_REQUEST parsing, CVE-2011-1493
    - LP: #816550
    - CVE-2011-1493
  * pata_marvell: Add support for 88SE91A0, 88SE91A4
    - LP: #777325
  * GFS2: make sure fallocate bytes is a multiple of blksize, CVE-2011-2689
    - LP: #819572
    - CVE-2011-2689
  * Bluetooth: l2cap and rfcomm: fix 1 byte infoleak to userspace.
    - LP: #819569
    - CVE-2011-2492
  * drm/nv50-nvc0: work around an evo channel hang that some people see
    - LP: #583760
  * KVM: fix kvmclock regression due to missing clock update
    - LP: #795717
  * Add mount option to check uid of device being mounted = expect uid,
    CVE-2011-1833
    - LP: #732628
    - CVE-2011-1833
  * proc: fix oops on invalid /proc/<pid>/maps access, CVE-2011-1020
    - LP: #813026
    - CVE-2011-1020
  * ipv6: make fragment identifications less predictable, CVE-2011-2699
    - LP: #827685
    - CVE-2011-2699
  * ath9k: use split rx buffers to get rid of order-1 skb allocations
    - LP: #728835
  * perf: Fix software event overflow, CVE-2011-2918
    - LP: #834121
    - CVE-2011-2918
 -- Herton Ronaldo Krzesinski <email address hidden> Mon, 12 Sep 2011 17:23:38 -0300

Changed in linux (Ubuntu Natty):
status: Incomplete → Fix Released
Herton R. Krzesinski (herton) wrote :

Ignore the launchpad janitor, as stated in comment #8 this was reverted.

Changed in linux (Ubuntu Natty):
status: Fix Released → Incomplete

Please provide test kernel and I can commit to providing verification of fix.

tags: added: verification-needed-natty
removed: verification-reverted-natty
Changed in linux (Ubuntu Natty):
status: Incomplete → Triaged
Julian Wiedmann (jwiedmann) wrote :

This release has reached end-of-life [0].

[0] https://wiki.ubuntu.com/Releases

Changed in linux (Ubuntu Natty):
status: Triaged → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.