24 Dec, 2014

6 commits

  • Pull audit fixes from Paul Moore:
    "Four patches to fix various problems with the audit subsystem, all are
    fairly small and straightforward.

    One patch fixes a problem where we weren't using the correct gfp
    allocation flags (GFP_KERNEL regardless of context, oops), one patch
    fixes a problem with old userspace tools (this was broken for a
    while), one patch fixes a problem where we weren't recording pathnames
    correctly, and one fixes a problem with PID based filters.

    In general I don't think there is anything controversial with this
    patchset, and it fixes some rather unfortunate bugs; the allocation
    flag one can be particularly scary looking for users"

    * 'upstream' of git://git.infradead.org/users/pcmoore/audit:
    audit: restore AUDIT_LOGINUID unset ABI
    audit: correctly record file names with different path name types
    audit: use supplied gfp_mask from audit_buffer in kauditd_send_multicast_skb
    audit: don't attempt to lookup PIDs when changing PID filtering audit rules

    Linus Torvalds
     
  • A regression was caused by commit 780a7654cee8:
    audit: Make testing for a valid loginuid explicit.
    (which in turn attempted to fix a regression caused by e1760bd)

    When audit_krule_to_data() fills in the rules to get a listing, there was a
    missing clause to convert back from AUDIT_LOGINUID_SET to AUDIT_LOGINUID.

    This broke userspace by not returning the same information that was sent and
    expected.

    The rule:
    auditctl -a exit,never -F auid=-1
    gives:
    auditctl -l
    LIST_RULES: exit,never f24=0 syscall=all
    when it should give:
    LIST_RULES: exit,never auid=-1 (0xffffffff) syscall=all

    Tag it so that it is reported the same way it was set. Create a new
    private flags audit_krule field (pflags) to store it that won't interact with
    the public one from the API.

    Cc: stable@vger.kernel.org # v3.10-rc1+
    Signed-off-by: Richard Guy Briggs
    Signed-off-by: Paul Moore

    Richard Guy Briggs
     
  • Pull arm64 fixes from Catalin Marinas:
    - __cpu_suspend mm switching fix after warm boot
    - arch_setup_dma_ops implementation
    - pgd_page compilation error fix
    - defconfig updates

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: mm: Add pgd_page to support RCU fast_gup
    arm64: defconfig: defconfig update for 3.19
    arm64: kernel: fix __cpu_suspend mm switch on warm-boot
    arm64: Replace set_arch_dma_coherent_ops with arch_setup_dma_ops

    Linus Torvalds
     
  • This patch adds pgd_page definition in order to keep supporting
    HAVE_GENERIC_RCU_GUP configuration. In addition, it changes pud_page
    expression to align with pmd_page for readability.

    An introduction of pgd_page resolves the following build breakage
    under 4KB + 4Level memory management combo.

    mm/gup.c: In function 'gup_huge_pgd':
    mm/gup.c:889:2: error: implicit declaration of function 'pgd_page' [-Werror=implicit-function-declaration]
    head = pgd_page(orig);
    ^
    mm/gup.c:889:7: warning: assignment makes pointer from integer without a cast
    head = pgd_page(orig);

    Cc: Will Deacon
    Cc: Steve Capper
    Signed-off-by: Jungseok Lee
    [catalin.marinas@arm.com: remove duplicate pmd_page definition]
    Signed-off-by: Catalin Marinas

    Jungseok Lee
     
  • The usual defconfig tweaks, this time:

    - FHANDLE and AUTOFS4_FS to keep systemd happy
    - PID_NS, QUOTA and KEYS to keep LTP happy
    - Disable DEBUG_PREEMPT, as this *really* hurts performance

    Signed-off-by: Will Deacon
    Signed-off-by: Catalin Marinas

    Will Deacon
     
  • On arm64 the TTBR0_EL1 register is set to either the reserved TTBR0
    page tables on boot or to the active_mm mappings belonging to user space
    processes, it must never be set to swapper_pg_dir page tables mappings.

    When a CPU is booted its active_mm is set to init_mm even though its
    TTBR0_EL1 points at the reserved TTBR0 page mappings. This implies
    that when __cpu_suspend is triggered the active_mm can point at
    init_mm even if the current TTBR0_EL1 register contains the reserved
    TTBR0_EL1 mappings.

    Therefore, the mm save and restore executed in __cpu_suspend might
    turn out to be erroneous in that, if the current->active_mm corresponds
    to init_mm, on resume from low power it ends up restoring in the
    TTBR0_EL1 the init_mm mappings that are global and can cause speculation
    of TLB entries which end up being propagated to user space.

    This patch fixes the issue by checking the active_mm pointer before
    restoring the TTBR0 mappings. If the current active_mm == &init_mm,
    the code sets the TTBR0_EL1 to the reserved TTBR0 mapping instead of
    switching back to the active_mm, which is the expected behaviour
    corresponding to the TTBR0_EL1 settings when __cpu_suspend was entered.

    Fixes: 95322526ef62 ("arm64: kernel: cpu_{suspend/resume} implementation")
    Cc: # 3.14+: 18ab7db
    Cc: # 3.14+: 714f599
    Cc: # 3.14+: c3684fb
    Cc: # 3.14+
    Cc: Will Deacon
    Signed-off-by: Lorenzo Pieralisi
    Signed-off-by: Catalin Marinas

    Lorenzo Pieralisi
     

