1. 04 Jan, 2022 1 commit
  2. 07 Dec, 2021 7 commits
  3. 17 Nov, 2021 1 commit
  4. 15 Nov, 2021 2 commits
    • Alexander Aring's avatar
      fs: dlm: replace use of socket sk_callback_lock with sock_lock · 92c44605
      Alexander Aring authored
      This patch will replace the use of socket sk_callback_lock lock and uses
      socket lock instead. Some users like sunrpc, see commit ea9afca8
      ("SUNRPC: Replace use of socket sk_callback_lock with sock_lock") moving
      from sk_callback_lock to sock_lock which seems to be held when the socket
      callbacks are called.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      92c44605
    • Alexander Aring's avatar
      fs: dlm: don't call kernel_getpeername() in error_report() · 4c3d9057
      Alexander Aring authored
      In some cases kernel_getpeername() will held the socket lock which is
      already held when the socket layer calls error_report() callback. Since
      commit 9dfc685e ("inet: remove races in inet{6}_getname()") this
      problem becomes more likely because the socket lock will be held always.
      You will see something like:
      
      bob9-u5 login: [  562.316860] BUG: spinlock recursion on CPU#7, swapper/7/0
      [  562.318562]  lock: 0xffff8f2284720088, .magic: dead4ead, .owner: swapper/7/0, .owner_cpu: 7
      [  562.319522] CPU: 7 PID: 0 Comm: swapper/7 Not tainted 5.15.0+ #135
      [  562.320346] Hardware name: Red Hat KVM/RHEL-AV, BIOS 1.13.0-2.module+el8.3.0+7353+9de0a3cc 04/01/2014
      [  562.321277] Call Trace:
      [  562.321529]  <IRQ>
      [  562.321734]  dump_stack_lvl+0x33/0x42
      [  562.322282]  do_raw_spin_lock+0x8b/0xc0
      [  562.322674]  lock_sock_nested+0x1e/0x50
      [  562.323057]  inet_getname+0x39/0x110
      [  562.323425]  ? sock_def_readable+0x80/0x80
      [  562.323838]  lowcomms_error_report+0x63/0x260 [dlm]
      [  562.324338]  ? wait_for_completion_interruptible_timeout+0xd2/0x120
      [  562.324949]  ? lock_timer_base+0x67/0x80
      [  562.325330]  ? do_raw_spin_unlock+0x49/0xc0
      [  562.325735]  ? _raw_spin_unlock_irqrestore+0x1e/0x40
      [  562.326218]  ? del_timer+0x54/0x80
      [  562.326549]  sk_error_report+0x12/0x70
      [  562.326919]  tcp_validate_incoming+0x3c8/0x530
      [  562.327347]  ? kvm_clock_read+0x14/0x30
      [  562.327718]  ? ktime_get+0x3b/0xa0
      [  562.328055]  tcp_rcv_established+0x121/0x660
      [  562.328466]  tcp_v4_do_rcv+0x132/0x260
      [  562.328835]  tcp_v4_rcv+0xcea/0xe20
      [  562.329173]  ip_protocol_deliver_rcu+0x35/0x1f0
      [  562.329615]  ip_local_deliver_finish+0x54/0x60
      [  562.330050]  ip_local_deliver+0xf7/0x110
      [  562.330431]  ? inet_rtm_getroute+0x211/0x840
      [  562.330848]  ? ip_protocol_deliver_rcu+0x1f0/0x1f0
      [  562.331310]  ip_rcv+0xe1/0xf0
      [  562.331603]  ? ip_local_deliver+0x110/0x110
      [  562.332011]  __netif_receive_skb_core+0x46a/0x1040
      [  562.332476]  ? inet_gro_receive+0x263/0x2e0
      [  562.332885]  __netif_receive_skb_list_core+0x13b/0x2c0
      [  562.333383]  netif_receive_skb_list_internal+0x1c8/0x2f0
      [  562.333896]  ? update_load_avg+0x7e/0x5e0
      [  562.334285]  gro_normal_list.part.149+0x19/0x40
      [  562.334722]  napi_complete_done+0x67/0x160
      [  562.335134]  virtnet_poll+0x2ad/0x408 [virtio_net]
      [  562.335644]  __napi_poll+0x28/0x140
      [  562.336012]  net_rx_action+0x23d/0x300
      [  562.336414]  __do_softirq+0xf2/0x2ea
      [  562.336803]  irq_exit_rcu+0xc1/0xf0
      [  562.337173]  common_interrupt+0xb9/0xd0
      
      It is and was always forbidden to call kernel_getpeername() in context
      of error_report(). To get rid of the problem we access the destination
      address for the peer over the socket structure. While on it we fix to
      print out the destination port of the inet socket.
      
      Fixes: 1a31833d ("DLM: Replace nodeid_to_addr with kernel_getpeername")
      Reported-by: default avatarBob Peterson <rpeterso@redhat.com>
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      4c3d9057
  5. 12 Nov, 2021 1 commit
  6. 05 Nov, 2021 1 commit
  7. 03 Nov, 2021 1 commit
  8. 02 Nov, 2021 18 commits
    • Alexander Aring's avatar
      fs: dlm: filter user dlm messages for kernel locks · 6c2e3bf6
      Alexander Aring authored
      This patch fixes the following crash by receiving a invalid message:
      
      [  160.672220] ==================================================================
      [  160.676206] BUG: KASAN: user-memory-access in dlm_user_add_ast+0xc3/0x370
      [  160.679659] Read of size 8 at addr 00000000deadbeef by task kworker/u32:13/319
      [  160.681447]
      [  160.681824] CPU: 10 PID: 319 Comm: kworker/u32:13 Not tainted 5.14.0-rc2+ #399
      [  160.683472] Hardware name: Red Hat KVM/RHEL-AV, BIOS 1.14.0-1.module+el8.6.0+12648+6ede71a5 04/01/2014
      [  160.685574] Workqueue: dlm_recv process_recv_sockets
      [  160.686721] Call Trace:
      [  160.687310]  dump_stack_lvl+0x56/0x6f
      [  160.688169]  ? dlm_user_add_ast+0xc3/0x370
      [  160.689116]  kasan_report.cold.14+0x116/0x11b
      [  160.690138]  ? dlm_user_add_ast+0xc3/0x370
      [  160.690832]  dlm_user_add_ast+0xc3/0x370
      [  160.691502]  _receive_unlock_reply+0x103/0x170
      [  160.692241]  _receive_message+0x11df/0x1ec0
      [  160.692926]  ? rcu_read_lock_sched_held+0xa1/0xd0
      [  160.693700]  ? rcu_read_lock_bh_held+0xb0/0xb0
      [  160.694427]  ? lock_acquire+0x175/0x400
      [  160.695058]  ? do_purge.isra.51+0x200/0x200
      [  160.695744]  ? lock_acquired+0x360/0x5d0
      [  160.696400]  ? lock_contended+0x6a0/0x6a0
      [  160.697055]  ? lock_release+0x21d/0x5e0
      [  160.697686]  ? lock_is_held_type+0xe0/0x110
      [  160.698352]  ? lock_is_held_type+0xe0/0x110
      [  160.699026]  ? ___might_sleep+0x1cc/0x1e0
      [  160.699698]  ? dlm_wait_requestqueue+0x94/0x140
      [  160.700451]  ? dlm_process_requestqueue+0x240/0x240
      [  160.701249]  ? down_write_killable+0x2b0/0x2b0
      [  160.701988]  ? do_raw_spin_unlock+0xa2/0x130
      [  160.702690]  dlm_receive_buffer+0x1a5/0x210
      [  160.703385]  dlm_process_incoming_buffer+0x726/0x9f0
      [  160.704210]  receive_from_sock+0x1c0/0x3b0
      [  160.704886]  ? dlm_tcp_shutdown+0x30/0x30
      [  160.705561]  ? lock_acquire+0x175/0x400
      [  160.706197]  ? rcu_read_lock_sched_held+0xa1/0xd0
      [  160.706941]  ? rcu_read_lock_bh_held+0xb0/0xb0
      [  160.707681]  process_recv_sockets+0x32/0x40
      [  160.708366]  process_one_work+0x55e/0xad0
      [  160.709045]  ? pwq_dec_nr_in_flight+0x110/0x110
      [  160.709820]  worker_thread+0x65/0x5e0
      [  160.710423]  ? process_one_work+0xad0/0xad0
      [  160.711087]  kthread+0x1ed/0x220
      [  160.711628]  ? set_kthread_struct+0x80/0x80
      [  160.712314]  ret_from_fork+0x22/0x30
      
      The issue is that we received a DLM message for a user lock but the
      destination lock is a kernel lock. Note that the address which is trying
      to derefence is 00000000deadbeef, which is in a kernel lock
      lkb->lkb_astparam, this field should never be derefenced by the DLM
      kernel stack. In case of a user lock lkb->lkb_astparam is lkb->lkb_ua
      (memory is shared by a union field). The struct lkb_ua will be handled
      by the DLM kernel stack but on a kernel lock it will contain invalid
      data and ends in most likely crashing the kernel.
      
      It can be reproduced with two cluster nodes.
      
      node 2:
      dlm_tool join test
      echo "862 fooobaar 1 2 1" > /sys/kernel/debug/dlm/test_locks
      echo "862 3 1" > /sys/kernel/debug/dlm/test_waiters
      
      node 1:
      dlm_tool join test
      
      python:
      foo = DLM(h_cmd=3, o_nextcmd=1, h_nodeid=1, h_lockspace=0x77222027, \
                m_type=7, m_flags=0x1, m_remid=0x862, m_result=0xFFFEFFFE)
      newFile = open("/sys/kernel/debug/dlm/comms/2/rawmsg", "wb")
      newFile.write(bytes(foo))
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      6c2e3bf6
    • Alexander Aring's avatar
      fs: dlm: add lkb waiters debugfs functionality · 63eab2b0
      Alexander Aring authored
      This patch adds functionality to put a lkb to the waiters state. It can
      be useful to combine this feature with the "rawmsg" debugfs
      functionality. It will bring the DLM lkb into a state that a message
      will be parsed by the kernel.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      63eab2b0
    • Alexander Aring's avatar
      fs: dlm: add lkb debugfs functionality · 5054e79d
      Alexander Aring authored
      This patch adds functionality to add an lkb during runtime. This is a
      highly debugging feature only, wrong input can crash the kernel. It is a
      early state feature as well. The goal is to provide a user interface for
      manipulate dlm state and combine it with the rawmsg feature. It is
      debugfs functionality, we don't care about UAPI breakage. Even it's
      possible to add lkb's/rsb's which could never be exists in such wat by
      using normal DLM operation. The user of this interface always need to
      think before using this feature, not every crash which happens can really
      occur during normal dlm operation.
      
      Future there should be more functionality to add a more realistic lkb
      which reflects normal DLM state inside the kernel. For now this is
      enough.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      5054e79d
    • Alexander Aring's avatar
      fs: dlm: allow create lkb with specific id range · 75d25ffe
      Alexander Aring authored
      This patch adds functionality to add a lkb with a specific id range.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      75d25ffe
    • Alexander Aring's avatar
      fs: dlm: add debugfs rawmsg send functionality · 9af5b8f0
      Alexander Aring authored
      This patch adds a dlm functionality to send a raw dlm message to a
      specific cluster node. This raw message can be build by user space and
      send out by writing the message to "rawmsg" dlm debugfs file.
      
      There is a in progress scapy dlm module which provides a easy build of
      DLM messages in user space. For example:
      
      DLM(h_cmd=3, o_nextcmd=1, h_nodeid=1, h_lockspace=0xe4f48a18, ...)
      
      The goal is to provide an easy reproducable state to crash DLM or to
      fuzz the DLM kernel stack if there are possible ways to crash it.
      
      Note: that if the sequence number is zero and dlm version is not set to
      3.1 the kernel will automatic will set a right sequence number, otherwise
      DLM stack testing is not possible.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      9af5b8f0
    • Alexander Aring's avatar
      fs: dlm: let handle callback data as void · 5c16febb
      Alexander Aring authored
      This patch changes the dlm_lowcomms_new_msg() function pointer private data
      from "struct mhandle *" to "void *" to provide different structures than
      just "struct mhandle".
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      5c16febb
    • Alexander Aring's avatar
      fs: dlm: ls_count busy wait to event based wait · 3cb5977c
      Alexander Aring authored
      This patch changes the ls_count busy wait to use atomic counter values
      and wait_event() to wait until ls_count reach zero. It will slightly
      reduce the number of holding lslist_lock. At remove lockspace we need to
      retry the wait because it a lockspace get could interefere between
      wait_event() and holding the lock which deletes the lockspace list entry.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      3cb5977c
    • Alexander Aring's avatar
      fs: dlm: requestqueue busy wait to event based wait · 164d88ab
      Alexander Aring authored
      This patch changes the requestqueue busy waiting algorithm to use
      atomic counter values and wait_event() to wait until the requestqueue is
      empty. It will slightly reduce the number of holding ls_requestqueue_mutex
      mutex.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      164d88ab
    • Alexander Aring's avatar
      fs: dlm: trace socket handling · 92732376
      Alexander Aring authored
      This patch adds tracepoints for dlm socket receive and send
      functionality. We can use it to track how much data was send or received
      to or from a specific nodeid.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      92732376
    • Alexander Aring's avatar
      fs: dlm: initial support for tracepoints · f1d3b8f9
      Alexander Aring authored
      This patch adds initial support for dlm tracepoints. It will introduce
      tracepoints to dlm main functionality dlm_lock()/dlm_unlock() and their
      complete ast() callback or blocking bast() callback.
      
      The lock/unlock functionality has a start and end tracepoint, this is
      because there exists a race in case if would have a tracepoint at the
      end position only the complete/blocking callbacks could occur before. To
      work with eBPF tracing and using their lookup hash functionality there
      could be problems that an entry was not inserted yet. However use the
      start functionality for hash insert and check again in end functionality
      if there was an dlm internal error so there is no ast callback. In further
      it might also that locks with local masters will occur those callbacks
      immediately so we must have such functionality.
      
      I did not make everything accessible yet, although it seems eBPF can be
      used to access a lot of internal datastructures if it's aware of the
      struct definitions of the running kernel instance. We still can change
      it, if you do eBPF experiments e.g. time measurements between lock and
      callback functionality you can simple use the local lkb_id field as hash
      value in combination with the lockspace id if you have multiple
      lockspaces. Otherwise you can simple use trace-cmd for some functionality,
      e.g. `trace-cmd record -e dlm` and `trace-cmd report` afterwards.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      f1d3b8f9
    • Alexander Aring's avatar
      fs: dlm: make dlm_callback_resume quite · 2f05ec43
      Alexander Aring authored
      This patch makes dlm_callback_resume info printout less noisy by
      accumulate all callback queues into one printout not in 25 times steps.
      It seems this printout became lately quite noisy in relationship with
      gfs2.
      
      Before:
      
      [241767.849302] dlm: bin: dlm_callback_resume 25
      [241767.854846] dlm: bin: dlm_callback_resume 25
      [241767.860373] dlm: bin: dlm_callback_resume 25
      ...
      [241767.865920] dlm: bin: dlm_callback_resume 25
      [241767.871352] dlm: bin: dlm_callback_resume 25
      [241767.876733] dlm: bin: dlm_callback_resume 25
      
      After the patch:
      
      [  385.485728] dlm: gfs2: dlm_callback_resume 175
      
      if zero it will not be printed out.
      Reported-by: default avatarBarry Marson <bmarson@redhat.com>
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      2f05ec43
    • Alexander Aring's avatar
      fs: dlm: use dlm_recovery_stopped in condition · e10249b1
      Alexander Aring authored
      This patch will change to evaluate the dlm_recovery_stopped() in the
      condition of the if branch instead fetch it before evaluating the
      condition. As this is an atomic test-set operation it should be
      evaluated in the condition itself.
      Reported-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      e10249b1
    • Alexander Aring's avatar
      fs: dlm: use dlm_recovery_stopped instead of test_bit · 3e973671
      Alexander Aring authored
      This patch will change to use dlm_recovery_stopped() which is the dlm way
      to check if the LSFL_RECOVER_STOP flag in ls_flags by using the helper.
      It is an atomic operation but the check is still as before to fetch the
      value if ls_recover_lock is held. There might be more further
      investigations if the value can be changed afterwards and if it has any
      side effects.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      3e973671
    • Alexander Aring's avatar
      fs: dlm: move version conversion to compile time · 658bd576
      Alexander Aring authored
      This patch moves version conversion to little endian from a runtime
      variable to compile time constant.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      658bd576
    • Alexander Aring's avatar
      fs: dlm: remove check SCTP is loaded message · fe933675
      Alexander Aring authored
      Since commit 764ff4011424 ("fs: dlm: auto load sctp module") we try
      load the sctp module before we try to create a sctp kernel socket. That
      a socket creation fails now has more likely other reasons. This patch
      removes the part of error to load the sctp module and instead printout
      the error code.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      fe933675
    • Alexander Aring's avatar
      fs: dlm: debug improvements print nodeid · 1aafd9c2
      Alexander Aring authored
      This patch improves the debug output for midcomms layer by also printing
      out the nodeid where users counter belongs to.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      1aafd9c2
    • Alexander Aring's avatar
      fs: dlm: fix small lockspace typo · bb6866a5
      Alexander Aring authored
      This patch fixes a typo from lockspace to lockspace.
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      bb6866a5
    • Alexander Aring's avatar
      fs: dlm: remove obsolete INBUF define · dea450c9
      Alexander Aring authored
      This patch removes an obsolete define for some length for an temporary
      buffer which is not being used anymore. The use of this define is not
      necessary anymore since commit 4798cbbf ("fs: dlm: rework receive
      handling").
      Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      dea450c9
  9. 25 Oct, 2021 7 commits
    • Linus Torvalds's avatar
      Linux 5.15-rc7 · 3906fe9b
      Linus Torvalds authored
      3906fe9b
    • Matthew Wilcox (Oracle)'s avatar
      secretmem: Prevent secretmem_users from wrapping to zero · cb685432
      Matthew Wilcox (Oracle) authored
      Commit 11086054 ("mm/secretmem: use refcount_t instead of atomic_t")
      attempted to fix the problem of secretmem_users wrapping to zero and
      allowing suspend once again.
      
      But it was reverted in commit 87066fdd ("Revert 'mm/secretmem: use
      refcount_t instead of atomic_t'") because of the problems it caused - a
      refcount_t was not semantically the right type to use.
      
      Instead prevent secretmem_users from wrapping to zero by forbidding new
      users if the number of users has wrapped from positive to negative.
      This stops a long way short of reaching the necessary 4 billion users
      where it wraps to zero again, so there's no need to be clever with
      special anti-wrap types or checking the return value from atomic_inc().
      Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      Cc: Jordy Zomer <jordy@pwning.systems>
      Cc: Kees Cook <keescook@chromium.org>,
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Mike Rapoport <rppt@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cb685432
    • Linus Torvalds's avatar
      spi: Fix tegra20 build with CONFIG_PM=n once again · ac8a6eba
      Linus Torvalds authored
      Commit efafec27 ("spi: Fix tegra20 build with CONFIG_PM=n") already
      fixed the build without PM support once.  There was an alternative fix
      by Guenter in commit 2bab9409 ("spi: tegra20-slink: Declare runtime
      suspend and resume functions conditionally"), and Mark then merged the
      two correctly in ffb1e76f ("Merge tag 'v5.15-rc2' into spi-5.15").
      
      But for some inexplicable reason, Mark then merged things _again_ in
      commit 59c4e190 ("Merge tag 'v5.15-rc3' into spi-5.15"), and screwed
      things up at that point, and the __maybe_unused attribute on
      tegra_slink_runtime_resume() went missing.
      
      Reinstate it, so that alpha (and other architectures without PM support)
      builds cleanly again.
      
      Btw, this is another prime example of how random back-merges are not
      good.  Just don't do them.  Subsystem developers should not merge my
      tree in any normal circumstances.  Both of those merge commits pointed
      to above are bad: even the one that got the merge result right doesn't
      even mention _why_ it was done, and the one that got it wrong is
      obviously broken.
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Cc: Mark Brown <broonie@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ac8a6eba
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · c2b43854
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
      
       - Fix clang-related relocation warning in futex code
      
       - Fix incorrect use of get_kernel_nofault()
      
       - Fix bad code generation in __get_user_check() when kasan is enabled
      
       - Ensure TLB function table is correctly aligned
      
       - Remove duplicated string function definitions in decompressor
      
       - Fix link-time orphan section warnings
      
       - Fix old-style function prototype for arch_init_kprobes()
      
       - Only warn about XIP address when not compile testing
      
       - Handle BE32 big endian for keystone2 remapping
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9148/1: handle CONFIG_CPU_ENDIAN_BE32 in arch/arm/kernel/head.S
        ARM: 9141/1: only warn about XIP address when not compile testing
        ARM: 9139/1: kprobes: fix arch_init_kprobes() prototype
        ARM: 9138/1: fix link warning with XIP + frame-pointer
        ARM: 9134/1: remove duplicate memcpy() definition
        ARM: 9133/1: mm: proc-macros: ensure *_tlb_fns are 4B aligned
        ARM: 9132/1: Fix __get_user_check failure with ARM KASAN images
        ARM: 9125/1: fix incorrect use of get_kernel_nofault()
        ARM: 9122/1: select HAVE_FUTEX_CMPXCHG
      c2b43854
    • Linus Torvalds's avatar
      Merge tag 'libata-5.15-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 4862649f
      Linus Torvalds authored
      Pull libata fix from Damien Le Moal:
       "A single fix in this pull request addressing an invalid error code
        return in the sata_mv driver (from Zheyu)"
      
      * tag 'libata-5.15-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        ata: sata_mv: Fix the error handling of mv_chip_id()
      4862649f
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · a51aec41
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
       "Some late pin control fixes, the most generally annoying will probably
        be the AMD IRQ storm fix affecting the Microsoft surface.
      
        Summary:
      
         - Three fixes pertaining to Broadcom DT bindings. Some stuff didn't
           work out as inteded, we need to back out
      
         - A resume bug fix in the STM32 driver
      
         - Disable and mask the interrupts on probe in the AMD pinctrl driver,
           affecting Microsoft surface"
      
      * tag 'pinctrl-v5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: amd: disable and mask interrupts on probe
        pinctrl: stm32: use valid pin identifier in stm32_pinctrl_resume()
        Revert "pinctrl: bcm: ns: support updated DT binding as syscon subnode"
        dt-bindings: pinctrl: brcm,ns-pinmux: drop unneeded CRU from example
        Revert "dt-bindings: pinctrl: bcm4708-pinmux: rework binding to use syscon"
      a51aec41
    • LABBE Corentin's avatar
      ARM: 9148/1: handle CONFIG_CPU_ENDIAN_BE32 in arch/arm/kernel/head.S · 00568b8a
      LABBE Corentin authored
      My intel-ixp42x-welltech-epbx100 no longer boot since 4.14.
      This is due to commit 463dbba4 ("ARM: 9104/2: Fix Keystone 2 kernel
      mapping regression")
      which forgot to handle CONFIG_CPU_ENDIAN_BE32 as possible BE config.
      Suggested-by: default avatarKrzysztof Hałasa <khalasa@piap.pl>
      Fixes: 463dbba4 ("ARM: 9104/2: Fix Keystone 2 kernel mapping regression")
      Signed-off-by: default avatarCorentin Labbe <clabbe.montjoie@gmail.com>
      Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      00568b8a
  10. 24 Oct, 2021 1 commit