Re: [PATCH] x86: use bitmap library functions

From: Akinobu Mita
Date: Thu Feb 17 2011 - 00:00:26 EST


2011/2/17 Ingo Molnar <mingo@xxxxxxx>:
>
> * Akinobu Mita <akinobu.mita@xxxxxxxxx> wrote:
>
>> Use bitmap_set()/bitmap_clear() to fill/zero a region of a bitmap
>> instead of doing set_bit()/clear_bit() each bit.
>>
>> Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
>> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
>> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
>> Cc: x86@xxxxxxxxxx
>> ---
>>  arch/x86/kernel/ioport.c |   20 +++++---------------
>>  1 files changed, 5 insertions(+), 15 deletions(-)
>
> Before we can merge this it would be nice to tested this using sys_ioperm(), to make
> sure port IO still gets denied/allowed as expected. You can check /proc/ioperm to
> see which ports are (probably) safe to read: 0x80/0xed is usually safe to
> read/write.

I have tested with this program and there is no difference in behavior
with this patch.

#include <sys/io.h>
#include <stdio.h>
#include <err.h>

int main(void)
{
unsigned long from = 0xed;
unsigned long num = 1;
int ret;
int i;

ret = ioperm(from, num, 1);
if (ret)
err(1, "ioperm");

for (i = 0; i < num; i++)
ret = inb(from + i);

printf("OK\n");

ret = ioperm(from, num, 0);
if (ret)
err(1, "ioperm");

printf("will receive a segmentation fault\n");

ret = inb(from);
errx(1, "Oops");
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/