30 Jul, 2013

1 commit

  • Commit 835f2f5 ("staging: zcache: enable zcache to be built/loaded as
    a module") introduced an incorrect handling of "zcache=" parameter.

    Inside zcache_comp_init() function, zcache_comp_name variable is
    checked for being empty. If not empty, the above variable is tested
    for being compatible with Crypto API. Unfortunately, after that
    function ends unconditionally (by the "goto out" directive) and returns:
    - non-zero value if verification succeeded, wrongly indicating an error
    - zero value if verification failed, falsely informing that function
    zcache_comp_init() ended properly.

    A solution to this problem is as following:
    1. Move the "goto out" directive inside the "if (!ret)" statement
    2. In case that crypto_has_comp() returned 0, change the value of ret
    to non-zero before "goto out" to indicate an error.

    This patch replaces an earlier one from Michal Hocko (based on report
    from Cristian Rodriguez):

    http://permalink.gmane.org/gmane.linux.kernel.mm/102484

    It also addressed the same issue but didn't fix the zcache_comp_init()
    for case when the compressor data passed to "zcache=" option was invalid
    or unsupported.

    Signed-off-by: Piotr Sarna
    [bzolnier: updated patch description]
    Acked-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Kyungmin Park
    Acked-by: Konrad Rzeszutek Wilk
    Acked-by: Michal Hocko
    Cc: stable # 3.10
    Cc: Cristian Rodriguez
    Cc: Bob Liu
    Signed-off-by: Greg Kroah-Hartman

    Piotr Sarna
     

25 Jul, 2013

2 commits


24 Jul, 2013

7 commits

  • In the situation that a writer fails to copy data from userspace it will reset
    the write offset to the value it had before it went to sleep. This discarding
    any messages written while aquiring the mutex.

    Therefore the reset offset needs to be retrieved after acquiring the mutex.

    Cc: Android Kernel Team
    Signed-off-by: Bjorn Andersson
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Karlis Ogsts
     
  • Commit 9b3bb7abcdf2df0f1b2657e6cbc9d06bc2b3b36f (remove
    zram_sysfs file (v2)) accidentally made zram_reset_device()
    racy. Protect zram_reset_device() call with zram->lock.

    Signed-off-by: Sergey Senozhatsky
    Acked-by: Jerome Marchand
    Signed-off-by: Greg Kroah-Hartman

    Sergey Senozhatsky
     
  • Sometimes free_qos_entry() sometimes frees its argument. I have moved
    the dereference of "entry" ahead on line to avoid a use after free.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • Commit ac4c1a9b33 ("staging: drm/imx: Add LDB support") added the
    DRM_IMX_LDB Kconfig entry. That entry selects OF_VIDEOMODE. But there is
    no Kconfig symbol named OF_VIDEOMODE. The select statement for that
    symbol is a nop. Drop it.

    Signed-off-by: Paul Bolle
    Acked-by: Sascha Hauer
    Signed-off-by: Greg Kroah-Hartman

    Paul Bolle
     
  • usb_alphatrack_delete() frees "dev" so we can't use it on that path.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • `do_cmd_ioctl()` is called with the comedi device's mutex locked to
    process the `COMEDI_CMD` ioctl to set up comedi's asynchronous command
    handling on a comedi subdevice. `comedi_read()` and `comedi_write()`
    are the `read` and `write` handlers for the comedi device, but do not
    lock the mutex (for performance reasons, as some things can hold the
    mutex for quite a long time).

    There is a race condition if `comedi_read()` or `comedi_write()` is
    running at the same time and for the same file object and comedi
    subdevice as `do_cmd_ioctl()`. `do_cmd_ioctl()` sets the subdevice's
    `busy` pointer to the file object way before it sets the `SRF_RUNNING` flag
    in the subdevice's `runflags` member. `comedi_read() and
    `comedi_write()` check the subdevice's `busy` pointer is pointing to the
    current file object, then if the `SRF_RUNNING` flag is not set, will call
    `do_become_nonbusy()` to shut down the asyncronous command. Bad things
    can happen if the asynchronous command is being shutdown and set up at
    the same time.

    To prevent the race, don't set the `busy` pointer until
    after the `SRF_RUNNING` flag has been set. Also, make sure the mutex is
    held in `comedi_read()` and `comedi_write()` while calling
    `do_become_nonbusy()` in order to avoid moving the race condition to a
    point within that function.

    Change some error handling `goto cleanup` statements in `do_cmd_ioctl()`
    to simple `return -ERRFOO` statements as a result of changing when the
    `busy` pointer is set.

    Signed-off-by: Ian Abbott
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Ian Abbott
     
  • Comedi devices can do blocking read() or write() (or poll()) if an
    asynchronous command has been set up, blocking for data (for read()) or
    buffer space (for write()). Various events associated with the
    asynchronous command will wake up the blocked reader or writer (or
    poller). It is also possible to force the asynchronous command to
    terminate by issuing a `COMEDI_CANCEL` ioctl. That shuts down the
    asynchronous command, but does not currently wake up the blocked reader
    or writer (or poller). If the blocked task could be woken up, it would
    see that the command is no longer active and return. The caller of the
    `COMEDI_CANCEL` ioctl could attempt to wake up the blocked task by
    sending a signal, but that's a nasty workaround.

    Change `do_cancel_ioctl()` to wake up the wait queue after it returns
    from `do_cancel()`. `do_cancel()` can propagate an error return value
    from the low-level comedi driver's cancel routine, but it always shuts
    the command down regardless, so `do_cancel_ioctl()` can wake up he wait
    queue regardless of the return value from `do_cancel()`.

    Signed-off-by: Ian Abbott
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Ian Abbott
     

21 Jul, 2013

1 commit

  • Pull staging tree fixes from Greg KH:
    "Here are a few iio driver fixes for 3.11-rc2. They are still spread
    across drivers/iio and drivers/staging/iio so they are coming in
    through this tree.

    I've also removed the drivers/staging/csr/ driver as the developers
    who originally sent it to me have moved on to other companies, and CSR
    still will not send us the specs for the device, making the driver
    pretty much obsolete and impossible to fix up. Deleting it now
    prevents people from sending in lots of tiny codingsyle fixes that
    will never go anywhere.

    It also helps to offset the large lustre filesystem merge that
    happened in 3.11-rc1 in the overall 3.11.0 diffstat. :)"

    * tag 'staging-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    staging: csr: remove driver
    iio: lps331ap: Fix wrong in_pressure_scale output value
    iio staging: fix lis3l02dq, read error handling
    staging:iio:ad7291: add missing .driver_module to struct iio_info
    iio: ti_am335x_adc: add missing .driver_module to struct iio_info
    iio: mxs-lradc: Remove useless check in read_raw
    iio: mxs-lradc: Fix misuse of iio->trig
    iio: inkern: fix iio_convert_raw_to_processed_unlocked
    iio: Fix iio_channel_has_info
    iio:trigger: device_unregister->device_del to avoid double free
    iio: dac: ad7303: fix error return code in ad7303_probe()

    Linus Torvalds
     

