Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

xonatius
Copy link

@xonatius xonatius commented Sep 6, 2011

Models:

  • N120
  • R468/R418
  • X320/X420/X520
  • R510/P510
  • N350
  • R470/R420
  • R528/R728
  • SQ1S

Models:
 * N120
 * R468/R418
 * X320/X420/X520
 * R510/P510
 * N350
 * R470/R420
 * R528/R728
 * SQ1S
@torvalds
Copy link
Owner

torvalds commented Sep 6, 2011

I'm not doing github pulls. The pull requests are seriously
misdesigned, and github does horrible things to the commits.

Please don't press the "pull request" github button. Do proper kernel
pull request with diffstat, git source tree (which can be on github,
of course), branch, commit information etc etc etc.

                  Linus

@xonatius xonatius closed this Sep 7, 2011
@nils-werner
Copy link

How are pullrequest seriously misdesigned (apart from that you might be used to a different kind of workflow)?

@valpackett
Copy link
Contributor

I'm not doing linux kernel pulls. The kernel pulls are seriously
misdesigned, and linux does horrible things to the commits.

Please don't press the "pull request" kernel button. Do proper github
pull request with diffstat, git source tree (which can be on linux,
of course), branch, commit information etc etc etc.

GitHub

@tilsammans
Copy link

I honestly would like to know why github pull requests are misdesigned. I'll grant that I didn't actually create git but they seem to work just fine, is there something I am missing?

@hotwoofy
Copy link

hotwoofy commented Sep 7, 2011

@nils-werner
Copy link

See https://github.com/torvalds/diveclog/pull/18#issuecomment-2023552

Wow, great discussion went on there. Shacon raised perfectly valid points and Torvalds was basically "f this, I don't care, you're crazy". Great response!

@torvalds
Copy link
Owner

torvalds commented Sep 9, 2011

On Fri, Sep 9, 2011 at 12:49 AM, Nils Werner
[email protected]
wrote:

Wow, great discussion went on there. Shacon raised perfectly valid points and Torvalds was basically "f this, I don't care, you're crazy". Great response!

Can you read?

"If the merge message doesn't tell me who the merge is from and what
branch it was, the merge message is totally useless."

If you can't understand that, then yes, you're crazy. Or just terminally stupid.

The quality of github "issues" and comments really is very low. This
being just another example of it.

                          Linus

@nils-werner
Copy link

First, I agree with Scott: In many cases people delete their fork (or at least the branch). So where would the message point you to? The pull request of the pulling repository will much more likely be around for a long time.

Also, what if the branch you'll pull from has changed in the meantime? You'd end up with changes that are not documented in the pull request and thus not reviewed by the ones discussing the pull request. As soon as the PR is posted you must put them out of reach of the author to keep them from sneaking in changes.

Great response!

Can you read?

Also, you did notice that you've proven my point right there, right?

@torvalds
Copy link
Owner

torvalds commented Sep 9, 2011

On Fri, Sep 9, 2011 at 12:10 PM, Nils Werner
[email protected]
wrote:

First, I agree with Scott: In many cases people delete their fork (or at least the branch). So where would the message point you to? The pull request of the pulling repository will much more likely be around for a long time.

That's a "implementation problem". It's not an argument for doing crap.

Simple solution: if people delete the branch or repository, consider
the pull request dead.

You can make the "pull request" namespace separate from the branch
namespace, but do it on the source side, instead of on the
destination side like you do now. So if somebody says "please pull by
branch xyzzy", you turn it into a pull request for

git pull git://github.com/ pull/xyzzy

and then if there i a previous pull request, add a number to it (so it
becomes "pull/xyzzy-2" or whatever).

Or something along those lines. The important part is that YOU MUST
NOT THROW AWAY THE SOURCE INFORMATION!

Also, what if the branch you'll pull from has changed in the meantime?

We actually do this in the kernel on purpose sometimes - people fix up
their stuff.

That said, again, you could do the same thing: if somebody changes a
branch after created a pull request off it, just invalidate the pull
request and refuse to honor it. Again, if you do a separate
"pull/xyzzy" namespace, you should be able to validate that trivially
(save off the commit ID at the time of the pull, and refuse to serve
"pull/xyzzy" if the commit ID doesn't match the branch "xyzzy" any
more).

You'd end up with changes that are not documented in the pull request and thus not reviewed by the ones discussing the pull request.

Umm, considering that the pull requests used to have no documentation
what-so-ever before I even complained about it, that's a pretty damn
weak argument, isn't it?

As soon as the PR is posted you must put them out of reach of the
author to keep them from sneaking in changes.

Can you read?

Also, you did notice that you've proven my point right there, right?

Umm. I'm not polite. Big news. I'd rather be acerbic than stupid.

                       Linus

@nils-werner
Copy link

That's a "implementation problem".

A decentralized system that doesn't accept disappearing nodes sounds more like a design problem.

Simple solution: if people delete the branch or repository, consider the pull request dead.

Years after the branch has been merged? Is that a problem we wanted to solve?

Also, what if the branch you'll pull from has changed in the meantime?

We actually do this in the kernel on purpose sometimes - people fix up their stuff.

I meant malicuous changes. Hierarchies are shallow, elite circles basically nonexistant so that's a real issue. And the biggest strength of GitHub.

save off the commit ID at the time of the pull, and refuse to serve "pull/xyzzy" if the commit ID doesn't match the branch "xyzzy" any more

Thats the first constructive comment to this discussion. And sounds like a good idea, apart from the problem that you'd lose the link to the PR wich, to many, is more useful than being able to immediately recognise the source.

Also it would probably require lots of modifications to the deamon though.And very disciplined contributors (always make sure to use dead-end topic-branches, not everybody does that). Separating the two simply improves the workflow a lot.

It'd be interesting what @schacon has to say about it.

Umm, considering that the pull requests used to have no documentation what-so-ever before I even complained about it, that's a pretty damn weak argument, isn't it?

When was that? Months ago? I am talking about your comment 2 days ago.

@nils-werner
Copy link

Umm. I'm not polite. Big news. I'd rather be acerbic than stupid.

A personal, unrelated note: Being unable to lead an objective discussion. Judging people, then insulting them just to prove a point. Recognising ones flaws but being unwilling to change them, instead bragging about them. Missing the ability to reflect on ones actions during interactions with others.

That sounds pretty stupid to me. Anyways, I'm moving on.

@jeffWelling
Copy link

@nils-werner

A decentralized system that doesn't accept disappearing nodes sounds more like a design problem.

I thought we were talking about pull requests and branches? When did a branch become a node?
Perhaps I'm missing something but this sounds simple; if you have a change and you want someone else to pull it, it sounds reasonable to expect you to keep the change published at least until it is pulled.

I meant malicuous changes. Hierarchies are shallow, elite circles basically nonexistant so that's a real issue. And the biggest strength of GitHub.

Except that, as indicated by Scott Chacon [0], the most common scenario is to perform the pull request locally on your machine, allowing you to pull the code and then review it without said code being changed before merging. I can understand your argument in relation to pull requests done using the button on the website though.

[0] https://github.com/torvalds/diveclog/pull/18

cuviper pushed a commit to cuviper/linux-uprobes that referenced this pull request Nov 3, 2011
* Ingo Molnar <[email protected]> wrote:

> The patch below addresses these concerns, serializes the output, tidies up the
> printout, resulting in this new output:

There's one bug remaining that my patch does not address: the vCPUs are not
printed in order:

# vCPU #0's dump:
# vCPU #2's dump:
# vCPU torvalds#24's dump:
# vCPU #5's dump:
# vCPU torvalds#39's dump:
# vCPU torvalds#38's dump:
# vCPU torvalds#51's dump:
# vCPU torvalds#11's dump:
# vCPU torvalds#10's dump:
# vCPU torvalds#12's dump:

This is undesirable as the order of printout is highly random, so successive
dumps are difficult to compare.

The patch below serializes the signalling itself. (this is on top of the
previous patch)

The patch also tweaks the vCPU printout line a bit so that it does not start
with '#', which is discarded if such messages are pasted into Git commit
messages.

