diff options
author | 2008-10-27 12:18:36 +0800 | |
---|---|---|
committer | 2008-10-27 12:18:36 +0800 | |
commit | 6a0bfff44e4aa4ee1721b3daa004d2039576c70d (patch) | |
tree | 65de8b224933c7ac731457fd98f889c5cb92e843 /arch/blackfin | |
parent | Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 (diff) | |
download | linux-6a0bfff44e4aa4ee1721b3daa004d2039576c70d.tar.gz linux-6a0bfff44e4aa4ee1721b3daa004d2039576c70d.tar.bz2 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/blackfin')
-rw-r--r-- | arch/blackfin/kernel/traps.c | 7 |
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 ... |