23 Dec, 2014

3 commits

  • Pull device mapper fixes from Mike Snitzer:
    "Thre stable fixes and one fix for a regression introduced during 3.19
    merge:

    - Fix inability to discard used space when the thin-pool target is in
    out-of-data-space mode and also transition the thin-pool back to
    write mode once free space is made available.

    - Fix DM core bio-based end_io bug that prevented proper
    post-processing of the error code returned from the block layer.

    - Fix crash in DM thin-pool due to thin device being added to the
    pool's active_thins list before properly initializing the thin
    device's refcount"

    * tag 'dm-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm: fix missed error code if .end_io isn't implemented by target_type
    dm thin: fix crash by initializing thin device's refcount and completion earlier
    dm thin: fix missing out-of-data-space to write mode transition if blocks are released
    dm thin: fix inability to discard blocks when in out-of-data-space mode

    Linus Torvalds
     
  • This reverts commit c8475d144abb1e62958cc5ec281d2a9e161c1946.

    There are several[1][2] of bug reports which points to this commit as potential
    cause[3].

    Let's revert it until we figure out what's going on.

    [1] https://lkml.org/lkml/2014/11/14/342
    [2] https://lkml.org/lkml/2014/12/22/213
    [3] https://lkml.org/lkml/2014/12/9/741

    Signed-off-by: Kirill A. Shutemov
    Reported-by: Sasha Levin
    Acked-by: Davidlohr Bueso
    Cc: Hugh Dickins
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra (Intel)
    Cc: Rik van Riel
    Cc: Srikar Dronamraju
    Cc: Mel Gorman
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • There is a problem with the audit system when multiple audit records
    are created for the same path, each with a different path name type.
    The root cause of the problem is in __audit_inode() when an exact
    match (both the path name and path name type) is not found for a
    path name record; the existing code creates a new path name record,
    but it never sets the path name in this record, leaving it NULL.
    This patch corrects this problem by assigning the path name to these
    newly created records.

    There are many ways to reproduce this problem, but one of the
    easiest is the following (assuming auditd is running):

    # mkdir /root/tmp/test
    # touch /root/tmp/test/567
    # auditctl -a always,exit -F dir=/root/tmp/test
    # touch /root/tmp/test/567

    Afterwards, or while the commands above are running, check the audit
    log and pay special attention to the PATH records. A faulty kernel
    will display something like the following for the file creation:

    type=SYSCALL msg=audit(1416957442.025:93): arch=c000003e syscall=2
    success=yes exit=3 ... comm="touch" exe="/usr/bin/touch"
    type=CWD msg=audit(1416957442.025:93): cwd="/root/tmp"
    type=PATH msg=audit(1416957442.025:93): item=0 name="test/"
    inode=401409 ... nametype=PARENT
    type=PATH msg=audit(1416957442.025:93): item=1 name=(null)
    inode=393804 ... nametype=NORMAL
    type=PATH msg=audit(1416957442.025:93): item=2 name=(null)
    inode=393804 ... nametype=NORMAL

    While a patched kernel will show the following:

    type=SYSCALL msg=audit(1416955786.566:89): arch=c000003e syscall=2
    success=yes exit=3 ... comm="touch" exe="/usr/bin/touch"
    type=CWD msg=audit(1416955786.566:89): cwd="/root/tmp"
    type=PATH msg=audit(1416955786.566:89): item=0 name="test/"
    inode=401409 ... nametype=PARENT
    type=PATH msg=audit(1416955786.566:89): item=1 name="test/567"
    inode=393804 ... nametype=NORMAL

    This issue was brought up by a number of people, but special credit
    should go to hujianyang@huawei.com for reporting the problem along
    with an explanation of the problem and a patch. While the original
    patch did have some problems (see the archive link below), it did
    demonstrate the problem and helped kickstart the fix presented here.

    * https://lkml.org/lkml/2014/9/5/66

    Reported-by: hujianyang
    Signed-off-by: Paul Moore
    Acked-by: Richard Guy Briggs

    Paul Moore
     

