From: Rusty Russell <rusty@rustcorp.com.au>
To: lkp@lists.01.org
Subject: Re: [PATCH] drm/radeon: Try to init amdkfd only if 64 bit kernel
Date: Wed, 24 Dec 2014 09:31:13 +1030 [thread overview]
Message-ID: <874msmt1hi.fsf@rustcorp.com.au> (raw)
In-Reply-To: <54986EA2.106@amd.com>
[-- Attachment #1: Type: text/plain, Size: 1056 bytes --]
Oded Gabbay <oded.gabbay@amd.com> writes:
> I didn't say it doesn't always work.
> The actual thing that doesn't work is the define symbol_get and only in a
> specific case of 32bit kernel AND CONFIG_MODULES is unset AND
> CONFIG_RANDOMIZE_BASE is set.
> The define in that case is:
> #define symbol_get(x) ({ extern typeof(x) x __attribute__((weak)); &(x); })
>
> Why it doesn't work (doesn't return NULL when symbol doesn't exists) ?
Hmm, I'd guess CONFIG_RANDOMIZE_BASE is relocating NULL symbols...
No, I can't reproduce this. Please send your .config privately.
Here's my test case:
diff --git a/init/main.c b/init/main.c
index 61b993767db5..a3ee1ec97ec3 100644
--- a/init/main.c
+++ b/init/main.c
@@ -683,6 +683,12 @@ asmlinkage __visible void __init start_kernel(void)
ftrace_init();
+ {
+ extern void nonexistent_fn(void);
+ printk("symbol_get(nonexistent_fn) = %p\n",
+ symbol_get(nonexistent_fn));
+ }
+
/* Do the rest non-__init'ed, we're now alive */
rest_init();
}
Thanks,
Rusty.
WARNING: multiple messages have this Message-ID (diff)
From: Rusty Russell <rusty@rustcorp.com.au>
To: Oded Gabbay <oded.gabbay@amd.com>,
Andi Kleen <ak@linux.intel.com>,
Alex Deucher <alexdeucher@gmail.com>
Cc: Dana Elifaz <Dana.Elifaz@amd.com>,
LKML <linux-kernel@vger.kernel.org>,
Maling list - DRI developers <dri-devel@lists.freedesktop.org>,
Alexander Deucher <Alexander.Deucher@amd.com>,
LKP ML <lkp@01.org>
Subject: Re: [LKP] [PATCH] drm/radeon: Try to init amdkfd only if 64 bit kernel
Date: Wed, 24 Dec 2014 09:31:13 +1030 [thread overview]
Message-ID: <874msmt1hi.fsf@rustcorp.com.au> (raw)
In-Reply-To: <54986EA2.106@amd.com>
Oded Gabbay <oded.gabbay@amd.com> writes:
> I didn't say it doesn't always work.
> The actual thing that doesn't work is the define symbol_get and only in a
> specific case of 32bit kernel AND CONFIG_MODULES is unset AND
> CONFIG_RANDOMIZE_BASE is set.
> The define in that case is:
> #define symbol_get(x) ({ extern typeof(x) x __attribute__((weak)); &(x); })
>
> Why it doesn't work (doesn't return NULL when symbol doesn't exists) ?
Hmm, I'd guess CONFIG_RANDOMIZE_BASE is relocating NULL symbols...
No, I can't reproduce this. Please send your .config privately.
Here's my test case:
diff --git a/init/main.c b/init/main.c
index 61b993767db5..a3ee1ec97ec3 100644
--- a/init/main.c
+++ b/init/main.c
@@ -683,6 +683,12 @@ asmlinkage __visible void __init start_kernel(void)
ftrace_init();
+ {
+ extern void nonexistent_fn(void);
+ printk("symbol_get(nonexistent_fn) = %p\n",
+ symbol_get(nonexistent_fn));
+ }
+
/* Do the rest non-__init'ed, we're now alive */
rest_init();
}
Thanks,
Rusty.
next prev parent reply other threads:[~2014-12-23 23:01 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-22 11:11 [PATCH] drm/radeon: Try to init amdkfd only if 64 bit kernel Oded Gabbay
2014-12-22 11:11 ` Oded Gabbay
2014-12-22 11:11 ` Oded Gabbay
2014-12-22 16:58 ` Alex Deucher
2014-12-22 16:58 ` Alex Deucher
2014-12-22 16:58 ` Alex Deucher
2014-12-22 18:49 ` Andi Kleen
2014-12-22 18:49 ` [LKP] " Andi Kleen
2014-12-22 19:00 ` Andi Kleen
2014-12-22 19:00 ` [LKP] " Andi Kleen
2014-12-22 19:18 ` Oded Gabbay
2014-12-22 19:18 ` [LKP] " Oded Gabbay
2014-12-22 19:18 ` Oded Gabbay
2014-12-23 23:01 ` Rusty Russell [this message]
2014-12-23 23:01 ` Rusty Russell
2014-12-24 9:16 ` Oded Gabbay
2014-12-24 9:22 ` Oded Gabbay
2014-12-24 9:22 ` [LKP] " Oded Gabbay
2015-01-05 4:28 ` Rusty Russell
2015-01-05 4:28 ` [LKP] " Rusty Russell
2015-01-06 20:14 ` Kees Cook
2015-01-06 20:14 ` [LKP] " Kees Cook
2015-01-06 22:58 ` Rusty Russell
2015-01-06 22:58 ` [LKP] " Rusty Russell
2015-01-11 11:57 ` Oded Gabbay
2015-01-11 11:57 ` [LKP] " Oded Gabbay
2015-01-11 11:57 ` Oded Gabbay
2015-01-13 17:15 ` Kees Cook
2015-01-13 17:15 ` [LKP] " Kees Cook
2015-01-16 0:27 ` Kees Cook
2015-01-16 0:27 ` [LKP] " Kees Cook
2015-01-16 11:27 ` Oded Gabbay
2015-01-16 11:27 ` [LKP] " Oded Gabbay
2015-01-16 11:27 ` Oded Gabbay
2015-01-23 4:10 ` Rusty Russell
2015-01-23 4:10 ` [LKP] " Rusty Russell
2014-12-25 12:31 ` Christian König
2014-12-25 12:31 ` [LKP] " Christian König
2014-12-25 12:31 ` Christian König
2014-12-28 9:05 ` Oded Gabbay
2014-12-28 9:05 ` [LKP] " Oded Gabbay
2014-12-28 9:05 ` Oded Gabbay
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874msmt1hi.fsf@rustcorp.com.au \
--to=rusty@rustcorp.com.au \
--cc=lkp@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.