1. 24 Jul, 2016 2 commits
  2. 23 Jul, 2016 22 commits
  3. 22 Jul, 2016 5 commits
    • Arnd Bergmann's avatar
      gpio: tegra: don't auto-enable for COMPILE_TEST · 0bfb85c6
      Arnd Bergmann authored
      
      I stumbled over a build error with COMPILE_TEST and CONFIG_OF
      disabled:
      
      drivers/gpio/gpio-tegra.c: In function 'tegra_gpio_probe':
      drivers/gpio/gpio-tegra.c:603:9: error: 'struct gpio_chip' has no member named 'of_node'
      
      The problem is that the newly added GPIO_TEGRA Kconfig symbol
      does not have a dependency on CONFIG_OF. However, there is another
      problem here as the driver gets enabled unconditionally whenever
      COMPILE_TEST is set.
      
      This fixes both problems, by making the symbol user-visible
      when COMPILE_TEST is set and default-enabled for ARCH_TEGRA=y.
      
      As a side-effect, it is now possible to compile-test a Tegra
      kernel with GPIO support disabled, which is harmless.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: 4dd4dd1d
      
       ("gpio: tegra: Allow compile test")
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      0bfb85c6
    • Ilya Dryomov's avatar
      libceph: apply new_state before new_up_client on incrementals · 930c5328
      Ilya Dryomov authored
      Currently, osd_weight and osd_state fields are updated in the encoding
      order.  This is wrong, because an incremental map may look like e.g.
      
          new_up_client: { osd=6, addr=... } # set osd_state and addr
          new_state: { osd=6, xorstate=EXISTS } # clear osd_state
      
      Suppose osd6's current osd_state is EXISTS (i.e. osd6 is down).  After
      applying new_up_client, osd_state is changed to EXISTS | UP.  Carrying
      on with the new_state update, we flip EXISTS and leave osd6 in a weird
      "!EXISTS but UP" state.  A non-existent OSD is considered down by the
      mapping code
      
      2087    for (i = 0; i < pg->pg_temp.len; i++) {
      2088            if (ceph_osd_is_down(osdmap, pg->pg_temp.osds[i])) {
      2089                    if (ceph_can_shift_osds(pi))
      2090                            continue;
      2091
      2092                    temp->osds[temp->size++] = CRUSH_ITEM_NONE;
      
      and so requests get directed to the second OSD in the set instead of
      the first, resulting in OSD-side errors like:
      
      [WRN] : client.4239 192.168.122.21:0/2444980242 misdirected client.4239.1:2827 pg 2.5df899f2 to osd.4 not [1,4,6] in e680/680
      
      and hung rbds on the client:
      
      [  493.566367] rbd: rbd0: write 400000 at 11cc00000 (0)
      [  493.566805] rbd: rbd0:   result -6 xferred 400000
      [  493.567011] blk_update_request: I/O error, dev rbd0, sector 9330688
      
      The fix is to decouple application from the decoding and:
      - apply new_weight first
      - apply new_state before new_up_client
      - twiddle osd_state flags if marking in
      - clear out some of the state if osd is destroyed
      
      Fixes: http://tracker.ceph.com/issues/14901
      
      Cc: stable@vger.kernel.org # 3.15+: 6dd74e44
      
      : libceph: set 'exists' flag for newly up osd
      Cc: stable@vger.kernel.org # 3.15+
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
      Reviewed-by: default avatarJosh Durgin <jdurgin@redhat.com>
      930c5328
    • Herbert Xu's avatar
      crypto: rsa-pkcs1pad - fix rsa-pkcs1pad request struct · 87dcdebd
      Herbert Xu authored
      
      To allow for child request context the struct akcipher_request child_req
      needs to be at the end of the structure.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarTadeusz Struk <tadeusz.struk@intel.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      87dcdebd
    • Maxim Patlasov's avatar
      ovl: verify upper dentry in ovl_remove_and_whiteout() · cfc9fde0
      Maxim Patlasov authored
      The upper dentry may become stale before we call ovl_lock_rename_workdir.
      For example, someone could (mistakenly or maliciously) manually unlink(2)
      it directly from upperdir.
      
      To ensure it is not stale, let's lookup it after ovl_lock_rename_workdir
      and and check if it matches the upper dentry.
      
      Essentially, it is the same problem and similar solution as in
      commit 11f37104
      
       ("ovl: verify upper dentry before unlink and rename").
      Signed-off-by: default avatarMaxim Patlasov <mpatlasov@virtuozzo.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      Cc: <stable@vger.kernel.org>
      cfc9fde0
    • Soheil Hassas Yeganeh's avatar
      packet: propagate sock_cmsg_send() error · f8e7718c
      Soheil Hassas Yeganeh authored
      sock_cmsg_send() can return different error codes and not only
      -EINVAL, and we should properly propagate them.
      
      Fixes: c14ac945
      
       ("sock: enable timestamping using control messages")
      Signed-off-by: default avatarSoheil Hassas Yeganeh <soheil@google.com>
      Cc: Willem de Bruijn <willemb@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f8e7718c
  4. 21 Jul, 2016 3 commits
  5. 20 Jul, 2016 3 commits
  6. 19 Jul, 2016 5 commits