17 Jul, 2013

2 commits

  • …/jic23/iio into staging-linus

    Jonathan writes:

    The first round of IIO fixes for the 3.11 cycle.

    This set is larger than I would like, partly due to my lack of review
    time in the weeks before the merge window and partly because a
    couple of large drivers and the subsystem as a whole seem to be
    getting a lot more exposure and testing recently.

    1) A long term bug in trigger handling gave a double free of the device.

    2) Wrong return value handling means offsets are ignored in
    iio_convert_raw_to_processed_unlocked.

    3) The iio_channel_has_info utility function was incorrectly updated
    during the recent info_mask split, this is now fixed.

    4) mxs-lradc has a couple of little fixes.

    5) A couple of missing .driver_module entries meant that drivers
    could be removed from underneath their users.

    6) Error path fixes for ad7303 and lis3l02dq.

    7) The scale value for presure in the lps331ap driver was out by
    a factor of 100.

    Greg Kroah-Hartman
     
  • This driver is not being updated as the specifications are not able to
    be gotten from CSR or anyone else. Without those, getting this driver
    into proper mergable shape is going to be impossible. So remove the
    driver from the tree.

    If the specifications ever become available, this patch can be reverted
    and the driver fixed up properly.

    Reported-by: Lidza Louina
    Cc: Veli-Pekka Peltola
    Cc: Mikko Virkkilä
    Cc: Lauri Hintsala
    Cc: Riku Mettälä
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

16 Jul, 2013

1 commit


14 Jul, 2013

2 commits

  • Pull MIPS updates from Ralf Baechle:
    "MIPS updates:

    - All the things that didn't make 3.10.
    - Removes the Windriver PPMC platform. Nobody will miss it.
    - Remove a workaround from kernel/irq/irqdomain.c which was there
    exclusivly for MIPS. Patch by Grant Likely.
    - More small improvments for the SEAD 3 platform
    - Improvments on the BMIPS / SMP support for the BCM63xx series.
    - Various cleanups of dead leftovers.
    - Platform support for the Cavium Octeon-based EdgeRouter Lite.

    Two large KVM patchsets didn't make it for this pull request because
    their respective authors are vacationing"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (124 commits)
    MIPS: Kconfig: Add missing MODULES dependency to VPE_LOADER
    MIPS: BCM63xx: CLK: Add dummy clk_{set,round}_rate() functions
    MIPS: SEAD3: Disable L2 cache on SEAD-3.
    MIPS: BCM63xx: Enable second core SMP on BCM6328 if available
    MIPS: BCM63xx: Add SMP support to prom.c
    MIPS: define write{b,w,l,q}_relaxed
    MIPS: Expose missing pci_io{map,unmap} declarations
    MIPS: Malta: Update GCMP detection.
    Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET"
    MIPS: APSP: Remove
    SSB: Kconfig: Amend SSB_EMBEDDED dependencies
    MIPS: microMIPS: Fix improper definition of ISA exception bit.
    MIPS: Don't try to decode microMIPS branch instructions where they cannot exist.
    MIPS: Declare emulate_load_store_microMIPS as a static function.
    MIPS: Fix typos and cleanup comment
    MIPS: Cleanup indentation and whitespace
    MIPS: BMIPS: support booting from physical CPU other than 0
    MIPS: Only set cpu_has_mmips if SYS_SUPPORTS_MICROMIPS
    MIPS: GIC: Fix gic_set_affinity infinite loop
    MIPS: Don't save/restore OCTEON wide multiplier state on syscalls.
    ...

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:
    "This series contain:
    - new i2c video drivers: ml86v7667 (video decoder),
    ths8200 (video encoder)
    - a new video driver for EasyCap cards based on Fushicai USBTV007
    - Improved support for OF and embedded systems, with V4L2 async
    initialization and a better support for clocks
    - API cleanups on the ioctls used by the v4l2 debug tool
    - Lots of cleanups
    - As usual, several driver improvements and new cards additions
    - Revert two changesets that change the minimal symbol rate for
    stv0399, as request by Manu
    - Update MAINTAINERS and other files to point to my new e-mail"

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (378 commits)
    MAINTAINERS & ABI: Update to point to my new email
    [media] stb0899: restore minimal rate to 5Mbauds
    [media] exynos4-is: Correct colorspace handling at FIMC-LITE
    [media] exynos4-is: Set valid initial format on FIMC.n subdevs
    [media] exynos4-is: Set valid initial format on FIMC-IS-ISP subdev pads
    [media] exynos4-is: Fix format propagation on FIMC-IS-ISP subdev
    [media] exynos4-is: Set valid initial format at FIMC-LITE
    [media] exynos4-is: Fix format propagation on FIMC-LITE.n subdevs
    [media] MAINTAINERS: Update S5P/Exynos FIMC driver entry
    [media] Documentation: Update driver's directory in video4linux/fimc.txt
    [media] exynos4-is: Change fimc-is firmware file names
    [media] exynos4-is: Add support for Exynos5250 MIPI-CSIS
    [media] exynos4-is: Add Exynos5250 SoC support to fimc-lite driver
    [media] exynos4-is: Drop drvdata handling in fimc-lite for non-dt platforms
    [media] media: i2c: tvp514x: remove manual setting of subdev name
    [media] media: i2c: tvp7002: remove manual setting of subdev name
    [media] mem2mem: set missing v4l2_dev pointer
    [media] wl128x: add missing struct v4l2_device
    [media] tvp514x: Fix init seqeunce
    [media] saa7134: Fix sparse warnings by adding __user annotation
    ...

    Linus Torvalds
     