22 Dec, 2014

1 commit

  • Commit a3a60f81ee6f (dma-mapping: replace set_arch_dma_coherent_ops with
    arch_setup_dma_ops) changes the of_dma_configure() arch dma_ops callback
    to arch_setup_dma_ops but only the arch/arm code is updated. Subsequent
    commit 97890ba9289c (dma-mapping: detect and configure IOMMU in
    of_dma_configure) changes the arch_setup_dma_ops() prototype further to
    handle iommu. The patch makes the corresponding arm64 changes.

    Signed-off-by: Catalin Marinas
    Reported-by: Arnd Bergmann
    Acked-by: Will Deacon

    Catalin Marinas
     

21 Dec, 2014

8 commits

  • Linus Torvalds
     
  • Pull ACCESS_ONCE cleanup preparation from Christian Borntraeger:
    "kernel: Provide READ_ONCE and ASSIGN_ONCE

    As discussed on LKML http://marc.info/?i=54611D86.4040306%40de.ibm.com
    ACCESS_ONCE might fail with specific compilers for non-scalar
    accesses.

    Here is a set of patches to tackle that problem.

    The first patch introduce READ_ONCE and ASSIGN_ONCE. If the data
    structure is larger than the machine word size memcpy is used and a
    warning is emitted. The next patches fix up several in-tree users of
    ACCESS_ONCE on non-scalar types.

    This does not yet contain a patch that forces ACCESS_ONCE to work only
    on scalar types. This is targetted for the next merge window as Linux
    next already contains new offenders regarding ACCESS_ONCE vs.
    non-scalar types"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/borntraeger/linux:
    s390/kvm: REPLACE barrier fixup with READ_ONCE
    arm/spinlock: Replace ACCESS_ONCE with READ_ONCE
    arm64/spinlock: Replace ACCESS_ONCE READ_ONCE
    mips/gup: Replace ACCESS_ONCE with READ_ONCE
    x86/gup: Replace ACCESS_ONCE with READ_ONCE
    x86/spinlock: Replace ACCESS_ONCE with READ_ONCE
    mm: replace ACCESS_ONCE with READ_ONCE or barriers
    kernel: Provide READ_ONCE and ASSIGN_ONCE

    Linus Torvalds
     
  • Pull clk framework updates from Mike Turquette:
    "This is much later than usual due to several last minute bugs that had
    to be addressed. As usual the majority of changes are new drivers and
    modifications to existing drivers. The core recieved many fixes along
    with the groundwork for several large changes coming in the future
    which will better parition clock providers from clock consumers"

    * tag 'clk-for-linus-3.19' of git://git.linaro.org/people/mike.turquette/linux: (86 commits)
    clk: samsung: Fix Exynos 5420 pinctrl setup and clock disable failure due to domain being gated
    ARM: OMAP3: clock: fix boot breakage in legacy mode
    ARM: OMAP2+: clock: fix DPLL code to use new determine rate APIs
    clk: Really fix deadlock with mmap_sem
    clk: mmp: fix sparse non static symbol warning
    clk: Change clk_ops->determine_rate to return a clk_hw as the best parent
    clk: change clk_debugfs_add_file to take a struct clk_hw
    clk: Don't expose __clk_get_accuracy
    clk: Don't try to use a struct clk* after it could have been freed
    clk: Remove unused function __clk_get_prepare_count
    clk: samsung: Fix double add of syscore ops after driver rebind
    clk: samsung: exynos4: set parent of sclk_hdmiphy to hdmi
    clk: samsung: exynos4415: Fix build with PM_SLEEP disabled
    clk: samsung: remove unnecessary inclusion of header files from clk.h
    clk: samsung: remove unnecessary CONFIG_OF from clk.c
    clk: samsung: Spelling s/bwtween/between/
    clk: rockchip: Add support for the mmc clock phases using the framework
    clk: rockchip: add bindings for the mmc clocks
    clk: rockchip: rk3288 export i2s0_clkout for use in DT
    clk: rockchip: use clock ID for DMC (memory controller) on rk3288
    ...

    Linus Torvalds
     
  • Pull more i2c updates from Wolfram Sang:
    "Included are two bugfixes needing some bigger refactoring (sh_mobile:
    deferred probe with DMA, mv64xxx: fix offload support) and one
    deprecated driver removal I thought would go in via ppc but I
    misunderstood. It has a proper ack from BenH"

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: sh_mobile: fix uninitialized var when debug is enabled
    macintosh: therm_pm72: delete deprecated driver
    i2c: sh_mobile: I2C_SH_MOBILE should depend on HAS_DMA
    i2c: sh_mobile: rework deferred probing
    i2c: sh_mobile: refactor DMA setup
    i2c: mv64xxx: rework offload support to fix several problems
    i2c: mv64xxx: use BIT() macro for register value definitions

    Linus Torvalds
     
  • Pull SCSI update from James Bottomley:
    "This is a much shorter set of patches that were on the go but didn't
    make it in to the early pull request for the merge window. It's
    really a set of bug fixes plus some final cleanup work on the new tag
    queue API"

    * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    storvsc: ring buffer failures may result in I/O freeze
    ipr: set scsi_level correctly for disk arrays
    ipr: add support for async scanning to speed up boot
    scsi_debug: fix missing "break;" in SDEBUG_UA_CAPACITY_CHANGED case
    scsi_debug: take sdebug_host_list_lock when changing capacity
    scsi_debug: improve driver description in Kconfig
    scsi_debug: fix compare and write errors
    qla2xxx: fix race in handling rport deletion during recovery causes panic
    scsi: blacklist RSOC for Microsoft iSCSI target devices
    scsi: fix random memory corruption with scsi-mq + T10 PI
    Revert "[SCSI] mpt3sas: Remove phys on topology change"
    Revert "[SCSI] mpt2sas: Remove phys on topology change."
    esas2r: Correct typos of "validate" in a comment
    fc: FCP_PTA_SIMPLE is 0
    ibmvfc: remove unused tag variable
    scsi: remove MSG_*_TAG defines
    scsi: remove scsi_set_tag_type
    scsi: remove scsi_get_tag_type
    scsi: never drop to untagged mode during queue ramp down
    scsi: remove ->change_queue_type method

    Linus Torvalds
     
  • Pull CONFIG_PM_RUNTIME elimination from Rafael Wysocki:
    "This removes the last few uses of CONFIG_PM_RUNTIME introduced
    recently and makes that config option finally go away.

    CONFIG_PM will be available directly from the menu now and also it
    will be selected automatically if CONFIG_SUSPEND or CONFIG_HIBERNATION
    is set"

    * tag 'pm-config-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PM: Eliminate CONFIG_PM_RUNTIME
    tty: 8250_omap: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    sound: sst-haswell-pcm: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    spi: Replace CONFIG_PM_RUNTIME with CONFIG_PM

    Linus Torvalds
     
  • Pull misc kbuild changes from Michal Marek:
    "There are only a few things in the misc branch:

    - Fix for bugon.cocci semantic patch
    - Kdevelop4 files are .gitignored
    - Put make binrpm-pkg on diet"

    * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    scripts/package: binrpm-pkg do not create source and devel package
    .gitignore: Add Kdevelop4 project files
    bugon.cocci: fix Options at the macro

    Linus Torvalds
     
  • Pull kbuild updates from Michal Marek:
    "Here are the kbuild changes for v3.19-rc1:

    - Cleanups and deduplication in the main Makefile and
    scripts/Makefile.*
    - Sort the output of *config targets in make help
    - Old is always removed to avoid a surprise during
    bisecting
    - Warning fix in kconfig"

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: remove redundant -rR flag of hdr-inst
    kbuild: Fix make help- on powerpc
    kbuild: Automatically remove stale file
    kconfig: Fix warning "‘jump’ may be used uninitialized"
    Makefile: sort list of defconfig targets in make help output
    kbuild: Remove duplicate $(cmd) definition in Makefile.clean
    kbuild: collect shorthands into scripts/Kbuild.include

    Linus Torvalds
     

