[PATCH][Jaunty SRU][Intrepid SRU] UBUNTU: Fix the error value in /proc/iomem passed by the kernel paramter "reserve=" on X86_64
Stefan Bader
stefan.bader at canonical.com
Fri Jul 3 08:35:30 UTC 2009
ACK. Though the problem itself is not serious, the referenced bug causes a lot
of problems on certain laptops. The change itself make sense as addresses never
should get negative and a range the same. (Though it works that way I am
slightly wondering whether io_start would not better be an unsigned long...)
Anyhow, we need to get yet another ACK for SRU.
Stefan
keng-yu.lin at canonical.com wrote:
> From: Keng-Yu Lin <keng-yu.lin at canonical.com>
>
> 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.
>
> OriginalAuthor: Zhang Rui (rui.zhang at intel.com)
> OriginalLocation: http://bugzilla.kernel.org/show_bug.cgi?id=13253
> BugLink: https://bugs.launchpad.net/bugs/370003
> Bug: #370003
>
> Request-pull
> git://kernel.ubuntu.com/lexical/lexical-karmic.gif lp370003
> git://kernel.ubuntu.com/lexical/lexical-jaunty.gif lp370003
> git://kernel.ubuntu.com/lexical/lexical-intrepid.gif lp370003
>
> They are basically the same; the line numbers differ.
>
> Signed-off-by: Keng-Yu Lin <keng-yu.lin at canonical.com>
> ---
> kernel/resource.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/kernel/resource.c b/kernel/resource.c
> index ac5f3a3..78b0872 100644
> --- a/kernel/resource.c
> +++ b/kernel/resource.c
> @@ -787,7 +787,7 @@ static int __init reserve_setup(char *str)
> static struct resource reserve[MAXRESERVE];
>
> for (;;) {
> - int io_start, io_num;
> + unsigned int io_start, io_num;
> int x = reserved;
>
> if (get_option (&str, &io_start) != 2)
--
When all other means of communication fail, try words!
More information about the kernel-team
mailing list