12 Jul, 2013

1 commit

  • Pull thermal management updates from Zhang Rui:
    "There are not too many changes this time, except two new platform
    thermal drivers, ti-soc-thermal driver and x86_pkg_temp_thermal
    driver, and a couple of small fixes.

    Highlights:

    - move the ti-soc-thermal driver out of the staging tree to the
    thermal tree.

    - introduce the x86_pkg_temp_thermal driver. This driver registers
    CPU digital temperature package level sensor as a thermal zone.

    - small fixes/cleanups including removing redundant use of
    platform_set_drvdata() and of_match_ptr for all platform thermal
    drivers"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (34 commits)
    thermal: cpu_cooling: fix stub function
    thermal: ti-soc-thermal: use standard GPIO DT bindings
    thermal: MAINTAINERS: Add git tree path for SoC specific updates
    thermal: fix x86_pkg_temp_thermal.c build and Kconfig
    Thermal: Documentation for x86 package temperature thermal driver
    Thermal: CPU Package temperature thermal
    thermal: consider emul_temperature while computing trend
    thermal: ti-soc-thermal: add DT example for DRA752 chip
    thermal: ti-soc-thermal: add dra752 chip to device table
    thermal: ti-soc-thermal: add thermal data for DRA752 chips
    thermal: ti-soc-thermal: remove usage of IS_ERR_OR_NULL
    thermal: ti-soc-thermal: freeze FSM while computing trend
    thermal: ti-soc-thermal: remove external heat while extrapolating hotspot
    thermal: ti-soc-thermal: update DT reference for OMAP5430
    x86, mcheck, therm_throt: Process package thresholds
    thermal: cpu_cooling: fix 'descend' check in get_property()
    Thermal: spear: Remove redundant use of of_match_ptr
    Thermal: kirkwood: Remove redundant use of of_match_ptr
    Thermal: dove: Remove redundant use of of_match_ptr
    Thermal: armada: Remove redundant use of of_match_ptr
    ...

    Linus Torvalds
     

11 Jul, 2013

1 commit


10 Jul, 2013

