23 Nov, 2014

2 commits


22 Nov, 2014

17 commits

  • Pull networking fixes from David Miller:

    1) Fix BUG when decrypting empty packets in mac80211, from Ronald Wahl.

    2) nf_nat_range is not fully initialized and this is copied back to
    userspace, from Daniel Borkmann.

    3) Fix read past end of b uffer in netfilter ipset, also from Dan
    Carpenter.

    4) Signed integer overflow in ipv4 address mask creation helper
    inet_make_mask(), from Vincent BENAYOUN.

    5) VXLAN, be2net, mlx4_en, and qlcnic need ->ndo_gso_check() methods to
    properly describe the device's capabilities, from Joe Stringer.

    6) Fix memory leaks and checksum miscalculations in openvswitch, from
    Pravin B SHelar and Jesse Gross.

    7) FIB rules passes back ambiguous error code for unreachable routes,
    making behavior confusing for userspace. Fix from Panu Matilainen.

    8) ieee802154fake_probe() doesn't release resources properly on error,
    from Alexey Khoroshilov.

    9) Fix skb_over_panic in add_grhead(), from Daniel Borkmann.

    10) Fix access of stale slave pointers in bonding code, from Nikolay
    Aleksandrov.

    11) Fix stack info leak in PPP pptp code, from Mathias Krause.

    12) Cure locking bug in IPX stack, from Jiri Bohac.

    13) Revert SKB fclone memory freeing optimization that is racey and can
    allow accesses to freed up memory, from Eric Dumazet.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (71 commits)
    tcp: Restore RFC5961-compliant behavior for SYN packets
    net: Revert "net: avoid one atomic operation in skb_clone()"
    virtio-net: validate features during probe
    cxgb4 : Fix DCB priority groups being returned in wrong order
    ipx: fix locking regression in ipx_sendmsg and ipx_recvmsg
    openvswitch: Don't validate IPv6 label masks.
    pptp: fix stack info leak in pptp_getname()
    brcmfmac: don't include linux/unaligned/access_ok.h
    cxgb4i : Don't block unload/cxgb4 unload when remote closes TCP connection
    ipv6: delete protocol and unregister rtnetlink when cleanup
    net/mlx4_en: Add VXLAN ndo calls to the PF net device ops too
    bonding: fix curr_active_slave/carrier with loadbalance arp monitoring
    mac80211: minstrel_ht: fix a crash in rate sorting
    vxlan: Inline vxlan_gso_check().
    can: m_can: update to support CAN FD features
    can: m_can: fix incorrect error messages
    can: m_can: add missing delay after setting CCCR_INIT bit
    can: m_can: fix not set can_dlc for remote frame
    can: m_can: fix possible sleep in napi poll
    can: m_can: add missing message RAM initialization
    ...

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Just two radeon and two intel fixes: endian and regression fixes"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon: fix endian swapping in vbios fetch for tdp table
    drm/radeon: disable native backlight control on pre-r6xx asics (v2)
    drm/i915: Kick fbdev before vgacon
    drm/i915: drop WaSetupGtModeTdRowDispatch:snb

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "This batch ended up as a relatively high volume due to pending ASoC
    fixes. But most of fixes there are trivial and/or device- specific
    fixes and quirks, so safe to apply. The only (ASoC) core fixes are
    the DPCM race fix and the machine-driver matching fix for
    componentization"

    * tag 'sound-3.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - fix the mic mute led problem for Latitude E5550
    ALSA: hda - move DELL_WMI_MIC_MUTE_LED to the tail in the quirk chain
    ASoC: wm_adsp: Avoid attempt to free buffers that might still be in use
    ALSA: usb-audio: Set the Control Selector to SU_SELECTOR_CONTROL for UAC2
    ALSA: usb-audio: Add ctrl message delay quirk for Marantz/Denon devices
    ASoC: sgtl5000: Fix SMALL_POP bit definition
    ASoC: cs42l51: re-hook of_match_table pointer
    ASoC: rt5670: change dapm routes of PLL connection
    ASoC: rt5670: correct the incorrect default values
    ASoC: samsung: Add MODULE_DEVICE_TABLE for Snow
    ASoC: max98090: Correct pclk divisor settings
    ASoC: dpcm: Fix race between FE/BE updates and trigger
    ASoC: Fix snd_soc_find_dai() matching component by name
    ASoC: rsnd: remove unsupported PAUSE flag
    ASoC: fsi: remove unsupported PAUSE flag
    ASoC: rt5645: Mark RT5645_TDM_CTRL_3 as readable
    ASoC: rockchip-i2s: fix infinite loop in rockchip_snd_rxctrl
    ASoC: es8328-i2c: Fix i2c_device_id name field in es8328_id
    ASoC: fsl_asrc: Add reg_defaults for regmap to fix kernel dump

    Linus Torvalds
     
  • Pull ACPI power management fix from Rafael Wysocki:
    "This is just a one-liner fixing a regression introduced in 3.13 that
    broke system suspend on some Chromebooks.

    On those machines there are ACPI device objects for some I2C devices
    that can wake up the system from sleep states, but that is done via a
    platform-specific mechanism and the ACPI objects don't contain any
    wakeup-related information. When we started to use ACPI power
    management with those devices (which happened during the 3.13 cycle),
    their configuration confused the ACPI PM layer that returned error
    codes from suspend callbacks for them causing system suspend to fail.

    However, the ACPI PM layer can safely ignore the wakeup setting from a
    device driver if the ACPI object corresponding to the device in
    question doesn't contain wakeup information in which case the driver
    itself is responsible for setting up the device for system wakeup"

    * tag 'pm+acpi-3.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / PM: Ignore wakeup setting if the ACPI companion can't wake up

    Linus Torvalds
     
  • Pull devicetree fixes from Rob Herring:
    "DeviceTree fixes for 3.18:

    - two fixes for OF selftest code
    - fix for PowerPC address parsing to disable work-around except on
    old PowerMACs
    - fix a crash when earlycon is enabled, but no device is found
    - DT documentation fixes and missing vendor prefixes

    All but the doc updates are also for stable"

    * tag 'devicetree-fixes-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
    of/selftest: Fix testing when /aliases is missing
    of/selftest: Fix off-by-one error in removal path
    documentation: pinctrl bindings: Fix trivial typo 'abitrary'
    devicetree: bindings: Add vendor prefix for Micron Technology, Inc.
    of: Add vendor prefix for Chips&Media, Inc.
    of/base: Fix PowerPC address parsing hack
    devicetree: vendor-prefixes.txt: fix whitespace
    of: Fix crash if an earlycon driver is not found
    of/irq: Drop obsolete 'interrupts' vs 'interrupts-extended' text
    of: Spelling s/stucture/structure/
    devicetree: bindings: add sandisk to the vendor prefixes

    Linus Torvalds
     
  • Pull PCI fixes from Bjorn Helgaas:
    "These are fixes for an issue with 64-bit PCI bus addresses on 32-bit
    PAE kernels, an APM X-Gene problem (it depended on a generic change we
    removed before merging), a fix for my hotplug device configuration
    changes, and a devicetree documentation update.

    Resource management:
    - Support 64-bit bridge windows if we have 64-bit dma_addr_t (Yinghai Lu)

    PCI device hotplug:
    - Apply _HPX Link Control settings to all devices with a link (Yinghai Lu)

    Generic host bridge driver:
    - Add DT binding for "linux,pci-domain" property (Lucas Stach)

    APM X-Gene:
    - Assign resources to bus before adding new devices (Duc Dang)"

    * tag 'pci-v3.18-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    PCI: Support 64-bit bridge windows if we have 64-bit dma_addr_t
    PCI: Apply _HPX Link Control settings to all devices with a link
    PCI: Add missing DT binding for "linux,pci-domain" property
    PCI: xgene: Assign resources to bus before adding new devices

    Linus Torvalds
     
  • Pull SCSI target fixes from Nicholas Bellinger:
    "Here are the target-pending fixes queued for v3.18-rc6.

    The highlights include:

    - target-core OOPs fix with tcm_qla2xxx + vxworks FC initiators +
    zero length SCSI commands having a transfer direction set. (Roland
    + Craig Watson)

    - vhost-scsi OOPs fix to explicitly prevent WWPN endpoint configfs
    group removal while qemu still has an active reference. (Paolo +
    nab)

    - ib_srpt fix for RDMA hardware with lower srp_sq_size limits.
    (Bart)

    - two ib_isert work-arounds for running on ocrdma hardware (Or + Sagi
    + Chris)

    - iscsi-target discovery portal typo + SPC-3 PR Preempt SA key
    matching fix (Steve)"

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    IB/isert: Adjust CQ size to HW limits
    target: return CONFLICT only when SA key unmatched
    iser-target: Handle DEVICE_REMOVAL event on network portal listener correctly
    ib_isert: Add max_send_sge=2 minimum for control PDU responses
    srp-target: Retry when QP creation fails with ENOMEM
    iscsi-target: return the correct port in SendTargets
    vhost-scsi: Take configfs group dependency during VHOST_SCSI_SET_ENDPOINT
    target: Don't call TFO->write_pending if data_length == 0

    Linus Torvalds
     
  • Pull dmaengine fixes from Vinod Koul:
    "We have couple of fixes for dmaengine queued up:
    - dma mempcy fix for dma configuration of sun6i by Maxime
    - pl330 fixes: First the fixing allocation for data buffers by Liviu
    and then Jon's fixe for fifo width and usage"

    * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
    dmaengine: Fix allocation size for PL330 data buffer depth.
    dmaengine: pl330: Limit MFIFO usage for memcpy to avoid exhausting entries
    dmaengine: pl330: Align DMA memcpy operations to MFIFO width
    dmaengine: sun6i: Fix memcpy operation

    Linus Torvalds
     
  • Pull MIPS fixes from Ralf Baechle:
    "More 3.18 fixes for MIPS:

    - backtraces were not quite working on on 64-bit kernels
    - loongson needs a different cache coherency setting
    - Loongson 3 is a MIPS64 R2 version but due to erratum we treat is an
    older architecture revision.
    - fix build errors due to undefined references to __node_distances
    for certain configurations.
    - fix instruction decodig in the jump label code.
    - for certain configurations copy_{from,to}_user destroy the content
    of $3 so that register needs to be marked as clobbed by the calling
    code.
    - Hardware Table Walker fixes.
    - fill the delay slot of the last instruction of memcpy otherwise
    whatever ends up there randomly might have undesirable effects.
    - ensure get_user/__get_user always zero the variable to be read even
    in case of an error"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: jump_label.c: Handle the microMIPS J instruction encoding
    MIPS: jump_label.c: Correct the span of the J instruction
    MIPS: Zero variable read by get_user / __get_user in case of an error.
    MIPS: lib: memcpy: Restore NOP on delay slot before returning to caller
    MIPS: tlb-r4k: Add missing HTW stop/start sequences
    MIPS: asm: uaccess: Add v1 register to clobber list on EVA
    MIPS: oprofile: Fix backtrace on 64-bit kernel
    MIPS: Loongson: Set Loongson-3's ISA level to MIPS64R1
    MIPS: Loongson: Fix the write-combine CCA value setting
    MIPS: IP27: Fix __node_distances undefined error
    MIPS: Loongson3: Fix __node_distances undefined error

    Linus Torvalds
     
  • Pull powerpc fix from Michael Ellerman:
    "One fix from Scott, he says:

    This patch fixes a crash (introduced in v3.18-rc1) in the FSL MSI driver
    when threaded IRQs are enabled"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
    powerpc/fsl_msi: mark the msi cascade handler IRQF_NO_THREAD

    Linus Torvalds
     
  • Pull x86 fixes from Thomas Gleixner:
    "Misc fixes:
    - gold linker build fix
    - noxsave command line parsing fix
    - bugfix for NX setup
    - microcode resume path bug fix
    - _TIF_NOHZ versus TIF_NOHZ bugfix as discussed in the mysterious
    lockup thread"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, syscall: Fix _TIF_NOHZ handling in syscall_trace_enter_phase1
    x86, kaslr: Handle Gold linker for finding bss/brk
    x86, mm: Set NX across entire PMD at boot
    x86, microcode: Update BSPs microcode on resume
    x86: Require exact match for 'noxsave' command line option

    Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar:
    "Misc fixes: two NUMA fixes, two cputime fixes and an RCU/lockdep fix"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/cputime: Fix clock_nanosleep()/clock_gettime() inconsistency
    sched/cputime: Fix cpu_timer_sample_group() double accounting
    sched/numa: Avoid selecting oneself as swap target
    sched/numa: Fix out of bounds read in sched_init_numa()
    sched: Remove lockdep check in sched_move_task()

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Misc fixes: two Intel uncore driver fixes, a CPU-hotplug fix and a
    build dependencies fix"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86/intel/uncore: Fix boot crash on SBOX PMU on Haswell-EP
    perf/x86/intel/uncore: Fix IRP uncore register offsets on Haswell EP
    perf: Fix corruption of sibling list with hotplug
    perf/x86: Fix embarrasing typo

    Linus Torvalds
     
  • Pull core fix from Ingo Molnar:
    "Fix GENMASK macro shift overflow"

    Nobody seems to currently use GENMASK() to fill every single last bit
    (which is what overflows) in-tree, and gcc would warn about it, so we
    have that going for us. But apparently there are pending changes that
    want this.

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    bitops: Fix shift overflow in GENMASK macros

    Linus Torvalds
     
  • Commit c3ae62af8e755 ("tcp: should drop incoming frames without ACK
    flag set") was created to mitigate a security vulnerability in which a
    local attacker is able to inject data into locally-opened sockets by
    using TCP protocol statistics in procfs to quickly find the correct
    sequence number.

    This broke the RFC5961 requirement to send a challenge ACK in response
    to spurious RST packets, which was subsequently fixed by commit
    7b514a886ba50 ("tcp: accept RST without ACK flag").

    Unfortunately, the RFC5961 requirement that spurious SYN packets be
    handled in a similar manner remains broken.

    RFC5961 section 4 states that:

    ... the handling of the SYN in the synchronized state SHOULD be
    performed as follows:

    1) If the SYN bit is set, irrespective of the sequence number, TCP
    MUST send an ACK (also referred to as challenge ACK) to the remote
    peer:

    After sending the acknowledgment, TCP MUST drop the unacceptable
    segment and stop processing further.

    By sending an ACK, the remote peer is challenged to confirm the loss
    of the previous connection and the request to start a new connection.
    A legitimate peer, after restart, would not have a TCB in the
    synchronized state. Thus, when the ACK arrives, the peer should send
    a RST segment back with the sequence number derived from the ACK
    field that caused the RST.

    This RST will confirm that the remote peer has indeed closed the
    previous connection. Upon receipt of a valid RST, the local TCP
    endpoint MUST terminate its connection. The local TCP endpoint
    should then rely on SYN retransmission from the remote end to
    re-establish the connection.

    This patch lets SYN packets through the discard added in c3ae62af8e755,
    so that spurious SYN packets are properly dealt with as per the RFC.

    The challenge ACK is sent unconditionally and is rate-limited, so the
    original vulnerability is not reintroduced by this patch.

    Signed-off-by: Calvin Owens
    Acked-by: Eric Dumazet
    Acked-by: Neal Cardwell
    Signed-off-by: David S. Miller

    Calvin Owens
     
  • Not sure what I was thinking, but doing anything after
    releasing a refcount is suicidal or/and embarrassing.

    By the time we set skb->fclone to SKB_FCLONE_FREE, another cpu
    could have released last reference and freed whole skb.

    We potentially corrupt memory or trap if CONFIG_DEBUG_PAGEALLOC is set.

    Reported-by: Chris Mason
    Fixes: ce1a4ea3f1258 ("net: avoid one atomic operation in skb_clone()")
    Signed-off-by: Eric Dumazet
    Cc: Sabrina Dubroca
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • …t/mszeredi/vfs into for-linus

    "The biggest change is to rename the filesystem from "overlayfs" to "overlay".
    This will allow legacy overlayfs to be easily carried by distros alongside the
    new mainline one. Also fix a couple of copy-up races and allow escaping comma
    character in filenames."

    The last bit is about commas in pathname mount options...

    Al Viro
     

