2010-08-15 17:12:41

by Namhyung Kim

[permalink] [raw]
Subject: [PATCH] init/main.c: add __force markup when casts to a __user pointer

add __force markup when casts to a __user address space pointer. This removes
following sparse warnings:

init/main.c:900:23: warning: cast adds address space to expression (<asn:1>)
init/main.c:913:25: warning: cast adds address space to expression (<asn:1>)

Signed-off-by: Namhyung Kim <[email protected]>
---
init/main.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/init/main.c b/init/main.c
index b06b8f2..5a0be5c 100644
--- a/init/main.c
+++ b/init/main.c
@@ -897,7 +897,7 @@ static int __init kernel_init(void * unused)
do_basic_setup();

/* Open the /dev/console on the rootfs, this should never fail */
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ if (sys_open((const char __user __force *) "/dev/console", O_RDWR, 0) < 0)
printk(KERN_WARNING "Warning: unable to open an initial console.\n");

(void) sys_dup(0);
@@ -910,7 +910,7 @@ static int __init kernel_init(void * unused)
if (!ramdisk_execute_command)
ramdisk_execute_command = "/init";

- if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
+ if (sys_access((const char __user __force *) ramdisk_execute_command, 0) != 0) {
ramdisk_execute_command = NULL;
prepare_namespace();
}
--
1.7.0.4


2010-08-17 05:51:52

by Cong Wang

[permalink] [raw]
Subject: Re: [PATCH] init/main.c: add __force markup when casts to a __user pointer

On Sun, Aug 15, 2010 at 06:53:18PM +0900, Namhyung Kim wrote:
>add __force markup when casts to a __user address space pointer. This removes
>following sparse warnings:
>
> init/main.c:900:23: warning: cast adds address space to expression (<asn:1>)
> init/main.c:913:25: warning: cast adds address space to expression (<asn:1>)
>
>Signed-off-by: Namhyung Kim <[email protected]>

Acked-by: WANG Cong <[email protected]>

Thanks!

>---
> init/main.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/init/main.c b/init/main.c
>index b06b8f2..5a0be5c 100644
>--- a/init/main.c
>+++ b/init/main.c
>@@ -897,7 +897,7 @@ static int __init kernel_init(void * unused)
> do_basic_setup();
>
> /* Open the /dev/console on the rootfs, this should never fail */
>- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
>+ if (sys_open((const char __user __force *) "/dev/console", O_RDWR, 0) < 0)
> printk(KERN_WARNING "Warning: unable to open an initial console.\n");
>
> (void) sys_dup(0);
>@@ -910,7 +910,7 @@ static int __init kernel_init(void * unused)
> if (!ramdisk_execute_command)
> ramdisk_execute_command = "/init";
>
>- if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
>+ if (sys_access((const char __user __force *) ramdisk_execute_command, 0) != 0) {
> ramdisk_execute_command = NULL;
> prepare_namespace();
> }
>--
>1.7.0.4
>
>--
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/