diff options
| author | Takashi Iwai <tiwai@suse.de> | 2022-07-04 14:14:04 +0200 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2022-07-04 14:14:04 +0200 |
| commit | dd84cfff3cc3b79c9d616f85bd1178df135cbd1a (patch) | |
| tree | cd02e30a78211bed4f1270877b705a079d4bd364 /lib/bug.c | |
| parent | 2307a0e1ca0b5c1337b37ac6302f96e017ebac3c (diff) | |
| parent | 980555e95f7cabdc9c80a07107622b097ba23703 (diff) | |
| download | lwn-dd84cfff3cc3b79c9d616f85bd1178df135cbd1a.tar.gz lwn-dd84cfff3cc3b79c9d616f85bd1178df135cbd1a.zip | |
Merge tag 'asoc-fix-v5.19-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v5.19
A collection of fixes for v5.19, quite large but nothing major - a good
chunk of it is more stuff that was identified by mixer-test regarding
event generation.
Diffstat (limited to 'lib/bug.c')
| -rw-r--r-- | lib/bug.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/bug.c b/lib/bug.c index 45a0584f6541..c223a2575b72 100644 --- a/lib/bug.c +++ b/lib/bug.c @@ -6,8 +6,7 @@ CONFIG_BUG - emit BUG traps. Nothing happens without this. CONFIG_GENERIC_BUG - enable this code. - CONFIG_GENERIC_BUG_RELATIVE_POINTERS - use 32-bit pointers relative to - the containing struct bug_entry for bug_addr and file. + CONFIG_GENERIC_BUG_RELATIVE_POINTERS - use 32-bit relative pointers for bug_addr and file CONFIG_DEBUG_BUGVERBOSE - emit full file+line information for each BUG CONFIG_BUG and CONFIG_DEBUG_BUGVERBOSE are potentially user-settable @@ -53,10 +52,10 @@ extern struct bug_entry __start___bug_table[], __stop___bug_table[]; static inline unsigned long bug_addr(const struct bug_entry *bug) { -#ifndef CONFIG_GENERIC_BUG_RELATIVE_POINTERS - return bug->bug_addr; +#ifdef CONFIG_GENERIC_BUG_RELATIVE_POINTERS + return (unsigned long)&bug->bug_addr_disp + bug->bug_addr_disp; #else - return (unsigned long)bug + bug->bug_addr_disp; + return bug->bug_addr; #endif } @@ -131,10 +130,10 @@ void bug_get_file_line(struct bug_entry *bug, const char **file, unsigned int *line) { #ifdef CONFIG_DEBUG_BUGVERBOSE -#ifndef CONFIG_GENERIC_BUG_RELATIVE_POINTERS - *file = bug->file; +#ifdef CONFIG_GENERIC_BUG_RELATIVE_POINTERS + *file = (const char *)&bug->file_disp + bug->file_disp; #else - *file = (const char *)bug + bug->file_disp; + *file = bug->file; #endif *line = bug->line; #else |
