{"type":"system","subtype":"init","cwd":"/Users/kunchen/github/kunchenguid/axi/bench-browser/results/chrome-devtools-mcp-compressed-cli/github_repo_stars/run1/workspace","session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","tools":["Task","TaskOutput","Bash","Glob","Grep","ExitPlanMode","Read","Edit","Write","NotebookEdit","TodoWrite","TaskStop","AskUserQuestion","Skill","EnterPlanMode","EnterWorktree","ExitWorktree","CronCreate","CronDelete","CronList","RemoteTrigger","ToolSearch","mcp__compressed-browser__chrome-devtools_help","ListMcpResourcesTool","ReadMcpResourceTool"],"mcp_servers":[{"name":"compressed-browser","status":"connected"}],"model":"claude-sonnet-4-6","permissionMode":"bypassPermissions","slash_commands":[],"apiKeySource":"none","claude_code_version":"2.1.81","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan","claude-code-guide"],"skills":["update-config","debug","simplify","batch","loop","schedule","claude-api"],"plugins":[],"uuid":"4d95f2aa-885b-44e4-9c32-8ac2b964f64d","fast_mode_state":"off"}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01EH1Kc3BhRp8QRnLFWkNnSK","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"The user wants me to navigate to GitHub and get information about the Linux repository. I should use the chrome-devtools CLI tool for this.","signature":"EskCClsIDBgCKkCx9ZT6lSVTQ6RcozmP4BYO/Y55Y47/msoLZ3LNV/+9HwTwm2hmm892RbWYAyEijX+6K3SMaFkL9ZWD+FzUpCbyMhFjbGF1ZGUtc29ubmV0LTQtNjgAEgwF+rSrB/2WSugli/caDDXYIKwIJJ6nj3F2qSIwzMF98Oip6LmaeH9pRbYFXn9c3YqR7anoX/lAlCXhkuPwEdATgFisQgPj/hXfuPQvKpsBA2M9K2B6vzRkYf0eMtbgfFnQBXp/eb3HyMesd8OdR7YYaFMOEGbLXCiPBYqzXmK8eYdADmHqqNNOL0rvnK91NVpmZGTwZkumdaf3M94wtwRAx0RCMvoCaWGhgvJISVLQvoQXLxEKe7xgthHAvDnYPr4IZEc0bOzsRMV5YGbSS0mSXyl1pSb6RsEtorRTJwcSPu7r6XZ0kyoJ4MoYAQ=="}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":7273,"cache_read_input_tokens":8603,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":7273},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","uuid":"a67cb1bc-c733-468e-95b6-349583ae72b2"}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01EH1Kc3BhRp8QRnLFWkNnSK","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01X5S8ueUwZCKjeS17coLBJT","name":"Bash","input":{"command":"chrome-devtools --help"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":7273,"cache_read_input_tokens":8603,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":7273},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","uuid":"4db5fb27-85b9-4465-9a14-94f283f700b5"}
{"type":"rate_limit_event","rate_limit_info":{"status":"allowed","resetsAt":1775214000,"rateLimitType":"five_hour","overageStatus":"rejected","overageDisabledReason":"org_level_disabled","isUsingOverage":false},"uuid":"f0b032a5-ae69-4f71-80ba-1f2036d65174","session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874"}
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01X5S8ueUwZCKjeS17coLBJT","type":"tool_result","content":"chrome-devtools - the chrome-devtools toolset\n\nWhen relevant, outputs from this CLI will prefer using the TOON format for more efficient representation of data.\n\nUSAGE:\n  chrome-devtools <subcommand> [options]\n\nSUBCOMMANDS:\n  click                               Clicks on the provided element\n  close-page                          Closes the page by its index\n  drag                                Drag an element onto another element\n  emulate                             Emulates various features on the selected page\n  evaluate-script                     Evaluate a JavaScript function inside the currently selected page\n  fill                                Type text into a input, text area or select an option from a <select> element\n  fill-form                           Fill out multiple form elements at once\n  get-console-message                 Gets a console message by its ID\n  get-network-request                 Gets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel\n  handle-dialog                       If a browser dialog was opened, use this command to handle it\n  hover                               Hover over the provided element\n  lighthouse-audit                    Get Lighthouse score and reports for accessibility, SEO and best practices\n  list-console-messages               List all console messages for the currently selected page since the last navigation\n  list-network-requests               List all requests for the currently selected page since the last navigation\n  list-pages                          Get a list of pages  open in the browser\n  navigate-page                       Go to a URL, or back, forward, or reload\n  new-page                            Open a new tab and load a URL\n  performance-analyze-insight         Provides more detailed information on a specific Performance Insight of an insight set that was highlighted in the results of a trace recording\n  performance-start-trace             Start a performance trace on the selected webpage\n  performance-stop-trace              Stop the active performance trace recording on the selected webpage\n  press-key                           Press a key or key combination\n  resize-page                         Resizes the selected page's window so that the page has specified dimension\n  select-page                         Select a page as a context for future tool calls\n  take-memory-snapshot                Capture a heap snapshot of the currently selected page\n  take-screenshot                     Take a screenshot of the page or element\n  take-snapshot                       Take a text snapshot of the currently selected page based on the a11y tree\n  type-text                           Type text using keyboard into a previously focused input\n  upload-file                         Upload a file through a provided element\n  wait-for                            Wait for the specified text to appear on the selected page\n\nRun 'chrome-devtools <subcommand> --help' for subcommand usage.","is_error":false}]},"parent_tool_use_id":null,"session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","uuid":"48673294-669f-4e5f-b427-c11c796bcf61","timestamp":"2026-04-03T08:50:29.268Z","tool_use_result":{"stdout":"chrome-devtools - the chrome-devtools toolset\n\nWhen relevant, outputs from this CLI will prefer using the TOON format for more efficient representation of data.\n\nUSAGE:\n  chrome-devtools <subcommand> [options]\n\nSUBCOMMANDS:\n  click                               Clicks on the provided element\n  close-page                          Closes the page by its index\n  drag                                Drag an element onto another element\n  emulate                             Emulates various features on the selected page\n  evaluate-script                     Evaluate a JavaScript function inside the currently selected page\n  fill                                Type text into a input, text area or select an option from a <select> element\n  fill-form                           Fill out multiple form elements at once\n  get-console-message                 Gets a console message by its ID\n  get-network-request                 Gets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel\n  handle-dialog                       If a browser dialog was opened, use this command to handle it\n  hover                               Hover over the provided element\n  lighthouse-audit                    Get Lighthouse score and reports for accessibility, SEO and best practices\n  list-console-messages               List all console messages for the currently selected page since the last navigation\n  list-network-requests               List all requests for the currently selected page since the last navigation\n  list-pages                          Get a list of pages  open in the browser\n  navigate-page                       Go to a URL, or back, forward, or reload\n  new-page                            Open a new tab and load a URL\n  performance-analyze-insight         Provides more detailed information on a specific Performance Insight of an insight set that was highlighted in the results of a trace recording\n  performance-start-trace             Start a performance trace on the selected webpage\n  performance-stop-trace              Stop the active performance trace recording on the selected webpage\n  press-key                           Press a key or key combination\n  resize-page                         Resizes the selected page's window so that the page has specified dimension\n  select-page                         Select a page as a context for future tool calls\n  take-memory-snapshot                Capture a heap snapshot of the currently selected page\n  take-screenshot                     Take a screenshot of the page or element\n  take-snapshot                       Take a text snapshot of the currently selected page based on the a11y tree\n  type-text                           Type text using keyboard into a previously focused input\n  upload-file                         Upload a file through a provided element\n  wait-for                            Wait for the specified text to appear on the selected page\n\nRun 'chrome-devtools <subcommand> --help' for subcommand usage.","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01Nrv9tM4E5pbtoPLPTj3ygR","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01AWY1rrceZgEJDSNZQYZHpq","name":"Bash","input":{"command":"chrome-devtools navigate-page --url https://github.com/torvalds/linux"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":716,"cache_read_input_tokens":15876,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":716},"output_tokens":55,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","uuid":"2aeecf58-90a8-4c5f-b5ba-152f15d48699"}
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01AWY1rrceZgEJDSNZQYZHpq","type":"tool_result","content":"Successfully navigated to https://github.com/torvalds/linux.\n## Pages\n1: https://github.com/torvalds/linux [selected]","is_error":false}]},"parent_tool_use_id":null,"session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","uuid":"d27a8c55-b2f3-447b-8518-5a6194f773d0","timestamp":"2026-04-03T08:50:33.582Z","tool_use_result":{"stdout":"Successfully navigated to https://github.com/torvalds/linux.\n## Pages\n1: https://github.com/torvalds/linux [selected]","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01D33HJ5hahX4djV3RdKRQVQ","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01MUP1E5GywKvGJx4grhoSn4","name":"Bash","input":{"command":"chrome-devtools take-snapshot"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":119,"cache_read_input_tokens":16592,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":119},"output_tokens":58,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","uuid":"cebe6dd7-ea8c-4b09-9212-8cb133632ca4"}
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01MUP1E5GywKvGJx4grhoSn4","type":"tool_result","content":"<persisted-output>\nOutput too large (75.4KB). Full output saved to: /Users/kunchen/.claude/projects/-Users-kunchen-github-kunchenguid-axi-bench-browser-results-chrome-devtools-mcp-compressed-cli-github-repo-stars-run1-workspace/9eebeb41-a6f5-4b4f-ae93-4376e1518874/tool-results/bardmk2rr.txt\n\nPreview (first 2KB):\n## Latest page snapshot\nuid=1_0 RootWebArea \"GitHub - torvalds/linux: Linux kernel source tree · GitHub\" url=\"https://github.com/torvalds/linux\"\n  uid=1_1 link \"Skip to content\" url=\"https://github.com/torvalds/linux#start-of-content\"\n    uid=1_2 StaticText \"Skip to content\"\n  uid=1_3 banner\n    uid=1_4 heading \"Navigation Menu\" level=\"2\"\n    uid=1_5 link \"Homepage\" url=\"https://github.com/\"\n    uid=1_6 navigation \"Global\"\n      uid=1_7 button \"Platform\" expandable\n      uid=1_8 button \"Solutions\" expandable\n      uid=1_9 button \"Resources\" expandable\n      uid=1_10 button \"Open Source\" expandable\n      uid=1_11 button \"Enterprise\" expandable\n      uid=1_12 link \"Pricing\" url=\"https://github.com/pricing\"\n        uid=1_13 StaticText \"Pricing\"\n    uid=1_14 button \"Search or jump to…\" haspopup=\"dialog\"\n    uid=1_15 link \"Sign in\" url=\"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ftorvalds%2Flinux\"\n      uid=1_16 StaticText \"Sign in\"\n    uid=1_17 link \"Sign up\" url=\"https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=torvalds%2Flinux\"\n      uid=1_18 StaticText \"Sign up\"\n    uid=1_19 button \"Appearance settings\" expandable haspopup=\"menu\"\n  uid=1_20 main\n    uid=1_21 link \"torvalds\" keyshortcuts=\"Alt+ArrowUp\" url=\"https://github.com/torvalds\"\n      uid=1_22 StaticText \"torvalds\"\n    uid=1_23 StaticText \"/\"\n    uid=1_24 link \"linux\" url=\"https://github.com/torvalds/linux\"\n      uid=1_25 StaticText \"linux\"\n    uid=1_26 StaticText \"Public\"\n    uid=1_27 link \"You must be signed in to change notification settings\" description=\"You must be signed in to change notification settings\" url=\"https://github.com/login?return_to=%2Ftorvalds%2Flinux\"\n      uid=1_28 StaticText \"Notifications\"\n    uid=1_29 link \"Fork 61.4k\" url=\"https://github.com/login?return_to=%2Ftorvalds%2Flinux\"\n      uid=1_30 StaticText \"Fork \"\n      uid=1_31 StaticText \"61.4k\"\n...\n</persisted-output>","is_error":false}]},"parent_tool_use_id":null,"session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","uuid":"84c19013-d190-4d55-856c-57c0f6f34367","timestamp":"2026-04-03T08:50:36.143Z","tool_use_result":{"stdout":"## Latest page snapshot\nuid=1_0 RootWebArea \"GitHub - torvalds/linux: Linux kernel source tree · GitHub\" url=\"https://github.com/torvalds/linux\"\n  uid=1_1 link \"Skip to content\" url=\"https://github.com/torvalds/linux#start-of-content\"\n    uid=1_2 StaticText \"Skip to content\"\n  uid=1_3 banner\n    uid=1_4 heading \"Navigation Menu\" level=\"2\"\n    uid=1_5 link \"Homepage\" url=\"https://github.com/\"\n    uid=1_6 navigation \"Global\"\n      uid=1_7 button \"Platform\" expandable\n      uid=1_8 button \"Solutions\" expandable\n      uid=1_9 button \"Resources\" expandable\n      uid=1_10 button \"Open Source\" expandable\n      uid=1_11 button \"Enterprise\" expandable\n      uid=1_12 link \"Pricing\" url=\"https://github.com/pricing\"\n        uid=1_13 StaticText \"Pricing\"\n    uid=1_14 button \"Search or jump to…\" haspopup=\"dialog\"\n    uid=1_15 link \"Sign in\" url=\"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ftorvalds%2Flinux\"\n      uid=1_16 StaticText \"Sign in\"\n    uid=1_17 link \"Sign up\" url=\"https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=torvalds%2Flinux\"\n      uid=1_18 StaticText \"Sign up\"\n    uid=1_19 button \"Appearance settings\" expandable haspopup=\"menu\"\n  uid=1_20 main\n    uid=1_21 link \"torvalds\" keyshortcuts=\"Alt+ArrowUp\" url=\"https://github.com/torvalds\"\n      uid=1_22 StaticText \"torvalds\"\n    uid=1_23 StaticText \"/\"\n    uid=1_24 link \"linux\" url=\"https://github.com/torvalds/linux\"\n      uid=1_25 StaticText \"linux\"\n    uid=1_26 StaticText \"Public\"\n    uid=1_27 link \"You must be signed in to change notification settings\" description=\"You must be signed in to change notification settings\" url=\"https://github.com/login?return_to=%2Ftorvalds%2Flinux\"\n      uid=1_28 StaticText \"Notifications\"\n    uid=1_29 link \"Fork 61.4k\" url=\"https://github.com/login?return_to=%2Ftorvalds%2Flinux\"\n      uid=1_30 StaticText \"Fork \"\n      uid=1_31 StaticText \"61.4k\"\n    uid=1_32 link \"You must be signed in to star a repository\" url=\"https://github.com/login?return_to=%2Ftorvalds%2Flinux\"\n      uid=1_33 StaticText \" Star \"\n      uid=1_34 StaticText \"227k\"\n    uid=1_35 navigation \"Repository\"\n      uid=1_36 link \"Code\" url=\"https://github.com/torvalds/linux\"\n        uid=1_37 StaticText \"Code\"\n      uid=1_38 link \"Actions\" url=\"https://github.com/torvalds/linux/actions\"\n        uid=1_39 StaticText \"Actions\"\n      uid=1_40 link \"Projects\" url=\"https://github.com/torvalds/linux/projects\"\n        uid=1_41 StaticText \"Projects\"\n      uid=1_42 link \"Security and quality\" url=\"https://github.com/torvalds/linux/security\"\n        uid=1_43 StaticText \"Security and quality\"\n      uid=1_44 link \"Insights\" url=\"https://github.com/torvalds/linux/pulse\"\n        uid=1_45 StaticText \"Insights\"\n    uid=1_46 generic\n      uid=1_47 heading \"torvalds/linux\" level=\"1\"\n      uid=1_48 button \"master branch\" expandable haspopup=\"menu\"\n      uid=1_49 link \"2 Branches\" url=\"https://github.com/torvalds/linux/branches\"\n        uid=1_50 StaticText \"2\"\n        uid=1_51 StaticText \" \"\n        uid=1_52 StaticText \"Branches\"\n      uid=1_53 link \"925 Tags\" url=\"https://github.com/torvalds/linux/tags\"\n        uid=1_54 StaticText \"925\"\n        uid=1_55 StaticText \" \"\n        uid=1_56 StaticText \"Tags\"\n      uid=1_57 combobox \"Go to file\" expandable haspopup=\"dialog\"\n      uid=1_58 button \"Code\" expandable haspopup=\"menu\"\n      uid=1_59 heading \"Folders and files\" level=\"2\"\n      uid=1_60 StaticText \"Name\"\n      uid=1_61 StaticText \"Last commit message\"\n      uid=1_62 StaticText \"Last commit date\"\n      uid=1_63 heading \"Latest commit\" level=\"2\"\n      uid=1_64 link \"torvalds\" keyshortcuts=\"Alt+ArrowUp\" url=\"https://github.com/torvalds\"\n        uid=1_65 image \"torvalds\" url=\"https://avatars.githubusercontent.com/u/1024025?v=4&size=40\"\n      uid=1_66 link \"commits by torvalds\" keyshortcuts=\"Alt+ArrowUp\" url=\"https://github.com/torvalds/linux/commits?author=torvalds\"\n        uid=1_67 StaticText \"torvalds\"\n      uid=1_68 link \"Merge tag 'v7.0-rc6-smb3-client-fix' of git://git.samba.org/sfrench/c…\" keyshortcuts=\"Alt+ArrowUp\" url=\"https://github.com/torvalds/linux/commit/d8a9a4b11a137909e306e50346148fc5c3b63f9d\"\n        uid=1_69 StaticText \"Merge tag 'v7.0-rc6-smb3-client-fix' of git://git.samba.org/sfrench/c…\"\n      uid=1_70 button \"Open commit details\" expandable\n      uid=1_71 link \"Commit d8a9a4b\" keyshortcuts=\"Alt+ArrowUp\" url=\"https://github.com/torvalds/linux/commit/d8a9a4b11a137909e306e50346148fc5c3b63f9d\"\n        uid=1_72 StaticText \"d8a9a4b\"\n      uid=1_73 StaticText \" · \"\n      uid=1_74 StaticText \"4 hours ago\"\n      uid=1_75 heading \"History\" level=\"2\"\n      uid=1_76 link \"1,429,507 Commits\" url=\"https://github.com/torvalds/linux/commits/master/\"\n        uid=1_77 StaticText \"1,429,507 Commits\"\n      uid=1_78 link \"Documentation, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/Documentation\"\n        uid=1_79 StaticText \"Documentation\"\n      uid=1_80 link \"Merge tag 'auxdisplay-v7.0-1' of git://git.kernel.org/pub/scm/linux/k…\" description=\"Merge tag 'auxdisplay-v7.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay Pull auxdisplay fixes from Andy Shevchenko: - Fix NULL dereference in linedisp_release() - Fix ht16k33 DT bindings to avoid warnings - Handle errors in I²C transfers in lcd2s driver * tag 'auxdisplay-v7.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay: auxdisplay: line-display: fix NULL dereference in linedisp_release auxdisplay: lcd2s: add error handling for i2c transfers dt-bindings: auxdisplay: ht16k33: Use unevaluatedProperties to fix common property warning\" url=\"https://github.com/torvalds/linux/commit/2064d7784e79258094c7dbf2695cb536b3c55010\"\n        uid=1_81 StaticText \"Merge tag 'auxdisplay-v7.0-1' of git://git.kernel.org/pub/scm/linux/k…\"\n      uid=1_82 StaticText \"16 hours ago\"\n      uid=1_83 link \"LICENSES, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/LICENSES\"\n        uid=1_84 StaticText \"LICENSES\"\n      uid=1_85 link \"LICENSES: Add modern form of the LGPL-2.1 tags to the usage guide sec…\" description=\"LICENSES: Add modern form of the LGPL-2.1 tags to the usage guide section The modern forms of the LGPL-2.1 tags have already been added as valid a long time ago, see commit bc128349588d5 (\"LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers\"). However, the information is still missing in the \"Usage-Guide\" section, so it can currently be confusing whether these tags are allowed in new files or not. Thus add the tags to the usage guide section, too, to make this clear (similar to what we do in the GPL-2.0 file already). Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\" url=\"https://github.com/torvalds/linux/commit/89373f5695dc918a0118fa71ee4dc423bc8c8476\"\n        uid=1_86 StaticText \"LICENSES: Add modern form of the LGPL-2.1 tags to the usage guide sec…\"\n      uid=1_87 StaticText \"6 months ago\"\n      uid=1_88 link \"arch, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/arch\"\n        uid=1_89 StaticText \"arch\"\n      uid=1_90 link \"Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm\" description=\"Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull kvm fixes from Paolo Bonzini: \"s390: - Lots of small and not-so-small fixes for the newly rewritten gmap, mostly affecting the handling of nested guests. x86: - Fix an issue with shadow paging, which causes KVM to install an MMIO PTE in the shadow page tables without first zapping a non-MMIO SPTE if KVM didn't see the write that modified the shadowed guest PTE. While commit a54aa15c6bda3 (\"KVM: x86/mmu: Handle MMIO SPTEs directly in mmu_set_spte()\") was right about it being impossible to miss such a write if it was coming from the guest, it failed to account for writes to guest memory that are outside the scope of KVM: if userspace modifies the guest PTE, and then the guest hits a relevant page fault, KVM will get confused\" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: x86/mmu: Only WARN in direct MMUs when overwriting shadow-present SPTE KVM: x86/mmu: Drop/zap existing present SPTE even when creating an MMIO SPTE KVM: s390: Fix KVM_S390_VCPU_FAULT ioctl KVM: s390: vsie: Fix guest page tables protection KVM: s390: vsie: Fix unshadowing while shadowing KVM: s390: vsie: Fix refcount overflow for shadow gmaps KVM: s390: vsie: Fix nested guest memory shadowing KVM: s390: Correctly handle guest mappings without struct page KVM: s390: Fix gmap_link() KVM: s390: vsie: Fix check for pre-existing shadow mapping KVM: s390: Remove non-atomic dat_crstep_xchg() KVM: s390: vsie: Fix dat_split_ste()\" url=\"https://github.com/torvalds/linux/commit/ac354b5cb04d2077c3821a6cbfbc7981ad45f84a\"\n        uid=1_91 StaticText \"Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm\"\n      uid=1_92 StaticText \"5 days ago\"\n      uid=1_93 link \"block, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/block\"\n        uid=1_94 StaticText \"block\"\n      uid=1_95 link \"Merge tag 'block-7.0-20260305' of git://git.kernel.org/pub/scm/linux/…\" description=\"Merge tag 'block-7.0-20260305' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux Pull block fixes from Jens Axboe: - NVMe pull request via Keith: - Improve quirk visibility and configurability (Maurizio) - Fix runtime user modification to queue setup (Keith) - Fix multipath leak on try_module_get failure (Keith) - Ignore ambiguous spec definitions for better atomics support (John) - Fix admin queue leak on controller reset (Ming) - Fix large allocation in persistent reservation read keys (Sungwoo Kim) - Fix fcloop callback handling (Justin) - Securely free DHCHAP secrets (Daniel) - Various cleanups and typo fixes (John, Wilfred) - Avoid a circular lock dependency issue in the sysfs nr_requests or scheduler store handling - Fix a circular lock dependency with the pcpu mutex and the queue freeze lock - Cleanup for bio_copy_kern(), using __bio_add_page() rather than the bio_add_page(), as adding a page here cannot fail. The exiting code had broken cleanup for the error condition, so make it clear that the error condition cannot happen - Fix for a __this_cpu_read() in preemptible context splat * tag 'block-7.0-20260305' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: block: use trylock to avoid lockdep circular dependency in sysfs nvme: fix memory allocation in nvme_pr_read_keys() block: use __bio_add_page in bio_copy_kern block: break pcpu_alloc_mutex dependency on freeze_lock blktrace: fix __this_cpu_read/write in preemptible context nvme-multipath: fix leak on try_module_get failure nvmet-fcloop: Check remoteport port_state before calling done callback nvme-pci: do not try to add queue maps at runtime nvme-pci: cap queue creation to used queues nvme-pci: ensure we're polling a polled queue nvme: fix memory leak in quirks_param_set() nvme: correct comment about nvme_ns_remove() nvme: stop setting namespace gendisk device driver data nvme: add support for dynamic quirk configuration via module parameter nvme: fix admin queue leak on controller reset nvme-fabrics: use kfree_sensitive() for DHCHAP secrets nvme: stop using AWUPF nvme: expose active quirks in sysfs nvme/host: fixup some typos\" url=\"https://github.com/torvalds/linux/commit/a028739a4330881a6a3b5aa4a39381bbcacf2f2f\"\n        uid=1_96 StaticText \"Merge tag 'block-7.0-20260305' of git://git.kernel.org/pub/scm/linux/…\"\n      uid=1_97 StaticText \"last month\"\n      uid=1_98 link \"certs, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/certs\"\n        uid=1_99 StaticText \"certs\"\n      uid=1_100 link \"Convert 'alloc_obj' family to use the new default GFP_KERNEL argument\" description=\"Convert 'alloc_obj' family to use the new default GFP_KERNEL argument This was done entirely with mindless brute force, using git grep -l '\\<k[vmz]*alloc_objs*(.*, GFP_KERNEL)' | xargs sed -i 's/\\(alloc_objs*(.*\\), GFP_KERNEL)/\\1)/' to convert the new alloc_obj() users that had a simple GFP_KERNEL argument to just drop that argument. Note that due to the extreme simplicity of the scripting, any slightly more complex cases spread over multiple lines would not be triggered: they definitely exist, but this covers the vast bulk of the cases, and the resulting diff is also then easier to check automatically. For the same reason the 'flex' versions will be done as a separate conversion. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>\" url=\"https://github.com/torvalds/linux/commit/bf4afc53b77aeaa48b5409da5c8da6bb4eff7f43\"\n        uid=1_101 StaticText \"Convert 'alloc_obj' family to use the new default GFP_KERNEL argument\"\n      uid=1_102 StaticText \"2 months ago\"\n      uid=1_103 link \"crypto, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/crypto\"\n        uid=1_104 StaticText \"crypto\"\n      uid=1_105 link \"Merge tag 'v7.0-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/…\" description=\"Merge tag 'v7.0-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fixes from Herbert Xu: - Add missing async markers to tegra - Fix long hmac key DMA handling in caam - Fix spurious ENOSPC errors in deflate - Fix SG chaining in af_alg - Do not use in-place process in algif_aead - Fix out-of-place destination overflow in authencesn * tag 'v7.0-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: authencesn - Do not place hiseq at end of dst for out-of-place decryption crypto: algif_aead - Revert to operating out-of-place crypto: af-alg - fix NULL pointer dereference in scatterwalk crypto: deflate - fix spurious -ENOSPC crypto: caam - fix overflow on long hmac keys crypto: caam - fix DMA corruption on long hmac keys crypto: tegra - Add missing CRYPTO_ALG_ASYNC\" url=\"https://github.com/torvalds/linux/commit/5a9617dde77d0777b53f0af7dee58109650bda41\"\n        uid=1_106 StaticText \"Merge tag 'v7.0-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/…\"\n      uid=1_107 StaticText \"8 hours ago\"\n      uid=1_108 link \"drivers, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/drivers\"\n        uid=1_109 StaticText \"drivers\"\n      uid=1_110 link \"Merge tag 'v7.0-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/…\" description=\"Merge tag 'v7.0-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fixes from Herbert Xu: - Add missing async markers to tegra - Fix long hmac key DMA handling in caam - Fix spurious ENOSPC errors in deflate - Fix SG chaining in af_alg - Do not use in-place process in algif_aead - Fix out-of-place destination overflow in authencesn * tag 'v7.0-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: authencesn - Do not place hiseq at end of dst for out-of-place decryption crypto: algif_aead - Revert to operating out-of-place crypto: af-alg - fix NULL pointer dereference in scatterwalk crypto: deflate - fix spurious -ENOSPC crypto: caam - fix overflow on long hmac keys crypto: caam - fix DMA corruption on long hmac keys crypto: tegra - Add missing CRYPTO_ALG_ASYNC\" url=\"https://github.com/torvalds/linux/commit/5a9617dde77d0777b53f0af7dee58109650bda41\"\n        uid=1_111 StaticText \"Merge tag 'v7.0-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/…\"\n      uid=1_112 StaticText \"8 hours ago\"\n      uid=1_113 link \"fs, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/fs\"\n        uid=1_114 StaticText \"fs\"\n      uid=1_115 link \"Merge tag 'v7.0-rc6-smb3-client-fix' of git://git.samba.org/sfrench/c…\" description=\"Merge tag 'v7.0-rc6-smb3-client-fix' of git://git.samba.org/sfrench/cifs-2.6 Pull smb client fix from Steve French: - Fix potential out of bounds read in mount * tag 'v7.0-rc6-smb3-client-fix' of git://git.samba.org/sfrench/cifs-2.6: fs/smb/client: fix out-of-bounds read in cifs_sanitize_prepath\" url=\"https://github.com/torvalds/linux/commit/d8a9a4b11a137909e306e50346148fc5c3b63f9d\"\n        uid=1_116 StaticText \"Merge tag 'v7.0-rc6-smb3-client-fix' of git://git.samba.org/sfrench/c…\"\n      uid=1_117 StaticText \"4 hours ago\"\n      uid=1_118 link \"include, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/include\"\n        uid=1_119 StaticText \"include\"\n      uid=1_120 link \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\" description=\"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf Pull bpf fixes from Alexei Starovoitov: - Fix register equivalence for pointers to packet (Alexei Starovoitov) - Fix incorrect pruning due to atomic fetch precision tracking (Daniel Borkmann) - Fix grace period wait for bpf_link-ed tracepoints (Kumar Kartikeya Dwivedi) - Fix use-after-free of sockmap's sk->sk_socket (Kuniyuki Iwashima) - Reject direct access to nullable PTR_TO_BUF pointers (Qi Tang) - Reject sleepable kprobe_multi programs at attach time (Varun R Mallya) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: selftests/bpf: Add more precision tracking tests for atomics bpf: Fix incorrect pruning due to atomic fetch precision tracking bpf: Reject sleepable kprobe_multi programs at attach time bpf: reject direct access to nullable PTR_TO_BUF pointers bpf: sockmap: Fix use-after-free of sk->sk_socket in sk_psock_verdict_data_ready(). bpf: Fix grace period wait for tracepoint bpf_link bpf: Fix regsafe() for pointers to packet\" url=\"https://github.com/torvalds/linux/commit/7b9e74c5a49e1331e03c8ae5f981067da4f33328\"\n        uid=1_121 StaticText \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\"\n      uid=1_122 StaticText \"6 hours ago\"\n      uid=1_123 link \"init, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/init\"\n        uid=1_124 StaticText \"init\"\n      uid=1_125 link \"Merge tag 'hardening-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/…\" description=\"Merge tag 'hardening-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux Pull hardening fixes from Kees Cook: - fix required Clang version for CC_HAS_COUNTED_BY_PTR (Nathan Chancellor) - update Coccinelle script used for kmalloc_obj * tag 'hardening-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: init/Kconfig: Require a release version of clang-22 for CC_HAS_COUNTED_BY_PTR coccinelle: kmalloc_obj: Remove default GFP_KERNEL arg\" url=\"https://github.com/torvalds/linux/commit/d2a43e7f89da55d6f0f96aaadaa243f35557291e\"\n        uid=1_126 StaticText \"Merge tag 'hardening-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/…\"\n      uid=1_127 StaticText \"last week\"\n      uid=1_128 link \"io_uring, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/io_uring\"\n        uid=1_129 StaticText \"io_uring\"\n      uid=1_130 link \"Merge tag 'io_uring-7.0-20260327' of git://git.kernel.org/pub/scm/lin…\" description=\"Merge tag 'io_uring-7.0-20260327' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux Pull io_uring fixes from Jens Axboe: \"Just two small fixes, both fixing regressions added in the fdinfo code in 6.19 with the SQE mixed size support\" * tag 'io_uring-7.0-20260327' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: io_uring/fdinfo: fix OOB read in SQE_MIXED wrap check io_uring/fdinfo: fix SQE_MIXED SQE displaying\" url=\"https://github.com/torvalds/linux/commit/196ef74abd3abb97a97fcf416ca9d59851fd1d08\"\n        uid=1_131 StaticText \"Merge tag 'io_uring-7.0-20260327' of git://git.kernel.org/pub/scm/lin…\"\n      uid=1_132 StaticText \"last week\"\n      uid=1_133 link \"ipc, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/ipc\"\n        uid=1_134 StaticText \"ipc\"\n      uid=1_135 link \"Convert 'alloc_obj' family to use the new default GFP_KERNEL argument\" description=\"Convert 'alloc_obj' family to use the new default GFP_KERNEL argument This was done entirely with mindless brute force, using git grep -l '\\<k[vmz]*alloc_objs*(.*, GFP_KERNEL)' | xargs sed -i 's/\\(alloc_objs*(.*\\), GFP_KERNEL)/\\1)/' to convert the new alloc_obj() users that had a simple GFP_KERNEL argument to just drop that argument. Note that due to the extreme simplicity of the scripting, any slightly more complex cases spread over multiple lines would not be triggered: they definitely exist, but this covers the vast bulk of the cases, and the resulting diff is also then easier to check automatically. For the same reason the 'flex' versions will be done as a separate conversion. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>\" url=\"https://github.com/torvalds/linux/commit/bf4afc53b77aeaa48b5409da5c8da6bb4eff7f43\"\n        uid=1_136 StaticText \"Convert 'alloc_obj' family to use the new default GFP_KERNEL argument\"\n      uid=1_137 StaticText \"2 months ago\"\n      uid=1_138 link \"kernel, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/kernel\"\n        uid=1_139 StaticText \"kernel\"\n      uid=1_140 link \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\" description=\"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf Pull bpf fixes from Alexei Starovoitov: - Fix register equivalence for pointers to packet (Alexei Starovoitov) - Fix incorrect pruning due to atomic fetch precision tracking (Daniel Borkmann) - Fix grace period wait for bpf_link-ed tracepoints (Kumar Kartikeya Dwivedi) - Fix use-after-free of sockmap's sk->sk_socket (Kuniyuki Iwashima) - Reject direct access to nullable PTR_TO_BUF pointers (Qi Tang) - Reject sleepable kprobe_multi programs at attach time (Varun R Mallya) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: selftests/bpf: Add more precision tracking tests for atomics bpf: Fix incorrect pruning due to atomic fetch precision tracking bpf: Reject sleepable kprobe_multi programs at attach time bpf: reject direct access to nullable PTR_TO_BUF pointers bpf: sockmap: Fix use-after-free of sk->sk_socket in sk_psock_verdict_data_ready(). bpf: Fix grace period wait for tracepoint bpf_link bpf: Fix regsafe() for pointers to packet\" url=\"https://github.com/torvalds/linux/commit/7b9e74c5a49e1331e03c8ae5f981067da4f33328\"\n        uid=1_141 StaticText \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\"\n      uid=1_142 StaticText \"6 hours ago\"\n      uid=1_143 link \"lib, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/lib\"\n        uid=1_144 StaticText \"lib\"\n      uid=1_145 link \"Merge tag 'libcrypto-for-linus' of git://git.kernel.org/pub/scm/linux…\" description=\"Merge tag 'libcrypto-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux Pull crypto library fix from Eric Biggers: \"Fix missing zeroization of the ChaCha state\" * tag 'libcrypto-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux: lib/crypto: chacha: Zeroize permuted_state before it leaves scope\" url=\"https://github.com/torvalds/linux/commit/d0c3bcd5b8976159d835a897254048e078f447e6\"\n        uid=1_146 StaticText \"Merge tag 'libcrypto-for-linus' of git://git.kernel.org/pub/scm/linux…\"\n      uid=1_147 StaticText \"4 days ago\"\n      uid=1_148 link \"mm, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/mm\"\n        uid=1_149 StaticText \"mm\"\n      uid=1_150 link \"Merge tag 'locking-urgent-2026-03-29' of git://git.kernel.org/pub/scm…\" description=\"Merge tag 'locking-urgent-2026-03-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull futex fixes from Ingo Molnar: - Tighten up the sys_futex_requeue() ABI a bit, to disallow dissimilar futex flags and potential UaF access (Peter Zijlstra) - Fix UaF between futex_key_to_node_opt() and vma_replace_policy() (Hao-Yu Yang) - Clear stale exiting pointer in futex_lock_pi() retry path, which triggered a warning (and potential misbehavior) in stress-testing (Davidlohr Bueso) * tag 'locking-urgent-2026-03-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: futex: Clear stale exiting pointer in futex_lock_pi() retry path futex: Fix UaF between futex_key_to_node_opt() and vma_replace_policy() futex: Require sys_futex_requeue() to have identical flags\" url=\"https://github.com/torvalds/linux/commit/f087b0bad454a91c7d1615f82954a4752843560d\"\n        uid=1_151 StaticText \"Merge tag 'locking-urgent-2026-03-29' of git://git.kernel.org/pub/scm…\"\n      uid=1_152 StaticText \"5 days ago\"\n      uid=1_153 link \"net, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/net\"\n        uid=1_154 StaticText \"net\"\n      uid=1_155 link \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\" description=\"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf Pull bpf fixes from Alexei Starovoitov: - Fix register equivalence for pointers to packet (Alexei Starovoitov) - Fix incorrect pruning due to atomic fetch precision tracking (Daniel Borkmann) - Fix grace period wait for bpf_link-ed tracepoints (Kumar Kartikeya Dwivedi) - Fix use-after-free of sockmap's sk->sk_socket (Kuniyuki Iwashima) - Reject direct access to nullable PTR_TO_BUF pointers (Qi Tang) - Reject sleepable kprobe_multi programs at attach time (Varun R Mallya) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: selftests/bpf: Add more precision tracking tests for atomics bpf: Fix incorrect pruning due to atomic fetch precision tracking bpf: Reject sleepable kprobe_multi programs at attach time bpf: reject direct access to nullable PTR_TO_BUF pointers bpf: sockmap: Fix use-after-free of sk->sk_socket in sk_psock_verdict_data_ready(). bpf: Fix grace period wait for tracepoint bpf_link bpf: Fix regsafe() for pointers to packet\" url=\"https://github.com/torvalds/linux/commit/7b9e74c5a49e1331e03c8ae5f981067da4f33328\"\n        uid=1_156 StaticText \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\"\n      uid=1_157 StaticText \"6 hours ago\"\n      uid=1_158 link \"rust, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/rust\"\n        uid=1_159 StaticText \"rust\"\n      uid=1_160 link \"rust: regulator: do not assume that regulator_get() returns non-null\" description=\"rust: regulator: do not assume that regulator_get() returns non-null The Rust `Regulator` abstraction uses `NonNull` to wrap the underlying `struct regulator` pointer. When `CONFIG_REGULATOR` is disabled, the C stub for `regulator_get` returns `NULL`. `from_err_ptr` does not treat `NULL` as an error, so it was passed to `NonNull::new_unchecked`, causing undefined behavior. Fix this by using a raw pointer `*mut bindings::regulator` instead of `NonNull`. This allows `inner` to be `NULL` when `CONFIG_REGULATOR` is disabled, and leverages the C stubs which are designed to handle `NULL` or are no-ops. Fixes: 9b614ceada7c (\"rust: regulator: add a bare minimum regulator abstraction\") Reported-by: Miguel Ojeda <ojeda@kernel.org> Closes: https://lore.kernel.org/r/20260322193830.89324-1-ojeda@kernel.org Signed-off-by: Alice Ryhl <aliceryhl@google.com> Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com> Link: https://patch.msgid.link/20260324-regulator-fix-v1-1-a5244afa3c15@google.com Signed-off-by: Mark Brown <broonie@kernel.org>\" url=\"https://github.com/torvalds/linux/commit/8121353a4bf8e38afee26299419a78ec108e14a6\"\n        uid=1_161 StaticText \"rust: regulator: do not assume that regulator_get() returns non-null\"\n      uid=1_162 StaticText \"last week\"\n      uid=1_163 link \"samples, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/samples\"\n        uid=1_164 StaticText \"samples\"\n      uid=1_165 link \"Merge tag 'landlock-7.0-rc6' of git://git.kernel.org/pub/scm/linux/ke…\" description=\"Merge tag 'landlock-7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux Pull Landlock fixes from Mickaël Salaün: \"This mainly fixes Landlock TSYNC issues related to interrupts and unexpected task exit. Other fixes touch documentation and sample, and a new test extends coverage\" * tag 'landlock-7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux: landlock: Expand restrict flags example for ABI version 8 selftests/landlock: Test tsync interruption and cancellation paths landlock: Clean up interrupted thread logic in TSYNC landlock: Serialize TSYNC thread restriction samples/landlock: Bump ABI version to 8 landlock: Improve TSYNC types landlock: Fully release unused TSYNC work entries landlock: Fix formatting\" url=\"https://github.com/torvalds/linux/commit/25b69ebe28c8e3f883b071e924b87d358db56047\"\n        uid=1_166 StaticText \"Merge tag 'landlock-7.0-rc6' of git://git.kernel.org/pub/scm/linux/ke…\"\n      uid=1_167 StaticText \"last week\"\n      uid=1_168 link \"scripts, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/scripts\"\n        uid=1_169 StaticText \"scripts\"\n      uid=1_170 link \"Merge tag 'hardening-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/…\" description=\"Merge tag 'hardening-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux Pull hardening fixes from Kees Cook: - fix required Clang version for CC_HAS_COUNTED_BY_PTR (Nathan Chancellor) - update Coccinelle script used for kmalloc_obj * tag 'hardening-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: init/Kconfig: Require a release version of clang-22 for CC_HAS_COUNTED_BY_PTR coccinelle: kmalloc_obj: Remove default GFP_KERNEL arg\" url=\"https://github.com/torvalds/linux/commit/d2a43e7f89da55d6f0f96aaadaa243f35557291e\"\n        uid=1_171 StaticText \"Merge tag 'hardening-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/…\"\n      uid=1_172 StaticText \"last week\"\n      uid=1_173 link \"security, (Directory)\" url=\"https://github.com/torvalds/linux/tree/master/security\"\n        uid=1_174 StaticText \"security\"\n      uid=1_175 link \"Merge tag 'landlock-7.0-rc6' of git://git.kernel.org/pub/scm/linux/ke…\" description=\"Merge tag 'landlock-7.0-rc6' o","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false,"persistedOutputPath":"/Users/kunchen/.claude/projects/-Users-kunchen-github-kunchenguid-axi-bench-browser-results-chrome-devtools-mcp-compressed-cli-github-repo-stars-run1-workspace/9eebeb41-a6f5-4b4f-ae93-4376e1518874/tool-results/bardmk2rr.txt","persistedOutputSize":77198}}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01Xe1NmSCdQH5CfdmSWs8hHf","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01H51HkNQYdZVUw2qqDKkvb3","name":"Bash","input":{"command":"grep -i \"star\\|language\" /Users/kunchen/.claude/projects/-Users-kunchen-github-kunchenguid-axi-bench-browser-results-chrome-devtools-mcp-compressed-cli-github-repo-stars-run1-workspace/9eebeb41-a6f5-4b4f-ae93-4376e1518874/tool-results/bardmk2rr.txt | head -30"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":964,"cache_read_input_tokens":16711,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":964},"output_tokens":53,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","uuid":"87898212-ff0c-4e8f-90a6-cff06584534a"}
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01H51HkNQYdZVUw2qqDKkvb3","type":"tool_result","content":"  uid=1_1 link \"Skip to content\" url=\"https://github.com/torvalds/linux#start-of-content\"\n    uid=1_32 link \"You must be signed in to star a repository\" url=\"https://github.com/login?return_to=%2Ftorvalds%2Flinux\"\n      uid=1_33 StaticText \" Star \"\n      uid=1_120 link \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\" description=\"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf Pull bpf fixes from Alexei Starovoitov: - Fix register equivalence for pointers to packet (Alexei Starovoitov) - Fix incorrect pruning due to atomic fetch precision tracking (Daniel Borkmann) - Fix grace period wait for bpf_link-ed tracepoints (Kumar Kartikeya Dwivedi) - Fix use-after-free of sockmap's sk->sk_socket (Kuniyuki Iwashima) - Reject direct access to nullable PTR_TO_BUF pointers (Qi Tang) - Reject sleepable kprobe_multi programs at attach time (Varun R Mallya) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: selftests/bpf: Add more precision tracking tests for atomics bpf: Fix incorrect pruning due to atomic fetch precision tracking bpf: Reject sleepable kprobe_multi programs at attach time bpf: reject direct access to nullable PTR_TO_BUF pointers bpf: sockmap: Fix use-after-free of sk->sk_socket in sk_psock_verdict_data_ready(). bpf: Fix grace period wait for tracepoint bpf_link bpf: Fix regsafe() for pointers to packet\" url=\"https://github.com/torvalds/linux/commit/7b9e74c5a49e1331e03c8ae5f981067da4f33328\"\n      uid=1_140 link \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\" description=\"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf Pull bpf fixes from Alexei Starovoitov: - Fix register equivalence for pointers to packet (Alexei Starovoitov) - Fix incorrect pruning due to atomic fetch precision tracking (Daniel Borkmann) - Fix grace period wait for bpf_link-ed tracepoints (Kumar Kartikeya Dwivedi) - Fix use-after-free of sockmap's sk->sk_socket (Kuniyuki Iwashima) - Reject direct access to nullable PTR_TO_BUF pointers (Qi Tang) - Reject sleepable kprobe_multi programs at attach time (Varun R Mallya) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: selftests/bpf: Add more precision tracking tests for atomics bpf: Fix incorrect pruning due to atomic fetch precision tracking bpf: Reject sleepable kprobe_multi programs at attach time bpf: reject direct access to nullable PTR_TO_BUF pointers bpf: sockmap: Fix use-after-free of sk->sk_socket in sk_psock_verdict_data_ready(). bpf: Fix grace period wait for tracepoint bpf_link bpf: Fix regsafe() for pointers to packet\" url=\"https://github.com/torvalds/linux/commit/7b9e74c5a49e1331e03c8ae5f981067da4f33328\"\n      uid=1_155 link \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\" description=\"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf Pull bpf fixes from Alexei Starovoitov: - Fix register equivalence for pointers to packet (Alexei Starovoitov) - Fix incorrect pruning due to atomic fetch precision tracking (Daniel Borkmann) - Fix grace period wait for bpf_link-ed tracepoints (Kumar Kartikeya Dwivedi) - Fix use-after-free of sockmap's sk->sk_socket (Kuniyuki Iwashima) - Reject direct access to nullable PTR_TO_BUF pointers (Qi Tang) - Reject sleepable kprobe_multi programs at attach time (Varun R Mallya) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: selftests/bpf: Add more precision tracking tests for atomics bpf: Fix incorrect pruning due to atomic fetch precision tracking bpf: Reject sleepable kprobe_multi programs at attach time bpf: reject direct access to nullable PTR_TO_BUF pointers bpf: sockmap: Fix use-after-free of sk->sk_socket in sk_psock_verdict_data_ready(). bpf: Fix grace period wait for tracepoint bpf_link bpf: Fix regsafe() for pointers to packet\" url=\"https://github.com/torvalds/linux/commit/7b9e74c5a49e1331e03c8ae5f981067da4f33328\"\n      uid=1_188 link \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\" description=\"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf Pull bpf fixes from Alexei Starovoitov: - Fix register equivalence for pointers to packet (Alexei Starovoitov) - Fix incorrect pruning due to atomic fetch precision tracking (Daniel Borkmann) - Fix grace period wait for bpf_link-ed tracepoints (Kumar Kartikeya Dwivedi) - Fix use-after-free of sockmap's sk->sk_socket (Kuniyuki Iwashima) - Reject direct access to nullable PTR_TO_BUF pointers (Qi Tang) - Reject sleepable kprobe_multi programs at attach time (Varun R Mallya) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: selftests/bpf: Add more precision tracking tests for atomics bpf: Fix incorrect pruning due to atomic fetch precision tracking bpf: Reject sleepable kprobe_multi programs at attach time bpf: reject direct access to nullable PTR_TO_BUF pointers bpf: sockmap: Fix use-after-free of sk->sk_socket in sk_psock_verdict_data_ready(). bpf: Fix grace period wait for tracepoint bpf_link bpf: Fix regsafe() for pointers to packet\" url=\"https://github.com/torvalds/linux/commit/7b9e74c5a49e1331e03c8ae5f981067da4f33328\"\n      uid=1_213 link \"rust: clean Rust 1.88.0's warning about clippy::disallowed_macros c…\" description=\"rust: clean Rust 1.88.0's warning about `clippy::disallowed_macros` configuration Starting with Rust 1.88.0 (expected 2025-06-26) [1], Clippy may start warning about paths that do not resolve in the `disallowed_macros` configuration: warning: `kernel::dbg` does not refer to an existing macro --> .clippy.toml:10:5 | 10 | { path = \"kernel::dbg\", reason = \"the `dbg!` macro is intended as a debugging tool\" }, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is a lint we requested at [2], due to the trouble debugging the lint due to false negatives (e.g. [3]), which we use to emulate `clippy::dbg_macro` [4]. See commit 8577c9dca799 (\"rust: replace `clippy::dbg_macro` with `disallowed_macros`\") for more details. Given the false negatives are not resolved yet, it is expected that Clippy complains about not finding this macro. Thus, until the false negatives are fixed (and, even then, probably we will need to wait for the MSRV to raise enough), use the escape hatch to allow an invalid path. Cc: stable@vger.kernel.org # Needed in 6.12.y and later (Rust is pinned in older LTSs). Link: https://github.com/rust-lang/rust-clippy/pull/14397 [1] Link: https://github.com/rust-lang/rust-clippy/issues/11432 [2] Link: https://github.com/rust-lang/rust-clippy/issues/11431 [3] Link: https://github.com/rust-lang/rust-clippy/issues/11303 [4] Reviewed-by: Alice Ryhl <aliceryhl@google.com> Link: https://lore.kernel.org/r/20250502140237.1659624-5-ojeda@kernel.org Signed-off-by: Miguel Ojeda <ojeda@kernel.org>\" url=\"https://github.com/torvalds/linux/commit/c016722fd57551f8a6fcf472c9d2bcf2130ea0ec\"\n      uid=1_271 link \"sched: Make migrate_{en,dis}able() inline\" description=\"sched: Make migrate_{en,dis}able() inline For now, migrate_enable and migrate_disable are global, which makes them become hotspots in some case. Take BPF for example, the function calling to migrate_enable and migrate_disable in BPF trampoline can introduce significant overhead, and following is the 'perf top' of FENTRY's benchmark (./tools/testing/selftests/bpf/bench trig-fentry): 54.63% bpf_prog_2dcccf652aac1793_bench_trigger_fentry [k] bpf_prog_2dcccf652aac1793_bench_trigger_fentry 10.43% [kernel] [k] migrate_enable 10.07% bpf_trampoline_6442517037 [k] bpf_trampoline_6442517037 8.06% [kernel] [k] __bpf_prog_exit_recur 4.11% libc.so.6 [.] syscall 2.15% [kernel] [k] entry_SYSCALL_64 1.48% [kernel] [k] memchr_inv 1.32% [kernel] [k] fput 1.16% [kernel] [k] _copy_to_user 0.73% [kernel] [k] bpf_prog_test_run_raw_tp So in this commit, we make migrate_enable/migrate_disable inline to obtain better performance. The struct rq is defined internally in kernel/sched/sched.h, and the field \"nr_pinned\" is accessed in migrate_enable/migrate_disable, which makes it hard to make them inline. Alexei Starovoitov suggests to generate the offset of \"nr_pinned\" in [1], so we can define the migrate_enable/migrate_disable in include/linux/sched.h and access \"this_rq()->nr_pinned\" with \"(void *)this_rq() + RQ_nr_pinned\". The offset of \"nr_pinned\" is generated in include/generated/rq-offsets.h by kernel/sched/rq-offsets.c. Generally speaking, we move the definition of migrate_enable and migrate_disable to include/linux/sched.h from kernel/sched/core.c. The calling to __set_cpus_allowed_ptr() is leaved in ___migrate_enable(). The \"struct rq\" is not available in include/linux/sched.h, so we can't access the \"runqueues\" with this_cpu_ptr(), as the compilation will fail in this_cpu_ptr() -> raw_cpu_ptr() -> __verify_pcpu_ptr(): typeof((ptr) + 0) So we introduce the this_rq_raw() and access the runqueues with arch_raw_cpu_ptr/PERCPU_PTR directly. The variable \"runqueues\" is not visible in the kernel modules, and export it is not a good idea. As Peter Zijlstra advised in [2], we define and export migrate_enable/migrate_disable in kernel/sched/core.c too, and use them for the modules. Before this patch, the performance of BPF FENTRY is: fentry : 113.030 ± 0.149M/s fentry : 112.501 ± 0.187M/s fentry : 112.828 ± 0.267M/s fentry : 115.287 ± 0.241M/s After this patch, the performance of BPF FENTRY increases to: fentry : 143.644 ± 0.670M/s fentry : 149.764 ± 0.362M/s fentry : 149.642 ± 0.156M/s fentry : 145.263 ± 0.221M/s Signed-off-by: Menglong Dong <dongml2@chinatelecom.cn> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lore.kernel.org/bpf/CAADnVQ+5sEDKHdsJY5ZsfGDO_1SEhhQWHrt2SMBG5SYyQ+jt7w@mail.gmail.com/ [1] Link: https://lore.kernel.org/all/20250819123214.GH4067720@noisy.programming.kicks-ass.net/ [2]\" url=\"https://github.com/torvalds/linux/commit/378b7708194fff77c9020392067329931c3fcc04\"\nQuick Start\n* New Kernel Developer - Getting started with kernel development\nWelcome! Start your kernel development journey here:\n* Getting Started: Documentation/process/development-process.rst\n      uid=1_326 heading \"Stars\" level=\"3\"\n      uid=1_327 link \"227k stars\" url=\"https://github.com/torvalds/linux/stargazers\"\n        uid=1_329 StaticText \" stars\"\n      uid=1_383 heading \"Languages\" level=\"2\"","is_error":false}]},"parent_tool_use_id":null,"session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","uuid":"9b62618e-5b68-4b7d-bd6e-434f6590ba9c","timestamp":"2026-04-03T08:50:38.532Z","tool_use_result":{"stdout":"  uid=1_1 link \"Skip to content\" url=\"https://github.com/torvalds/linux#start-of-content\"\n    uid=1_32 link \"You must be signed in to star a repository\" url=\"https://github.com/login?return_to=%2Ftorvalds%2Flinux\"\n      uid=1_33 StaticText \" Star \"\n      uid=1_120 link \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\" description=\"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf Pull bpf fixes from Alexei Starovoitov: - Fix register equivalence for pointers to packet (Alexei Starovoitov) - Fix incorrect pruning due to atomic fetch precision tracking (Daniel Borkmann) - Fix grace period wait for bpf_link-ed tracepoints (Kumar Kartikeya Dwivedi) - Fix use-after-free of sockmap's sk->sk_socket (Kuniyuki Iwashima) - Reject direct access to nullable PTR_TO_BUF pointers (Qi Tang) - Reject sleepable kprobe_multi programs at attach time (Varun R Mallya) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: selftests/bpf: Add more precision tracking tests for atomics bpf: Fix incorrect pruning due to atomic fetch precision tracking bpf: Reject sleepable kprobe_multi programs at attach time bpf: reject direct access to nullable PTR_TO_BUF pointers bpf: sockmap: Fix use-after-free of sk->sk_socket in sk_psock_verdict_data_ready(). bpf: Fix grace period wait for tracepoint bpf_link bpf: Fix regsafe() for pointers to packet\" url=\"https://github.com/torvalds/linux/commit/7b9e74c5a49e1331e03c8ae5f981067da4f33328\"\n      uid=1_140 link \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\" description=\"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf Pull bpf fixes from Alexei Starovoitov: - Fix register equivalence for pointers to packet (Alexei Starovoitov) - Fix incorrect pruning due to atomic fetch precision tracking (Daniel Borkmann) - Fix grace period wait for bpf_link-ed tracepoints (Kumar Kartikeya Dwivedi) - Fix use-after-free of sockmap's sk->sk_socket (Kuniyuki Iwashima) - Reject direct access to nullable PTR_TO_BUF pointers (Qi Tang) - Reject sleepable kprobe_multi programs at attach time (Varun R Mallya) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: selftests/bpf: Add more precision tracking tests for atomics bpf: Fix incorrect pruning due to atomic fetch precision tracking bpf: Reject sleepable kprobe_multi programs at attach time bpf: reject direct access to nullable PTR_TO_BUF pointers bpf: sockmap: Fix use-after-free of sk->sk_socket in sk_psock_verdict_data_ready(). bpf: Fix grace period wait for tracepoint bpf_link bpf: Fix regsafe() for pointers to packet\" url=\"https://github.com/torvalds/linux/commit/7b9e74c5a49e1331e03c8ae5f981067da4f33328\"\n      uid=1_155 link \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\" description=\"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf Pull bpf fixes from Alexei Starovoitov: - Fix register equivalence for pointers to packet (Alexei Starovoitov) - Fix incorrect pruning due to atomic fetch precision tracking (Daniel Borkmann) - Fix grace period wait for bpf_link-ed tracepoints (Kumar Kartikeya Dwivedi) - Fix use-after-free of sockmap's sk->sk_socket (Kuniyuki Iwashima) - Reject direct access to nullable PTR_TO_BUF pointers (Qi Tang) - Reject sleepable kprobe_multi programs at attach time (Varun R Mallya) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: selftests/bpf: Add more precision tracking tests for atomics bpf: Fix incorrect pruning due to atomic fetch precision tracking bpf: Reject sleepable kprobe_multi programs at attach time bpf: reject direct access to nullable PTR_TO_BUF pointers bpf: sockmap: Fix use-after-free of sk->sk_socket in sk_psock_verdict_data_ready(). bpf: Fix grace period wait for tracepoint bpf_link bpf: Fix regsafe() for pointers to packet\" url=\"https://github.com/torvalds/linux/commit/7b9e74c5a49e1331e03c8ae5f981067da4f33328\"\n      uid=1_188 link \"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…\" description=\"Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf Pull bpf fixes from Alexei Starovoitov: - Fix register equivalence for pointers to packet (Alexei Starovoitov) - Fix incorrect pruning due to atomic fetch precision tracking (Daniel Borkmann) - Fix grace period wait for bpf_link-ed tracepoints (Kumar Kartikeya Dwivedi) - Fix use-after-free of sockmap's sk->sk_socket (Kuniyuki Iwashima) - Reject direct access to nullable PTR_TO_BUF pointers (Qi Tang) - Reject sleepable kprobe_multi programs at attach time (Varun R Mallya) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: selftests/bpf: Add more precision tracking tests for atomics bpf: Fix incorrect pruning due to atomic fetch precision tracking bpf: Reject sleepable kprobe_multi programs at attach time bpf: reject direct access to nullable PTR_TO_BUF pointers bpf: sockmap: Fix use-after-free of sk->sk_socket in sk_psock_verdict_data_ready(). bpf: Fix grace period wait for tracepoint bpf_link bpf: Fix regsafe() for pointers to packet\" url=\"https://github.com/torvalds/linux/commit/7b9e74c5a49e1331e03c8ae5f981067da4f33328\"\n      uid=1_213 link \"rust: clean Rust 1.88.0's warning about clippy::disallowed_macros c…\" description=\"rust: clean Rust 1.88.0's warning about `clippy::disallowed_macros` configuration Starting with Rust 1.88.0 (expected 2025-06-26) [1], Clippy may start warning about paths that do not resolve in the `disallowed_macros` configuration: warning: `kernel::dbg` does not refer to an existing macro --> .clippy.toml:10:5 | 10 | { path = \"kernel::dbg\", reason = \"the `dbg!` macro is intended as a debugging tool\" }, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is a lint we requested at [2], due to the trouble debugging the lint due to false negatives (e.g. [3]), which we use to emulate `clippy::dbg_macro` [4]. See commit 8577c9dca799 (\"rust: replace `clippy::dbg_macro` with `disallowed_macros`\") for more details. Given the false negatives are not resolved yet, it is expected that Clippy complains about not finding this macro. Thus, until the false negatives are fixed (and, even then, probably we will need to wait for the MSRV to raise enough), use the escape hatch to allow an invalid path. Cc: stable@vger.kernel.org # Needed in 6.12.y and later (Rust is pinned in older LTSs). Link: https://github.com/rust-lang/rust-clippy/pull/14397 [1] Link: https://github.com/rust-lang/rust-clippy/issues/11432 [2] Link: https://github.com/rust-lang/rust-clippy/issues/11431 [3] Link: https://github.com/rust-lang/rust-clippy/issues/11303 [4] Reviewed-by: Alice Ryhl <aliceryhl@google.com> Link: https://lore.kernel.org/r/20250502140237.1659624-5-ojeda@kernel.org Signed-off-by: Miguel Ojeda <ojeda@kernel.org>\" url=\"https://github.com/torvalds/linux/commit/c016722fd57551f8a6fcf472c9d2bcf2130ea0ec\"\n      uid=1_271 link \"sched: Make migrate_{en,dis}able() inline\" description=\"sched: Make migrate_{en,dis}able() inline For now, migrate_enable and migrate_disable are global, which makes them become hotspots in some case. Take BPF for example, the function calling to migrate_enable and migrate_disable in BPF trampoline can introduce significant overhead, and following is the 'perf top' of FENTRY's benchmark (./tools/testing/selftests/bpf/bench trig-fentry): 54.63% bpf_prog_2dcccf652aac1793_bench_trigger_fentry [k] bpf_prog_2dcccf652aac1793_bench_trigger_fentry 10.43% [kernel] [k] migrate_enable 10.07% bpf_trampoline_6442517037 [k] bpf_trampoline_6442517037 8.06% [kernel] [k] __bpf_prog_exit_recur 4.11% libc.so.6 [.] syscall 2.15% [kernel] [k] entry_SYSCALL_64 1.48% [kernel] [k] memchr_inv 1.32% [kernel] [k] fput 1.16% [kernel] [k] _copy_to_user 0.73% [kernel] [k] bpf_prog_test_run_raw_tp So in this commit, we make migrate_enable/migrate_disable inline to obtain better performance. The struct rq is defined internally in kernel/sched/sched.h, and the field \"nr_pinned\" is accessed in migrate_enable/migrate_disable, which makes it hard to make them inline. Alexei Starovoitov suggests to generate the offset of \"nr_pinned\" in [1], so we can define the migrate_enable/migrate_disable in include/linux/sched.h and access \"this_rq()->nr_pinned\" with \"(void *)this_rq() + RQ_nr_pinned\". The offset of \"nr_pinned\" is generated in include/generated/rq-offsets.h by kernel/sched/rq-offsets.c. Generally speaking, we move the definition of migrate_enable and migrate_disable to include/linux/sched.h from kernel/sched/core.c. The calling to __set_cpus_allowed_ptr() is leaved in ___migrate_enable(). The \"struct rq\" is not available in include/linux/sched.h, so we can't access the \"runqueues\" with this_cpu_ptr(), as the compilation will fail in this_cpu_ptr() -> raw_cpu_ptr() -> __verify_pcpu_ptr(): typeof((ptr) + 0) So we introduce the this_rq_raw() and access the runqueues with arch_raw_cpu_ptr/PERCPU_PTR directly. The variable \"runqueues\" is not visible in the kernel modules, and export it is not a good idea. As Peter Zijlstra advised in [2], we define and export migrate_enable/migrate_disable in kernel/sched/core.c too, and use them for the modules. Before this patch, the performance of BPF FENTRY is: fentry : 113.030 ± 0.149M/s fentry : 112.501 ± 0.187M/s fentry : 112.828 ± 0.267M/s fentry : 115.287 ± 0.241M/s After this patch, the performance of BPF FENTRY increases to: fentry : 143.644 ± 0.670M/s fentry : 149.764 ± 0.362M/s fentry : 149.642 ± 0.156M/s fentry : 145.263 ± 0.221M/s Signed-off-by: Menglong Dong <dongml2@chinatelecom.cn> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lore.kernel.org/bpf/CAADnVQ+5sEDKHdsJY5ZsfGDO_1SEhhQWHrt2SMBG5SYyQ+jt7w@mail.gmail.com/ [1] Link: https://lore.kernel.org/all/20250819123214.GH4067720@noisy.programming.kicks-ass.net/ [2]\" url=\"https://github.com/torvalds/linux/commit/378b7708194fff77c9020392067329931c3fcc04\"\nQuick Start\n* New Kernel Developer - Getting started with kernel development\nWelcome! Start your kernel development journey here:\n* Getting Started: Documentation/process/development-process.rst\n      uid=1_326 heading \"Stars\" level=\"3\"\n      uid=1_327 link \"227k stars\" url=\"https://github.com/torvalds/linux/stargazers\"\n        uid=1_329 StaticText \" stars\"\n      uid=1_383 heading \"Languages\" level=\"2\"","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01UGGmZTYZ1kvDNrWe2bVsLa","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_012mQAGCmS4WR7T3ubPYfCEz","name":"Bash","input":{"command":"grep -A 20 \"Languages\" /Users/kunchen/.claude/projects/-Users-kunchen-github-kunchenguid-axi-bench-browser-results-chrome-devtools-mcp-compressed-cli-github-repo-stars-run1-workspace/9eebeb41-a6f5-4b4f-ae93-4376e1518874/tool-results/bardmk2rr.txt | head -30"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":4854,"cache_read_input_tokens":16711,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":4854},"output_tokens":37,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","uuid":"33435472-8644-4c1d-bc35-3172d192a809"}
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_012mQAGCmS4WR7T3ubPYfCEz","type":"tool_result","content":"      uid=1_383 heading \"Languages\" level=\"2\"\n      uid=1_384 link \"C 98.0%\" url=\"https://github.com/torvalds/linux/search?l=c\"\n        uid=1_385 StaticText \"C\"\n        uid=1_386 StaticText \"98.0%\"\n      uid=1_387 link \"Assembly 0.7%\" url=\"https://github.com/torvalds/linux/search?l=assembly\"\n        uid=1_388 StaticText \"Assembly\"\n        uid=1_389 StaticText \"0.7%\"\n      uid=1_390 link \"Shell 0.4%\" url=\"https://github.com/torvalds/linux/search?l=shell\"\n        uid=1_391 StaticText \"Shell\"\n        uid=1_392 StaticText \"0.4%\"\n      uid=1_393 link \"Rust 0.3%\" url=\"https://github.com/torvalds/linux/search?l=rust\"\n        uid=1_394 StaticText \"Rust\"\n        uid=1_395 StaticText \"0.3%\"\n      uid=1_396 link \"Python 0.3%\" url=\"https://github.com/torvalds/linux/search?l=python\"\n        uid=1_397 StaticText \"Python\"\n        uid=1_398 StaticText \"0.3%\"\n      uid=1_399 link \"Makefile 0.2%\" url=\"https://github.com/torvalds/linux/search?l=makefile\"\n        uid=1_400 StaticText \"Makefile\"\n        uid=1_401 StaticText \"0.2%\"\n      uid=1_402 StaticText \"Other\"\n      uid=1_403 StaticText \"0.1%\"","is_error":false}]},"parent_tool_use_id":null,"session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","uuid":"e53ad50e-e6e4-48f8-8726-70b0ab5c4f05","timestamp":"2026-04-03T08:50:44.089Z","tool_use_result":{"stdout":"      uid=1_383 heading \"Languages\" level=\"2\"\n      uid=1_384 link \"C 98.0%\" url=\"https://github.com/torvalds/linux/search?l=c\"\n        uid=1_385 StaticText \"C\"\n        uid=1_386 StaticText \"98.0%\"\n      uid=1_387 link \"Assembly 0.7%\" url=\"https://github.com/torvalds/linux/search?l=assembly\"\n        uid=1_388 StaticText \"Assembly\"\n        uid=1_389 StaticText \"0.7%\"\n      uid=1_390 link \"Shell 0.4%\" url=\"https://github.com/torvalds/linux/search?l=shell\"\n        uid=1_391 StaticText \"Shell\"\n        uid=1_392 StaticText \"0.4%\"\n      uid=1_393 link \"Rust 0.3%\" url=\"https://github.com/torvalds/linux/search?l=rust\"\n        uid=1_394 StaticText \"Rust\"\n        uid=1_395 StaticText \"0.3%\"\n      uid=1_396 link \"Python 0.3%\" url=\"https://github.com/torvalds/linux/search?l=python\"\n        uid=1_397 StaticText \"Python\"\n        uid=1_398 StaticText \"0.3%\"\n      uid=1_399 link \"Makefile 0.2%\" url=\"https://github.com/torvalds/linux/search?l=makefile\"\n        uid=1_400 StaticText \"Makefile\"\n        uid=1_401 StaticText \"0.2%\"\n      uid=1_402 StaticText \"Other\"\n      uid=1_403 StaticText \"0.1%\"","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_0123XVxoj3fK3ymtf3Hj7JUx","type":"message","role":"assistant","content":[{"type":"text","text":"Here are the results from [torvalds/linux](https://github.com/torvalds/linux):\n\n- **Stars:** ~227k\n- **Primary language:** C (98.0%)"}],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":623,"cache_read_input_tokens":21565,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":623},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","uuid":"bbae2ca1-bf70-4ac8-8cc5-a93b1dfcb7ad"}
{"type":"result","subtype":"success","is_error":false,"duration_ms":20560,"duration_api_ms":17097,"num_turns":6,"result":"Here are the results from [torvalds/linux](https://github.com/torvalds/linux):\n\n- **Stars:** ~227k\n- **Primary language:** C (98.0%)","stop_reason":"end_turn","session_id":"9eebeb41-a6f5-4b4f-ae93-4376e1518874","total_cost_usd":0.09223215,"usage":{"input_tokens":7,"cache_creation_input_tokens":14549,"cache_read_input_tokens":96058,"output_tokens":589,"server_tool_use":{"web_search_requests":0,"web_fetch_requests":0},"service_tier":"standard","cache_creation":{"ephemeral_1h_input_tokens":14549,"ephemeral_5m_input_tokens":0},"inference_geo":"","iterations":[],"speed":"standard"},"modelUsage":{"claude-sonnet-4-6":{"inputTokens":7,"outputTokens":589,"cacheReadInputTokens":96058,"cacheCreationInputTokens":14549,"webSearchRequests":0,"costUSD":0.09223215,"contextWindow":200000,"maxOutputTokens":32000}},"permission_denials":[],"fast_mode_state":"off","uuid":"f1c2a1d9-6bd5-46e2-9eb1-865e8da49136"}
