1. 14 Apr, 2022 1 commit
  2. 13 Apr, 2022 2 commits
  3. 07 Apr, 2022 1 commit
  4. 15 Mar, 2022 1 commit
  5. 14 Mar, 2022 4 commits
  6. 11 Mar, 2022 1 commit
  7. 01 Mar, 2022 3 commits
  8. 18 Feb, 2022 1 commit
  9. 10 Feb, 2022 1 commit
  10. 25 Jan, 2022 1 commit
  11. 24 Jan, 2022 1 commit
    • Jan Kiszka's avatar
      cobalt/thread: Keep IRQs off longer during in-band migration · 78d08c6e
      Jan Kiszka authored
      This restores the pattern used before 98288382: We must prevent any
      interruption between queuing the inband work and suspending the current
      RT thread. Otherwise, we risk that the former is consumed prior to the
      thread consumption if the thread should undergo temporary remote
      suspension/resumption, allowing Linux to run first. This is also in line
      with the EVL core.
      
      Fixes: 98288382
      
       ("cobalt/thread: dovetail: keep hard irqs off on transition to in-band")
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      78d08c6e
  12. 12 Jan, 2022 1 commit
  13. 10 Jan, 2022 7 commits
  14. 07 Jan, 2022 7 commits
  15. 05 Jan, 2022 8 commits
    • Jan Kiszka's avatar
      drivers/net: Remove dead smc91111 driver · 9bc72bd4
      Jan Kiszka authored
      
      
      This was once (2004) added to cater a special x86 platform with ISA
      interface. That one is long dead, and now the driver stops building on
      5.15, reminding of its old Frankenstein logic. Time to bury it.
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      9bc72bd4
    • Florian Bezdeka's avatar
      y2038: testsuite/smokey/y2038: Add a missing error handling path · 4c5aed25
      Florian Bezdeka authored and Jan Kiszka's avatar Jan Kiszka committed
      
      
      Initialization of the mutex used for mutex_timedlock64 tests could fail.
      We have to abort the test in this case.
      Signed-off-by: default avatarFlorian Bezdeka <florian.bezdeka@siemens.com>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      4c5aed25
    • Florian Bezdeka's avatar
      y2038: testsuite/smokey/y2038: Adding tests for cond_wait_prologue64 · e956287b
      Florian Bezdeka authored and Jan Kiszka's avatar Jan Kiszka committed
      
      
      Extending the smokey testsuite to do some tests for the recently added
      cond_wait_prologue64 syscall.
      Signed-off-by: default avatarFlorian Bezdeka <florian.bezdeka@siemens.com>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      e956287b
    • Florian Bezdeka's avatar
      y2038: lib/cobalt: Dispatch cond_wait_prologue · bc5b0fad
      Florian Bezdeka authored and Jan Kiszka's avatar Jan Kiszka committed
      
      
      It libc reports time64_t support, cond_wait_prologue is now dispatched
      to the time64_t based syscall.
      Signed-off-by: default avatarFlorian Bezdeka <florian.bezdeka@siemens.com>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      bc5b0fad
    • Florian Bezdeka's avatar
      cobalt: posix/cond: Add missing __user annotation to user provided ptr · 64981807
      Florian Bezdeka authored and Jan Kiszka's avatar Jan Kiszka committed
      
      
      Like all other pointers in the cond_wait_prologue interface the error
      pointer is user-provided and should be annotated accordingly.
      Signed-off-by: default avatarFlorian Bezdeka <florian.bezdeka@siemens.com>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      64981807
    • Florian Bezdeka's avatar
      y2038: cobalt/posix/cond: Adding cond_wait_prologue64 · 1550694a
      Florian Bezdeka authored and Jan Kiszka's avatar Jan Kiszka committed
      
      
      Add a syscall specific for cond_wait_prologue64 with 64bit time_t.
      Signed-off-by: default avatarFlorian Bezdeka <florian.bezdeka@siemens.com>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      1550694a
    • Florian Bezdeka's avatar
      cobalt: Protect __xn_get_user() by access_ok() · ef90f68d
      Florian Bezdeka authored and Jan Kiszka's avatar Jan Kiszka committed
      
      
      According to the doctype provided by __get_user (which is used by the
      __xn_get_user() macro) each call should be protected by access_ok().
      We missed such a protection at some places.
      Signed-off-by: default avatarFlorian Bezdeka <florian.bezdeka@siemens.com>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      ef90f68d
    • Florian Bezdeka's avatar
      cobalt: posix/cond: Add missing input validations · 5faf6e2d
      Florian Bezdeka authored and Jan Kiszka's avatar Jan Kiszka committed
      
      
      The following validation issues have been addressed:
      
        - __cobalt_cond_wait_prologue() missed validating the supplied
          pointers after the registry lookup which could fail. That triggered
          the kernel OOPS dumped below
      
        - The check removed from cobalt_cond_timedwait_prologue() is now
          already done in __cobalt_cond_wait_prologue()
      
        - The entry point for the cond_wait_epilogue syscall missed the same
          validations
      
        - __cobalt_cond_wait_prologue() missed the validation for the
          supplied timeout
      
      [   21.254929] BUG: kernel NULL pointer dereference, address: 0000000000000078
      [   21.254930] #PF: supervisor read access in kernel mode
      [   21.254931] #PF: error_code(0x0000) - not-present page
      [   21.254932] PGD 0 P4D 0
      [   21.254933] Oops: 0000 [#1] SMP NOPTI IRQ_PIPELINE
      [   21.254934] CPU: 1 PID: 271 Comm: smokey Not tainted 5.10.76+ #54
      [   21.254935] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014
      [   21.254935] IRQ stage: Linux
      [   21.254936] RIP: 0010:__cobalt_cond_wait_prologue+0x28c/0x430
      [   21.254937] Code: 48 d1 e8 83 e0 01 49 39 c5 0f 85 10 01 00 00 48 83 7b 78 00 45 89 f8 44 89 f8 45 89 e7 0f 85 ed 00 00 00b
      [   21.254937] RSP: 0018:ffffc90000843e30 EFLAGS: 00010246
      [   21.254938] RAX: fffffffffffffff2 RBX: 0000000000000000 RCX: 0000000000000000
      [   21.254938] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
      [   21.254938] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
      [   21.254939] R10: 0000000000019000 R11: 0000000000000000 R12: ffffc9000061c408
      [   21.254939] R13: 0000000000000000 R14: 0000000000000000 R15: ffffffff8118f400
      [   21.254939] FS:  00007fdfe9f79680(0000) GS:ffff88803e880000(0000) knlGS:0000000000000000
      [   21.254939] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   21.254940] CR2: 0000000000000078 CR3: 0000000004108000 CR4: 00000000003506e0
      [   21.254940] Call Trace:
      [   21.254940]  ? dovetail_leave_inband+0xdc/0x120
      [   21.254940]  ? CoBaLt_cond_wait_prologue+0x30/0x30
      [   21.254941]  CoBaLt_cond_wait_prologue64+0x1e/0x30
      [   21.254941]  handle_root_syscall+0xe0/0x2d0
      [   21.254941]  __pipeline_syscall+0xb3/0x230
      [   21.254941]  ? vfs_write+0x14d/0x270
      [   21.254942]  pipeline_syscall+0x33/0xe0
      [   21.254942]  syscall_enter_from_user_mode+0x23/0x80
      [   21.254942]  do_syscall_64+0xf/0x50
      [   21.254942]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
      [   21.254943] RIP: 0033:0x5617e786b83d
      [   21.254943] Code: 00 00 00 00 48 c7 45 c8 00 00 00 00 4c 8b 45 e8 4c 8b 55 e0 48 8b 55 d8 48 8b 75 d0 48 8b 7d c8 8b 45 f05
      [   21.254943] RSP: 002b:00007ffd22b84db0 EFLAGS: 00000202 ORIG_RAX: 0000000010000073
      [   21.254944] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00005617e786b83d
      [   21.254944] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
      [   21.254945] RBP: 00007ffd22b84f40 R08: 0000000000000000 R09: 0000000000000001
      [   21.254945] R10: 0000000000000000 R11: 0000000000000202 R12: 00005617e7848e60
      [   21.254945] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
      [   21.254946] Modules linked in:
      [   21.254946] CR2: 0000000000000078
      [   21.254946] ---[ end trace 4f2931a73a5a875d ]---
      [   21.254946] RIP: 0010:__cobalt_cond_wait_prologue+0x28c/0x430
      [   21.254947] Code: 48 d1 e8 83 e0 01 49 39 c5 0f 85 10 01 00 00 48 83 7b 78 00 45 89 f8 44 89 f8 45 89 e7 0f 85 ed 00 00 00b
      [   21.254947] RSP: 0018:ffffc90000843e30 EFLAGS: 00010246
      [   21.254948] RAX: fffffffffffffff2 RBX: 0000000000000000 RCX: 0000000000000000
      [   21.254948] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
      [   21.254948] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
      [   21.254949] R10: 0000000000019000 R11: 0000000000000000 R12: ffffc9000061c408
      [   21.254949] R13: 0000000000000000 R14: 0000000000000000 R15: ffffffff8118f400
      [   21.254949] FS:  00007fdfe9f79680(0000) GS:ffff88803e880000(0000) knlGS:0000000000000000
      [   21.254950] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   21.254950] CR2: 0000000000000078 CR3: 0000000004108000 CR4: 00000000003506e0
      Signed-off-by: default avatarFlorian Bezdeka <florian.bezdeka@siemens.com>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      5faf6e2d