1. 17 10月, 2014 4 次提交
    • R
      arm: use fixmap for text patching when text is RO · ab0615e2
      Rabin Vincent 提交于
      Use fixmaps for text patching when the kernel text is read-only,
      inspired by x86.  This makes jump labels and kprobes work with the
      currently available CONFIG_DEBUG_SET_MODULE_RONX and the upcoming
      CONFIG_DEBUG_RODATA options.
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      [kees: fixed up for merge with "arm: use generic fixmap.h"]
      [kees: added parse acquire/release annotations to pass C=1 builds]
      [kees: always use stop_machine to keep TLB flushing local]
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      ab0615e2
    • K
      arm: fixmap: implement __set_fixmap() · 99b4ac9a
      Kees Cook 提交于
      This is used from set_fixmap() and clear_fixmap() via asm-generic/fixmap.h.
      Also makes sure that the fixmap allocation fits into the expected range.
      
      Based on patch by Rabin Vincent.
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Cc: Rabin Vincent <rabin@rab.in>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      99b4ac9a
    • R
      ARM: expand fixmap region to 3MB · 836a2418
      Rob Herring 提交于
      With commit a05e54c1 ("ARM: 8031/2: change fixmap mapping region to
      support 32 CPUs"), the fixmap region was expanded to 2MB, but it
      precluded any other uses of the fixmap region. In order to support other
      uses the fixmap region needs to be expanded beyond 2MB. Fortunately, the
      adjacent 1MB range 0xffe00000-0xfff00000 is availabe.
      
      Remove fixmap_page_table ptr and lookup the page table via the virtual
      address so that the fixmap region can span more that one pmd. The 2nd
      pmd is already created since it is shared with the vector page.
      Signed-off-by: NRob Herring <robh@kernel.org>
      [kees: fixed CONFIG_DEBUG_HIGHMEM get_fixmap() calls]
      [kees: moved pte allocation outside of CONFIG_HIGHMEM]
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      836a2418
    • M
      arm: use generic fixmap.h · b615bbbf
      Mark Salter 提交于
      ARM is different from other architectures in that fixmap pages are indexed
      with a positive offset from FIXADDR_START.  Other architectures index with
      a negative offset from FIXADDR_TOP.  In order to use the generic fixmap.h
      definitions, this patch redefines FIXADDR_TOP to be inclusive of the
      useable range.  That is, FIXADDR_TOP is the virtual address of the topmost
      fixed page.  The newly defined FIXADDR_END is the first virtual address
      past the fixed mappings.
      Signed-off-by: NMark Salter <msalter@redhat.com>
      Reviewed-by: NDoug Anderson <dianders@chromium.org>
      [kees: update for a05e54c1 ("ARM: 8031/2: change fixmap ...")]
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Cc: Laura Abbott <lauraa@codeaurora.org>
      Cc: Rob Herring <robh@kernel.org>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      b615bbbf
  2. 06 10月, 2014 2 次提交
  3. 05 10月, 2014 1 次提交
  4. 04 10月, 2014 5 次提交
  5. 03 10月, 2014 23 次提交
  6. 02 10月, 2014 5 次提交
    • D
      Merge branch 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes · 19318c06
      Dave Airlie 提交于
      A few regression fixes, the runpm ones dating back to 3.15.  Also a fairly severe TMDS regression that effected a lot of GF8/9/GT2xx users.
      
      * 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
        drm/nouveau: make sure display hardware is reinitialised on runtime resume
        drm/nouveau: punt fbcon resume out to a workqueue
        drm/nouveau: fix regression on original nv50 board
        drm/nv50/disp: fix dpms regression on certain boards
      19318c06
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 50dddff3
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Don't halt the firmware in r8152 driver, from Hayes Wang.
      
       2) Handle full sized 802.1ad frames in bnx2 and tg3 drivers properly,
          from Vlad Yasevich.
      
       3) Don't sleep while holding tx_clean_lock in netxen driver, fix from
          Manish Chopra.
      
       4) Certain kinds of ipv6 routes can end up endlessly failing the route
          validation test, causing it to be re-looked up over and over again.
          This particularly kills input route caching in TCP sockets.  Fix
          from Hannes Frederic Sowa.
      
       5) netvsc_start_xmit() has a use-after-free access to skb->len, fix
          from K Y Srinivasan.
      
       6) Fix matching of inverted containers in ematch module, from Ignacy
          Gawędzki.
      
       7) Aggregation of GRO frames via SKB ->frag_list for linear skbs isn't
          handled properly, regression fix from Eric Dumazet.
      
       8) Don't test return value of ipv4_neigh_lookup(), which returns an
          error pointer, against NULL.  From WANG Cong.
      
       9) Fix an old regression where we mistakenly allow a double add of the
          same tunnel.  Fixes from Steffen Klassert.
      
      10) macvtap device delete and open can run in parallel and corrupt lists
          etc., fix from Vlad Yasevich.
      
      11) Fix build error with IPV6=m NETFILTER_XT_TARGET_TPROXY=y, from Pablo
          Neira Ayuso.
      
      12) rhashtable_destroy() triggers lockdep splats, fix also from Pablo.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (32 commits)
        bna: Update Maintainer Email
        r8152: disable power cut for RTL8153
        r8152: remove clearing bp
        bnx2: Correctly receive full sized 802.1ad fragmes
        tg3: Allow for recieve of full-size 8021AD frames
        r8152: fix setting RTL8152_UNPLUG
        netxen: Fix bug in Tx completion path.
        netxen: Fix BUG "sleeping function called from invalid context"
        ipv6: remove rt6i_genid
        hyperv: Fix a bug in netvsc_start_xmit()
        net: stmmac: fix stmmac_pci_probe failed when CONFIG_HAVE_CLK is selected
        ematch: Fix matching of inverted containers.
        gro: fix aggregation for skb using frag_list
        neigh: check error pointer instead of NULL for ipv4_neigh_lookup()
        ip6_gre: Return an error when adding an existing tunnel.
        ip6_vti: Return an error when adding an existing tunnel.
        ip6_tunnel: Return an error when adding an existing tunnel.
        ip6gre: add a rtnl link alias for ip6gretap
        net/mlx4_core: Allow not to specify probe_vf in SRIOV IB mode
        r8152: fix the carrier off when autoresuming
        ...
      50dddff3
    • N
      md/raid5: disable 'DISCARD' by default due to safety concerns. · 8e0e99ba
      NeilBrown 提交于
      It has come to my attention (thanks Martin) that 'discard_zeroes_data'
      is only a hint.  Some devices in some cases don't do what it
      says on the label.
      
      The use of DISCARD in RAID5 depends on reads from discarded regions
      being predictably zero.  If a write to a previously discarded region
      performs a read-modify-write cycle it assumes that the parity block
      was consistent with the data blocks.  If all were zero, this would
      be the case.  If some are and some aren't this would not be the case.
      This could lead to data corruption after a device failure when
      data needs to be reconstructed from the parity.
      
      As we cannot trust 'discard_zeroes_data', ignore it by default
      and so disallow DISCARD on all raid4/5/6 arrays.
      
      As many devices are trustworthy, and as there are benefits to using
      DISCARD, add a module parameter to over-ride this caution and cause
      DISCARD to work if discard_zeroes_data is set.
      
      If a site want to enable DISCARD on some arrays but not on others they
      should select DISCARD support at the filesystem level, and set the
      raid456 module parameter.
          raid456.devices_handle_discard_safely=Y
      
      As this is a data-safety issue, I believe this patch is suitable for
      -stable.
      DISCARD support for RAID456 was added in 3.7
      
      Cc: Shaohua Li <shli@kernel.org>
      Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
      Cc: Mike Snitzer <snitzer@redhat.com>
      Cc: Heinz Mauelshagen <heinzm@redhat.com>
      Cc: stable@vger.kernel.org (3.7+)
      Acked-by: NMartin K. Petersen <martin.petersen@oracle.com>
      Acked-by: NMike Snitzer <snitzer@redhat.com>
      Fixes: 620125f2Signed-off-by: NNeilBrown <neilb@suse.de>
      8e0e99ba
    • B
      drm/nouveau: make sure display hardware is reinitialised on runtime resume · 6fbb702e
      Ben Skeggs 提交于
      Linus commit 05c63c2f modified the
      runtime suspend/resume paths to skip over display-related tasks to
      avoid locking issues on resume.
      
      Unfortunately, this resulted in the display hardware being left in
      a partially initialised state, preventing subsequent modesets from
      completing.
      
      This commit unifies the (many) suspend/resume paths, bringing back
      display (and fbcon) handling in the runtime paths.
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      6fbb702e
    • B
      drm/nouveau: punt fbcon resume out to a workqueue · 634ffccc
      Ben Skeggs 提交于
      Preparation for some runtime pm fixes.  Currently we skip over fbcon
      suspend/resume in the runtime path, which causes issues on resume if
      fbcon tries to write to the framebuffer before the BAR subdev has
      been resumed to restore the BAR1 VM setup.
      
      As we might be woken up via a sysfs connector, we are unable to call
      fb_set_suspend() in the resume path as it could make its way down to
      a modeset and cause all sorts of locking hilarity.
      
      To solve this, we'll just delay the fbcon resume to a workqueue.
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      634ffccc