Re: [PATCH] title: no lookup_page for if statement

From: Nick Krause
Date: Wed Jul 16 2014 - 20:50:45 EST


On Mon, Jul 14, 2014 at 3:35 PM, Chris Metcalf <cmetcalf@xxxxxxxxxx> wrote:
> On 7/14/2014 2:59 PM, Paul Bolle wrote:
>>
>> On Mon, 2014-07-14 at 14:49 -0400, Nicholas Krause wrote:
>>>
>>> >This patch removes the if define statement for page_lookup in order
>>> >to remove a fix me of this not being defined as of yet.
>>> >
>>> >Signed-off-by: Nicholas Krause<xerofoify@xxxxxxxxx>
>
>
> Nicholas, you can't just enable this code; it will break the
> build, since there is no lookup_address() symbol on tile.
>
> I'd like to encourage you to look for more substantive kinds of
> changes to submit to LKML. This one and the last one (adding some
> underscores to some obsolete symbols) both have ended up costing me
> some time to look at and figure out what's actually going on, but
> for no real value. I suspect there may be "janitor" tasks that
> are more useful if you are looking for small starting points
> (Google for "linux kernel janitors").
>
> That said I'm going to go ahead and check in the following change
> which actually does work, now that my attention has been drawn here.
>
> diff --git a/arch/tile/mm/fault.c b/arch/tile/mm/fault.c
> index 6c0571216a9d..7e884001ca6a 100644
> --- a/arch/tile/mm/fault.c
> +++ b/arch/tile/mm/fault.c
> @@ -513,17 +513,14 @@ no_context:
>
> bust_spinlocks(1);
>
> - /* FIXME: no lookup_address() yet */
> -#ifdef SUPPORT_LOOKUP_ADDRESS
> - if (fault_num == INT_ITLB_MISS) {
> - pte_t *pte = lookup_address(address);
> + if (fault_num == INT_ITLB_MISS && address >= PAGE_OFFSET) {
> + pte_t *pte = virt_to_kpte(address);
>
> - if (pte && pte_present(*pte) && !pte_exec_kernel(*pte))
> - pr_crit("kernel tried to execute"
> - " non-executable page - exploit attempt?"
> - " (uid: %d)\n", current->uid);
> + if (pte && pte_present(*pte) && !pte_exec(*pte))
> + pr_crit("kernel tried to execute non-executable
> page"
> + " - exploit attempt? (uid: %d)\n",
> + from_kuid(&init_user_ns, current_uid()));
> }
> -#endif
> if (address < PAGE_SIZE)
> pr_alert("Unable to handle kernel NULL pointer
> dereference\n");
> else
>
> --
> Chris Metcalf, Tilera Corp.
> http://www.tilera.com
>
Chris,
Understood I screwed up here. I am doing other changes with build and
warning errors. Plus some
fix me issues that are simple. I will double check my patches and the
code they are relating to more
carefully. I should have asked you before writing this patch:(.
Nick
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/