21 Nov, 2014

12 commits

  • We currently trigger BUG when VIRTIO_NET_F_CTRL_VQ
    is not set but one of features depending on it is.
    That's not a friendly way to report errors to
    hypervisors.
    Let's check, and fail probe instead.

    Cc: Rusty Russell
    Cc: Cornelia Huck
    Cc: Wanlong Gao
    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: Jason Wang
    Acked-by: Cornelia Huck
    Acked-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Jason Wang
     
  • Pablo Neira Ayuso says:

    ====================
    Netfilter fixes for net

    The following patchset contains two bugfixes for your net tree, they are:

    1) Validate netlink group from nfnetlink to avoid an out of bound array
    access. This should only happen with superuser priviledges though.
    Discovered by Andrey Ryabinin using trinity.

    2) Don't push ethernet header before calling the netfilter output hook
    for multicast traffic, this breaks ebtables since it expects to see
    skb->data pointing to the network header, patch from Linus Luessing.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • John W. Linville says:

    ====================
    pull request: wireless 2014-11-20

    Please full this little batch of fixes intended for the 3.18 stream!

    For the mac80211 patch, Johannes says:

    "Here's another last minute fix, for minstrel HT crashing
    depending on the value of some uninitialised stack."

    On top of that...

    Ben Greear fixes an ath9k regression in which a BSSID mask is
    miscalculated.

    Dmitry Torokhov corrects an error handling routing in brcmfmac which
    was checking an unsigned variable for a negative value.

    Johannes Berg avoids a build problem in brcmfmac for arches where
    linux/unaligned/access_ok.h and asm/unaligned.h conflict.

    Mathy Vanhoef addresses another brcmfmac issue so as to eliminate a
    use-after-free of the URB transfer buffer if a timeout occurs.

    Please let me know if there are problems!
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Peer priority groups were being reversed, but this was missed in the previous
    fix sent out for this issue.

    v2 : Previous patch was doing extra unnecessary work, result is the same.
    Please ignore previous patch

    Fixes : ee7bc3cdc270 ('cxgb4 : dcb open-lldp interop fixes')

    Signed-off-by: Anish Bhatt
    Signed-off-by: David S. Miller

    Anish Bhatt
     
  • This fixes an old regression introduced by commit
    b0d0d915 (ipx: remove the BKL).

    When a recvmsg syscall blocks waiting for new data, no data can be sent on the
    same socket with sendmsg because ipx_recvmsg() sleeps with the socket locked.

    This breaks mars-nwe (NetWare emulator):
    - the ncpserv process reads the request using recvmsg
    - ncpserv forks and spawns nwconn
    - ncpserv calls a (blocking) recvmsg and waits for new requests
    - nwconn deadlocks in sendmsg on the same socket

    Commit b0d0d915 has simply replaced BKL locking with
    lock_sock/release_sock. Unlike now, BKL got unlocked while
    sleeping, so a blocking recvmsg did not block a concurrent
    sendmsg.

    Only keep the socket locked while actually working with the socket data and
    release it prior to calling skb_recv_datagram().

    Signed-off-by: Jiri Bohac
    Reviewed-by: Arnd Bergmann
    Signed-off-by: David S. Miller

    Jiri Bohac
     
  • When userspace doesn't provide a mask, OVS datapath generates a fully
    unwildcarded mask for the flow by copying the flow and setting all bits
    in all fields. For IPv6 label, this creates a mask that matches on the
    upper 12 bits, causing the following error:

    openvswitch: netlink: Invalid IPv6 flow label value (value=ffffffff, max=fffff)

    This patch ignores the label validation check for masks, avoiding this
    error.

    Signed-off-by: Joe Stringer
    Acked-by: Pravin B Shelar
    Signed-off-by: David S. Miller

    Joe Stringer
     
  • pptp_getname() only partially initializes the stack variable sa,
    particularly only fills the pptp part of the sa_addr union. The code
    thereby discloses 16 bytes of kernel stack memory via getsockname().

    Fix this by memset(0)'ing the union before.

    Cc: Dmitry Kozlov
    Signed-off-by: Mathias Krause
    Signed-off-by: David S. Miller

    Mathias Krause
     
  • fix one regression and one endian issue.

    * 'drm-fixes-3.18' of git://people.freedesktop.org/~agd5f/linux:
    drm/radeon: fix endian swapping in vbios fetch for tdp table
    drm/radeon: disable native backlight control on pre-r6xx asics (v2)

    Dave Airlie
     
  • TIF_NOHZ is 19 (i.e. _TIF_SYSCALL_TRACE | _TIF_NOTIFY_RESUME |
    _TIF_SINGLESTEP), not (1<
    Cc: Don Zickus
    Cc: Peter Zijlstra
    Cc: Dave Jones
    Cc: Linus Torvalds
    Link: http://lkml.kernel.org/r/a6cd3b60a3f53afb6e1c8081b0ec30ff19003dd7.1416434075.git.luto@amacapital.net
    Signed-off-by: Thomas Gleixner

    Andy Lutomirski
     
  • This is a specific implementation, is the
    multiplexer that has the arch-specific knowledge of which
    of the implementations needs to be used, so include that.

    This issue was revealed by kbuild testing
    when was added in
    resulting in redefinition of get_unaligned_be16 (and
    probably others).

    Cc: stable@vger.kernel.org # v3.17
    Reported-by: Fengguang Wu
    Signed-off-by: Johannes Berg
    Signed-off-by: Arend van Spriel
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • Value needs to be swapped on BE.

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org

    Alex Deucher
     
  • Just use the acpi interface. That's what windows uses on this
    generation and it's the only thing that seems to work reliably
    on these generation parts.

    You can still force the native backlight interface by setting
    radeon.backlight=1

    Bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=88501

    v2: merge into above if/else block

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org

    Alex Deucher
     

20 Nov, 2014

9 commits

  • Check against !OVL_PATH_LOWER instead of OVL_PATH_MERGE. For a copied up
    directory the two are currently equivalent.

    Signed-off-by: Miklos Szeredi

    Miklos Szeredi
     
  • There's a union/overlay specific mailing list now. Also add a git tree.

    Signed-off-by: Miklos Szeredi

    Miklos Szeredi
     
  • Pass dentry into ovl_dir_read_merged() insted of upperpath and lowerpath.
    This cleans up callers and paves the way for multi-layer directory reads.

    Signed-off-by: Miklos Szeredi

    Miklos Szeredi
     
  • Don't open code lockless_dereference() in ovl_upperdentry_dereference().

    Signed-off-by: Miklos Szeredi

    Miklos Szeredi
     
  • Allow option separator (comma) to be escaped with backslash.

    Signed-off-by: Miklos Szeredi

    Miklos Szeredi
     
  • Xattr operations can race with copy up. This does not matter as long as
    we consistently fiter out "trunsted.overlay.opaque" attribute on upper
    directories.

    Previously we checked parent against OVL_PATH_MERGE. This is too general,
    and prone to race with copy-up. I.e. we found the parent to be on the
    lower layer but ovl_dentry_real() would return the copied-up dentry,
    possibly with the "opaque" attribute.

    So instead use ovl_path_real() and decide to filter the attributes based on
    the actual type of the dentry we'll use.

    Signed-off-by: Miklos Szeredi

    Miklos Szeredi
     
  • ovl_remove_and_whiteout() needs to check if upper dentry exists or not
    after having locked upper parent directory.

    Previously we used a "type" value computed before locking the upper parent
    directory, which is susceptible to racing with copy-up.

    There's a similar check in ovl_check_empty_and_clear(). This one is not
    actually racy, since copy-up doesn't change the "emptyness" property of a
    directory. Add a comment to this effect, and check the existence of upper
    dentry locally to make the code cleaner.

    Signed-off-by: Miklos Szeredi

    Miklos Szeredi
     
  • Some distributions carry an "old" format of overlayfs while mainline has a
    "new" format.

    The distros will possibly want to keep the old overlayfs alongside the new
    for compatibility reasons.

    To make it possible to differentiate the two versions change the name of
    the new one from "overlayfs" to "overlay".

    Signed-off-by: Miklos Szeredi
    Reported-by: Serge Hallyn
    Cc: Andy Whitcroft

    Miklos Szeredi
     
  • The /aliases node isn't always present in the device tree, but the
    unittest code assumes that /aliases is there. Add a check when inserting
    the testcase data to see if of_aliases needs to be updated, and undo the
    settings when the nodes are removed.

    Signed-off-by: Grant Likely
    Cc: Rob Herring
    Cc: Gaurav Minocha
    Cc:

    Grant Likely