You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'akpm' (patches from Andrew)
Merge more updates from Andrew Morton: - the rest of MM - various misc things - procfs updates - lib/ updates - checkpatch updates - kdump/kexec updates - add kvmalloc helpers, use them - time helper updates for Y2038 issues. We're almost ready to remove current_fs_time() but that awaits a btrfs merge. - add tracepoints to DAX * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (114 commits) drivers/staging/ccree/ssi_hash.c: fix build with gcc-4.4.4 selftests/vm: add a test for virtual address range mapping dax: add tracepoint to dax_insert_mapping() dax: add tracepoint to dax_writeback_one() dax: add tracepoints to dax_writeback_mapping_range() dax: add tracepoints to dax_load_hole() dax: add tracepoints to dax_pfn_mkwrite() dax: add tracepoints to dax_iomap_pte_fault() mtd: nand: nandsim: convert to memalloc_noreclaim_*() treewide: convert PF_MEMALLOC manipulations to new helpers mm: introduce memalloc_noreclaim_{save,restore} mm: prevent potential recursive reclaim due to clearing PF_MEMALLOC mm/huge_memory.c: deposit a pgtable for DAX PMD faults when required mm/huge_memory.c: use zap_deposited_table() more time: delete CURRENT_TIME_SEC and CURRENT_TIME gfs2: replace CURRENT_TIME with current_time apparmorfs: replace CURRENT_TIME with current_time() lustre: replace CURRENT_TIME macro fs: ubifs: replace CURRENT_TIME_SEC with current_time fs: ufs: use ktime_get_real_ts64() for birthtime ...
This commit is contained in:
@@ -694,8 +694,7 @@ struct address_space_operations {
|
||||
|
||||
write_end: After a successful write_begin, and data copy, write_end must
|
||||
be called. len is the original len passed to write_begin, and copied
|
||||
is the amount that was able to be copied (copied == len is always true
|
||||
if write_begin was called with the AOP_FLAG_UNINTERRUPTIBLE flag).
|
||||
is the amount that was able to be copied.
|
||||
|
||||
The filesystem must take care of unlocking the page and releasing it
|
||||
refcount, and updating i_size.
|
||||
|
||||
@@ -55,10 +55,14 @@ as follows:
|
||||
booted with restricted memory. By default, the boot memory
|
||||
size will be the larger of 5% of system RAM or 256MB.
|
||||
Alternatively, user can also specify boot memory size
|
||||
through boot parameter 'fadump_reserve_mem=' which will
|
||||
override the default calculated size. Use this option
|
||||
if default boot memory size is not sufficient for second
|
||||
kernel to boot successfully.
|
||||
through boot parameter 'crashkernel=' which will override
|
||||
the default calculated size. Use this option if default
|
||||
boot memory size is not sufficient for second kernel to
|
||||
boot successfully. For syntax of crashkernel= parameter,
|
||||
refer to Documentation/kdump/kdump.txt. If any offset is
|
||||
provided in crashkernel= parameter, it will be ignored
|
||||
as fadump reserves memory at end of RAM for boot memory
|
||||
dump preservation in case of a crash.
|
||||
|
||||
-- After the low memory (boot memory) area has been saved, the
|
||||
firmware will reset PCI and other hardware state. It will
|
||||
@@ -158,13 +162,16 @@ How to enable firmware-assisted dump (fadump):
|
||||
|
||||
1. Set config option CONFIG_FA_DUMP=y and build kernel.
|
||||
2. Boot into linux kernel with 'fadump=on' kernel cmdline option.
|
||||
3. Optionally, user can also set 'fadump_reserve_mem=' kernel cmdline
|
||||
3. Optionally, user can also set 'crashkernel=' kernel cmdline
|
||||
to specify size of the memory to reserve for boot memory dump
|
||||
preservation.
|
||||
|
||||
NOTE: If firmware-assisted dump fails to reserve memory then it will
|
||||
fallback to existing kdump mechanism if 'crashkernel=' option
|
||||
is set at kernel cmdline.
|
||||
NOTE: 1. 'fadump_reserve_mem=' parameter has been deprecated. Instead
|
||||
use 'crashkernel=' to specify size of the memory to reserve
|
||||
for boot memory dump preservation.
|
||||
2. If firmware-assisted dump fails to reserve memory then it
|
||||
will fallback to existing kdump mechanism if 'crashkernel='
|
||||
option is set at kernel cmdline.
|
||||
|
||||
Sysfs/debugfs files:
|
||||
------------
|
||||
|
||||
@@ -266,7 +266,7 @@ for each mapping.
|
||||
|
||||
The number of file transparent huge pages mapped to userspace is available
|
||||
by reading ShmemPmdMapped and ShmemHugePages fields in /proc/meminfo.
|
||||
To identify what applications are mapping file transparent huge pages, it
|
||||
To identify what applications are mapping file transparent huge pages, it
|
||||
is necessary to read /proc/PID/smaps and count the FileHugeMapped fields
|
||||
for each mapping.
|
||||
|
||||
@@ -292,7 +292,7 @@ thp_collapse_alloc_failed is incremented if khugepaged found a range
|
||||
the allocation.
|
||||
|
||||
thp_file_alloc is incremented every time a file huge page is successfully
|
||||
i allocated.
|
||||
allocated.
|
||||
|
||||
thp_file_mapped is incremented every time a file huge page is mapped into
|
||||
user address space.
|
||||
@@ -501,7 +501,7 @@ scanner can get reference to a page is get_page_unless_zero().
|
||||
|
||||
All tail pages have zero ->_refcount until atomic_add(). This prevents the
|
||||
scanner from getting a reference to the tail page up to that point. After the
|
||||
atomic_add() we don't care about the ->_refcount value. We already known how
|
||||
atomic_add() we don't care about the ->_refcount value. We already known how
|
||||
many references should be uncharged from the head page.
|
||||
|
||||
For head page get_page_unless_zero() will succeed and we don't mind. It's
|
||||
@@ -519,8 +519,8 @@ comes. Splitting will free up unused subpages.
|
||||
|
||||
Splitting the page right away is not an option due to locking context in
|
||||
the place where we can detect partial unmap. It's also might be
|
||||
counterproductive since in many cases partial unmap unmap happens during
|
||||
exit(2) if an THP crosses VMA boundary.
|
||||
counterproductive since in many cases partial unmap happens during exit(2) if
|
||||
a THP crosses a VMA boundary.
|
||||
|
||||
Function deferred_split_huge_page() is used to queue page for splitting.
|
||||
The splitting itself will happen when we get memory pressure via shrinker
|
||||
|
||||
@@ -1374,7 +1374,7 @@ help:
|
||||
@echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \
|
||||
echo ' (default: $(INSTALL_HDR_PATH))'; \
|
||||
echo ''
|
||||
@echo 'Static analysers'
|
||||
@echo 'Static analysers:'
|
||||
@echo ' checkstack - Generate a list of stack hogs'
|
||||
@echo ' namespacecheck - Name space analysis on compiled kernel'
|
||||
@echo ' versioncheck - Sanity check on version.h usage'
|
||||
@@ -1384,7 +1384,7 @@ help:
|
||||
@echo ' headerdep - Detect inclusion cycles in headers'
|
||||
@$(MAKE) -f $(srctree)/scripts/Makefile.help checker-help
|
||||
@echo ''
|
||||
@echo 'Kernel selftest'
|
||||
@echo 'Kernel selftest:'
|
||||
@echo ' kselftest - Build and run kernel selftest (run as root)'
|
||||
@echo ' Build, install, and boot kernel before'
|
||||
@echo ' running kselftest on it'
|
||||
@@ -1392,6 +1392,10 @@ help:
|
||||
@echo ' kselftest-merge - Merge all the config dependencies of kselftest to existed'
|
||||
@echo ' .config.'
|
||||
@echo ''
|
||||
@echo 'Userspace tools targets:'
|
||||
@echo ' use "make tools/help"'
|
||||
@echo ' or "cd tools; make help"'
|
||||
@echo ''
|
||||
@echo 'Kernel packaging:'
|
||||
@$(MAKE) $(build)=$(package-dir) help
|
||||
@echo ''
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
# General architecture dependent options
|
||||
#
|
||||
|
||||
config CRASH_CORE
|
||||
bool
|
||||
|
||||
config KEXEC_CORE
|
||||
select CRASH_CORE
|
||||
bool
|
||||
|
||||
config HAVE_IMA_KEXEC
|
||||
|
||||
@@ -845,7 +845,7 @@ static int processCFI(const u8 *start, const u8 *end, unsigned long targetLoc,
|
||||
* state->dataAlign;
|
||||
break;
|
||||
case DW_CFA_def_cfa_register:
|
||||
unw_debug("cfa_def_cfa_regsiter: ");
|
||||
unw_debug("cfa_def_cfa_register: ");
|
||||
state->cfa.reg = get_uleb128(&ptr.p8, end);
|
||||
break;
|
||||
/*todo case DW_CFA_def_cfa_expression: */
|
||||
|
||||
@@ -478,26 +478,6 @@ static inline void __sync_cache_range_r(volatile void *p, size_t size)
|
||||
: : : "r0","r1","r2","r3","r4","r5","r6","r7", \
|
||||
"r9","r10","lr","memory" )
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
int set_memory_ro(unsigned long addr, int numpages);
|
||||
int set_memory_rw(unsigned long addr, int numpages);
|
||||
int set_memory_x(unsigned long addr, int numpages);
|
||||
int set_memory_nx(unsigned long addr, int numpages);
|
||||
#else
|
||||
static inline int set_memory_ro(unsigned long addr, int numpages) { return 0; }
|
||||
static inline int set_memory_rw(unsigned long addr, int numpages) { return 0; }
|
||||
static inline int set_memory_x(unsigned long addr, int numpages) { return 0; }
|
||||
static inline int set_memory_nx(unsigned long addr, int numpages) { return 0; }
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_STRICT_KERNEL_RWX
|
||||
void set_kernel_text_rw(void);
|
||||
void set_kernel_text_ro(void);
|
||||
#else
|
||||
static inline void set_kernel_text_rw(void) { }
|
||||
static inline void set_kernel_text_ro(void) { }
|
||||
#endif
|
||||
|
||||
void flush_uprobe_xol_access(struct page *page, unsigned long uaddr,
|
||||
void *kaddr, unsigned long len);
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright (C) 1999-2002 Russell King
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef _ASMARM_SET_MEMORY_H
|
||||
#define _ASMARM_SET_MEMORY_H
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
int set_memory_ro(unsigned long addr, int numpages);
|
||||
int set_memory_rw(unsigned long addr, int numpages);
|
||||
int set_memory_x(unsigned long addr, int numpages);
|
||||
int set_memory_nx(unsigned long addr, int numpages);
|
||||
#else
|
||||
static inline int set_memory_ro(unsigned long addr, int numpages) { return 0; }
|
||||
static inline int set_memory_rw(unsigned long addr, int numpages) { return 0; }
|
||||
static inline int set_memory_x(unsigned long addr, int numpages) { return 0; }
|
||||
static inline int set_memory_nx(unsigned long addr, int numpages) { return 0; }
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_STRICT_KERNEL_RWX
|
||||
void set_kernel_text_rw(void);
|
||||
void set_kernel_text_ro(void);
|
||||
#else
|
||||
static inline void set_kernel_text_rw(void) { }
|
||||
static inline void set_kernel_text_ro(void) { }
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <asm/opcodes.h>
|
||||
#include <asm/ftrace.h>
|
||||
#include <asm/insn.h>
|
||||
#include <asm/set_memory.h>
|
||||
|
||||
#ifdef CONFIG_THUMB2_KERNEL
|
||||
#define NOP 0xf85deb04 /* pop.w {lr} */
|
||||
|
||||
@@ -269,7 +269,7 @@ int kgdb_arch_remove_breakpoint(struct kgdb_bkpt *bpt)
|
||||
|
||||
/*
|
||||
* Register our undef instruction hooks with ARM undef core.
|
||||
* We regsiter a hook specifically looking for the KGB break inst
|
||||
* We register a hook specifically looking for the KGB break inst
|
||||
* and we handle the normal undef case within the do_undefinstr
|
||||
* handler.
|
||||
*/
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/smp_plat.h>
|
||||
#include <asm/system_misc.h>
|
||||
#include <asm/set_memory.h>
|
||||
|
||||
extern void relocate_new_kernel(void);
|
||||
extern const unsigned int relocate_new_kernel_size;
|
||||
|
||||
@@ -43,14 +43,14 @@
|
||||
int (*ixp4xx_pci_read)(u32 addr, u32 cmd, u32* data);
|
||||
|
||||
/*
|
||||
* Base address for PCI regsiter region
|
||||
* Base address for PCI register region
|
||||
*/
|
||||
unsigned long ixp4xx_pci_reg_base = 0;
|
||||
|
||||
/*
|
||||
* PCI cfg an I/O routines are done by programming a
|
||||
* command/byte enable register, and then read/writing
|
||||
* the data from a data regsiter. We need to ensure
|
||||
* the data from a data register. We need to ensure
|
||||
* these transactions are atomic or we will end up
|
||||
* with corrupt data on the bus or in a driver.
|
||||
*/
|
||||
|
||||
@@ -117,7 +117,7 @@ static struct musb_hdrc_platform_data tusb_data = {
|
||||
static void __init n8x0_usb_init(void)
|
||||
{
|
||||
int ret = 0;
|
||||
static char announce[] __initdata = KERN_INFO "TUSB 6010\n";
|
||||
static const char announce[] __initconst = KERN_INFO "TUSB 6010\n";
|
||||
|
||||
/* PM companion chip power control pin */
|
||||
ret = gpio_request_one(TUSB6010_GPIO_ENABLE, GPIOF_OUT_INIT_LOW,
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/tlbflush.h>
|
||||
#include <asm/set_memory.h>
|
||||
|
||||
struct page_change_data {
|
||||
pgprot_t set_mask;
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <linux/if_vlan.h>
|
||||
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/set_memory.h>
|
||||
#include <asm/hwcap.h>
|
||||
#include <asm/opcodes.h>
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ generic-y += rwsem.h
|
||||
generic-y += segment.h
|
||||
generic-y += sembuf.h
|
||||
generic-y += serial.h
|
||||
generic-y += set_memory.h
|
||||
generic-y += shmbuf.h
|
||||
generic-y += simd.h
|
||||
generic-y += sizes.h
|
||||
|
||||
@@ -150,10 +150,6 @@ static inline void flush_cache_vunmap(unsigned long start, unsigned long end)
|
||||
{
|
||||
}
|
||||
|
||||
int set_memory_ro(unsigned long addr, int numpages);
|
||||
int set_memory_rw(unsigned long addr, int numpages);
|
||||
int set_memory_x(unsigned long addr, int numpages);
|
||||
int set_memory_nx(unsigned long addr, int numpages);
|
||||
int set_memory_valid(unsigned long addr, unsigned long size, int enable);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/set_memory.h>
|
||||
#include <asm/tlbflush.h>
|
||||
|
||||
struct page_change_data {
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include <asm/byteorder.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/debug-monitors.h>
|
||||
#include <asm/set_memory.h>
|
||||
|
||||
#include "bpf_jit.h"
|
||||
|
||||
|
||||
@@ -27,28 +27,6 @@ static int kdump_freeze_monarch;
|
||||
static int kdump_on_init = 1;
|
||||
static int kdump_on_fatal_mca = 1;
|
||||
|
||||
static inline Elf64_Word
|
||||
*append_elf_note(Elf64_Word *buf, char *name, unsigned type, void *data,
|
||||
size_t data_len)
|
||||
{
|
||||
struct elf_note *note = (struct elf_note *)buf;
|
||||
note->n_namesz = strlen(name) + 1;
|
||||
note->n_descsz = data_len;
|
||||
note->n_type = type;
|
||||
buf += (sizeof(*note) + 3)/4;
|
||||
memcpy(buf, name, note->n_namesz);
|
||||
buf += (note->n_namesz + 3)/4;
|
||||
memcpy(buf, data, data_len);
|
||||
buf += (data_len + 3)/4;
|
||||
return buf;
|
||||
}
|
||||
|
||||
static void
|
||||
final_note(void *buf)
|
||||
{
|
||||
memset(buf, 0, sizeof(struct elf_note));
|
||||
}
|
||||
|
||||
extern void ia64_dump_cpu_regs(void *);
|
||||
|
||||
static DEFINE_PER_CPU(struct elf_prstatus, elf_prstatus);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user