04 Sep, 2017

6 commits

  • struct timespec is not y2038 safe on 32 bit machines.
    Replace timespec with y2038 safe struct timespec64.

    Note that the patch only changes the internals without
    modifying the syscall interfaces. This will be part
    of a separate series.

    Signed-off-by: Deepa Dinamani
    Reviewed-by: Arnd Bergmann
    Signed-off-by: Al Viro

    Deepa Dinamani
     
  • time_t is not y2038 safe. Replace all uses of
    time_t by y2038 safe time64_t.

    Similarly, replace the calls to get_seconds() with
    y2038 safe ktime_get_real_seconds().
    Note that this preserves fast access on 64 bit systems,
    but 32 bit systems need sequence counters.

    The syscall interfaces themselves are not changed as part of
    the patch. They will be part of a different series.

    Signed-off-by: Deepa Dinamani
    Reviewed-by: Arnd Bergmann
    Signed-off-by: Al Viro

    Deepa Dinamani
     
  • time_t is not y2038 safe. Replace all uses of
    time_t by y2038 safe time64_t.

    Similarly, replace the calls to get_seconds() with
    y2038 safe ktime_get_real_seconds().
    Note that this preserves fast access on 64 bit systems,
    but 32 bit systems need sequence counters.

    The syscall interface themselves are not changed as part of
    the patch. They will be part of a different series.

    Signed-off-by: Deepa Dinamani
    Reviewed-by: Arnd Bergmann
    Signed-off-by: Al Viro

    Deepa Dinamani
     
  • time_t is not y2038 safe. Replace all uses of
    time_t by y2038 safe time64_t.

    Similarly, replace the calls to get_seconds() with
    y2038 safe ktime_get_real_seconds().
    Note that this preserves fast access on 64 bit systems,
    but 32 bit systems need sequence counters.

    The syscall interfaces themselves are not changed as part of
    the patch. They will be part of a different series.

    Signed-off-by: Deepa Dinamani
    Reviewed-by: Arnd Bergmann
    Signed-off-by: Al Viro

    Deepa Dinamani
     
  • struct timespec is not y2038 safe. Replace
    all uses of timespec by y2038 safe struct timespec64.

    Even though timespec is used here to represent timeouts,
    replace these with timespec64 so that it facilitates
    in verification by creating a y2038 safe kernel image
    that is free of timespec.

    The syscall interfaces themselves are not changed as part
    of the patch. They will be part of a different series.

    Signed-off-by: Deepa Dinamani
    Cc: Paul Moore
    Cc: Richard Guy Briggs
    Reviewed-by: Richard Guy Briggs
    Reviewed-by: Arnd Bergmann
    Acked-by: Paul Moore
    Signed-off-by: Al Viro

    Deepa Dinamani
     
  • struct timespec is not y2038 safe on 32 bit machines.
    Replace timespec with y2038 safe struct timespec64.

    Note that the patch only changes the internals without
    modifying the syscall interface. This will be part
    of a separate series.

    Signed-off-by: Deepa Dinamani
    Reviewed-by: Arnd Bergmann
    Signed-off-by: Al Viro

    Deepa Dinamani
     

16 Jul, 2017