3 commits

  • Pull networking updates from David Miller:
    "This is a re-do of the net-next pull request for the current merge
    window. The only difference from the one I made the other day is that
    this has Eliezer's interface renames and the timeout handling changes
    made based upon your feedback, as well as a few bug fixes that have
    trickeled in.

    Highlights:

    1) Low latency device polling, eliminating the cost of interrupt
    handling and context switches. Allows direct polling of a network
    device from socket operations, such as recvmsg() and poll().

    Currently ixgbe, mlx4, and bnx2x support this feature.

    Full high level description, performance numbers, and design in
    commit 0a4db187a999 ("Merge branch 'll_poll'")

    From Eliezer Tamir.

    2) With the routing cache removed, ip_check_mc_rcu() gets exercised
    more than ever before in the case where we have lots of multicast
    addresses. Use a hash table instead of a simple linked list, from
    Eric Dumazet.

    3) Add driver for Atheros CQA98xx 802.11ac wireless devices, from
    Bartosz Markowski, Janusz Dziedzic, Kalle Valo, Marek Kwaczynski,
    Marek Puzyniak, Michal Kazior, and Sujith Manoharan.

    4) Support reporting the TUN device persist flag to userspace, from
    Pavel Emelyanov.

    5) Allow controlling network device VF link state using netlink, from
    Rony Efraim.

    6) Support GRE tunneling in openvswitch, from Pravin B Shelar.

    7) Adjust SOCK_MIN_RCVBUF and SOCK_MIN_SNDBUF for modern times, from
    Daniel Borkmann and Eric Dumazet.

    8) Allow controlling of TCP quickack behavior on a per-route basis,
    from Cong Wang.

    9) Several bug fixes and improvements to vxlan from Stephen
    Hemminger, Pravin B Shelar, and Mike Rapoport. In particular,
    support receiving on multiple UDP ports.

    10) Major cleanups, particular in the area of debugging and cookie
    lifetime handline, to the SCTP protocol code. From Daniel
    Borkmann.

    11) Allow packets to cross network namespaces when traversing tunnel
    devices. From Nicolas Dichtel.

    12) Allow monitoring netlink traffic via AF_PACKET sockets, in a
    manner akin to how we monitor real network traffic via ptype_all.
    From Daniel Borkmann.

    13) Several bug fixes and improvements for the new alx device driver,
    from Johannes Berg.

    14) Fix scalability issues in the netem packet scheduler's time queue,
    by using an rbtree. From Eric Dumazet.

    15) Several bug fixes in TCP loss recovery handling, from Yuchung
    Cheng.

    16) Add support for GSO segmentation of MPLS packets, from Simon
    Horman.

    17) Make network notifiers have a real data type for the opaque
    pointer that's passed into them. Use this to properly handle
    network device flag changes in arp_netdev_event(). From Jiri
    Pirko and Timo Teräs.

    18) Convert several drivers over to module_pci_driver(), from Peter
    Huewe.

    19) tcp_fixup_rcvbuf() can loop 500 times over loopback, just use a
    O(1) calculation instead. From Eric Dumazet.

    20) Support setting of explicit tunnel peer addresses in ipv6, just
    like ipv4. From Nicolas Dichtel.

    21) Protect x86 BPF JIT against spraying attacks, from Eric Dumazet.

    22) Prevent a single high rate flow from overruning an individual cpu
    during RX packet processing via selective flow shedding. From
    Willem de Bruijn.

    23) Don't use spinlocks in TCP md5 signing fast paths, from Eric
    Dumazet.

    24) Don't just drop GSO packets which are above the TBF scheduler's
    burst limit, chop them up so they are in-bounds instead. Also
    from Eric Dumazet.

    25) VLAN offloads are missed when configured on top of a bridge, fix
    from Vlad Yasevich.

    26) Support IPV6 in ping sockets. From Lorenzo Colitti.

    27) Receive flow steering targets should be updated at poll() time
    too, from David Majnemer.

    28) Fix several corner case regressions in PMTU/redirect handling due
    to the routing cache removal, from Timo Teräs.

    29) We have to be mindful of ipv4 mapped ipv6 sockets in
    upd_v6_push_pending_frames(). From Hannes Frederic Sowa.

    30) Fix L2TP sequence number handling bugs, from James Chapman."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1214 commits)
    drivers/net: caif: fix wrong rtnl_is_locked() usage
    drivers/net: enic: release rtnl_lock on error-path
    vhost-net: fix use-after-free in vhost_net_flush
    net: mv643xx_eth: do not use port number as platform device id
    net: sctp: confirm route during forward progress
    virtio_net: fix race in RX VQ processing
    virtio: support unlocked queue poll
    net/cadence/macb: fix bug/typo in extracting gem_irq_read_clear bit
    Documentation: Fix references to defunct linux-net@vger.kernel.org
    net/fs: change busy poll time accounting
    net: rename low latency sockets functions to busy poll
    bridge: fix some kernel warning in multicast timer
    sfc: Fix memory leak when discarding scattered packets
    sit: fix tunnel update via netlink
    dt:net:stmmac: Add dt specific phy reset callback support.
    dt:net:stmmac: Add support to dwmac version 3.610 and 3.710
    dt:net:stmmac: Allocate platform data only if its NULL.
    net:stmmac: fix memleak in the open method
    ipv6: rt6_check_neigh should successfully verify neigh if no NUD information are available
    net: ipv6: fix wrong ping_v6_sendmsg return value
    ...

    Linus Torvalds
     
  • Pull drm updates from Dave Airlie:
    "Okay this is the big one, I was stalled on the fbdev pull req as I
    stupidly let fbdev guys merge a patch I required to fix a warning with
    some patches I had, they ended up merging the patch from the wrong
    place, but the warning should be fixed. In future I'll just take the
    patch myself!

    Outside drm:

    There are some snd changes for the HDMI audio interactions on haswell,
    they've been acked for inclusion via my tree. This relies on the
    wound/wait tree from Ingo which is already merged.

    Major changes:

    AMD finally released the dynamic power management code for all their
    GPUs from r600->present day, this is great, off by default for now but
    also a huge amount of code, in fact it is most of this pull request.

    Since it landed there has been a lot of community testing and Alex has
    sent a lot of fixes for any bugs found so far. I suspect radeon might
    now be the biggest kernel driver ever :-P p.s. radeon.dpm=1 to enable
    dynamic powermanagement for anyone.

    New drivers:

    Renesas r-car display unit.

    Other highlights:

    - core: GEM CMA prime support, use new w/w mutexs for TTM
    reservations, cursor hotspot, doc updates
    - dvo chips: chrontel 7010B support
    - i915: Haswell (fbc, ips, vecs, watermarks, audio powerwell),
    Valleyview (enabled by default, rc6), lots of pll reworking, 30bpp
    support (this time for sure)
    - nouveau: async buffer object deletion, context/register init
    updates, kernel vp2 engine support, GF117 support, GK110 accel
    support (with external nvidia ucode), context cleanups.
    - exynos: memory leak fixes, Add S3C64XX SoC series support, device
    tree updates, common clock framework support,
    - qxl: cursor hotspot support, multi-monitor support, suspend/resume
    support
    - mgag200: hw cursor support, g200 mode limiting
    - shmobile: prime support
    - tegra: fixes mostly

    I've been banging on this quite a lot due to the size of it, and it
    seems to okay on everything I've tested it on."

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (811 commits)
    drm/radeon/dpm: implement vblank_too_short callback for si
    drm/radeon/dpm: implement vblank_too_short callback for cayman
    drm/radeon/dpm: implement vblank_too_short callback for btc
    drm/radeon/dpm: implement vblank_too_short callback for evergreen
    drm/radeon/dpm: implement vblank_too_short callback for 7xx
    drm/radeon/dpm: add checks against vblank time
    drm/radeon/dpm: add helper to calculate vblank time
    drm/radeon: remove stray line in old pm code
    drm/radeon/dpm: fix display_gap programming on rv7xx
    drm/nvc0/gr: fix gpc firmware regression
    drm/nouveau: fix minor thinko causing bo moves to not be async on kepler
    drm/radeon/dpm: implement force performance level for TN
    drm/radeon/dpm: implement force performance level for ON/LN
    drm/radeon/dpm: implement force performance level for SI
    drm/radeon/dpm: implement force performance level for cayman
    drm/radeon/dpm: implement force performance levels for 7xx/eg/btc
    drm/radeon/dpm: add infrastructure to force performance levels
    drm/radeon: fix surface setup on r1xx
    drm/radeon: add support for 3d perf states on older asics
    drm/radeon: set default clocks for SI when DPM is disabled
    ...

    Linus Torvalds
     
  • Signed-off-by: Peter Meerwald
    Signed-off-by: Jonathan Cameron

    Peter Meerwald
     

