"reserve" kernel boot parameter does not work correctly in x86_64

Bug #370003 reported by pablomme
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linux
Fix Released
Medium
linux (Ubuntu)
Fix Released
Medium
Keng-Yu Lin
Jaunty
Fix Released
Medium
Keng-Yu Lin

Bug Description

SRU Justificatoin:

IMPACT: kernel parameter "reserve=" is not handled well on AMD64 and the value in /proc/iomem is not padded by 0xf in the front. The bug LP#187671 depends on this bug.

FIX: A patch from Zhang Rui fixed. The patch is also summitted to the mainline. The status on mainline bugzilla is "RESOLVED CODE_FIX". It may be merged into the mainline some day.

TEST: I tested on Karmic, Jaunty and Intrepid. The value in /proc/iomem is correct after applying this patch. The original reporter also tested on 2.6.28-11 kernel and reported to work well.

---

I'm running up-to-date Jaunty, kernel 2.6.28-11.42, x86_64.

In order to circumvent bug #187671 (which is caused by a bad BIOS configuration of the MMIO regions for certain laptops) I added the kernel option "reserve=0xffb00000,0x100000" to my default kernel in /boot/grub/menu.lst, which has been reported to work on 32-bit systems (and which I have been able to verify using a 32-bit liveCD).

However, the kernel boot parameter does not work correctly on the 64-bit kernel. The option I specified is interpreted so that the following line appears at the end of /proc/iomem:

ffffffffffb00000-ffffffffffbfffff : reserved

which is clearly incorrect: it looks like the 32-bit address is being padded with ones instead of zeros. Specifying "reserve=0x00000000ffb00000,0x100000" (full-blown 64-bit address) does not change anything, the same line appears in /proc/iomem.

Revision history for this message
pablomme (pablomme) wrote :

I've reported this as bug 13253 on the kernel bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=13253

Changed in linux:
status: Unknown → Confirmed
Changed in linux:
status: Confirmed → Incomplete
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Changed in linux:
status: Incomplete → Fix Released
Revision history for this message
pablomme (pablomme) wrote :

There's a patch upstream which I've tested and works:

http://bugzilla.kernel.org/attachment.cgi?id=21703

The patch is a one-liner which applies correctly on the 2.6.28-11 kernel. Are there any chances of getting this bundled as part of a kernel SRU for Jaunty?

Keng-Yu Lin (lexical)
Changed in linux (Ubuntu):
assignee: nobody → Keng-Yü Lin (lexical)
status: Triaged → In Progress
Revision history for this message
Keng-Yu Lin (lexical) wrote :

I can reproduced the problem on both jaunty & karmic (git commit fbd7e6585b121f5b3c6f43150eb96c8c99307a43) AMD64 and tested the patches on the kernels. This patch solved the error in /proc/iomem on both kernels.

Stefan Bader (smb)
description: updated
Changed in linux (Ubuntu Jaunty):
importance: Undecided → Medium
status: New → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted linux into jaunty-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Revision history for this message
pablomme (pablomme) wrote :

The kernel in jaunty-proposed fixes the problem, thanks.

Keng-Yu Lin (lexical)
Changed in linux (Ubuntu Jaunty):
assignee: nobody → Keng-Yü Lin (lexical)
Martin Pitt (pitti)
tags: added: verification-done
removed: verification-needed
Keng-Yu Lin (lexical)
Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (7.2 KiB)

This bug was fixed in the package linux - 2.6.28-15.48

---------------
linux (2.6.28-15.48) jaunty-proposed; urgency=low

  [ Andy Whitcroft ]

  * SAUCE: pnp: add PNP resource range checking function
    - LP: #349314
  * SAUCE: i915: enable MCHBAR if needed
    - LP: #349314

  [ Brad Figg ]

  * SAUCE: Add information to recognize Toshiba Satellite Pro M10 Alps
    Touchpad
    - LP: #330885

  [ Colin Ian King ]

  * Input: atkbd - add forced release keys quirk for Samsung Q45
    - LP: #347623

  [ Manoj Iyer ]

  * SAUCE: Added quirk to enable the installer to recognize NetXen NIC.
    - LP: #389603

  [ Stefan Bader ]

  * SAUCE: input: Blacklist digitizers from joydev.c
    - LP: #300143

  [ Tim Gardner ]

  * Revert "SAUCE: md: wait for possible pending deletes after stopping an
    array"
    - LP: #334994

  [ Upstream Kernel Changes ]

  * bonding: Fix updating of speed/duplex changes
    - LP: #371651
  * net: fix sctp breakage
    - LP: #371651
  * ipv6: don't use tw net when accounting for recycled tw
    - LP: #371651
  * ipv6: Plug sk_buff leak in ipv6_rcv (net/ipv6/ip6_input.c)
    - LP: #371651
  * netfilter: nf_conntrack_tcp: fix unaligned memory access in tcp_sack
    - LP: #371651
  * xfrm: spin_lock() should be spin_unlock() in xfrm_state.c
    - LP: #371651
  * bridge: bad error handling when adding invalid ether address
    - LP: #371651
  * bas_gigaset: correctly allocate USB interrupt transfer buffer
    - LP: #371651
  * USB: EHCI: add software retry for transaction errors
    - LP: #371651
  * USB: fix USB_STORAGE_CYPRESS_ATACB
    - LP: #371651
  * USB: usb-storage: increase max_sectors for tape drives
    - LP: #371651
  * USB: gadget: fix rndis regression
    - LP: #371651
  * USB: add quirk to avoid config and interface strings
    - LP: #371651
  * cifs: fix buffer format byte on NT Rename/hardlink
    - LP: #371651
  * b43: fix b43_plcp_get_bitrate_idx_ofdm return type
    - LP: #371651
  * Add a missing unlock_kernel() in raw_open()
    - LP: #371651
  * x86, PAT, PCI: Change vma prot in pci_mmap to reflect inherited prot
    - LP: #371651
  * security/smack: fix oops when setting a size 0 SMACK64 xattr
    - LP: #371651
  * x86, setup: mark %esi as clobbered in E820 BIOS call
    - LP: #371651
  * dock: fix dereference after kfree()
    - LP: #371651
  * mm: define a UNIQUE value for AS_UNEVICTABLE flag
    - LP: #371651
  * mm: do_xip_mapping_read: fix length calculation
    - LP: #371651
  * vfs: skip I_CLEAR state inodes
    - LP: #371651
  * net/netrom: Fix socket locking
    - LP: #371651
  * kprobes: Fix locking imbalance in kretprobes
    - LP: #371651
  * netfilter: {ip, ip6, arp}_tables: fix incorrect loop detection
    - LP: #371651
  * ALSA: hda - add missing comma in ad1884_slave_vols
    - LP: #371651
  * SCSI: libiscsi: fix iscsi pool error path
    - LP: #371651
  * SCSI: libiscsi: fix iscsi pool error path again
    - LP: #371651
  * posixtimers, sched: Fix posix clock monotonicity
    - LP: #371651
  * sched: do not count frozen tasks toward load
    - LP: #371651
  * spi: spi_write_then_read() bugfixes
    - LP: #371651
  * powerpc: Fix data-corrupting bug in __futex_atomic_op
    - LP...

Read more...

Changed in linux (Ubuntu Jaunty):
status: Fix Committed → Fix Released
Keng-Yu Lin (lexical)
Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Changed in linux:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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