summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorTim Pepper <lnxninja@linux.vnet.ibm.com>2008-10-27 05:18:36 +0100
committerBryan Wu <cooloney@kernel.org>2008-10-27 05:18:36 +0100
commit6a0bfff44e4aa4ee1721b3daa004d2039576c70d (patch)
tree65de8b224933c7ac731457fd98f889c5cb92e843 /arch
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 (diff)
downloadlinux-6a0bfff44e4aa4ee1721b3daa004d2039576c70d.tar.xz
linux-6a0bfff44e4aa4ee1721b3daa004d2039576c70d.zip
Blackfin arch: handle case of d_path() returning error in decode_address()
d_path() can return an error. Most of its callers do something or other to make up something sane in that case. Do similar for blackfin's decode_address() call to d_path(). Signed-off-by: Tim Pepper <lnxninja@linux.vnet.ibm.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/blackfin/kernel/traps.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index 1aa2c788e228..0003616d02a2 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -147,9 +147,12 @@ static void decode_address(char *buf, unsigned long address)
char *name = p->comm;
struct file *file = vma->vm_file;
- if (file)
- name = d_path(&file->f_path, _tmpbuf,
+ if (file) {
+ char *d_name = d_path(&file->f_path, _tmpbuf,
sizeof(_tmpbuf));
+ if (!IS_ERR(d_name))
+ name = d_name;
+ }
/* FLAT does not have its text aligned to the start of
* the map while FDPIC ELF does ...