Signed-off-by: Ingo Molnar <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
torvalds pushed a commit that referenced this pull request Dec 15, 2011
If the pte mapping in generic_perform_write() is unmapped between
iov_iter_fault_in_readable() and iov_iter_copy_from_user_atomic(), the
"copied" parameter to ->end_write can be zero. ext4 couldn't cope with
it with delayed allocations enabled. This skips the i_disksize
enlargement logic if copied is zero and no new data was appeneded to
the inode.

 gdb> bt
 #0  0xffffffff811afe80 in ext4_da_should_update_i_disksize (file=0xffff88003f606a80, mapping=0xffff88001d3824e0, pos=0x1\
 08000, len=0x1000, copied=0x0, page=0xffffea0000d792e8, fsdata=0x0) at fs/ext4/inode.c:2467
 #1  ext4_da_write_end (file=0xffff88003f606a80, mapping=0xffff88001d3824e0, pos=0x108000, len=0x1000, copied=0x0, page=0\
 xffffea0000d792e8, fsdata=0x0) at fs/ext4/inode.c:2512
 #2  0xffffffff810d97f1 in generic_perform_write (iocb=<value optimized out>, iov=<value optimized out>, nr_segs=<value o\
 ptimized out>, pos=0x108000, ppos=0xffff88001e26be40, count=<value optimized out>, written=0x0) at mm/filemap.c:2440
 #3  generic_file_buffered_write (iocb=<value optimized out>, iov=<value optimized out>, nr_segs=<value optimized out>, p\
 os=0x108000, ppos=0xffff88001e26be40, count=<value optimized out>, written=0x0) at mm/filemap.c:2482
 #4  0xffffffff810db5d1 in __generic_file_aio_write (iocb=0xffff88001e26bde8, iov=0xffff88001e26bec8, nr_segs=0x1, ppos=0\
 xffff88001e26be40) at mm/filemap.c:2600
 #5  0xffffffff810db853 in generic_file_aio_write (iocb=0xffff88001e26bde8, iov=0xffff88001e26bec8, nr_segs=<value optimi\
 zed out>, pos=<value optimized out>) at mm/filemap.c:2632
 #6  0xffffffff811a71aa in ext4_file_write (iocb=0xffff88001e26bde8, iov=0xffff88001e26bec8, nr_segs=0x1, pos=0x108000) a\
 t fs/ext4/file.c:136
 #7  0xffffffff811375aa in do_sync_write (filp=0xffff88003f606a80, buf=<value optimized out>, len=<value optimized out>, \
 ppos=0xffff88001e26bf48) at fs/read_write.c:406
 #8  0xffffffff81137e56 in vfs_write (file=0xffff88003f606a80, buf=0x1ec2960 <Address 0x1ec2960 out of bounds>, count=0x4\
 000, pos=0xffff88001e26bf48) at fs/read_write.c:435
 #9  0xffffffff8113816c in sys_write (fd=<value optimized out>, buf=0x1ec2960 <Address 0x1ec2960 out of bounds>, count=0x\
 4000) at fs/read_write.c:487
 #10 <signal handler called>
 #11 0x00007f120077a390 in __brk_reservation_fn_dmi_alloc__ ()
 #12 0x0000000000000000 in ?? ()
 gdb> print offset
 $22 = 0xffffffffffffffff
 gdb> print idx
 $23 = 0xffffffff
 gdb> print inode->i_blkbits
 $24 = 0xc
 gdb> up
 #1  ext4_da_write_end (file=0xffff88003f606a80, mapping=0xffff88001d3824e0, pos=0x108000, len=0x1000, copied=0x0, page=0\
 xffffea0000d792e8, fsdata=0x0) at fs/ext4/inode.c:2512
 2512                    if (ext4_da_should_update_i_disksize(page, end)) {
 gdb> print start
 $25 = 0x0
 gdb> print end
 $26 = 0xffffffffffffffff
 gdb> print pos
 $27 = 0x108000
 gdb> print new_i_size
 $28 = 0x108000
 gdb> print ((struct ext4_inode_info *)((char *)inode-((int)(&((struct ext4_inode_info *)0)->vfs_inode))))->i_disksize
 $29 = 0xd9000
 gdb> down
 2467            for (i = 0; i < idx; i++)
 gdb> print i
 $30 = 0xd44acbee

This is 100% reproducible with some autonuma development code tuned in
a very aggressive manner (not normal way even for knumad) which does
"exotic" changes to the ptes. It wouldn't normally trigger but I don't
see why it can't happen normally if the page is added to swap cache in
between the two faults leading to "copied" being zero (which then
hangs in ext4). So it should be fixed. Especially possible with lumpy
reclaim (albeit disabled if compaction is enabled) as that would
ignore the young bits in the ptes.

Signed-off-by: Andrea Arcangeli <[email protected]>
Signed-off-by: "Theodore Ts'o" <[email protected]>
Cc: [email protected]
jkstrick pushed a commit to jkstrick/linux that referenced this pull request Feb 11, 2012
If the netdev is already in NETREG_UNREGISTERING/_UNREGISTERED state, do not
update the real num tx queues. netdev_queue_update_kobjects() is already
called via remove_queue_kobjects() at NETREG_UNREGISTERING time. So, when
upper layer driver, e.g., FCoE protocol stack is monitoring the netdev
event of NETDEV_UNREGISTER and calls back to LLD ndo_fcoe_disable() to remove
extra queues allocated for FCoE, the associated txq sysfs kobjects are already
removed, and trying to update the real num queues would cause something like
below:

...
PID: 25138  TASK: ffff88021e64c440  CPU: 3   COMMAND: "kworker/3:3"
 #0 [ffff88021f007760] machine_kexec at ffffffff810226d9
 #1 [ffff88021f0077d0] crash_kexec at ffffffff81089d2d
 #2 [ffff88021f0078a0] oops_end at ffffffff813bca78
 #3 [ffff88021f0078d0] no_context at ffffffff81029e72
 #4 [ffff88021f007920] __bad_area_nosemaphore at ffffffff8102a155
 #5 [ffff88021f0079f0] bad_area_nosemaphore at ffffffff8102a23e
 torvalds#6 [ffff88021f007a00] do_page_fault at ffffffff813bf32e
 torvalds#7 [ffff88021f007b10] page_fault at ffffffff813bc045
    [exception RIP: sysfs_find_dirent+17]
    RIP: ffffffff81178611  RSP: ffff88021f007bc0  RFLAGS: 00010246
    RAX: ffff88021e64c440  RBX: ffffffff8156cc63  RCX: 0000000000000004
    RDX: ffffffff8156cc63  RSI: 0000000000000000  RDI: 0000000000000000
    RBP: ffff88021f007be0   R8: 0000000000000004   R9: 0000000000000008
    R10: ffffffff816fed00  R11: 0000000000000004  R12: 0000000000000000
    R13: ffffffff8156cc63  R14: 0000000000000000  R15: ffff8802222a0000
    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
 torvalds#8 [ffff88021f007be8] sysfs_get_dirent at ffffffff81178c07
 torvalds#9 [ffff88021f007c18] sysfs_remove_group at ffffffff8117ac27
torvalds#10 [ffff88021f007c48] netdev_queue_update_kobjects at ffffffff813178f9
torvalds#11 [ffff88021f007c88] netif_set_real_num_tx_queues at ffffffff81303e38
torvalds#12 [ffff88021f007cc8] ixgbe_set_num_queues at ffffffffa0249763 [ixgbe]
torvalds#13 [ffff88021f007cf8] ixgbe_init_interrupt_scheme at ffffffffa024ea89 [ixgbe]
torvalds#14 [ffff88021f007d48] ixgbe_fcoe_disable at ffffffffa0267113 [ixgbe]
torvalds#15 [ffff88021f007d68] vlan_dev_fcoe_disable at ffffffffa014fef5 [8021q]
torvalds#16 [ffff88021f007d78] fcoe_interface_cleanup at ffffffffa02b7dfd [fcoe]
torvalds#17 [ffff88021f007df8] fcoe_destroy_work at ffffffffa02b7f08 [fcoe]
torvalds#18 [ffff88021f007e18] process_one_work at ffffffff8105d7ca
torvalds#19 [ffff88021f007e68] worker_thread at ffffffff81060513
torvalds#20 [ffff88021f007ee8] kthread at ffffffff810648b6
torvalds#21 [ffff88021f007f48] kernel_thread_helper at ffffffff813c40f4

Signed-off-by: Yi Zou <[email protected]>
Tested-by: Ross Brattain <[email protected]>
Tested-by: Stephen Ko <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
zachariasmaladroit pushed a commit to galaxys-cm7miui-kernel/linux that referenced this pull request Feb 11, 2012
If the netdev is already in NETREG_UNREGISTERING/_UNREGISTERED state, do not
update the real num tx queues. netdev_queue_update_kobjects() is already
called via remove_queue_kobjects() at NETREG_UNREGISTERING time. So, when
upper layer driver, e.g., FCoE protocol stack is monitoring the netdev
event of NETDEV_UNREGISTER and calls back to LLD ndo_fcoe_disable() to remove
extra queues allocated for FCoE, the associated txq sysfs kobjects are already
removed, and trying to update the real num queues would cause something like
below:

...
PID: 25138  TASK: ffff88021e64c440  CPU: 3   COMMAND: "kworker/3:3"
 #0 [ffff88021f007760] machine_kexec at ffffffff810226d9
 #1 [ffff88021f0077d0] crash_kexec at ffffffff81089d2d
 #2 [ffff88021f0078a0] oops_end at ffffffff813bca78
 #3 [ffff88021f0078d0] no_context at ffffffff81029e72
 #4 [ffff88021f007920] __bad_area_nosemaphore at ffffffff8102a155
 #5 [ffff88021f0079f0] bad_area_nosemaphore at ffffffff8102a23e
 torvalds#6 [ffff88021f007a00] do_page_fault at ffffffff813bf32e
 torvalds#7 [ffff88021f007b10] page_fault at ffffffff813bc045
    [exception RIP: sysfs_find_dirent+17]
    RIP: ffffffff81178611  RSP: ffff88021f007bc0  RFLAGS: 00010246
    RAX: ffff88021e64c440  RBX: ffffffff8156cc63  RCX: 0000000000000004
    RDX: ffffffff8156cc63  RSI: 0000000000000000  RDI: 0000000000000000
    RBP: ffff88021f007be0   R8: 0000000000000004   R9: 0000000000000008
    R10: ffffffff816fed00  R11: 0000000000000004  R12: 0000000000000000
    R13: ffffffff8156cc63  R14: 0000000000000000  R15: ffff8802222a0000
    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
 torvalds#8 [ffff88021f007be8] sysfs_get_dirent at ffffffff81178c07
 torvalds#9 [ffff88021f007c18] sysfs_remove_group at ffffffff8117ac27
torvalds#10 [ffff88021f007c48] netdev_queue_update_kobjects at ffffffff813178f9
torvalds#11 [ffff88021f007c88] netif_set_real_num_tx_queues at ffffffff81303e38
torvalds#12 [ffff88021f007cc8] ixgbe_set_num_queues at ffffffffa0249763 [ixgbe]
torvalds#13 [ffff88021f007cf8] ixgbe_init_interrupt_scheme at ffffffffa024ea89 [ixgbe]
torvalds#14 [ffff88021f007d48] ixgbe_fcoe_disable at ffffffffa0267113 [ixgbe]
torvalds#15 [ffff88021f007d68] vlan_dev_fcoe_disable at ffffffffa014fef5 [8021q]
torvalds#16 [ffff88021f007d78] fcoe_interface_cleanup at ffffffffa02b7dfd [fcoe]
torvalds#17 [ffff88021f007df8] fcoe_destroy_work at ffffffffa02b7f08 [fcoe]
torvalds#18 [ffff88021f007e18] process_one_work at ffffffff8105d7ca
torvalds#19 [ffff88021f007e68] worker_thread at ffffffff81060513
torvalds#20 [ffff88021f007ee8] kthread at ffffffff810648b6
torvalds#21 [ffff88021f007f48] kernel_thread_helper at ffffffff813c40f4

Signed-off-by: Yi Zou <[email protected]>
Tested-by: Ross Brattain <[email protected]>
Tested-by: Stephen Ko <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
tworaz pushed a commit to tworaz/linux that referenced this pull request Feb 13, 2012
…S block during isolation for migration

commit 0bf380b upstream.

When isolating for migration, migration starts at the start of a zone
which is not necessarily pageblock aligned.  Further, it stops isolating
when COMPACT_CLUSTER_MAX pages are isolated so migrate_pfn is generally
not aligned.  This allows isolate_migratepages() to call pfn_to_page() on
an invalid PFN which can result in a crash.  This was originally reported
against a 3.0-based kernel with the following trace in a crash dump.

PID: 9902   TASK: d47aecd0  CPU: 0   COMMAND: "memcg_process_s"
 #0 [d72d3ad0] crash_kexec at c028cfdb
 #1 [d72d3b24] oops_end at c05c5322
 #2 [d72d3b38] __bad_area_nosemaphore at c0227e60
 #3 [d72d3bec] bad_area at c0227fb6
 #4 [d72d3c00] do_page_fault at c05c72e
 #5 [d72d3c80] error_code (via page_fault) at c05c47a4
    EAX: 00000000  EBX: 000c0000  ECX: 00000001  EDX: 00000807  EBP: 000c0000
    DS:  007b      ESI: 00000001  ES:  007b      EDI: f3000a80  GS:  6f50
    CS:  0060      EIP: c030b15a  ERR: ffffffff  EFLAGS: 00010002
 torvalds#6 [d72d3cb4] isolate_migratepages at c030b15a
 torvalds#7 [d72d3d1] zone_watermark_ok at c02d26cb
 torvalds#8 [d72d3d2c] compact_zone at c030b8d
 torvalds#9 [d72d3d68] compact_zone_order at c030bba1
torvalds#10 [d72d3db4] try_to_compact_pages at c030bc84
torvalds#11 [d72d3ddc] __alloc_pages_direct_compact at c02d61e7
torvalds#12 [d72d3e08] __alloc_pages_slowpath at c02d66c7
torvalds#13 [d72d3e78] __alloc_pages_nodemask at c02d6a97
torvalds#14 [d72d3eb8] alloc_pages_vma at c030a845
torvalds#15 [d72d3ed4] do_huge_pmd_anonymous_page at c03178eb
torvalds#16 [d72d3f00] handle_mm_fault at c02f36c6
torvalds#17 [d72d3f30] do_page_fault at c05c70ed
torvalds#18 [d72d3fb] error_code (via page_fault) at c05c47a4
    EAX: b71ff000  EBX: 00000001  ECX: 00001600  EDX: 00000431
    DS:  007b      ESI: 08048950  ES:  007b      EDI: bfaa3788
    SS:  007b      ESP: bfaa36e0  EBP: bfaa3828  GS:  6f50
    CS:  0073      EIP: 080487c8  ERR: ffffffff  EFLAGS: 00010202

It was also reported by Herbert van den Bergh against 3.1-based kernel
with the following snippet from the console log.

BUG: unable to handle kernel paging request at 01c00008
IP: [<c0522399>] isolate_migratepages+0x119/0x390
*pdpt = 000000002f7ce001 *pde = 0000000000000000

It is expected that it also affects 3.2.x and current mainline.

The problem is that pfn_valid is only called on the first PFN being
checked and that PFN is not necessarily aligned.  Lets say we have a case
like this

H = MAX_ORDER_NR_PAGES boundary
| = pageblock boundary
m = cc->migrate_pfn
f = cc->free_pfn
o = memory hole

H------|------H------|----m-Hoooooo|ooooooH-f----|------H

The migrate_pfn is just below a memory hole and the free scanner is beyond
the hole.  When isolate_migratepages started, it scans from migrate_pfn to
migrate_pfn+pageblock_nr_pages which is now in a memory hole.  It checks
pfn_valid() on the first PFN but then scans into the hole where there are
not necessarily valid struct pages.

This patch ensures that isolate_migratepages calls pfn_valid when
necessary.

Reported-by: Herbert van den Bergh <[email protected]>
Tested-by: Herbert van den Bergh <[email protected]>
Signed-off-by: Mel Gorman <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
xXorAa pushed a commit to xXorAa/linux that referenced this pull request Feb 17, 2012
…S block during isolation for migration

commit 0bf380b upstream.

When isolating for migration, migration starts at the start of a zone
which is not necessarily pageblock aligned.  Further, it stops isolating
when COMPACT_CLUSTER_MAX pages are isolated so migrate_pfn is generally
not aligned.  This allows isolate_migratepages() to call pfn_to_page() on
an invalid PFN which can result in a crash.  This was originally reported
against a 3.0-based kernel with the following trace in a crash dump.

PID: 9902   TASK: d47aecd0  CPU: 0   COMMAND: "memcg_process_s"
 #0 [d72d3ad0] crash_kexec at c028cfdb
 #1 [d72d3b24] oops_end at c05c5322
 #2 [d72d3b38] __bad_area_nosemaphore at c0227e60
 #3 [d72d3bec] bad_area at c0227fb6
 #4 [d72d3c00] do_page_fault at c05c72e
 #5 [d72d3c80] error_code (via page_fault) at c05c47a4
    EAX: 00000000  EBX: 000c0000  ECX: 00000001  EDX: 00000807  EBP: 000c0000
    DS:  007b      ESI: 00000001  ES:  007b      EDI: f3000a80  GS:  6f50
    CS:  0060      EIP: c030b15a  ERR: ffffffff  EFLAGS: 00010002
 torvalds#6 [d72d3cb4] isolate_migratepages at c030b15a
 torvalds#7 [d72d3d1] zone_watermark_ok at c02d26cb
 torvalds#8 [d72d3d2c] compact_zone at c030b8d
 torvalds#9 [d72d3d68] compact_zone_order at c030bba1
torvalds#10 [d72d3db4] try_to_compact_pages at c030bc84
torvalds#11 [d72d3ddc] __alloc_pages_direct_compact at c02d61e7
torvalds#12 [d72d3e08] __alloc_pages_slowpath at c02d66c7
torvalds#13 [d72d3e78] __alloc_pages_nodemask at c02d6a97
torvalds#14 [d72d3eb8] alloc_pages_vma at c030a845
torvalds#15 [d72d3ed4] do_huge_pmd_anonymous_page at c03178eb
torvalds#16 [d72d3f00] handle_mm_fault at c02f36c6
torvalds#17 [d72d3f30] do_page_fault at c05c70ed
torvalds#18 [d72d3fb] error_code (via page_fault) at c05c47a4
    EAX: b71ff000  EBX: 00000001  ECX: 00001600  EDX: 00000431
    DS:  007b      ESI: 08048950  ES:  007b      EDI: bfaa3788
    SS:  007b      ESP: bfaa36e0  EBP: bfaa3828  GS:  6f50
    CS:  0073      EIP: 080487c8  ERR: ffffffff  EFLAGS: 00010202

It was also reported by Herbert van den Bergh against 3.1-based kernel
with the following snippet from the console log.

BUG: unable to handle kernel paging request at 01c00008
IP: [<c0522399>] isolate_migratepages+0x119/0x390
*pdpt = 000000002f7ce001 *pde = 0000000000000000

It is expected that it also affects 3.2.x and current mainline.

The problem is that pfn_valid is only called on the first PFN being
checked and that PFN is not necessarily aligned.  Lets say we have a case
like this

H = MAX_ORDER_NR_PAGES boundary
| = pageblock boundary
m = cc->migrate_pfn
f = cc->free_pfn
o = memory hole

H------|------H------|----m-Hoooooo|ooooooH-f----|------H

The migrate_pfn is just below a memory hole and the free scanner is beyond
the hole.  When isolate_migratepages started, it scans from migrate_pfn to
migrate_pfn+pageblock_nr_pages which is now in a memory hole.  It checks
pfn_valid() on the first PFN but then scans into the hole where there are
not necessarily valid struct pages.

This patch ensures that isolate_migratepages calls pfn_valid when
necessary.

Reported-by: Herbert van den Bergh <[email protected]>
Tested-by: Herbert van den Bergh <[email protected]>
Signed-off-by: Mel Gorman <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
koct9i pushed a commit to koct9i/linux that referenced this pull request Feb 20, 2012
fixed:
WARNING: please, no space before tabs
torvalds#11: FILE: adt7411.c:11:
+ * ^I  use power-down mode for suspend?, interrupt handling?$

not fixed as all other macros around it are the same structure and this one is only 2 chars longer:
WARNING: line over 80 characters
torvalds#229: FILE: adt7411.c:229:
+static ADT7411_BIT_ATTR(fast_sampling, ADT7411_REG_CFG3, ADT7411_CFG3_ADC_CLK_225);

Signed-off-by: Frans Meulenbroeks <[email protected]>
Signed-off-by: Guenter Roeck <[email protected]>
koenkooi pushed a commit to koenkooi/linux that referenced this pull request Feb 23, 2012
…S block during isolation for migration

commit 0bf380b upstream.

When isolating for migration, migration starts at the start of a zone
which is not necessarily pageblock aligned.  Further, it stops isolating
when COMPACT_CLUSTER_MAX pages are isolated so migrate_pfn is generally
not aligned.  This allows isolate_migratepages() to call pfn_to_page() on
an invalid PFN which can result in a crash.  This was originally reported
against a 3.0-based kernel with the following trace in a crash dump.

PID: 9902   TASK: d47aecd0  CPU: 0   COMMAND: "memcg_process_s"
 #0 [d72d3ad0] crash_kexec at c028cfdb
 #1 [d72d3b24] oops_end at c05c5322
 #2 [d72d3b38] __bad_area_nosemaphore at c0227e60
 #3 [d72d3bec] bad_area at c0227fb6
 #4 [d72d3c00] do_page_fault at c05c72e
 #5 [d72d3c80] error_code (via page_fault) at c05c47a4
    EAX: 00000000  EBX: 000c0000  ECX: 00000001  EDX: 00000807  EBP: 000c0000
    DS:  007b      ESI: 00000001  ES:  007b      EDI: f3000a80  GS:  6f50
    CS:  0060      EIP: c030b15a  ERR: ffffffff  EFLAGS: 00010002
 #6 [d72d3cb4] isolate_migratepages at c030b15a
 #7 [d72d3d1] zone_watermark_ok at c02d26cb
 #8 [d72d3d2c] compact_zone at c030b8d
 #9 [d72d3d68] compact_zone_order at c030bba1
torvalds#10 [d72d3db4] try_to_compact_pages at c030bc84
torvalds#11 [d72d3ddc] __alloc_pages_direct_compact at c02d61e7
torvalds#12 [d72d3e08] __alloc_pages_slowpath at c02d66c7
torvalds#13 [d72d3e78] __alloc_pages_nodemask at c02d6a97
torvalds#14 [d72d3eb8] alloc_pages_vma at c030a845
torvalds#15 [d72d3ed4] do_huge_pmd_anonymous_page at c03178eb
torvalds#16 [d72d3f00] handle_mm_fault at c02f36c6
torvalds#17 [d72d3f30] do_page_fault at c05c70ed
torvalds#18 [d72d3fb] error_code (via page_fault) at c05c47a4
    EAX: b71ff000  EBX: 00000001  ECX: 00001600  EDX: 00000431
    DS:  007b      ESI: 08048950  ES:  007b      EDI: bfaa3788
    SS:  007b      ESP: bfaa36e0  EBP: bfaa3828  GS:  6f50
    CS:  0073      EIP: 080487c8  ERR: ffffffff  EFLAGS: 00010202

It was also reported by Herbert van den Bergh against 3.1-based kernel
with the following snippet from the console log.

BUG: unable to handle kernel paging request at 01c00008
IP: [<c0522399>] isolate_migratepages+0x119/0x390
*pdpt = 000000002f7ce001 *pde = 0000000000000000

It is expected that it also affects 3.2.x and current mainline.

The problem is that pfn_valid is only called on the first PFN being
checked and that PFN is not necessarily aligned.  Lets say we have a case
like this

H = MAX_ORDER_NR_PAGES boundary
| = pageblock boundary
m = cc->migrate_pfn
f = cc->free_pfn
o = memory hole

H------|------H------|----m-Hoooooo|ooooooH-f----|------H

The migrate_pfn is just below a memory hole and the free scanner is beyond
the hole.  When isolate_migratepages started, it scans from migrate_pfn to
migrate_pfn+pageblock_nr_pages which is now in a memory hole.  It checks
pfn_valid() on the first PFN but then scans into the hole where there are
not necessarily valid struct pages.

This patch ensures that isolate_migratepages calls pfn_valid when
necessary.

Reported-by: Herbert van den Bergh <[email protected]>
Tested-by: Herbert van den Bergh <[email protected]>
Signed-off-by: Mel Gorman <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
koenkooi pushed a commit to koenkooi/linux that referenced this pull request Mar 1, 2012
…S block during isolation for migration

commit 0bf380b upstream.

When isolating for migration, migration starts at the start of a zone
which is not necessarily pageblock aligned.  Further, it stops isolating
when COMPACT_CLUSTER_MAX pages are isolated so migrate_pfn is generally
not aligned.  This allows isolate_migratepages() to call pfn_to_page() on
an invalid PFN which can result in a crash.  This was originally reported
against a 3.0-based kernel with the following trace in a crash dump.

PID: 9902   TASK: d47aecd0  CPU: 0   COMMAND: "memcg_process_s"
 #0 [d72d3ad0] crash_kexec at c028cfdb
 #1 [d72d3b24] oops_end at c05c5322
 #2 [d72d3b38] __bad_area_nosemaphore at c0227e60
 #3 [d72d3bec] bad_area at c0227fb6
 #4 [d72d3c00] do_page_fault at c05c72e
 #5 [d72d3c80] error_code (via page_fault) at c05c47a4
    EAX: 00000000  EBX: 000c0000  ECX: 00000001  EDX: 00000807  EBP: 000c0000
    DS:  007b      ESI: 00000001  ES:  007b      EDI: f3000a80  GS:  6f50
    CS:  0060      EIP: c030b15a  ERR: ffffffff  EFLAGS: 00010002
 #6 [d72d3cb4] isolate_migratepages at c030b15a
 #7 [d72d3d1] zone_watermark_ok at c02d26cb
 #8 [d72d3d2c] compact_zone at c030b8d
 #9 [d72d3d68] compact_zone_order at c030bba1
torvalds#10 [d72d3db4] try_to_compact_pages at c030bc84
torvalds#11 [d72d3ddc] __alloc_pages_direct_compact at c02d61e7
torvalds#12 [d72d3e08] __alloc_pages_slowpath at c02d66c7
torvalds#13 [d72d3e78] __alloc_pages_nodemask at c02d6a97
torvalds#14 [d72d3eb8] alloc_pages_vma at c030a845
torvalds#15 [d72d3ed4] do_huge_pmd_anonymous_page at c03178eb
torvalds#16 [d72d3f00] handle_mm_fault at c02f36c6
torvalds#17 [d72d3f30] do_page_fault at c05c70ed
torvalds#18 [d72d3fb] error_code (via page_fault) at c05c47a4
    EAX: b71ff000  EBX: 00000001  ECX: 00001600  EDX: 00000431
    DS:  007b      ESI: 08048950  ES:  007b      EDI: bfaa3788
    SS:  007b      ESP: bfaa36e0  EBP: bfaa3828  GS:  6f50
    CS:  0073      EIP: 080487c8  ERR: ffffffff  EFLAGS: 00010202

It was also reported by Herbert van den Bergh against 3.1-based kernel
with the following snippet from the console log.

BUG: unable to handle kernel paging request at 01c00008
IP: [<c0522399>] isolate_migratepages+0x119/0x390
*pdpt = 000000002f7ce001 *pde = 0000000000000000

It is expected that it also affects 3.2.x and current mainline.

The problem is that pfn_valid is only called on the first PFN being
checked and that PFN is not necessarily aligned.  Lets say we have a case
like this

H = MAX_ORDER_NR_PAGES boundary
| = pageblock boundary
m = cc->migrate_pfn
f = cc->free_pfn
o = memory hole

H------|------H------|----m-Hoooooo|ooooooH-f----|------H

The migrate_pfn is just below a memory hole and the free scanner is beyond
the hole.  When isolate_migratepages started, it scans from migrate_pfn to
migrate_pfn+pageblock_nr_pages which is now in a memory hole.  It checks
pfn_valid() on the first PFN but then scans into the hole where there are
not necessarily valid struct pages.

This patch ensures that isolate_migratepages calls pfn_valid when
necessary.

Reported-by: Herbert van den Bergh <[email protected]>
Tested-by: Herbert van den Bergh <[email protected]>
Signed-off-by: Mel Gorman <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
koenkooi pushed a commit to koenkooi/linux that referenced this pull request Mar 19, 2012
…S block during isolation for migration

commit 0bf380b upstream.

When isolating for migration, migration starts at the start of a zone
which is not necessarily pageblock aligned.  Further, it stops isolating
when COMPACT_CLUSTER_MAX pages are isolated so migrate_pfn is generally
not aligned.  This allows isolate_migratepages() to call pfn_to_page() on
an invalid PFN which can result in a crash.  This was originally reported
against a 3.0-based kernel with the following trace in a crash dump.

PID: 9902   TASK: d47aecd0  CPU: 0   COMMAND: "memcg_process_s"
 #0 [d72d3ad0] crash_kexec at c028cfdb
 #1 [d72d3b24] oops_end at c05c5322
 #2 [d72d3b38] __bad_area_nosemaphore at c0227e60
 #3 [d72d3bec] bad_area at c0227fb6
 #4 [d72d3c00] do_page_fault at c05c72e
 #5 [d72d3c80] error_code (via page_fault) at c05c47a4
    EAX: 00000000  EBX: 000c0000  ECX: 00000001  EDX: 00000807  EBP: 000c0000
    DS:  007b      ESI: 00000001  ES:  007b      EDI: f3000a80  GS:  6f50
    CS:  0060      EIP: c030b15a  ERR: ffffffff  EFLAGS: 00010002
 #6 [d72d3cb4] isolate_migratepages at c030b15a
 #7 [d72d3d1] zone_watermark_ok at c02d26cb
 #8 [d72d3d2c] compact_zone at c030b8d
 #9 [d72d3d68] compact_zone_order at c030bba1
torvalds#10 [d72d3db4] try_to_compact_pages at c030bc84
torvalds#11 [d72d3ddc] __alloc_pages_direct_compact at c02d61e7
torvalds#12 [d72d3e08] __alloc_pages_slowpath at c02d66c7
torvalds#13 [d72d3e78] __alloc_pages_nodemask at c02d6a97
torvalds#14 [d72d3eb8] alloc_pages_vma at c030a845
torvalds#15 [d72d3ed4] do_huge_pmd_anonymous_page at c03178eb
torvalds#16 [d72d3f00] handle_mm_fault at c02f36c6
torvalds#17 [d72d3f30] do_page_fault at c05c70ed
torvalds#18 [d72d3fb] error_code (via page_fault) at c05c47a4
    EAX: b71ff000  EBX: 00000001  ECX: 00001600  EDX: 00000431
    DS:  007b      ESI: 08048950  ES:  007b      EDI: bfaa3788
    SS:  007b      ESP: bfaa36e0  EBP: bfaa3828  GS:  6f50
    CS:  0073      EIP: 080487c8  ERR: ffffffff  EFLAGS: 00010202

It was also reported by Herbert van den Bergh against 3.1-based kernel
with the following snippet from the console log.

BUG: unable to handle kernel paging request at 01c00008
IP: [<c0522399>] isolate_migratepages+0x119/0x390
*pdpt = 000000002f7ce001 *pde = 0000000000000000

It is expected that it also affects 3.2.x and current mainline.

The problem is that pfn_valid is only called on the first PFN being
checked and that PFN is not necessarily aligned.  Lets say we have a case
like this

H = MAX_ORDER_NR_PAGES boundary
| = pageblock boundary
m = cc->migrate_pfn
f = cc->free_pfn
o = memory hole

H------|------H------|----m-Hoooooo|ooooooH-f----|------H

The migrate_pfn is just below a memory hole and the free scanner is beyond
the hole.  When isolate_migratepages started, it scans from migrate_pfn to
migrate_pfn+pageblock_nr_pages which is now in a memory hole.  It checks
pfn_valid() on the first PFN but then scans into the hole where there are
not necessarily valid struct pages.

This patch ensures that isolate_migratepages calls pfn_valid when
necessary.

Reported-by: Herbert van den Bergh <[email protected]>
Tested-by: Herbert van den Bergh <[email protected]>
Signed-off-by: Mel Gorman <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
koenkooi pushed a commit to koenkooi/linux that referenced this pull request Mar 22, 2012
…S block during isolation for migration

commit 0bf380b upstream.

When isolating for migration, migration starts at the start of a zone
which is not necessarily pageblock aligned.  Further, it stops isolating
when COMPACT_CLUSTER_MAX pages are isolated so migrate_pfn is generally
not aligned.  This allows isolate_migratepages() to call pfn_to_page() on
an invalid PFN which can result in a crash.  This was originally reported
against a 3.0-based kernel with the following trace in a crash dump.

PID: 9902   TASK: d47aecd0  CPU: 0   COMMAND: "memcg_process_s"
 #0 [d72d3ad0] crash_kexec at c028cfdb
 #1 [d72d3b24] oops_end at c05c5322
 #2 [d72d3b38] __bad_area_nosemaphore at c0227e60
 #3 [d72d3bec] bad_area at c0227fb6
 #4 [d72d3c00] do_page_fault at c05c72e
 #5 [d72d3c80] error_code (via page_fault) at c05c47a4
    EAX: 00000000  EBX: 000c0000  ECX: 00000001  EDX: 00000807  EBP: 000c0000
    DS:  007b      ESI: 00000001  ES:  007b      EDI: f3000a80  GS:  6f50
    CS:  0060      EIP: c030b15a  ERR: ffffffff  EFLAGS: 00010002
 #6 [d72d3cb4] isolate_migratepages at c030b15a
 #7 [d72d3d1] zone_watermark_ok at c02d26cb
 #8 [d72d3d2c] compact_zone at c030b8d
 #9 [d72d3d68] compact_zone_order at c030bba1
torvalds#10 [d72d3db4] try_to_compact_pages at c030bc84
torvalds#11 [d72d3ddc] __alloc_pages_direct_compact at c02d61e7
torvalds#12 [d72d3e08] __alloc_pages_slowpath at c02d66c7
torvalds#13 [d72d3e78] __alloc_pages_nodemask at c02d6a97
torvalds#14 [d72d3eb8] alloc_pages_vma at c030a845
torvalds#15 [d72d3ed4] do_huge_pmd_anonymous_page at c03178eb
torvalds#16 [d72d3f00] handle_mm_fault at c02f36c6
torvalds#17 [d72d3f30] do_page_fault at c05c70ed
torvalds#18 [d72d3fb] error_code (via page_fault) at c05c47a4
    EAX: b71ff000  EBX: 00000001  ECX: 00001600  EDX: 00000431
    DS:  007b      ESI: 08048950  ES:  007b      EDI: bfaa3788
    SS:  007b      ESP: bfaa36e0  EBP: bfaa3828  GS:  6f50
    CS:  0073      EIP: 080487c8  ERR: ffffffff  EFLAGS: 00010202

It was also reported by Herbert van den Bergh against 3.1-based kernel
with the following snippet from the console log.

BUG: unable to handle kernel paging request at 01c00008
IP: [<c0522399>] isolate_migratepages+0x119/0x390
*pdpt = 000000002f7ce001 *pde = 0000000000000000

It is expected that it also affects 3.2.x and current mainline.

The problem is that pfn_valid is only called on the first PFN being
checked and that PFN is not necessarily aligned.  Lets say we have a case
like this

H = MAX_ORDER_NR_PAGES boundary
| = pageblock boundary
m = cc->migrate_pfn
f = cc->free_pfn
o = memory hole

H------|------H------|----m-Hoooooo|ooooooH-f----|------H

The migrate_pfn is just below a memory hole and the free scanner is beyond
the hole.  When isolate_migratepages started, it scans from migrate_pfn to
migrate_pfn+pageblock_nr_pages which is now in a memory hole.  It checks
pfn_valid() on the first PFN but then scans into the hole where there are
not necessarily valid struct pages.

This patch ensures that isolate_migratepages calls pfn_valid when
necessary.

Reported-by: Herbert van den Bergh <[email protected]>
Tested-by: Herbert van den Bergh <[email protected]>
Signed-off-by: Mel Gorman <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
koenkooi pushed a commit to koenkooi/linux that referenced this pull request Apr 2, 2012
…S block during isolation for migration

commit 0bf380b upstream.

When isolating for migration, migration starts at the start of a zone
which is not necessarily pageblock aligned.  Further, it stops isolating
when COMPACT_CLUSTER_MAX pages are isolated so migrate_pfn is generally
not aligned.  This allows isolate_migratepages() to call pfn_to_page() on
an invalid PFN which can result in a crash.  This was originally reported
against a 3.0-based kernel with the following trace in a crash dump.

PID: 9902   TASK: d47aecd0  CPU: 0   COMMAND: "memcg_process_s"
 #0 [d72d3ad0] crash_kexec at c028cfdb
 #1 [d72d3b24] oops_end at c05c5322
 #2 [d72d3b38] __bad_area_nosemaphore at c0227e60
 #3 [d72d3bec] bad_area at c0227fb6
 #4 [d72d3c00] do_page_fault at c05c72e
 #5 [d72d3c80] error_code (via page_fault) at c05c47a4
    EAX: 00000000  EBX: 000c0000  ECX: 00000001  EDX: 00000807  EBP: 000c0000
    DS:  007b      ESI: 00000001  ES:  007b      EDI: f3000a80  GS:  6f50
    CS:  0060      EIP: c030b15a  ERR: ffffffff  EFLAGS: 00010002
 #6 [d72d3cb4] isolate_migratepages at c030b15a
 #7 [d72d3d1] zone_watermark_ok at c02d26cb
 #8 [d72d3d2c] compact_zone at c030b8d
 #9 [d72d3d68] compact_zone_order at c030bba1
torvalds#10 [d72d3db4] try_to_compact_pages at c030bc84
torvalds#11 [d72d3ddc] __alloc_pages_direct_compact at c02d61e7
torvalds#12 [d72d3e08] __alloc_pages_slowpath at c02d66c7
torvalds#13 [d72d3e78] __alloc_pages_nodemask at c02d6a97
torvalds#14 [d72d3eb8] alloc_pages_vma at c030a845
torvalds#15 [d72d3ed4] do_huge_pmd_anonymous_page at c03178eb
torvalds#16 [d72d3f00] handle_mm_fault at c02f36c6
torvalds#17 [d72d3f30] do_page_fault at c05c70ed
torvalds#18 [d72d3fb] error_code (via page_fault) at c05c47a4
    EAX: b71ff000  EBX: 00000001  ECX: 00001600  EDX: 00000431
    DS:  007b      ESI: 08048950  ES:  007b      EDI: bfaa3788
    SS:  007b      ESP: bfaa36e0  EBP: bfaa3828  GS:  6f50
    CS:  0073      EIP: 080487c8  ERR: ffffffff  EFLAGS: 00010202

It was also reported by Herbert van den Bergh against 3.1-based kernel
with the following snippet from the console log.

BUG: unable to handle kernel paging request at 01c00008
IP: [<c0522399>] isolate_migratepages+0x119/0x390
*pdpt = 000000002f7ce001 *pde = 0000000000000000

It is expected that it also affects 3.2.x and current mainline.

The problem is that pfn_valid is only called on the first PFN being
checked and that PFN is not necessarily aligned.  Lets say we have a case
like this

H = MAX_ORDER_NR_PAGES boundary
| = pageblock boundary
m = cc->migrate_pfn
f = cc->free_pfn
o = memory hole

H------|------H------|----m-Hoooooo|ooooooH-f----|------H

The migrate_pfn is just below a memory hole and the free scanner is beyond
the hole.  When isolate_migratepages started, it scans from migrate_pfn to
migrate_pfn+pageblock_nr_pages which is now in a memory hole.  It checks
pfn_valid() on the first PFN but then scans into the hole where there are
not necessarily valid struct pages.

This patch ensures that isolate_migratepages calls pfn_valid when
necessary.

Reported-by: Herbert van den Bergh <[email protected]>
Tested-by: Herbert van den Bergh <[email protected]>
Signed-off-by: Mel Gorman <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
koenkooi pushed a commit to koenkooi/linux that referenced this pull request Apr 9, 2012
…S block during isolation for migration

commit 0bf380b upstream.

When isolating for migration, migration starts at the start of a zone
which is not necessarily pageblock aligned.  Further, it stops isolating
when COMPACT_CLUSTER_MAX pages are isolated so migrate_pfn is generally
not aligned.  This allows isolate_migratepages() to call pfn_to_page() on
an invalid PFN which can result in a crash.  This was originally reported
against a 3.0-based kernel with the following trace in a crash dump.

PID: 9902   TASK: d47aecd0  CPU: 0   COMMAND: "memcg_process_s"
 #0 [d72d3ad0] crash_kexec at c028cfdb
 #1 [d72d3b24] oops_end at c05c5322
 #2 [d72d3b38] __bad_area_nosemaphore at c0227e60
 #3 [d72d3bec] bad_area at c0227fb6
 #4 [d72d3c00] do_page_fault at c05c72e
 #5 [d72d3c80] error_code (via page_fault) at c05c47a4
    EAX: 00000000  EBX: 000c0000  ECX: 00000001  EDX: 00000807  EBP: 000c0000
    DS:  007b      ESI: 00000001  ES:  007b      EDI: f3000a80  GS:  6f50
    CS:  0060      EIP: c030b15a  ERR: ffffffff  EFLAGS: 00010002
 #6 [d72d3cb4] isolate_migratepages at c030b15a
 #7 [d72d3d1] zone_watermark_ok at c02d26cb
 #8 [d72d3d2c] compact_zone at c030b8d
 #9 [d72d3d68] compact_zone_order at c030bba1
torvalds#10 [d72d3db4] try_to_compact_pages at c030bc84
torvalds#11 [d72d3ddc] __alloc_pages_direct_compact at c02d61e7
torvalds#12 [d72d3e08] __alloc_pages_slowpath at c02d66c7
torvalds#13 [d72d3e78] __alloc_pages_nodemask at c02d6a97
torvalds#14 [d72d3eb8] alloc_pages_vma at c030a845
torvalds#15 [d72d3ed4] do_huge_pmd_anonymous_page at c03178eb
torvalds#16 [d72d3f00] handle_mm_fault at c02f36c6
torvalds#17 [d72d3f30] do_page_fault at c05c70ed
torvalds#18 [d72d3fb] error_code (via page_fault) at c05c47a4
    EAX: b71ff000  EBX: 00000001  ECX: 00001600  EDX: 00000431
    DS:  007b      ESI: 08048950  ES:  007b      EDI: bfaa3788
    SS:  007b      ESP: bfaa36e0  EBP: bfaa3828  GS:  6f50
    CS:  0073      EIP: 080487c8  ERR: ffffffff  EFLAGS: 00010202

It was also reported by Herbert van den Bergh against 3.1-based kernel
with the following snippet from the console log.

BUG: unable to handle kernel paging request at 01c00008
IP: [<c0522399>] isolate_migratepages+0x119/0x390
*pdpt = 000000002f7ce001 *pde = 0000000000000000

It is expected that it also affects 3.2.x and current mainline.

The problem is that pfn_valid is only called on the first PFN being
checked and that PFN is not necessarily aligned.  Lets say we have a case
like this

H = MAX_ORDER_NR_PAGES boundary
| = pageblock boundary
m = cc->migrate_pfn
f = cc->free_pfn
o = memory hole

H------|------H------|----m-Hoooooo|ooooooH-f----|------H

The migrate_pfn is just below a memory hole and the free scanner is beyond
the hole.  When isolate_migratepages started, it scans from migrate_pfn to
migrate_pfn+pageblock_nr_pages which is now in a memory hole.  It checks
pfn_valid() on the first PFN but then scans into the hole where there are
not necessarily valid struct pages.

This patch ensures that isolate_migratepages calls pfn_valid when
necessary.

Reported-by: Herbert van den Bergh <[email protected]>
Tested-by: Herbert van den Bergh <[email protected]>
Signed-off-by: Mel Gorman <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
koenkooi pushed a commit to koenkooi/linux that referenced this pull request Apr 11, 2012
…S block during isolation for migration

commit 0bf380b upstream.

When isolating for migration, migration starts at the start of a zone
which is not necessarily pageblock aligned.  Further, it stops isolating
when COMPACT_CLUSTER_MAX pages are isolated so migrate_pfn is generally
not aligned.  This allows isolate_migratepages() to call pfn_to_page() on
an invalid PFN which can result in a crash.  This was originally reported
against a 3.0-based kernel with the following trace in a crash dump.

PID: 9902   TASK: d47aecd0  CPU: 0   COMMAND: "memcg_process_s"
 #0 [d72d3ad0] crash_kexec at c028cfdb
 #1 [d72d3b24] oops_end at c05c5322
 #2 [d72d3b38] __bad_area_nosemaphore at c0227e60
 #3 [d72d3bec] bad_area at c0227fb6
 #4 [d72d3c00] do_page_fault at c05c72e
 #5 [d72d3c80] error_code (via page_fault) at c05c47a4
    EAX: 00000000  EBX: 000c0000  ECX: 00000001  EDX: 00000807  EBP: 000c0000
    DS:  007b      ESI: 00000001  ES:  007b      EDI: f3000a80  GS:  6f50
    CS:  0060      EIP: c030b15a  ERR: ffffffff  EFLAGS: 00010002
 #6 [d72d3cb4] isolate_migratepages at c030b15a
 #7 [d72d3d1] zone_watermark_ok at c02d26cb
 #8 [d72d3d2c] compact_zone at c030b8d
 #9 [d72d3d68] compact_zone_order at c030bba1
torvalds#10 [d72d3db4] try_to_compact_pages at c030bc84
torvalds#11 [d72d3ddc] __alloc_pages_direct_compact at c02d61e7
torvalds#12 [d72d3e08] __alloc_pages_slowpath at c02d66c7
torvalds#13 [d72d3e78] __alloc_pages_nodemask at c02d6a97
torvalds#14 [d72d3eb8] alloc_pages_vma at c030a845
torvalds#15 [d72d3ed4] do_huge_pmd_anonymous_page at c03178eb
torvalds#16 [d72d3f00] handle_mm_fault at c02f36c6
torvalds#17 [d72d3f30] do_page_fault at c05c70ed
torvalds#18 [d72d3fb] error_code (via page_fault) at c05c47a4
    EAX: b71ff000  EBX: 00000001  ECX: 00001600  EDX: 00000431
    DS:  007b      ESI: 08048950  ES:  007b      EDI: bfaa3788
    SS:  007b      ESP: bfaa36e0  EBP: bfaa3828  GS:  6f50
    CS:  0073      EIP: 080487c8  ERR: ffffffff  EFLAGS: 00010202

It was also reported by Herbert van den Bergh against 3.1-based kernel
with the following snippet from the console log.

BUG: unable to handle kernel paging request at 01c00008
IP: [<c0522399>] isolate_migratepages+0x119/0x390
*pdpt = 000000002f7ce001 *pde = 0000000000000000

It is expected that it also affects 3.2.x and current mainline.

The problem is that pfn_valid is only called on the first PFN being
checked and that PFN is not necessarily aligned.  Lets say we have a case
like this

H = MAX_ORDER_NR_PAGES boundary
| = pageblock boundary
m = cc->migrate_pfn
f = cc->free_pfn
o = memory hole

H------|------H------|----m-Hoooooo|ooooooH-f----|------H

The migrate_pfn is just below a memory hole and the free scanner is beyond
the hole.  When isolate_migratepages started, it scans from migrate_pfn to
migrate_pfn+pageblock_nr_pages which is now in a memory hole.  It checks
pfn_valid() on the first PFN but then scans into the hole where there are
not necessarily valid struct pages.

This patch ensures that isolate_migratepages calls pfn_valid when
necessary.

Reported-by: Herbert van den Bergh <[email protected]>
Tested-by: Herbert van den Bergh <[email protected]>
Signed-off-by: Mel Gorman <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
koenkooi pushed a commit to koenkooi/linux that referenced this pull request Apr 12, 2012
…S block during isolation for migration

commit 0bf380b upstream.

When isolating for migration, migration starts at the start of a zone
which is not necessarily pageblock aligned.  Further, it stops isolating
when COMPACT_CLUSTER_MAX pages are isolated so migrate_pfn is generally
not aligned.  This allows isolate_migratepages() to call pfn_to_page() on
an invalid PFN which can result in a crash.  This was originally reported
against a 3.0-based kernel with the following trace in a crash dump.

PID: 9902   TASK: d47aecd0  CPU: 0   COMMAND: "memcg_process_s"
 #0 [d72d3ad0] crash_kexec at c028cfdb
 #1 [d72d3b24] oops_end at c05c5322
 #2 [d72d3b38] __bad_area_nosemaphore at c0227e60
 #3 [d72d3bec] bad_area at c0227fb6
 #4 [d72d3c00] do_page_fault at c05c72e
 #5 [d72d3c80] error_code (via page_fault) at c05c47a4
    EAX: 00000000  EBX: 000c0000  ECX: 00000001  EDX: 00000807  EBP: 000c0000
    DS:  007b      ESI: 00000001  ES:  007b      EDI: f3000a80  GS:  6f50
    CS:  0060      EIP: c030b15a  ERR: ffffffff  EFLAGS: 00010002
 #6 [d72d3cb4] isolate_migratepages at c030b15a
 #7 [d72d3d1] zone_watermark_ok at c02d26cb
 #8 [d72d3d2c] compact_zone at c030b8d
 #9 [d72d3d68] compact_zone_order at c030bba1
torvalds#10 [d72d3db4] try_to_compact_pages at c030bc84
torvalds#11 [d72d3ddc] __alloc_pages_direct_compact at c02d61e7
torvalds#12 [d72d3e08] __alloc_pages_slowpath at c02d66c7
torvalds#13 [d72d3e78] __alloc_pages_nodemask at c02d6a97
torvalds#14 [d72d3eb8] alloc_pages_vma at c030a845
torvalds#15 [d72d3ed4] do_huge_pmd_anonymous_page at c03178eb
torvalds#16 [d72d3f00] handle_mm_fault at c02f36c6
torvalds#17 [d72d3f30] do_page_fault at c05c70ed
torvalds#18 [d72d3fb] error_code (via page_fault) at c05c47a4
    EAX: b71ff000  EBX: 00000001  ECX: 00001600  EDX: 00000431
    DS:  007b      ESI: 08048950  ES:  007b      EDI: bfaa3788
    SS:  007b      ESP: bfaa36e0  EBP: bfaa3828  GS:  6f50
    CS:  0073      EIP: 080487c8  ERR: ffffffff  EFLAGS: 00010202

It was also reported by Herbert van den Bergh against 3.1-based kernel
with the following snippet from the console log.

BUG: unable to handle kernel paging request at 01c00008
IP: [<c0522399>] isolate_migratepages+0x119/0x390
*pdpt = 000000002f7ce001 *pde = 0000000000000000

It is expected that it also affects 3.2.x and current mainline.

The problem is that pfn_valid is only called on the first PFN being
checked and that PFN is not necessarily aligned.  Lets say we have a case
like this

H = MAX_ORDER_NR_PAGES boundary
| = pageblock boundary
m = cc->migrate_pfn
f = cc->free_pfn
o = memory hole

H------|------H------|----m-Hoooooo|ooooooH-f----|------H

The migrate_pfn is just below a memory hole and the free scanner is beyond
the hole.  When isolate_migratepages started, it scans from migrate_pfn to
migrate_pfn+pageblock_nr_pages which is now in a memory hole.  It checks
pfn_valid() on the first PFN but then scans into the hole where there are
not necessarily valid struct pages.

This patch ensures that isolate_migratepages calls pfn_valid when
necessary.

Reported-by: Herbert van den Bergh <[email protected]>
Tested-by: Herbert van den Bergh <[email protected]>
Signed-off-by: Mel Gorman <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
psanford pushed a commit to retailnext/linux that referenced this pull request Apr 16, 2012
BugLink: http://bugs.launchpad.net/bugs/907778

commit ea51d13 upstream.

If the pte mapping in generic_perform_write() is unmapped between
iov_iter_fault_in_readable() and iov_iter_copy_from_user_atomic(), the
"copied" parameter to ->end_write can be zero. ext4 couldn't cope with
it with delayed allocations enabled. This skips the i_disksize
enlargement logic if copied is zero and no new data was appeneded to
the inode.

 gdb> bt
 #0  0xffffffff811afe80 in ext4_da_should_update_i_disksize (file=0xffff88003f606a80, mapping=0xffff88001d3824e0, pos=0x1\
 08000, len=0x1000, copied=0x0, page=0xffffea0000d792e8, fsdata=0x0) at fs/ext4/inode.c:2467
 #1  ext4_da_write_end (file=0xffff88003f606a80, mapping=0xffff88001d3824e0, pos=0x108000, len=0x1000, copied=0x0, page=0\
 xffffea0000d792e8, fsdata=0x0) at fs/ext4/inode.c:2512
 #2  0xffffffff810d97f1 in generic_perform_write (iocb=<value optimized out>, iov=<value optimized out>, nr_segs=<value o\
 ptimized out>, pos=0x108000, ppos=0xffff88001e26be40, count=<value optimized out>, written=0x0) at mm/filemap.c:2440
 #3  generic_file_buffered_write (iocb=<value optimized out>, iov=<value optimized out>, nr_segs=<value optimized out>, p\
 os=0x108000, ppos=0xffff88001e26be40, count=<value optimized out>, written=0x0) at mm/filemap.c:2482
 #4  0xffffffff810db5d1 in __generic_file_aio_write (iocb=0xffff88001e26bde8, iov=0xffff88001e26bec8, nr_segs=0x1, ppos=0\
 xffff88001e26be40) at mm/filemap.c:2600
 #5  0xffffffff810db853 in generic_file_aio_write (iocb=0xffff88001e26bde8, iov=0xffff88001e26bec8, nr_segs=<value optimi\
 zed out>, pos=<value optimized out>) at mm/filemap.c:2632
 torvalds#6  0xffffffff811a71aa in ext4_file_write (iocb=0xffff88001e26bde8, iov=0xffff88001e26bec8, nr_segs=0x1, pos=0x108000) a\
 t fs/ext4/file.c:136
 torvalds#7  0xffffffff811375aa in do_sync_write (filp=0xffff88003f606a80, buf=<value optimized out>, len=<value optimized out>, \
 ppos=0xffff88001e26bf48) at fs/read_write.c:406
 torvalds#8  0xffffffff81137e56 in vfs_write (file=0xffff88003f606a80, buf=0x1ec2960 <Address 0x1ec2960 out of bounds>, count=0x4\
 000, pos=0xffff88001e26bf48) at fs/read_write.c:435
 torvalds#9  0xffffffff8113816c in sys_write (fd=<value optimized out>, buf=0x1ec2960 <Address 0x1ec2960 out of bounds>, count=0x\
 4000) at fs/read_write.c:487
 torvalds#10 <signal handler called>
 torvalds#11 0x00007f120077a390 in __brk_reservation_fn_dmi_alloc__ ()
 torvalds#12 0x0000000000000000 in ?? ()
 gdb> print offset
 $22 = 0xffffffffffffffff
 gdb> print idx
 $23 = 0xffffffff
 gdb> print inode->i_blkbits
 $24 = 0xc
 gdb> up
 #1  ext4_da_write_end (file=0xffff88003f606a80, mapping=0xffff88001d3824e0, pos=0x108000, len=0x1000, copied=0x0, page=0\
 xffffea0000d792e8, fsdata=0x0) at fs/ext4/inode.c:2512
 2512                    if (ext4_da_should_update_i_disksize(page, end)) {
 gdb> print start
 $25 = 0x0
 gdb> print end
 $26 = 0xffffffffffffffff
 gdb> print pos
 $27 = 0x108000
 gdb> print new_i_size
 $28 = 0x108000
 gdb> print ((struct ext4_inode_info *)((char *)inode-((int)(&((struct ext4_inode_info *)0)->vfs_inode))))->i_disksize
 $29 = 0xd9000
 gdb> down
 2467            for (i = 0; i < idx; i++)
 gdb> print i
 $30 = 0xd44acbee

This is 100% reproducible with some autonuma development code tuned in
a very aggressive manner (not normal way even for knumad) which does
"exotic" changes to the ptes. It wouldn't normally trigger but I don't
see why it can't happen normally if the page is added to swap cache in
between the two faults leading to "copied" being zero (which then
hangs in ext4). So it should be fixed. Especially possible with lumpy
reclaim (albeit disabled if compaction is enabled) as that would
ignore the young bits in the ptes.

Signed-off-by: Andrea Arcangeli <[email protected]>
Signed-off-by: "Theodore Ts'o" <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Tim Gardner <[email protected]>
Signed-off-by: Brad Figg <[email protected]>
maddy-kerneldev pushed a commit to linuxppc/linux that referenced this pull request Jul 28, 2025
Add JIT support for the load_acquire and store_release instructions. The
implementation is similar to the kernel where:

        load_acquire  => plain load -> lwsync
        store_release => lwsync -> plain store

To test the correctness of the implementation, following selftests were
run:

  [fedora@linux-kernel bpf]$ sudo ./test_progs -a \
  verifier_load_acquire,verifier_store_release,atomics
  torvalds#11/1    atomics/add:OK
  torvalds#11/2    atomics/sub:OK
  torvalds#11/3    atomics/and:OK
  torvalds#11/4    atomics/or:OK
  torvalds#11/5    atomics/xor:OK
  torvalds#11/6    atomics/cmpxchg:OK
  torvalds#11/7    atomics/xchg:OK
  torvalds#11      atomics:OK
  torvalds#519/1   verifier_load_acquire/load-acquire, 8-bit:OK
  torvalds#519/2   verifier_load_acquire/load-acquire, 8-bit @unpriv:OK
  torvalds#519/3   verifier_load_acquire/load-acquire, 16-bit:OK
  torvalds#519/4   verifier_load_acquire/load-acquire, 16-bit @unpriv:OK
  torvalds#519/5   verifier_load_acquire/load-acquire, 32-bit:OK
  torvalds#519/6   verifier_load_acquire/load-acquire, 32-bit @unpriv:OK
  torvalds#519/7   verifier_load_acquire/load-acquire, 64-bit:OK
  torvalds#519/8   verifier_load_acquire/load-acquire, 64-bit @unpriv:OK
  torvalds#519/9   verifier_load_acquire/load-acquire with uninitialized
  src_reg:OK
  torvalds#519/10  verifier_load_acquire/load-acquire with uninitialized src_reg
  @unpriv:OK
  torvalds#519/11  verifier_load_acquire/load-acquire with non-pointer src_reg:OK
  torvalds#519/12  verifier_load_acquire/load-acquire with non-pointer src_reg
  @unpriv:OK
  torvalds#519/13  verifier_load_acquire/misaligned load-acquire:OK
  torvalds#519/14  verifier_load_acquire/misaligned load-acquire @unpriv:OK
  torvalds#519/15  verifier_load_acquire/load-acquire from ctx pointer:OK
  torvalds#519/16  verifier_load_acquire/load-acquire from ctx pointer @unpriv:OK
  torvalds#519/17  verifier_load_acquire/load-acquire with invalid register R15:OK
  torvalds#519/18  verifier_load_acquire/load-acquire with invalid register R15
  @unpriv:OK
  torvalds#519/19  verifier_load_acquire/load-acquire from pkt pointer:OK
  torvalds#519/20  verifier_load_acquire/load-acquire from flow_keys pointer:OK
  torvalds#519/21  verifier_load_acquire/load-acquire from sock pointer:OK
  torvalds#519     verifier_load_acquire:OK
  torvalds#556/1   verifier_store_release/store-release, 8-bit:OK
  torvalds#556/2   verifier_store_release/store-release, 8-bit @unpriv:OK
  torvalds#556/3   verifier_store_release/store-release, 16-bit:OK
  torvalds#556/4   verifier_store_release/store-release, 16-bit @unpriv:OK
  torvalds#556/5   verifier_store_release/store-release, 32-bit:OK
  torvalds#556/6   verifier_store_release/store-release, 32-bit @unpriv:OK
  torvalds#556/7   verifier_store_release/store-release, 64-bit:OK
  torvalds#556/8   verifier_store_release/store-release, 64-bit @unpriv:OK
  torvalds#556/9   verifier_store_release/store-release with uninitialized
  src_reg:OK
  torvalds#556/10  verifier_store_release/store-release with uninitialized src_reg
  @unpriv:OK
  torvalds#556/11  verifier_store_release/store-release with uninitialized
  dst_reg:OK
  torvalds#556/12  verifier_store_release/store-release with uninitialized dst_reg
  @unpriv:OK
  torvalds#556/13  verifier_store_release/store-release with non-pointer
  dst_reg:OK
  torvalds#556/14  verifier_store_release/store-release with non-pointer dst_reg
  @unpriv:OK
  torvalds#556/15  verifier_store_release/misaligned store-release:OK
  torvalds#556/16  verifier_store_release/misaligned store-release @unpriv:OK
  torvalds#556/17  verifier_store_release/store-release to ctx pointer:OK
  torvalds#556/18  verifier_store_release/store-release to ctx pointer @unpriv:OK
  torvalds#556/19  verifier_store_release/store-release, leak pointer to stack:OK
  torvalds#556/20  verifier_store_release/store-release, leak pointer to stack
  @unpriv:OK
  torvalds#556/21  verifier_store_release/store-release, leak pointer to map:OK
  torvalds#556/22  verifier_store_release/store-release, leak pointer to map
  @unpriv:OK
  torvalds#556/23  verifier_store_release/store-release with invalid register
  R15:OK
  torvalds#556/24  verifier_store_release/store-release with invalid register R15
  @unpriv:OK
  torvalds#556/25  verifier_store_release/store-release to pkt pointer:OK
  torvalds#556/26  verifier_store_release/store-release to flow_keys pointer:OK
  torvalds#556/27  verifier_store_release/store-release to sock pointer:OK
  torvalds#556     verifier_store_release:OK
  Summary: 3/55 PASSED, 0 SKIPPED, 0 FAILED

Signed-off-by: Puranjay Mohan <[email protected]>
Tested-by: Saket Kumar Bhaskar <[email protected]>
Reviewed-by: Hari Bathini <[email protected]>
Signed-off-by: Madhavan Srinivasan <[email protected]>
Link: https://patch.msgid.link/[email protected]
roxell added a commit to roxell/linux that referenced this pull request Jul 28, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Jul 30, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Jul 31, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 1, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 4, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 5, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 8, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 12, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 13, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 18, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 19, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 20, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 21, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 23, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 26, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 27, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 28, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Aug 29, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Sep 1, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Sep 3, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Sep 4, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
vincent-mailhol added a commit to vincent-mailhol/linux that referenced this pull request Sep 7, 2025
In November last year, I sent an RFC to introduce CAN XL [1]. That
RFC, despite positive feedback, was put on hold due to some unanswered
question concerning the PWM encoding [2].

While stuck, some small preparation work was done in parallel in [3]
by refactoring the struct can_priv and doing some trivial clean-up and
renaming. [3] received zero feedback but was eventually merged after
splitting it in smaller parts and resending it.

Finally, in July this year, we clarified the remaining mysteries about
PWM calculation, thus unlocking the series. Summer being a bit busy
because of some personal matters brings us to now.

After doing all the refactoring and adding all the CAN XL features,
the final result is roughly 30 patches, probably too much for a single
series. So I am splitting it in two:

  - preparation (this series)
  - CAN XL

And so, this series continues and finishes the preparation work done
in [3]. It contains all the refactoring needed to smoothly introduce
CAN XL. The goal is to:

  - split the function in smaller pieces: CAN XL will introduce a fair
    amount of code. And some functions which are already fairly long
    (86 lines for can_validate(), 216 lines for can_changelink())
    would grow to disproportionate sizes if the CAN XL logic were to
    be inlined in those functions.

  - repurpose the existing code to handle both CAN FD and CAN XL: a
    huge part of CAN XL simply reuses the CAN FD logic. All the
    existing CAN FD logic is made more generic to handle both CAN FD
    and XL.

In more details:

  - Patch #1 moves struct data_bittiming_params from dev.h to
    bittiming.h and patch #2 makes can_get_relative_tdco() FD agnostic
    before also moving it to bittiming.h.

  - Patch #3 adds some comments to netlink.h tagging which IFLA
    symbols are FD specific.

  - Patch #4 to torvalds#6 are refactoring can_validate() and
    can_validate_bittiming().

  - Patch torvalds#7 to torvalds#11 are refactoring can_changelink() and
    can_tdc_changelink().

  - Patch torvalds#12 and torvalds#13 are refactoring can_get_size() and
    can_tdc_get_size().

  - Patch torvalds#14 to torvalds#17 are refactoring can_fill_info() and
    can_tdc_fill_info().

  - Patch torvalds#18 makes can_calc_tdco() FD agnostic.

  - Patch torvalds#19 adds can_get_ctrlmode_str() which converts control mode
    flags into strings. This is done in preparation of patch torvalds#20.

  - Patch torvalds#20 is the final patch and improves the user experience by
    providing detailed error messages whenever invalid parameters are
    provided. All those error messages came into handy when debugging
    the upcoming CAN XL patches.

Aside from the last patch, the other changes do not impact any of the
existing functionalities.

The follow up series which introduces CAN XL is nearly completed but
will be sent only once this one is approved: one thing at a time, I do
not want to overwhelm people (including myself).

[1] https://lore.kernel.org/linux-can/[email protected]/
[2] https://lore.kernel.org/linux-can/[email protected]/
[3] https://lore.kernel.org/linux-can/[email protected]/

To: Marc Kleine-Budde <[email protected]>
To: Oliver Hartkopp <[email protected]>
Cc: Vincent Mailhol <[email protected]>
Cc: Stéphane Grosjean <[email protected]>
Cc: Robert Nawrath <[email protected]>
Cc: Minh Le <[email protected]>
Cc: Duy Nguyen <[email protected]>
Cc: [email protected]
Cc: [email protected]

Signed-off-by: Vincent Mailhol <[email protected]>

---
Changes in v2:

  - Move can_validate()'s comment block to can_validate_databittiming().
    Consequently,

      [PATCH 07/21] can: netlink: remove comment in can_validate()

    from v1 is removed.

  - Change any occurrences of WARN_ON(1) into return -EOPNOTSUPP to
    suppress the three gcc warnings which were reported by the kernel
    test robot:
    Link: https://lore.kernel.org/linux-can/[email protected]/
    Link: https://lore.kernel.org/linux-can/[email protected]/
    Link: https://lore.kernel.org/linux-can/[email protected]/

  - Link to v1: https://lore.kernel.org/r/[email protected]

--- b4-submit-tracking ---
{
  "series": {
    "revision": 2,
    "change-id": "20250831-canxl-netlink-prep-9dbf8498fd9d",
    "prefixes": [],
    "prerequisites": [
      "base-commit: net-next/main"
    ],
    "history": {
      "v1": [
        "[email protected]"
      ]
    }
  }
}
knuxify pushed a commit to refractionware/linux that referenced this pull request Sep 11, 2025
This fixes random slowdowns and makes the system a bit more performant.
Still pending a full timer driver refactor, see torvalds#11.
roxell added a commit to roxell/linux that referenced this pull request Sep 17, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Sep 17, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Sep 18, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
roxell added a commit to roxell/linux that referenced this pull request Sep 19, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
vincent-mailhol added a commit to vincent-mailhol/linux that referenced this pull request Sep 20, 2025
In November last year, I sent an RFC to introduce CAN XL [1]. That
RFC, despite positive feedback, was put on hold due to some unanswered
question concerning the PWM encoding [2].

While stuck, some small preparation work was done in parallel in [3]
by refactoring the struct can_priv and doing some trivial clean-up and
renaming. Initially, [3] received zero feedback but was eventually
merged after splitting it in smaller parts and resending it.

Finally, in July this year, we clarified the remaining mysteries about
PWM calculation, thus unlocking the series. Summer being a bit busy
because of some personal matters brings us to now.

After doing all the refactoring and adding all the CAN XL features,
the final result is roughly 30 patches, probably too much for a single
series. So I am splitting it in two:

  - preparation (this series)
  - CAN XL (will come later, after this series get ACK-ed)

And so, this series continues and finishes the preparation work done
in [3]. It contains all the refactoring needed to smoothly introduce
CAN XL. The goal is to:

  - split the functions in smaller pieces: CAN XL will introduce a
    fair amount of code. And some functions which are already fairly
    long (86 lines for can_validate(), 216 lines for can_changelink())
    would grow to disproportionate sizes if the CAN XL logic were to
    be inlined in those functions.

  - repurpose the existing code to handle both CAN FD and CAN XL: a
    huge part of CAN XL simply reuses the CAN FD logic. All the
    existing CAN FD logic is made more generic to handle both CAN FD
    and XL.

In more details:

  - Patch #1 moves struct data_bittiming_params from dev.h to
    bittiming.h and patch #2 makes can_get_relative_tdco() FD agnostic
    before also moving it to bittiming.h.

  - Patch #3 adds some comments to netlink.h tagging which IFLA
    symbols are FD specific.

  - Patches #4 to torvalds#6 are refactoring can_validate() and
    can_validate_bittiming().

  - Patches torvalds#7 to torvalds#11 are refactoring can_changelink() and
    can_tdc_changelink().

  - Patches torvalds#12 and torvalds#13 are refactoring can_get_size() and
    can_tdc_get_size().

  - Patches torvalds#14 to torvalds#17 are refactoring can_fill_info() and
    can_tdc_fill_info().

  - Patch torvalds#18 makes can_calc_tdco() FD agnostic.

  - Patch torvalds#19 adds can_get_ctrlmode_str() which converts control mode
    flags into strings. This is done in preparation of patch torvalds#20.

  - Patch torvalds#20 is the final patch and improves the user experience by
    providing detailed error messages whenever invalid parameters are
    provided. All those error messages came into handy when debugging
    the upcoming CAN XL patches.

Aside from the last patch, the other changes do not impact any of the
existing functionalities.

The follow up series which introduces CAN XL is nearly completed but
will be sent only once this one is approved: one thing at a time, I do
not want to overwhelm people (including myself).

[1] https://lore.kernel.org/linux-can/[email protected]/
[2] https://lore.kernel.org/linux-can/[email protected]/
[3] https://lore.kernel.org/linux-can/[email protected]/

To: Marc Kleine-Budde <[email protected]>
To: Oliver Hartkopp <[email protected]>
Cc: Vincent Mailhol <[email protected]>
Cc: Stéphane Grosjean <[email protected]>
Cc: Robert Nawrath <[email protected]>
Cc: Minh Le <[email protected]>
Cc: Duy Nguyen <[email protected]>
Cc: [email protected]
Cc: [email protected]

Signed-off-by: Vincent Mailhol <[email protected]>

---
Changes in v3:

  - Add a static_assert() in can_validate_databittiming() to prove
    that the nla attributes were already correctly aligned.

Link to v2: https://lore.kernel.org/r/[email protected]

Changes in v2:

  - Move can_validate()'s comment block to can_validate_databittiming().
    Consequently,

      [PATCH 07/21] can: netlink: remove comment in can_validate()

    from v1 is removed.

  - Change any occurrences of WARN_ON(1) into return -EOPNOTSUPP to
    suppress the three gcc warnings which were reported by the kernel
    test robot:
    Link: https://lore.kernel.org/linux-can/[email protected]/
    Link: https://lore.kernel.org/linux-can/[email protected]/
    Link: https://lore.kernel.org/linux-can/[email protected]/

  - Small rewrite of patch torvalds#12 "can: netlink: make can_tdc_get_size()
    FD agnostic" description to add more details.

Link to v1: https://lore.kernel.org/r/[email protected]

--- b4-submit-tracking ---
{
  "series": {
    "revision": 3,
    "change-id": "20250831-canxl-netlink-prep-9dbf8498fd9d",
    "prefixes": [],
    "prerequisites": [
      "base-commit: net-next/main"
    ],
    "history": {
      "v1": [
        "[email protected]"
      ],
      "v2": [
        "[email protected]"
      ]
    }
  }
}
roxell added a commit to roxell/linux that referenced this pull request Sep 22, 2025
[  123.491737][    T1] Unexpected kernel BRK exception at EL1
[  123.497593][    T1] Internal error: ptrace BRK handler: f20003e8 [#1] PREEMPT SMP
[  123.500785][    T1] Modules linked in:
[  123.502567][    T1] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         5.8.0-rc3-next-20200630-00003-g15e24419c239-dirty torvalds#11
[  123.507468][    T1] Hardware name: linux,dummy-virt (DT)
[  123.509826][    T1] pstate: 80400005 (Nzcv daif +PAN -UAO BTYPE=--)
[  123.512609][    T1] pc : of_unittest_untrack_overlay+0x64/0x134
[  123.515245][    T1] lr : of_unittest_untrack_overlay+0x64/0x134
[  123.517848][    T1] sp : ffff00006a65fb30
[  123.519668][    T1] x29: ffff00006a65fb30 x28: 0000000000000000
[  123.522295][    T1] x27: ffff00006a65fc30 x26: ffffa00016b86f00
[  123.524937][    T1] x25: 0000000000000000 x24: 0000000000000000
[  123.527592][    T1] x23: ffffa00014c72540 x22: ffffa00016b86000
[  123.530191][    T1] x21: 0000000000000000 x20: 00000000ffffffff
[  123.532845][    T1] x19: 00000000ffffffff x18: 0000000000002690
[  123.535547][    T1] x17: 0000000000002718 x16: 00000000000014b8
[  123.538299][    T1] x15: 0000000000000001 x14: 0080000000000000
[  123.541055][    T1] x13: 0000000000000002 x12: ffff94000298d209
[  123.543801][    T1] x11: 1ffff4000298d208 x10: ffff94000298d208
[  123.546580][    T1] x9 : dfffa00000000000 x8 : ffffa00014c69047
[  123.549247][    T1] x7 : 0000000000000001 x6 : ffffa00014c69040
[  123.552026][    T1] x5 : ffff00006a654040 x4 : 0000000000000000
[  123.554799][    T1] x3 : ffffa00011d59d04 x2 : 00000000ffffffff
[  123.557541][    T1] x1 : ffff00006a654040 x0 : 0000000000000000
[  123.560390][    T1] Call trace:
[  123.561935][    T1]  of_unittest_untrack_overlay+0x64/0x134
[  123.564469][    T1]  of_unittest+0x2220/0x2438
[  123.566585][    T1]  do_one_initcall+0x470/0xa10
[  123.568751][    T1]  kernel_init_freeable+0x510/0x5f0
[  123.571123][    T1]  kernel_init+0x18/0x1e8
[  123.573078][    T1]  ret_from_fork+0x10/0x18
[  123.575119][    T1] Code: 97978a9c d4210000 14000024 97978a99 (d4207d00)
[  123.578138][    T1] ---[ end trace c4e049fb5e3b0ba0 ]---
[  123.580449][    T1] Kernel panic - not syncing: Fatal exception
[  123.583116][    T1] Kernel Offset: disabled
[  123.585066][    T1] CPU features: 0x240002,20002004
[  123.587259][    T1] Memory Limit: none
[  123.588986][    T1] ---[ end Kernel panic - not syncing: Fatal exception ]---

Signed-off-by: Anders Roxell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants