lkml.org 
[lkml]   [2020]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH v3 06/12] ppc64/kexec_file: restrict memory usage of kdump kernel
    Date


    On 16/07/20 4:22 am, Thiago Jung Bauermann wrote:
    >
    > Hari Bathini <hbathini@linux.ibm.com> writes:
    >

    <snip>

    >> +/**
    >> + * get_node_path - Get the full path of the given node.
    >> + * @dn: Node.
    >> + * @path: Updated with the full path of the node.
    >> + *
    >> + * Returns nothing.
    >> + */
    >> +static void get_node_path(struct device_node *dn, char *path)
    >> +{
    >> + if (!dn)
    >> + return;
    >> +
    >> + get_node_path(dn->parent, path);
    >
    > Is it ok to do recursion in the kernel? In this case I believe it's not
    > problematic since the maximum call depth will be the maximum depth of a
    > device tree node which shouldn't be too much. Also, there are no local
    > variables in this function. But I thought it was worth mentioning.

    You are right. We are better off avoiding the recursion here. Will
    change it to an iterative version instead.

    >> + * each representing a memory range.
    >> + */
    >> + ranges = (len >> 2) / (n_mem_addr_cells + n_mem_size_cells);
    >> +
    >> + for (i = 0; i < ranges; i++) {
    >> + base = of_read_number(prop, n_mem_addr_cells);
    >> + prop += n_mem_addr_cells;
    >> + end = base + of_read_number(prop, n_mem_size_cells) - 1;

    prop is not used after the above.

    > You need to `prop += n_mem_size_cells` here.

    But yeah, adding it would make it look complete in some sense..

    Thanks
    Hari

    \
     
     \ /
      Last update: 2020-07-16 23:10    [W:4.107 / U:0.428 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site