lkml.org 
[lkml]   [2018]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 05/11] x86/mm: do not auto-massage page protections
    Hi Dave,

    Thank you for the patch! Yet something to improve:

    [auto build test ERROR on tip/auto-latest]
    [also build test ERROR on next-20180323]
    [cannot apply to tip/x86/core v4.16-rc6]
    [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

    url: https://github.com/0day-ci/linux/commits/Dave-Hansen/Use-global-pages-with-PTI/20180324-205009
    config: arm-at91_dt_defconfig (attached as .config)
    compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
    reproduce:
    wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
    chmod +x ~/bin/make.cross
    # save the attached .config to linux build tree
    make.cross ARCH=arm

    All errors (new ones prefixed by >>):

    mm/early_ioremap.c: In function '__early_ioremap':
    >> mm/early_ioremap.c:117:22: error: '__default_kernel_pte_mask' undeclared (first use in this function); did you mean '__old_kernel_stat'?
    pgprot_val(prot) &= __default_kernel_pte_mask;
    ^~~~~~~~~~~~~~~~~~~~~~~~~
    __old_kernel_stat
    mm/early_ioremap.c:117:22: note: each undeclared identifier is reported only once for each function it appears in

    vim +117 mm/early_ioremap.c

    104
    105 static void __init __iomem *
    106 __early_ioremap(resource_size_t phys_addr, unsigned long size, pgprot_t prot)
    107 {
    108 unsigned long offset;
    109 resource_size_t last_addr;
    110 unsigned int nrpages;
    111 enum fixed_addresses idx;
    112 int i, slot;
    113
    114 WARN_ON(system_state >= SYSTEM_RUNNING);
    115
    116 /* Sanitize 'prot' against any unsupported bits: */
    > 117 pgprot_val(prot) &= __default_kernel_pte_mask;
    118
    119 slot = -1;
    120 for (i = 0; i < FIX_BTMAPS_SLOTS; i++) {
    121 if (!prev_map[i]) {
    122 slot = i;
    123 break;
    124 }
    125 }
    126
    127 if (WARN(slot < 0, "%s(%08llx, %08lx) not found slot\n",
    128 __func__, (u64)phys_addr, size))
    129 return NULL;
    130
    131 /* Don't allow wraparound or zero size */
    132 last_addr = phys_addr + size - 1;
    133 if (WARN_ON(!size || last_addr < phys_addr))
    134 return NULL;
    135
    136 prev_size[slot] = size;
    137 /*
    138 * Mappings have to be page-aligned
    139 */
    140 offset = offset_in_page(phys_addr);
    141 phys_addr &= PAGE_MASK;
    142 size = PAGE_ALIGN(last_addr + 1) - phys_addr;
    143
    144 /*
    145 * Mappings have to fit in the FIX_BTMAP area.
    146 */
    147 nrpages = size >> PAGE_SHIFT;
    148 if (WARN_ON(nrpages > NR_FIX_BTMAPS))
    149 return NULL;
    150
    151 /*
    152 * Ok, go for it..
    153 */
    154 idx = FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*slot;
    155 while (nrpages > 0) {
    156 if (after_paging_init)
    157 __late_set_fixmap(idx, phys_addr, prot);
    158 else
    159 __early_set_fixmap(idx, phys_addr, prot);
    160 phys_addr += PAGE_SIZE;
    161 --idx;
    162 --nrpages;
    163 }
    164 WARN(early_ioremap_debug, "%s(%08llx, %08lx) [%d] => %08lx + %08lx\n",
    165 __func__, (u64)phys_addr, size, slot, offset, slot_virt[slot]);
    166
    167 prev_map[slot] = (void __iomem *)(offset + slot_virt[slot]);
    168 return prev_map[slot];
    169 }
    170

    ---
    0-DAY kernel test infrastructure Open Source Technology Center
    https://lists.01.org/pipermail/kbuild-all Intel Corporation
    [unhandled content-type:application/gzip]
    \
     
     \ /
      Last update: 2018-03-24 16:11    [W:4.714 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site