25 commits

  • it's always false, since it depends on COMPAT and
    ia64 is not biarch.

    Signed-off-by: Al Viro

    Al Viro
     
  • ... and finally kill the sodding compat_convert_timespec()

    Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Linus Torvalds
     
  • Pull documentation format standardization from Jonathan Corbet:
    "This series converts a number of top-level documents to the RST format
    without incorporating them into the Sphinx tree. The hope is to bring
    some uniformity to kernel documentation and, perhaps more importantly,
    have our existing docs serve as an example of the desired formatting
    for those that will be added later.

    Mauro has gone through and fixed up a lot of top-level documentation
    files to make them conform to the RST format, but without moving or
    renaming them in any way. This will help when we incorporate the ones
    we want to keep into the Sphinx doctree, but the real purpose is to
    bring a bit of uniformity to our documentation and let the top-level
    docs serve as examples for those writing new ones"

    * tag 'standardize-docs' of git://git.lwn.net/linux: (84 commits)
    docs: kprobes.txt: Fix whitespacing
    tee.txt: standardize document format
    cgroup-v2.txt: standardize document format
    dell_rbu.txt: standardize document format
    zorro.txt: standardize document format
    xz.txt: standardize document format
    xillybus.txt: standardize document format
    vfio.txt: standardize document format
    vfio-mediated-device.txt: standardize document format
    unaligned-memory-access.txt: standardize document format
    this_cpu_ops.txt: standardize document format
    svga.txt: standardize document format
    static-keys.txt: standardize document format
    smsc_ece1099.txt: standardize document format
    SM501.txt: standardize document format
    siphash.txt: standardize document format
    sgi-ioc4.txt: standardize document format
    SAK.txt: standardize document format
    rpmsg.txt: standardize document format
    robust-futexes.txt: standardize document format
    ...

    Linus Torvalds
     
  • Pull random updates from Ted Ts'o:
    "Add wait_for_random_bytes() and get_random_*_wait() functions so that
    callers can more safely get random bytes if they can block until the
    CRNG is initialized.

    Also print a warning if get_random_*() is called before the CRNG is
    initialized. By default, only one single-line warning will be printed
    per boot. If CONFIG_WARN_ALL_UNSEEDED_RANDOM is defined, then a
    warning will be printed for each function which tries to get random
    bytes before the CRNG is initialized. This can get spammy for certain
    architecture types, so it is not enabled by default"

    * tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random:
    random: reorder READ_ONCE() in get_random_uXX
    random: suppress spammy warnings about unseeded randomness
    random: warn when kernel uses unseeded randomness
    net/route: use get_random_int for random counter
    net/neighbor: use get_random_u32 for 32-bit hash random
    rhashtable: use get_random_u32 for hash_rnd
    ceph: ensure RNG is seeded before using
    iscsi: ensure RNG is seeded before use
    cifs: use get_random_u32 for 32-bit lock random
    random: add get_random_{bytes,u32,u64,int,long,once}_wait family
    random: add wait_for_random_bytes() API

    Linus Torvalds
     
  • Pull ->s_options removal from Al Viro:
    "Preparations for fsmount/fsopen stuff (coming next cycle). Everything
    gets moved to explicit ->show_options(), killing ->s_options off +
    some cosmetic bits around fs/namespace.c and friends. Basically, the
    stuff needed to work with fsmount series with minimum of conflicts
    with other work.

    It's not strictly required for this merge window, but it would reduce
    the PITA during the coming cycle, so it would be nice to have those
    bits and pieces out of the way"

    * 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    isofs: Fix isofs_show_options()
    VFS: Kill off s_options and helpers
    orangefs: Implement show_options
    9p: Implement show_options
    isofs: Implement show_options
    afs: Implement show_options
    affs: Implement show_options
    befs: Implement show_options
    spufs: Implement show_options
    bpf: Implement show_options
    ramfs: Implement show_options
    pstore: Implement show_options
    omfs: Implement show_options
    hugetlbfs: Implement show_options
    VFS: Don't use save/replace_mount_options if not using generic_show_options
    VFS: Provide empty name qstr
    VFS: Make get_filesystem() return the affected filesystem
    VFS: Clean up whitespace in fs/namespace.c and fs/super.c
    Provide a function to create a NUL-terminated string from unterminated data

    Linus Torvalds
     
  • Pull more __copy_.._user elimination from Al Viro.

    * 'work.__copy_to_user' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    drm_dp_aux_dev: switch to read_iter/write_iter

    Linus Torvalds
     
  • Pull uacess-unaligned removal from Al Viro:
    "That stuff had just one user, and an exotic one, at that - binfmt_flat
    on arm and m68k"

    * 'work.uaccess-unaligned' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    kill {__,}{get,put}_user_unaligned()
    binfmt_flat: flat_{get,put}_addr_from_rp() should be able to fail

    Linus Torvalds
     
  • Pull network field-by-field copy-in updates from Al Viro:
    "This part of the misc compat queue was held back for review from
    networking folks and since davem has jus ACKed those..."

    * 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    get_compat_bpf_fprog(): don't copyin field-by-field
    get_compat_msghdr(): get rid of field-by-field copyin
    copy_msghdr_from_user(): get rid of field-by-field copyin

    Linus Torvalds
     
  • Pull MIPS updates from Ralf Baechle:
    "Boston platform support:
    - Document DT bindings
    - Add CLK driver for board clocks

    CM:
    - Avoid per-core locking with CM3 & higher
    - WARN on attempt to lock invalid VP, not BUG

    CPS:
    - Select CONFIG_SYS_SUPPORTS_SCHED_SMT for MIPSr6
    - Prevent multi-core with dcache aliasing
    - Handle cores not powering down more gracefully
    - Handle spurious VP starts more gracefully

    DSP:
    - Add lwx & lhx missaligned access support

    eBPF:
    - Add MIPS support along with many supporting change to add the
    required infrastructure

    Generic arch code:
    - Misc sysmips MIPS_ATOMIC_SET fixes
    - Drop duplicate HAVE_SYSCALL_TRACEPOINTS
    - Negate error syscall return in trace
    - Correct forced syscall errors
    - Traced negative syscalls should return -ENOSYS
    - Allow samples/bpf/tracex5 to access syscall arguments for sane
    traces
    - Cleanup from old Kconfig options in defconfigs
    - Fix PREF instruction usage by memcpy for MIPS R6
    - Fix various special cases in the FPU eulation
    - Fix some special cases in MIPS16e2 support
    - Fix MIPS I ISA /proc/cpuinfo reporting
    - Sort MIPS Kconfig alphabetically
    - Fix minimum alignment requirement of IRQ stack as required by
    ABI / GCC
    - Fix special cases in the module loader
    - Perform post-DMA cache flushes on systems with MAARs
    - Probe the I6500 CPU
    - Cleanup cmpxchg and add support for 1 and 2 byte operations
    - Use queued read/write locks (qrwlock)
    - Use queued spinlocks (qspinlock)
    - Add CPU shared FTLB feature detection
    - Handle tlbex-tlbp race condition
    - Allow storing pgd in C0_CONTEXT for MIPSr6
    - Use current_cpu_type() in m4kc_tlbp_war()
    - Support Boston in the generic kernel

    Generic platform:
    - yamon-dt: Pull YAMON DT shim code out of SEAD-3 board
    - yamon-dt: Support > 256MB of RAM
    - yamon-dt: Use serial* rather than uart* aliases
    - Abstract FDT fixup application
    - Set RTC_ALWAYS_BCD to 0
    - Add a MAINTAINERS entry

    core kernel:
    - qspinlock.c: include linux/prefetch.h

    Loongson 3:
    - Add support

    Perf:
    - Add I6500 support

    SEAD-3:
    - Remove GIC timer from DT
    - Set interrupt-parent per-device, not at root node
    - Fix GIC interrupt specifiers

    SMP:
    - Skip IPI setup if we only have a single CPU

    VDSO:
    - Make comment match reality
    - Improvements to time code in VDSO"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (86 commits)
    locking/qspinlock: Include linux/prefetch.h
    MIPS: Fix MIPS I ISA /proc/cpuinfo reporting
    MIPS: Fix minimum alignment requirement of IRQ stack
    MIPS: generic: Support MIPS Boston development boards
    MIPS: DTS: img: Don't attempt to build-in all .dtb files
    clk: boston: Add a driver for MIPS Boston board clocks
    dt-bindings: Document img,boston-clock binding
    MIPS: Traced negative syscalls should return -ENOSYS
    MIPS: Correct forced syscall errors
    MIPS: Negate error syscall return in trace
    MIPS: Drop duplicate HAVE_SYSCALL_TRACEPOINTS select
    MIPS16e2: Provide feature overrides for non-MIPS16 systems
    MIPS: MIPS16e2: Report ASE presence in /proc/cpuinfo
    MIPS: MIPS16e2: Subdecode extended LWSP/SWSP instructions
    MIPS: MIPS16e2: Identify ASE presence
    MIPS: VDSO: Fix a mismatch between comment and preprocessor constant
    MIPS: VDSO: Add implementation of gettimeofday() fallback
    MIPS: VDSO: Add implementation of clock_gettime() fallback
    MIPS: VDSO: Fix conversions in do_monotonic()/do_monotonic_coarse()
    MIPS: Use current_cpu_type() in m4kc_tlbp_war()
    ...

    Linus Torvalds
     
  • Pull UML updates from Richard Weinberger:
    "Mostly fixes for UML:

    - First round of fixes for PTRACE_GETRESET/SETREGSET

    - A printf vs printk cleanup

    - Minor improvements"

    * 'for-linus-4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    um: Correctly check for PTRACE_GETRESET/SETREGSET
    um: v2: Use generic NOTES macro
    um: Add kerneldoc for userspace_tramp() and start_userspace()
    um: Add kerneldoc for segv_handler
    um: stub-data.h: remove superfluous include
    um: userspace - be more verbose in ptrace set regs error
    um: add dummy ioremap and iounmap functions
    um: Allow building and running on older hosts
    um: Avoid longjmp/setjmp symbol clashes with libpthread.a
    um: console: Ignore console= option
    um: Use os_warn to print out pre-boot warning/error messages
    um: Add os_warn() for pre-boot warning/error messages
    um: Use os_info for the messages on normal path
    um: Add os_info() for pre-boot information messages
    um: Use printk instead of printf in make_uml_dir

    Linus Torvalds
     
  • Pull UBIFS updates from Richard Weinberger:

    - Updates and fixes for the file encryption mode

    - Minor improvements

    - Random fixes

    * tag 'upstream-4.13-rc1' of git://git.infradead.org/linux-ubifs:
    ubifs: Set double hash cookie also for RENAME_EXCHANGE
    ubifs: Massage assert in ubifs_xattr_set() wrt. init_xattrs
    ubifs: Don't leak kernel memory to the MTD
    ubifs: Change gfp flags in page allocation for bulk read
    ubifs: Fix oops when remounting with no_bulk_read.
    ubifs: Fail commit if TNC is obviously inconsistent
    ubifs: allow userspace to map mounts to volumes
    ubifs: Wire-up statx() support
    ubifs: Remove dead code from ubifs_get_link()
    ubifs: Massage debug prints wrt. fscrypt
    ubifs: Add assert to dent_key_init()
    ubifs: Fix unlink code wrt. double hash lookups
    ubifs: Fix data node size for truncating uncompressed nodes
    ubifs: Don't encrypt special files on creation
    ubifs: Fix memory leak in RENAME_WHITEOUT error path in do_rename
    ubifs: Fix inode data budget in ubifs_mknod
    ubifs: Correctly evict xattr inodes
    ubifs: Unexport ubifs_inode_slab
    ubifs: don't bother checking for encryption key in ->mmap()
    ubifs: require key for truncate(2) of encrypted file

    Linus Torvalds
     
  • Pull more KVM updates from Radim Krčmář:
    "Second batch of KVM updates for v4.13

    Common:
    - add uevents for VM creation/destruction
    - annotate and properly access RCU-protected objects

    s390:
    - rename IOCTL added in the first v4.13 merge

    x86:
    - emulate VMLOAD VMSAVE feature in SVM
    - support paravirtual asynchronous page fault while nested
    - add Hyper-V userspace interfaces for better migration
    - improve master clock corner cases
    - extend internal error reporting after EPT misconfig
    - correct single-stepping of emulated instructions in SVM
    - handle MCE during VM entry
    - fix nVMX VM entry checks and nVMX VMCS shadowing"

    * tag 'kvm-4.13-2' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (28 commits)
    kvm: x86: hyperv: make VP_INDEX managed by userspace
    KVM: async_pf: Let guest support delivery of async_pf from guest mode
    KVM: async_pf: Force a nested vmexit if the injected #PF is async_pf
    KVM: async_pf: Add L1 guest async_pf #PF vmexit handler
    KVM: x86: Simplify kvm_x86_ops->queue_exception parameter list
    kvm: x86: hyperv: add KVM_CAP_HYPERV_SYNIC2
    KVM: x86: make backwards_tsc_observed a per-VM variable
    KVM: trigger uevents when creating or destroying a VM
    KVM: SVM: Enable Virtual VMLOAD VMSAVE feature
    KVM: SVM: Add Virtual VMLOAD VMSAVE feature definition
    KVM: SVM: Rename lbr_ctl field in the vmcb control area
    KVM: SVM: Prepare for new bit definition in lbr_ctl
    KVM: SVM: handle singlestep exception when skipping emulated instructions
    KVM: x86: take slots_lock in kvm_free_pit
    KVM: s390: Fix KVM_S390_GET_CMMA_BITS ioctl definition
    kvm: vmx: Properly handle machine check during VM-entry
    KVM: x86: update master clock before computing kvmclock_offset
    kvm: nVMX: Shadow "high" parts of shadowed 64-bit VMCS fields
    kvm: nVMX: Fix nested_vmx_check_msr_bitmap_controls
    kvm: nVMX: Validate the I/O bitmaps on nested VM-entry
    ...

    Linus Torvalds
     
  • Avoid the READ_ONCE in commit 4a072c71f49b ("random: silence compiler
    warnings and fix race") if we can leave the function after
    arch_get_random_XXX().

    Cc: Jason A. Donenfeld
    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Theodore Ts'o

    Sebastian Andrzej Siewior
     
  • Unfortunately, on some models of some architectures getting a fully
    seeded CRNG is extremely difficult, and so this can result in dmesg
    getting spammed for a surprisingly long time. This is really bad from
    a security perspective, and so architecture maintainers really need to
    do what they can to get the CRNG seeded sooner after the system is
    booted. However, users can't do anything actionble to address this,
    and spamming the kernel messages log will only just annoy people.

    For developers who want to work on improving this situation,
    CONFIG_WARN_UNSEEDED_RANDOM has been renamed to
    CONFIG_WARN_ALL_UNSEEDED_RANDOM. By default the kernel will always
    print the first use of unseeded randomness. This way, hopefully the
    security obsessed will be happy that there is _some_ indication when
    the kernel boots there may be a potential issue with that architecture
    or subarchitecture. To see all uses of unseeded randomness,
    developers can enable CONFIG_WARN_ALL_UNSEEDED_RANDOM.

    Signed-off-by: Theodore Ts'o

    Theodore Ts'o
     

15 Jul, 2017

9 commits

  • Pull XFS fixes from Darrick Wong:
    "Largely debugging and regression fixes.

    - Add some locking assertions for the _ilock helpers.

    - Revert the XFS_QMOPT_NOLOCK patch; after discussion with hch the
    online fsck patch that would have needed it has been redesigned and
    no longer needs it.

    - Fix behavioral regression of SEEK_HOLE/DATA with negative offsets
    to match 4.12-era XFS behavior"

    * tag 'xfs-4.13-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
    vfs: in iomap seek_{hole,data}, return -ENXIO for negative offsets
    Revert "xfs: grab dquots without taking the ilock"
    xfs: assert locking precondition in xfs_readlink_bmap_ilocked
    xfs: assert locking precondіtion in xfs_attr_list_int_ilocked
    xfs: fixup xfs_attr_get_ilocked

    Linus Torvalds
     
  • Pull btrfs fixes from David Sterba:
    "We've identified and fixed a silent corruption (introduced by code in
    the first pull), a fixup after the blk_status_t merge and two fixes to
    incremental send that Filipe has been hunting for some time"

    * 'for-4.13-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
    Btrfs: fix unexpected return value of bio_readpage_error
    btrfs: btrfs_create_repair_bio never fails, skip error handling
    btrfs: cloned bios must not be iterated by bio_for_each_segment_all
    Btrfs: fix write corruption due to bio cloning on raid5/6
    Btrfs: incremental send, fix invalid memory access
    Btrfs: incremental send, fix invalid path for link commands

    Linus Torvalds
     
  • Pull a few more input updates from Dmitry Torokhov:

    - multi-touch handling for Xen

    - fix for long-standing bug causing crashes in i8042 on boot

    - change to gpio_keys to better handle key presses during system state
    transition

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: i8042 - fix crash at boot time
    Input: gpio_keys - handle the missing key press event in resume phase
    Input: xen-kbdfront - add multi-touch support

    Linus Torvalds
     
  • Pull crypto fixes from Herbert Xu:

    - fix new compiler warnings in cavium

    - set post-op IV properly in caam (this fixes chaining)

    - fix potential use-after-free in atmel in case of EBUSY

    - fix sleeping in softirq path in chcr

    - disable buggy sha1-avx2 driver (may overread and page fault)

    - fix use-after-free on signals in caam

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: cavium - make several functions static
    crypto: chcr - Avoid algo allocation in softirq.
    crypto: caam - properly set IV after {en,de}crypt
    crypto: atmel - only treat EBUSY as transient if backlog
    crypto: af_alg - Avoid sock_graft call warning
    crypto: caam - fix signals handling
    crypto: sha1-ssse3 - Disable avx2

    Linus Torvalds
     
  • Pull device properties framework fix from Rafael Wysocki:
    "This fixes a problem with bool properties that could be seen as "true"
    when the property was not present at all by adding a special helper
    for bool properties with checks for all of the requisute conditions
    (Sakari Ailus)"

    * tag 'devprop-fix-4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    device property: Introduce fwnode_call_bool_op() for ops that return bool

    Linus Torvalds
     
  • Pull ACPI fixes from Rafael Wysocki:
    "These fix the return value of an IRQ mapping routine in the ACPI core,
    fix an EC driver issue causing abnormal fan behavior after system
    resume on some systems and add quirks for ACPI device objects that
    need to be treated as "always present" to work around bogus
    implementations of the _STA control method.

    Specifics:

    - Fix the return value of acpi_gsi_to_irq() to make the GSI to IRQ
    mapping work on the Mustang (ARM64) platform (Mark Salter).

    - Fix an EC driver issue that causes fans to behave abnormally after
    system resume on some systems which turns out to be related to
    switching over the EC into the polling mode during the noirq stages
    of system suspend and resume (Lv Zheng).

    - Add quirks for ACPI device objects that need to be treated as
    "always present", because their _STA methods are designed to work
    around Windows driver bugs and return garbage from our perspective
    (Hans de Goede)"

    * tag 'acpi-fixes-4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / x86: Add KIOX000A accelerometer on GPD win to always_present_ids array
    ACPI / x86: Add Dell Venue 11 Pro 7130 touchscreen to always_present_ids
    ACPI / x86: Allow matching always_present_id array entries by DMI
    Revert "ACPI / EC: Enable event freeze mode..." to fix a regression
    ACPI / EC: Drop EC noirq hooks to fix a regression
    ACPI / irq: Fix return code of acpi_gsi_to_irq()

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "These fix a recently exposed issue in the PCI device wakeup code and
    one older problem related to PCI device wakeup that has been reported
    recently, modify one more piece of computations in intel_pstate to get
    rid of a rounding error, fix a possible race in the schedutil cpufreq
    governor, fix the device PM QoS sysfs interface to correctly handle
    invalid user input, fix return values of two probe routines in devfreq
    drivers and constify an attribute_group structure in devfreq.

    Specifics:

    - Avoid clearing the PCI PME Enable bit for devices as a result of
    config space restoration which confuses AML executed afterward and
    causes wakeup events to be lost on some systems (Rafael Wysocki).

    - Fix the native PCIe PME interrupts handling in the cases when the
    PME IRQ is set up as a system wakeup one so that runtime PM remote
    wakeup works as expected after system resume on systems where that
    happens (Rafael Wysocki).

    - Fix the device PM QoS sysfs interface to handle invalid user input
    correctly instead of using an unititialized variable value as the
    latency tolerance for the device at hand (Dan Carpenter).

    - Get rid of one more rounding error from intel_pstate computations
    (Srinivas Pandruvada).

    - Fix the schedutil cpufreq governor to prevent it from possibly
    accessing unititialized data structures from governor callbacks in
    some cases on systems when multiple CPUs share a single cpufreq
    policy object (Vikram Mulukutla).

    - Fix the return values of probe routines in two devfreq drivers
    (Gustavo Silva).

    - Constify an attribute_group structure in devfreq (Arvind Yadav)"

    * tag 'pm-fixes-4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PCI / PM: Fix native PME handling during system suspend/resume
    PCI / PM: Restore PME Enable after config space restoration
    cpufreq: schedutil: Fix sugov_start() versus sugov_update_shared() race
    PM / QoS: return -EINVAL for bogus strings
    cpufreq: intel_pstate: Fix ratio setting for min_perf_pct
    PM / devfreq: constify attribute_group structures.
    PM / devfreq: tegra: fix error return code in tegra_devfreq_probe()
    PM / devfreq: rk3399_dmc: fix error return code in rk3399_dmcfreq_probe()

    Linus Torvalds
     
  • Merge even more updates from Andrew Morton:

    - a few leftovers

    - fault-injector rework

    - add a module loader test driver

    * emailed patches from Andrew Morton :
    kmod: throttle kmod thread limit
    kmod: add test driver to stress test the module loader
    MAINTAINERS: give kmod some maintainer love
    xtensa: use generic fb.h
    fault-inject: add /proc//fail-nth
    fault-inject: simplify access check for fail-nth
    fault-inject: make fail-nth read/write interface symmetric
    fault-inject: parse as natural 1-based value for fail-nth write interface
    fault-inject: automatically detect the number base for fail-nth write interface
    kernel/watchdog.c: use better pr_fmt prefix
    MAINTAINERS: move the befs tree to kernel.org
    lib/atomic64_test.c: add a test that atomic64_inc_not_zero() returns an int
    mm: fix overflow check in expand_upwards()

    Linus Torvalds
     
  • Using strscpy was wrong because FORTIFY_SOURCE is passing the maximum
    possible size of the outermost object, but strscpy defines the count
    parameter as the exact buffer size, so this could copy past the end of
    the source. This would still be wrong with the planned usage of
    __builtin_object_size(p, 1) for intra-object overflow checks since it's
    the maximum possible size of the specified object with no guarantee of
    it being that large.

    Reuse of the fortified functions like this currently makes the runtime
    error reporting less precise but that can be improved later on.

    Noticed by Dave Jones and KASAN.

    Signed-off-by: Daniel Micay
    Acked-by: Kees Cook
    Reported-by: Dave Jones
    Signed-off-by: Linus Torvalds

    Daniel Micay