mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
powerpc/vas: Fix potential NULL pointer dereference
(!ptr && !ptr->foo) strikes again. :)
The expression (!ptr && !ptr->foo) is bogus and in case ptr is NULL,
it leads to a NULL pointer dereference: ptr->foo.
Fix this by converting && to ||
This issue was detected with the help of Coccinelle, and audited and
fixed manually.
Fixes: 1a0d0d5ed5
("powerpc/vas: Add platform specific user window operations")
Cc: stable@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Tyrel Datwyler <tyreld@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20211015050345.GA1161918@embeddedor
This commit is contained in:
parent
49e3d8ea62
commit
61cb9ac66b
@ -303,7 +303,7 @@ static int coproc_ioc_tx_win_open(struct file *fp, unsigned long arg)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!cp_inst->coproc->vops && !cp_inst->coproc->vops->open_win) {
|
||||
if (!cp_inst->coproc->vops || !cp_inst->coproc->vops->open_win) {
|
||||
pr_err("VAS API is not registered\n");
|
||||
return -EACCES;
|
||||
}
|
||||
@ -373,7 +373,7 @@ static int coproc_mmap(struct file *fp, struct vm_area_struct *vma)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!cp_inst->coproc->vops && !cp_inst->coproc->vops->paste_addr) {
|
||||
if (!cp_inst->coproc->vops || !cp_inst->coproc->vops->paste_addr) {
|
||||
pr_err("%s(): VAS API is not registered\n", __func__);
|
||||
return -EACCES;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user