20 Dec, 2014

22 commits

  • Signed-off-by: Wolfram Sang
    Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • Pull vfs pile #3 from Al Viro:
    "Assorted fixes and patches from the last cycle"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    [regression] chunk lost from bd9b51
    vfs: make mounts and mountstats honor root dir like mountinfo does
    vfs: cleanup show_mountinfo
    init: fix read-write root mount
    unfuck binfmt_misc.c (broken by commit e6084d4)
    vm_area_operations: kill ->migrate()
    new helper: iter_is_iovec()
    move_extent_per_page(): get rid of unused w_flags
    lustre: get rid of playing with ->fs
    btrfs: filp_open() returns ERR_PTR() on failure, not NULL...

    Linus Torvalds
     
  • …/git/tyhicks/ecryptfs

    Pull eCryptfs fixes from Tyler Hicks:
    "Fixes for filename decryption and encrypted view plus a cleanup

    - The filename decryption routines were, at times, writing a zero
    byte one character past the end of the filename buffer

    - The encrypted view feature attempted, and failed, to roll its own
    form of enforcing a read-only mount instead of letting the VFS
    enforce it"

    * tag 'ecryptfs-3.19-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
    eCryptfs: Remove buggy and unnecessary write in file name decode routine
    eCryptfs: Remove unnecessary casts when parsing packet lengths
    eCryptfs: Force RO mount when encrypted view is enabled

    Linus Torvalds
     
  • Pull more btrfs updates from Chris Mason:
    "This is part two of our merge window patches.

    These are all from Filipe, and fix some really hard to find races that
    can cause corruptions. Most of them involved block group removal
    (balance) or discard"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: remove non-sense btrfs_error_discard_extent() function
    Btrfs: fix fs corruption on transaction abort if device supports discard
    Btrfs: always clear a block group node when removing it from the tree
    Btrfs: ensure deletion from pinned_chunks list is protected

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Here are a few fixes that have landed after the previous pull request.
    All are driver specific fixes including:

    - error/int value fixes in OXFW,
    - Intel Skylake HD-audio HDMI codec support,
    - Additional HD-audio Realtek codecs and AD1986A codec fixes/quirks,
    - a few more DSD support and a quirk for Arcam rPAC in usb-audio,
    - a typo fix for Scarlett 6i6,
    - fixes for new ASIHPI firmware,
    - ASoC Exynos7 cleanups,
    - Intel ACPI support, and
    - a fix for PCM512 register cache sync"

    * tag 'sound-fix-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (24 commits)
    ALSA: usb-audio: extend KEF X300A FU 10 tweak to Arcam rPAC
    ALSA: hda/realtek - New codec support for ALC298
    ALSA: asihpi: update to HPI version 4.14
    ALSA: asihpi: increase tuner pad cache size
    ALSA: asihpi: relax firmware version check
    ALSA: usb-audio: Fix Scarlett 6i6 initialization typo
    ALSA: hda - Add quirk for Packard Bell EasyNote MX65
    ALSA: usb-audio: add native DSD support for Matrix Audio DACs
    ALSA: hda/realtek - New codec support for ALC256
    ALSA: hda/realtek - Add new Dell desktop for ALC3234 headset mode
    ASoC: Intel: fix possible acpi enumeration panic
    ALSA: hda/hdmi - apply Haswell fix-ups to Skylake display codec
    ASoC: Intel: fix return value check in sst_acpi_probe()
    ALSA: hda - Make add_stereo_mix_input flag tristate
    ALSA: hda - Create capture source ctls when stereo mix input is added
    ALSA: hda - Fix typos in snd_hda_get_int_hint() kerneldoc comments
    ALSA: hda - add codec ID for Skylake display audio codec
    ALSA: oxfw: some signedness bugs
    ALSA: oxfw: fix detect_loud_models() return value
    ASoC: rt5677: add REGMAP_I2C and REGMAP_IRQ dependency
    ...

    Linus Torvalds
     
  • Pull SCSI target fixes from Nicholas Bellinger:
    "The highlights this merge window include:

    - Allow target fabric drivers to function as built-in. (Roland)
    - Fix tcm_loop multi-TPG endpoint nexus bug. (Hannes)
    - Move per device config_item_type into se_subsystem_api, allowing
    configfs attributes to be defined at module_init time. (Jerome +
    nab)
    - Convert existing IBLOCK/FILEIO/RAMDISK/PSCSI/TCMU drivers to use
    external configfs attributes. (nab)
    - A number of iser-target fixes related to active session + network
    portal shutdown stability during extended stress testing. (Sagi +
    Slava)
    - Dynamic allocation of T10-PI contexts for iser-target, fixing a
    potentially bogus iscsi_np->tpg_np pointer reference in >= v3.14
    code. (Sagi)
    - iser-target performance + scalability improvements. (Sagi)
    - Fixes for SPC-4 Persistent Reservation AllRegistrants spec
    compliance. (Ilias + James + nab)
    - Avoid potential short kern_sendmsg() in iscsi-target for now until
    Al's conversion to use msghdr iteration is merged post -rc1.
    (Viro)

    Also, Sagi has requested a number of iser-target patches (9) that
    address stability issues he's encountered during extended stress
    testing be considered for v3.10.y + v3.14.y code. Given the amount of
    LOC involved, it will certainly require extra backporting effort.

    Apologies in advance to Greg-KH & Co on this. Sagi and I will be
    working post-merge to ensure they each get applied correctly"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (53 commits)
    target: Allow AllRegistrants to re-RESERVE existing reservation
    uapi/linux/target_core_user.h: fix headers_install.sh badness
    iscsi-target: Fail connection on short sendmsg writes
    iscsi-target: nullify session in failed login sequence
    target: Avoid dropping AllRegistrants reservation during unregister
    target: Fix R_HOLDER bit usage for AllRegistrants
    iscsi-target: Drop left-over bogus iscsi_np->tpg_np
    iser-target: Fix wc->wr_id cast warning
    iser-target: Remove code duplication
    iser-target: Adjust log levels and prettify some prints
    iser-target: Use debug_level parameter to control logging level
    iser-target: Fix logout sequence
    iser-target: Don't wait for session commands from completion context
    iser-target: Reduce CQ lock contention by batch polling
    iser-target: Introduce isert_poll_budget
    iser-target: Remove an atomic operation from the IO path
    iser-target: Remove redundant call to isert_conn_terminate
    iser-target: Use single CQ for TX and RX
    iser-target: Centralize completion elements to a context
    iser-target: Cast wr_id with uintptr_t instead of unsinged long
    ...

    Linus Torvalds
     
  • Pull arch/hexagon updates from Richard Kuo:
    "Build cleanup and a few misc fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel:
    Hexagon: fix signal delivery for debug traps
    Hexagon: set ARCH_DMA_MINALIGN
    Hexagon: fix alignment of init_task in RW_DATA_SECTION
    hexagon: Fix build failures in linux-next

    Linus Torvalds
     
  • Pull arch/chris updates from Jesper Nilsson:
    "Mostly cleanup and build fixes for CRISv32 allmodconfig

    God Jul och Gott Nytt år!"

    * tag 'cris-changes-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris:
    CRISv32: Remove last remnants of ETRAX_SPI_MMC_BOARD
    CRISv32: ETRAXFS: Fix recursive spinlock
    CRISv32: Select MTDRAM for axisflashmap
    CRISv32: Implement early console
    CRIS: Use KALLSYMs if available in call stack dump
    CRISv32: Fix declaration mismatch
    CRISv32: Rewrite of synchronous serial port driver
    CRIS: Update init memory handling
    CRISv32: Better handling of watchdog bite
    CRIS: Export missing function symbols
    CRIS: Export ioremap_nocache
    CRIS: Fix headers_install
    CRISv32: Add missing include for mm.h
    CRISv32: Drop obsolete file for SPI driver

    Linus Torvalds
     
  • Pull ia64 __get_cpu_var removal from Tony Luck:
    "__get_cpu_var removed from rest of tree, drop reference from comments
    in arch/ia64"

    * tag 'please-pull-misc-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    [IA64] Update comment that references __get_cpu_var

    Linus Torvalds
     
  • Eric Paris explains: Since kauditd_send_multicast_skb() gets called in
    audit_log_end(), which can come from any context (aka even a sleeping context)
    GFP_KERNEL can't be used. Since the audit_buffer knows what context it should
    use, pass that down and use that.

    See: https://lkml.org/lkml/2014/12/16/542

    BUG: sleeping function called from invalid context at mm/slab.c:2849
    in_atomic(): 1, irqs_disabled(): 0, pid: 885, name: sulogin
    2 locks held by sulogin/885:
    #0: (&sig->cred_guard_mutex){+.+.+.}, at: [] prepare_bprm_creds+0x28/0x8b
    #1: (tty_files_lock){+.+.+.}, at: [] selinux_bprm_committing_creds+0x55/0x22b
    CPU: 1 PID: 885 Comm: sulogin Not tainted 3.18.0-next-20141216 #30
    Hardware name: Dell Inc. Latitude E6530/07Y85M, BIOS A15 06/20/2014
    ffff880223744f10 ffff88022410f9b8 ffffffff916ba529 0000000000000375
    ffff880223744f10 ffff88022410f9e8 ffffffff91063185 0000000000000006
    0000000000000000 0000000000000000 0000000000000000 ffff88022410fa38
    Call Trace:
    [] dump_stack+0x50/0xa8
    [] ___might_sleep+0x1b6/0x1be
    [] __might_sleep+0x119/0x128
    [] cache_alloc_debugcheck_before.isra.45+0x1d/0x1f
    [] kmem_cache_alloc+0x43/0x1c9
    [] __alloc_skb+0x42/0x1a3
    [] skb_copy+0x3e/0xa3
    [] audit_log_end+0x83/0x100
    [] ? avc_audit_pre_callback+0x103/0x103
    [] common_lsm_audit+0x441/0x450
    [] slow_avc_audit+0x63/0x67
    [] avc_has_perm+0xca/0xe3
    [] inode_has_perm+0x5a/0x65
    [] selinux_bprm_committing_creds+0x98/0x22b
    [] security_bprm_committing_creds+0xe/0x10
    [] install_exec_creds+0xe/0x79
    [] load_elf_binary+0xe36/0x10d7
    [] search_binary_handler+0x81/0x18c
    [] do_execveat_common.isra.31+0x4e3/0x7b7
    [] do_execve+0x1f/0x21
    [] SyS_execve+0x25/0x29
    [] stub_execve+0x69/0xa0

    Cc: stable@vger.kernel.org #v3.16-rc1
    Reported-by: Valdis Kletnieks
    Signed-off-by: Richard Guy Briggs
    Tested-by: Valdis Kletnieks
    Signed-off-by: Paul Moore

    Richard Guy Briggs
     
  • Commit f1dc4867 ("audit: anchor all pid references in the initial pid
    namespace") introduced a find_vpid() call when adding/removing audit
    rules with PID/PPID filters; unfortunately this is problematic as
    find_vpid() only works if there is a task with the associated PID
    alive on the system. The following commands demonstrate a simple
    reproducer.

    # auditctl -D
    # auditctl -l
    # autrace /bin/true
    # auditctl -l

    This patch resolves the problem by simply using the PID provided by
    the user without any additional validation, e.g. no calls to check to
    see if the task/PID exists.

    Cc: stable@vger.kernel.org # 3.15
    Cc: Richard Guy Briggs
    Signed-off-by: Paul Moore
    Acked-by: Eric Paris
    Reviewed-by: Richard Guy Briggs

    Paul Moore
     
  • There are no users of this symbol left.

    Reported-by: Paul Bolle
    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Move pinmux alloc/dealloc code into functions that don't take
    the spinlock so we can use from code that has the spinlock already.

    CRISv32 has no working SMP, so spinlocks becomes a NOP,
    so deadlock was never seen.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Fixes compile error on allmodconfig.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Also, print kernel version on oops.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Drop i2c_init from this header, it was declared non-static here,
    but static in the C-file.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Make driver possible to load as a module and try to handle
    locking better.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • - Add free_initrd_mem as found by Guenter Roeck
    - Add free_init_pages
    - Export empty_zero_page symbol

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Don't enter watchdog handling if we're already in watchdog handling.

    Also some minor formatting tweaks.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • strcmp was lost when all other string functions were removed,
    but we still have an optimized version for this on CRISv32,
    so any driver built as a module would not have access to this symbol.

    In a similar manner, we had optimized versions of
    csum_partial_copy_from_user and __do_clear_user
    but no exported symbols for them, breaking bunch of other drivers
    when built as a module.

    At the same time, move EXPORT_SYMBOL(__copy_user) and
    EXPORT_SYMBOL(__copy_user_zeroing) C-files so it's
    located together with the function definition.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • Signed-off-by: Jesper Nilsson

    Jesper Nilsson