07 Jul, 2013

1 commit


06 Jul, 2013

2 commits

  • Add missing .driver_module of struct iio_info. This prevents the
    module from being removed from underneath its users.

    Signed-off-by: Wei Yongjun
    Signed-off-by: Jonathan Cameron

    Wei Yongjun
     
  • The removed check in the read_raw implementation was always true,
    therefore remove it. This also fixes a bug, by closely inspecting
    the code, one can notice the iio_validate_scan_mask_onehot() will
    always return 1 and therefore the subsequent condition will always
    succeed, therefore making the mxs_lradc_read_raw() function always
    return -EINVAL; .

    Signed-off-by: Marek Vasut
    Tested-by: Otavio Salvador
    Acked-by: Hector Palacios
    Signed-off-by: Jonathan Cameron

    Marek Vasut
     

05 Jul, 2013

2 commits


04 Jul, 2013

9 commits

  • Merge first patch-bomb from Andrew Morton:
    - various misc bits
    - I'm been patchmonkeying ocfs2 for a while, as Joel and Mark have been
    distracted. There has been quite a bit of activity.
    - About half the MM queue
    - Some backlight bits
    - Various lib/ updates
    - checkpatch updates
    - zillions more little rtc patches
    - ptrace
    - signals
    - exec
    - procfs
    - rapidio
    - nbd
    - aoe
    - pps
    - memstick
    - tools/testing/selftests updates

    * emailed patches from Andrew Morton : (445 commits)
    tools/testing/selftests: don't assume the x bit is set on scripts
    selftests: add .gitignore for kcmp
    selftests: fix clean target in kcmp Makefile
    selftests: add .gitignore for vm
    selftests: add hugetlbfstest
    self-test: fix make clean
    selftests: exit 1 on failure
    kernel/resource.c: remove the unneeded assignment in function __find_resource
    aio: fix wrong comment in aio_complete()
    drivers/w1/slaves/w1_ds2408.c: add magic sequence to disable P0 test mode
    drivers/memstick/host/r592.c: convert to module_pci_driver
    drivers/memstick/host/jmb38x_ms: convert to module_pci_driver
    pps-gpio: add device-tree binding and support
    drivers/pps/clients/pps-gpio.c: convert to module_platform_driver
    drivers/pps/clients/pps-gpio.c: convert to devm_* helpers
    drivers/parport/share.c: use kzalloc
    Documentation/accounting/getdelays.c: avoid strncpy in accounting tool
    aoe: update internal version number to v83
    aoe: update copyright date
    aoe: perform I/O completions in parallel
    ...

    Linus Torvalds
     
  • Calling kthread_run with a single name parameter causes it to be handled
    as a format string. Many callers are passing potentially dynamic string
    content, so use "%s" in those cases to avoid any potential accidents.

    Signed-off-by: Kees Cook
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • Calling dev_set_name with a single paramter causes it to be handled as a
    format string. Many callers are passing potentially dynamic string
    content, so use "%s" in those cases to avoid any potential accidents,
    including wrappers like device_create*() and bdi_register().

    Signed-off-by: Kees Cook
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • Fix various weird constructions of strncpy(dst, src, strlen(src)).

    Length limits should be about the space available in the destination,
    not repurposed as a method to either always include or always exclude a
    trailing NULL byte. Either the NULL should always be copied (using
    strlcpy), or it should not be copied (using something like memcpy).
    Readable code should not depend on the weird behavior of strncpy when it
    hits the length limit. Better to avoid the anti-pattern entirely.

    [akpm@linux-foundation.org: revert getdelays.c part due to missing bsd/string.h]
    Signed-off-by: Kees Cook
    Acked-by: Greg Kroah-Hartman [staging]
    Acked-by: Rafael J. Wysocki [acpi]
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Ursula Braun
    Cc: Frank Blaschka
    Cc: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • Conflicts:
    drivers/net/ethernet/freescale/fec_main.c
    drivers/net/ethernet/renesas/sh_eth.c
    net/ipv4/gre.c

    The GRE conflict is between a bug fix (kfree_skb --> kfree_skb_list)
    and the splitting of the gre.c code into seperate files.

    The FEC conflict was two sets of changes adding ethtool support code
    in an "!CONFIG_M5272" CPP protected block.

    Finally the sh_eth.c conflict was between one commit add bits set
    in the .eesr_err_check mask whilst another commit removed the
    .tx_error_check member and assignments.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull power management and ACPI updates from Rafael Wysocki:
    "This time the total number of ACPI commits is slightly greater than
    the number of cpufreq commits, but Viresh Kumar (who works on cpufreq)
    remains the most active patch submitter.

    To me, the most significant change is the addition of offline/online
    device operations to the driver core (with the Greg's blessing) and
    the related modifications of the ACPI core hotplug code. Next are the
    freezer updates from Colin Cross that should make the freezing of
    tasks a bit less heavy weight.

    We also have a couple of regression fixes, a number of fixes for
    issues that have not been identified as regressions, two new drivers
    and a bunch of cleanups all over.

    Highlights:

    - Hotplug changes to support graceful hot-removal failures.

    It sometimes is necessary to fail device hot-removal operations
    gracefully if they cannot be carried out completely. For example,
    if memory from a memory module being hot-removed has been allocated
    for the kernel's own use and cannot be moved elsewhere, it's
    desirable to fail the hot-removal operation in a graceful way
    rather than to crash the kernel, but currenty a success or a kernel
    crash are the only possible outcomes of an attempted memory
    hot-removal. Needless to say, that is not a very attractive
    alternative and it had to be addressed.

    However, in order to make it work for memory, I first had to make
    it work for CPUs and for this purpose I needed to modify the ACPI
    processor driver. It's been split into two parts, a resident one
    handling the low-level initialization/cleanup and a modular one
    playing the actual driver's role (but it binds to the CPU system
    device objects rather than to the ACPI device objects representing
    processors). That's been sort of like a live brain surgery on a
    patient who's riding a bike.

    So this is a little scary, but since we found and fixed a couple of
    regressions it caused to happen during the early linux-next testing
    (a month ago), nobody has complained.

    As a bonus we remove some duplicated ACPI hotplug code, because the
    ACPI-based CPU hotplug is now going to use the common ACPI hotplug
    code.

    - Lighter weight freezing of tasks.

    These changes from Colin Cross and Mandeep Singh Baines are
    targeted at making the freezing of tasks a bit less heavy weight
    operation. They reduce the number of tasks woken up every time
    during the freezing, by using the observation that the freezer
    simply doesn't need to wake up some of them and wait for them all
    to call refrigerator(). The time needed for the freezer to decide
    to report a failure is reduced too.

    Also reintroduced is the check causing a lockdep warining to
    trigger when try_to_freeze() is called with locks held (which is
    generally unsafe and shouldn't happen).

    - cpufreq updates

    First off, a commit from Srivatsa S Bhat fixes a resume regression
    introduced during the 3.10 cycle causing some cpufreq sysfs
    attributes to return wrong values to user space after resume. The
    fix is kind of fresh, but also it's pretty obvious once Srivatsa
    has identified the root cause.

    Second, we have a new freqdomain_cpus sysfs attribute for the
    acpi-cpufreq driver to provide information previously available via
    related_cpus. From Lan Tianyu.

    Finally, we fix a number of issues, mostly related to the
    CPUFREQ_POSTCHANGE notifier and cpufreq Kconfig options and clean
    up some code. The majority of changes from Viresh Kumar with bits
    from Jacob Shin, Heiko Stübner, Xiaoguang Chen, Ezequiel Garcia,
    Arnd Bergmann, and Tang Yuantian.

    - ACPICA update

    A usual bunch of updates from the ACPICA upstream.

    During the 3.4 cycle we introduced support for ACPI 5 extended
    sleep registers, but they are only supposed to be used if the
    HW-reduced mode bit is set in the FADT flags and the code attempted
    to use them without checking that bit. That caused suspend/resume
    regressions to happen on some systems. Fix from Lv Zheng causes
    those registers to be used only if the HW-reduced mode bit is set.

    Apart from this some other ACPICA bugs are fixed and code cleanups
    are made by Bob Moore, Tomasz Nowicki, Lv Zheng, Chao Guan, and
    Zhang Rui.

    - cpuidle updates

    New driver for Xilinx Zynq processors is added by Michal Simek.

    Multidriver support simplification, addition of some missing
    kerneldoc comments and Kconfig-related fixes come from Daniel
    Lezcano.

    - ACPI power management updates

    Changes to make suspend/resume work correctly in Xen guests from
    Konrad Rzeszutek Wilk, sparse warning fix from Fengguang Wu and
    cleanups and fixes of the ACPI device power state selection
    routine.

    - ACPI documentation updates

    Some previously missing pieces of ACPI documentation are added by
    Lv Zheng and Aaron Lu (hopefully, that will help people to
    uderstand how the ACPI subsystem works) and one outdated doc is
    updated by Hanjun Guo.

    - Assorted ACPI updates

    We finally nailed down the IA-64 issue that was the reason for
    reverting commit 9f29ab11ddbf ("ACPI / scan: do not match drivers
    against objects having scan handlers"), so we can fix it and move
    the ACPI scan handler check added to the ACPI video driver back to
    the core.

    A mechanism for adding CMOS RTC address space handlers is
    introduced by Lan Tianyu to allow some EC-related breakage to be
    fixed on some systems.

    A spec-compliant implementation of acpi_os_get_timer() is added by
    Mika Westerberg.

    The evaluation of _STA is added to do_acpi_find_child() to avoid
    situations in which a pointer to a disabled device object is
    returned instead of an enabled one with the same _ADR value. From
    Jeff Wu.

    Intel BayTrail PCH (Platform Controller Hub) support is added to
    the ACPI driver for Intel Low-Power Subsystems (LPSS) and that
    driver is modified to work around a couple of known BIOS issues.
    Changes from Mika Westerberg and Heikki Krogerus.

    The EC driver is fixed by Vasiliy Kulikov to use get_user() and
    put_user() instead of dereferencing user space pointers blindly.

    Code cleanups are made by Bjorn Helgaas, Nicholas Mazzuca and Toshi
    Kani.

    - Assorted power management updates

    The "runtime idle" helper routine is changed to take the return
    values of the callbacks executed by it into account and to call
    rpm_suspend() if they return 0, which allows us to reduce the
    overall code bloat a bit (by dropping some code that's not
    necessary any more after that modification).

    The runtime PM documentation is updated by Alan Stern (to reflect
    the "runtime idle" behavior change).

    New trace points for PM QoS are added by Sahara
    ().

    PM QoS documentation is updated by Lan Tianyu.

    Code cleanups are made and minor issues are addressed by Bernie
    Thompson, Bjorn Helgaas, Julius Werner, and Shuah Khan.

    - devfreq updates

    New driver for the Exynos5-bus device from Abhilash Kesavan.

    Minor cleanups, fixes and MAINTAINERS update from MyungJoo Ham,
    Abhilash Kesavan, Paul Bolle, Rajagopal Venkat, and Wei Yongjun.

    - OMAP power management updates

    Adaptive Voltage Scaling (AVS) SmartReflex voltage control driver
    updates from Andrii Tseglytskyi and Nishanth Menon."

    * tag 'pm+acpi-3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (162 commits)
    cpufreq: Fix cpufreq regression after suspend/resume
    ACPI / PM: Fix possible NULL pointer deref in acpi_pm_device_sleep_state()
    PM / Sleep: Warn about system time after resume with pm_trace
    cpufreq: don't leave stale policy pointer in cdbs->cur_policy
    acpi-cpufreq: Add new sysfs attribute freqdomain_cpus
    cpufreq: make sure frequency transitions are serialized
    ACPI: implement acpi_os_get_timer() according the spec
    ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan
    ACPI: Add CMOS RTC Operation Region handler support
    ACPI / processor: Drop unused variable from processor_perflib.c
    cpufreq: tegra: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: s3c64xx: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: omap: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: imx6q: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: exynos: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: dbx500: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: davinci: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: arm-big-little: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: powernow-k8: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: pcc: call CPUFREQ_POSTCHANGE notfier in error cases
    ...

    Linus Torvalds
     
  • The struct iio_dev .trig field is to be used only by the IIO core,
    the driver shall not fill this field. This fixes ugly crash when
    the driver is compiled as a module and the module is rmmod'd.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Jonathan Cameron
    Cc: Shawn Guo
    Signed-off-by: Jonathan Cameron

    Marek Vasut
     
  • Pull "exotic" arch fixes from Geert Uytterhoeven:
    "This is a collection of several exotic architecture fixes, and a few
    other fixes for issues that were detected while doing the former"

    * 'exotic-arch-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (35 commits)
    lib: Move fonts from drivers/video/console/ to lib/fonts/
    console/font: Refactor font support code selection logic
    Revert "staging/solo6x10: depend on CONFIG_FONTS"
    input: cros_ec_keyb_clear_keyboard() depends on CONFIG_PM_SLEEP
    score: Wire up asm-generic/xor.h
    score: Remove unneeded
    openrisc: Wire up asm-generic/xor.h
    h8300/boot: Use POSIX "$((..))" instead of bashism "$[...]"
    h8300: Mark H83002 and H83048 CPU support broken
    h8300: Switch h8300 to drivers/Kconfig
    h8300: Limit timer channel ranges in Kconfig
    h8300: Wire up asm-generic/xor.h
    h8300: Fill the system call table using a CALL() macro
    h8300: Fix
    h8300: Hardcode symbol prefixes in asm sources
    h8300: add missing definition for read_barries_depends()
    frv: head.S - Remove commented-out initialization code
    cris: Wire up asm-generic/vga.h
    parport: disable PC-style parallel port support on cris
    console: Disable VGA text console support on cris
    ...

    Linus Torvalds
     
  • Pull second set of VFS changes from Al Viro:
    "Assorted f_pos race fixes, making do_splice_direct() safe to call with
    i_mutex on parent, O_TMPFILE support, Jeff's locks.c series,
    ->d_hash/->d_compare calling conventions changes from Linus, misc
    stuff all over the place."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
    Document ->tmpfile()
    ext4: ->tmpfile() support
    vfs: export lseek_execute() to modules
    lseek_execute() doesn't need an inode passed to it
    block_dev: switch to fixed_size_llseek()
    cpqphp_sysfs: switch to fixed_size_llseek()
    tile-srom: switch to fixed_size_llseek()
    proc_powerpc: switch to fixed_size_llseek()
    ubi/cdev: switch to fixed_size_llseek()
    pci/proc: switch to fixed_size_llseek()
    isapnp: switch to fixed_size_llseek()
    lpfc: switch to fixed_size_llseek()
    locks: give the blocked_hash its own spinlock
    locks: add a new "lm_owner_key" lock operation
    locks: turn the blocked_list into a hashtable
    locks: convert fl_link to a hlist_node
    locks: avoid taking global lock if possible when waking up blocked waiters
    locks: protect most of the file_lock handling with i_lock
    locks: encapsulate the fl_link list handling
    locks: make "added" in __posix_lock_file a bool
    ...

    Linus Torvalds
     

03 Jul, 2013

3 commits

  • Pull ARM SoC driver specific changes from Arnd Bergmann:
    "These changes are all driver specific and cross over between arm-soc
    contents and some other subsystem, in these cases cpufreq, crypto,
    dma, pinctrl, mailbox and usb, and the subsystem owners agreed to have
    these changes merged through arm-soc.

    As we proceed to untangle the dependencies between platform code and
    driver code, the amount of changes in this category is fortunately
    shrinking, for 3.11 we have 16 branches here and 101 non-merge
    changesets, the majority of which are for the stedma40 dma engine
    driver used in the ux500 platform. Cleaning up that code touches
    multiple subsystems, but gets rid of the dependency in the end.

    The mailbox code moved out from mach-omap2 to drivers/mailbox is an
    intermediate step and is still omap specific at the moment. Patches
    exist to generalize the subsystem and add other drivers with the same
    API, but those did not make it for 3.11."

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (101 commits)
    crypto: ux500: use dmaengine_submit API
    crypto: ux500: use dmaengine_prep_slave_sg API
    crypto: ux500: use dmaengine_device_control API
    crypto: ux500/crypt: add missing __iomem qualifiers
    crypto: ux500/hash: add missing static qualifiers
    crypto: ux500/hash: use readl on iomem addresses
    dmaengine: ste_dma40: Declare memcpy config as static
    ARM: ux500: Remove mop500_snowball_ethernet_clock_enable()
    ARM: ux500: Correct the EN_3v3 regulator's on/off GPIO
    ARM: ux500: Provide a AB8500 GPIO Device Tree node
    gpio: rcar: fix gpio_rcar_of_table
    gpio-rcar: Remove #ifdef CONFIG_OF around OF-specific sections
    gpio-rcar: Reference core gpio documentation in the DT bindings
    clk: exynos5250: Add enum entries for divider clock of i2s1 and i2s2
    ARM: dts: Update Samsung I2S documentation
    ARM: dts: add clock provider information for i2s controllers in Exynos5250
    ARM: dts: add Exynos audio subsystem clock controller node
    clk: samsung: register audio subsystem clocks using common clock framework
    ARM: dts: use #include for all device trees for Samsung
    pinctrl: s3c24xx: use correct header for chained_irq functions
    ...

    Linus Torvalds
     
  • Pull driver core updates from Greg KH:
    "Here's the big driver core merge for 3.11-rc1

    Lots of little things, and larger firmware subsystem updates, all
    described in the shortlog. Nice thing here is that we finally get rid
    of CONFIG_HOTPLUG, after 10+ years, thanks to Stephen Rohtwell (it had
    been always on for a number of kernel releases, now it's just
    removed)"

    * tag 'driver-core-3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (27 commits)
    driver core: device.h: fix doc compilation warnings
    firmware loader: fix another compile warning with PM_SLEEP unset
    build some drivers only when compile-testing
    firmware loader: fix compile warning with PM_SLEEP set
    kobject: sanitize argument for format string
    sysfs_notify is only possible on file attributes
    firmware loader: simplify holding module for request_firmware
    firmware loader: don't export cache_firmware and uncache_firmware
    drivers/base: Use attribute groups to create sysfs memory files
    firmware loader: fix compile warning
    firmware loader: fix build failure with !CONFIG_FW_LOADER_USER_HELPER
    Documentation: Updated broken link in HOWTO
    Finally eradicate CONFIG_HOTPLUG
    driver core: firmware loader: kill FW_ACTION_NOHOTPLUG requests before suspend
    driver core: firmware loader: don't cache FW_ACTION_NOHOTPLUG firmware
    Documentation: Tidy up some drivers/base/core.c kerneldoc content.
    platform_device: use a macro instead of platform_driver_register
    firmware: move EXPORT_SYMBOL annotations
    firmware: Avoid deadlock of usermodehelper lock at shutdown
    dell_rbu: Select CONFIG_FW_LOADER_USER_HELPER explicitly
    ...

    Linus Torvalds
     
  • Pull staging tree update from Greg KH:
    "Here's the large staging tree merge for 3.11-rc1

    Huge thing here is the Lustre client code. Unfortunatly, due to it
    not building properly on a wide variety of different architectures
    (this was production code???), it is currently disabled from the build
    so as to not annoy people.

    Other than Lustre, there are loads of comedi patches, working to clean
    up that subsystem, iio updates and new drivers, and a load of cleanups
    from the OPW applicants in their quest to get a summer internship.

    All of these have been in the linux-next releases for a while (hence
    the Lustre code being disabled)"

    Fixed up trivial conflict in drivers/staging/serqt_usb2/serqt_usb2.c due
    to independent renamings in the staging driver cleanup and the USB
    tree..

    * tag 'staging-3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (868 commits)
    Revert "Revert "Revert "staging/lustre: drop CONFIG_BROKEN dependency"""
    staging: rtl8192u: fix line length in r819xU_phy.h
    staging: rtl8192u: rename variables in r819xU_phy.h
    staging: rtl8192u: fix comments in r819xU_phy.h
    staging: rtl8192u: fix whitespace in r819xU_phy.h
    staging: rtl8192u: fix newlines in r819xU_phy.c
    staging: comedi: unioxx5: use comedi_alloc_spriv()
    staging: comedi: unioxx5: fix unioxx5_detach()
    silicom: checkpatch: errors caused by macros
    Staging: silicom: remove the board_t typedef in bpctl_mod.c
    Staging: silicom: capitalize labels in the bp_media_type enum
    Staging: silicom: remove bp_media_type enum typedef
    staging: rtl8192u: replace msleep(1) with usleep_range() in r819xU_phy.c
    staging: rtl8192u: rename dwRegRead and rtStatus in r819xU_phy.c
    staging: rtl8192u: replace __FUNCTION__ in r819xU_phy.c
    staging: rtl8192u: limit line size in r819xU_phy.c
    zram: allow request end to coincide with disksize
    staging: drm/imx: use generic irq chip unused field to block out invalid irqs
    staging: drm/imx: use generic irqchip
    staging: drm/imx: ipu-dmfc: use defines for ipu channel numbers
    ...

    Linus Torvalds
     

29 Jun, 2013

2 commits