We check that the struct vm_area_struct pointer vma is NULL and then
dereference it a few lines below. The intent was to make sure vma is
not NULL but this is not necessary since the bug pre-dates GIT history
and seem to never have caused a problem. The tlb-4k and tlb-8k versions
of local_flush_tlb_page() don't bother checking if vma is NULL, also
vma is dereferenced before being passed to local_flush_tlb_page(),
thus it is safe to remove this NULL check.
Signed-off-by: Emil Goode <[email protected]>
---
arch/mips/mm/tlb-r3k.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/mm/tlb-r3k.c b/arch/mips/mm/tlb-r3k.c
index d657493..4094bbd 100644
--- a/arch/mips/mm/tlb-r3k.c
+++ b/arch/mips/mm/tlb-r3k.c
@@ -158,7 +158,7 @@ void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page)
{
int cpu = smp_processor_id();
- if (!vma || cpu_context(cpu, vma->vm_mm) != 0) {
+ if (cpu_context(cpu, vma->vm_mm) != 0) {
unsigned long flags;
int oldpid, newpid, idx;
--
1.7.10.4
On Sun, Jul 6, 2014 at 1:23 AM, Emil Goode <[email protected]> wrote:
> We check that the struct vm_area_struct pointer vma is NULL and then
> dereference it a few lines below. The intent was to make sure vma is
> not NULL but this is not necessary since the bug pre-dates GIT history
> and seem to never have caused a problem. The tlb-4k and tlb-8k versions
> of local_flush_tlb_page() don't bother checking if vma is NULL, also
> vma is dereferenced before being passed to local_flush_tlb_page(),
> thus it is safe to remove this NULL check.
>
> Signed-off-by: Emil Goode <[email protected]>
Looks good.
Reviewed-by: Jonas Gorski <[email protected]>
> ---
> arch/mips/mm/tlb-r3k.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/mips/mm/tlb-r3k.c b/arch/mips/mm/tlb-r3k.c
> index d657493..4094bbd 100644
> --- a/arch/mips/mm/tlb-r3k.c
> +++ b/arch/mips/mm/tlb-r3k.c
> @@ -158,7 +158,7 @@ void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page)
> {
> int cpu = smp_processor_id();
>
> - if (!vma || cpu_context(cpu, vma->vm_mm) != 0) {
> + if (cpu_context(cpu, vma->vm_mm) != 0) {
> unsigned long flags;
> int oldpid, newpid, idx;
>
> --
> 1.7.10.4
>
>
On Sun, 6 Jul 2014, Jonas Gorski wrote:
> On Sun, Jul 6, 2014 at 1:23 AM, Emil Goode <[email protected]> wrote:
> > We check that the struct vm_area_struct pointer vma is NULL and then
> > dereference it a few lines below. The intent was to make sure vma is
> > not NULL but this is not necessary since the bug pre-dates GIT history
> > and seem to never have caused a problem. The tlb-4k and tlb-8k versions
> > of local_flush_tlb_page() don't bother checking if vma is NULL, also
> > vma is dereferenced before being passed to local_flush_tlb_page(),
> > thus it is safe to remove this NULL check.
> >
> > Signed-off-by: Emil Goode <[email protected]>
>
> Looks good.
>
> Reviewed-by: Jonas Gorski <[email protected]>
Acked-by: Maciej W. Rozycki <[email protected]>
(as per the observations at the previous version).
Maciej