{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":5904999,"defaultBranch":"linus","name":"linux","ownerLogin":"jgunthorpe","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2012-09-21T17:35:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/665037?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1718108703.0","currentOid":""},"activityList":{"items":[{"before":"be72629e27bb72304b926186b0f92f2b4d8b822d","after":"3483292b3276ca13942f96945b5f34aa184da05e","ref":"refs/heads/smmuv3_tidy","pushedAt":"2024-06-11T12:25:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Tidy some minor things in the stream table/cd table area\n\nWill pointed out that two places referring to the CD/STE struct did not\nget the new types. While auditing this code a few more oddities were\nnoticed. Based on a feedback from Mostafa and Nicolin a few more things\nwere fixed up too\n\n- Use types for all the HW structures everywhere even for the L1\n descriptors that are just a single 8 bytes. This helps with clarity of\n what everthing is pointing at\n- Use indexing helpers for the STE/CD two level calculations\n- Use sizeof(struct X) instead of open coded math on constants. The sizeof\n naturally follows the type of the related variable in almost all cases\n- Remove redundant dma_addr_t's and save some memory\n- Remove redundant devm usage\n- Use the modern rbtree API\n\nParts of this have been sitting in my tree for a while now, it grew a bit\nsince v1, but nothing is particularly profound here. Enough is merged now\nthat they can be cleanly based and are seperate from my other series.\n\nv2:\n - Add a patch to add structs for the L1/L2 HW layouts and use their\n sizeof and type instead of constants and generic __le64 *.\n - Add a patch for L1/L2 indexing helpers for clarity\n - Reorder patches\n - Redo the union layout in the cfg for both cases\n - Fully remove some more defines\nv1: https://lore.kernel.org/r/0-v1-1b720dce51d1+4f44-smmuv3_tidy_jgg@nvidia.com\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Mostafa Saleh \nCc: Ryan Roberts \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Tidy some minor things in the stream table/cd table area"}},{"before":"a5e4a3e8ed17bd1463fd953121f1e02adb5fd203","after":"be72629e27bb72304b926186b0f92f2b4d8b822d","ref":"refs/heads/smmuv3_tidy","pushedAt":"2024-06-10T22:41:06.000Z","pushType":"push","commitsCount":385,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"Merge branch 'torvalds:master' into smmuv3_tidy","shortMessageHtmlLink":"Merge branch 'torvalds:master' into smmuv3_tidy"}},{"before":"c58a77fe0ba1b708759338ad8bd3828b75a26035","after":"a5e4a3e8ed17bd1463fd953121f1e02adb5fd203","ref":"refs/heads/smmuv3_tidy","pushedAt":"2024-06-07T00:27:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"iommu/arm-smmu-v3: Reorganize struct arm_smmu_ctx_desc_cfg\n\nThe members here are being used for both the linear and the 2 level case,\nwith the meaning of each item slightly different in the two cases.\n\nSplit it into a clean union where both cases have their own struct with\ntheir own logical names and correct types.\n\nAdjust all the users to detect linear/2lvl and use the right sub structure\nand types consistently.\n\nRemove CTXDESC_CD_DWORDS by changing the last places to use\nsizeof(struct arm_smmu_cd).\n\nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"iommu/arm-smmu-v3: Reorganize struct arm_smmu_ctx_desc_cfg"}},{"before":"b790dee50a61768369972370d10d1171c09ce5f2","after":"51f056c192bd1ffcc2bba758faf6b2f980f7eb5e","ref":"refs/heads/fwctl","pushedAt":"2024-06-05T21:08:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Introduce fwctl subystem\n\nfwctl is a new subsystem intended to bring some common rules and order to\nthe growing pattern of exposing a secure FW interface directly to\nuserspace. Unlike existing places like RDMA/DRM/VFIO/uacce that are\nexposing a device for datapath operations fwctl is focused on debugging,\nconfiguration and provisioning of the device. It will not have the\nnecessary features like interrupt delivery to support a datapath.\n\nThis concept is similar to the long standing practice in the \"HW\" RAID\nspace of having a device specific misc device to manager the RAID\ncontroller FW. fwctl generalizes this notion of a companion debug and\nmanagement interface that goes along with a dataplane implemented in an\nappropriate subsystem.\n\nThe need for this has reached a critical point as many users are moving to\nrun lockdown enabled kernels. Several existing devices have had long\nstanding tooling for management that relied on /sys/../resource0 or PCI\nconfig space access which is not permitted in lockdown. A major point of\nfwctl is to define and document the rules that a device must follow to\nexpose a lockdown compatible RPC.\n\nBased on some discussion fwctl splits the RPCs into four categories\n\n\tFWCTL_RPC_CONFIGURATION\n\tFWCTL_RPC_DEBUG_READ_ONLY\n\tFWCTL_RPC_DEBUG_WRITE\n\tFWCTL_RPC_DEBUG_WRITE_FULL\n\nWhere the latter two trigger a new TAINT_FWCTL, and the final one requires\nCAP_SYS_RAWIO - excluding it from lockdown. The device driver and its FW\nwould be responsible to restrict RPCs to the requested security scope,\nwhile the core code handles the tainting and CAP checks.\n\nFor details see the final patch which introduces the documentation.\n\nThis series incorporates a version of the mlx5ctl interface previously\nproposed:\n https://lore.kernel.org/r/20240207072435.14182-1-saeed@kernel.org/\n\nFor this series the memory registration mechanism was removed, but I\nexpect it will come back.\n\nThis series comes with mlx5 as a driver implementation, and I have soft\ncommitments for at least three more drivers.\n\nThere have been two LWN articles written discussing various aspects of\nthis proposal:\n\n https://lwn.net/Articles/955001/\n https://lwn.net/Articles/969383/\n\nSeveral have expressed general support for this concept:\n\n Broadcom Networking - https://lore.kernel.org/r/Zf2n02q0GevGdS-Z@C02YVCJELVCG\n Christoph Hellwig - https://lore.kernel.org/r/Zcx53N8lQjkpEu94@infradead.org/\n Enfabrica - https://lore.kernel.org/r/9cc7127f-8674-43bc-b4d7-b1c4c2d96fed@kernel.org/\n NVIDIA Networking\n Oracle Linux - https://lore.kernel.org/r/6lakj6lxlxhdgrewodvj3xh6sxn3d36t5dab6najzyti2navx3@wrge7cyfk6nq\n\nWork is ongoing for a robust multi-device open source userspace, currently\nthe mlx5ctl_user that was posted by Saeed has been updated to use fwctl.\n\n https://github.com/saeedtx/mlx5ctl.git\n https://github.com/jgunthorpe/mlx5ctl.git\n\nThis is on github: https://github.com/jgunthorpe/linux/commits/fwctl\n\nCc: Andy Gospodarek \nCc: Aron Silverton \nCc: Christoph Hellwig \nCc: David Ahern \nCc: Itay Avraham \nCc: Jakub Kicinski \nCc: Jiri Pirko \nCc: Leon Romanovsky \nCc: Leonid Bloch \nCc: Dan Williams \nCc: linux-cxl@vger.kernel.org\nCc: linux-rdma@vger.kernel.org\nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Introduce fwctl subystem"}},{"before":"16a2b15fdfdde2da9c476934f46192cf920717e9","after":"988d36441751a078f0a30d1bcf7e4c15c143ec4a","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-06-04T19:03:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":null,"after":"c58a77fe0ba1b708759338ad8bd3828b75a26035","ref":"refs/heads/smmuv3_tidy","pushedAt":"2024-06-03T17:57:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Tidy some minor things in the stream table/cd table area\n\nWill pointed out that two places referring to the CD/STE struct did not\nget the new types. While auditing this code a few more oddities were\nnoticed.\n\n- Correct types for the linear stream/cd table pointers struct\n- Remove redundant dma_addr_t's and save some memory\n- Remove redundant devm usage\n- Use the modern rbtree API\n\nNothing is particularly profound here, I've been sitting on these for\nawhile, enough is merged now that they can be cleanly based and are\nseperate from my other series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Mostafa Saleh \nCc: Ryan Roberts \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Tidy some minor things in the stream table/cd table area"}},{"before":"60233741422ad55fd9272ee5be95f9dd9c4fbfa3","after":"b790dee50a61768369972370d10d1171c09ce5f2","ref":"refs/heads/fwctl","pushedAt":"2024-06-03T15:52:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Introduce fwctl subystem\n\nfwctl is a new subsystem intended to bring some common rules and order to\nthe growing pattern of exposing a secure FW interface directly to\nuserspace. Unlike existing places like RDMA/DRM/VFIO/uacce that are\nexposing a device for datapath operations fwctl is focused on debugging,\nconfiguration and provisioning of the device. It will not have the\nnecessary features like interrupt delivery to support a datapath.\n\nThis concept is similar to the long standing practice in the \"HW\" RAID\nspace of having a device specific misc device to manager the RAID\ncontroller FW. fwctl generalizes this notion of a companion debug and\nmanagement interface that goes along with a dataplane implemented in an\nappropriate subsystem.\n\nThe need for this has reached a critical point as many users are moving to\nrun lockdown enabled kernels. Several existing devices have had long\nstanding tooling for management that relied on /sys/../resource0 or PCI\nconfig space access which is not permitted in lockdown. A major point of\nfwctl is to define and document the rules that a device must follow to\nexpose a lockdown compatible RPC.\n\nBased on some discussion fwctl splits the RPCs into four categories\n\n\tFWCTL_RPC_CONFIGURATION\n\tFWCTL_RPC_DEBUG_READ_ONLY\n\tFWCTL_RPC_DEBUG_WRITE\n\tFWCTL_RPC_DEBUG_WRITE_FULL\n\nWhere the latter two trigger a new TAINT_FWCTL, and the final one requires\nCAP_SYS_RAWIO - excluding it from lockdown. The device driver and its FW\nwould be responsible to restrict RPCs to the requested security scope,\nwhile the core code handles the tainting and CAP checks.\n\nFor details see the final patch which introduces the documentation.\n\nThis series incorporates a version of the mlx5ctl interface previously\nproposed:\n https://lore.kernel.org/r/20240207072435.14182-1-saeed@kernel.org/\n\nFor this series the memory registration mechanism was removed, but I\nexpect it will come back.\n\nThis series comes with mlx5 as a driver implementation, and I have soft\ncommitments for at least three more drivers.\n\nThere have been two LWN articles written discussing various aspects of\nthis proposal:\n\n https://lwn.net/Articles/955001/\n https://lwn.net/Articles/969383/\n\nSeveral have expressed general support for this concept:\n\n Broadcom Networking - https://lore.kernel.org/r/Zf2n02q0GevGdS-Z@C02YVCJELVCG\n Christoph Hellwig - https://lore.kernel.org/r/Zcx53N8lQjkpEu94@infradead.org/\n Enfabrica - https://lore.kernel.org/r/9cc7127f-8674-43bc-b4d7-b1c4c2d96fed@kernel.org/\n NVIDIA Networking\n Oracle Linux - https://lore.kernel.org/r/6lakj6lxlxhdgrewodvj3xh6sxn3d36t5dab6najzyti2navx3@wrge7cyfk6nq\n\nWork is ongoing for a robust multi-device open source userspace, currently\nthe mlx5ctl_user that was posted by Saeed has been updated to use fwctl.\n\n https://github.com/saeedtx/mlx5ctl.git\n https://github.com/jgunthorpe/mlx5ctl.git\n\nThis is on github: https://github.com/jgunthorpe/linux/commits/fwctl\n\nCc: Andy Gospodarek \nCc: Aron Silverton \nCc: Christoph Hellwig \nCc: David Ahern \nCc: Itay Avraham \nCc: Jakub Kicinski \nCc: Jiri Pirko \nCc: Leon Romanovsky \nCc: Leonid Bloch \nCc: Dan Williams \nCc: linux-cxl@vger.kernel.org\nCc: linux-rdma@vger.kernel.org\nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Introduce fwctl subystem"}},{"before":"326c773a5f8ea7805aa979fe63a534a2d366a33d","after":"60233741422ad55fd9272ee5be95f9dd9c4fbfa3","ref":"refs/heads/fwctl","pushedAt":"2024-06-03T13:57:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Introduce fwctl subystem\n\nfwctl is a new subsystem intended to bring some common rules and order to\nthe growing pattern of exposing a secure FW interface directly to\nuserspace. Unlike existing places like RDMA/DRM/VFIO/uacce that are\nexposing a device for datapath operations fwctl is focused on debugging,\nconfiguration and provisioning of the device. It will not have the\nnecessary features like interrupt delivery to support a datapath.\n\nThis concept is similar to the long standing practice in the \"HW\" RAID\nspace of having a device specific misc device to manager the RAID\ncontroller FW. fwctl generalizes this notion of a companion debug and\nmanagement interface that goes along with a dataplane implemented in an\nappropriate subsystem.\n\nThe need for this has reached a critical point as many users are moving to\nrun lockdown enabled kernels. Several existing devices have had long\nstanding tooling for management that relied on /sys/../resource0 or PCI\nconfig space access which is not permitted in lockdown. A major point of\nfwctl is to define and document the rules that a device must follow to\nexpose a lockdown compatible RPC.\n\nBased on some discussion fwctl splits the RPCs into four categories\n\n\tFWCTL_RPC_CONFIGURATION\n\tFWCTL_RPC_DEBUG_READ_ONLY\n\tFWCTL_RPC_DEBUG_WRITE\n\tFWCTL_RPC_DEBUG_WRITE_FULL\n\nWhere the latter two trigger a new TAINT_FWCTL, and the final one requires\nCAP_SYS_RAWIO - excluding it from lockdown. The device driver and its FW\nwould be responsible to restrict RPCs to the requested security scope,\nwhile the core code handles the tainting and CAP checks.\n\nFor details see the final patch which introduces the documentation.\n\nThis series incorporates a version of the mlx5ctl interface previously\nproposed:\n https://lore.kernel.org/r/20240207072435.14182-1-saeed@kernel.org/\n\nFor this series the memory registration mechanism was removed, but I\nexpect it will come back.\n\nThis series comes with mlx5 as a driver implementation, and I have soft\ncommitments for at least three more drivers.\n\nThere have been two LWN articles written discussing various aspects of\nthis proposal:\n\n https://lwn.net/Articles/955001/\n https://lwn.net/Articles/969383/\n\nSeveral have expressed general support for this concept:\n\n Broadcom Networking - https://lore.kernel.org/r/Zf2n02q0GevGdS-Z@C02YVCJELVCG\n Christoph Hellwig - https://lore.kernel.org/r/Zcx53N8lQjkpEu94@infradead.org/\n Enfabrica - https://lore.kernel.org/r/9cc7127f-8674-43bc-b4d7-b1c4c2d96fed@kernel.org/\n NVIDIA Networking\n Oracle Linux - https://lore.kernel.org/r/6lakj6lxlxhdgrewodvj3xh6sxn3d36t5dab6najzyti2navx3@wrge7cyfk6nq\n\nWork is ongoing for a robust multi-device open source userspace, currently\nthe mlx5ctl_user that was posted by Saeed has been updated to use fwctl.\n\n https://github.com/saeedtx/mlx5ctl.git\n https://github.com/jgunthorpe/mlx5ctl.git\n\nThis is on github: https://github.com/jgunthorpe/linux/commits/fwctl\n\nCc: Andy Gospodarek \nCc: Aron Silverton \nCc: Christoph Hellwig \nCc: David Ahern \nCc: Itay Avraham \nCc: Jakub Kicinski \nCc: Jiri Pirko \nCc: Leon Romanovsky \nCc: Leonid Bloch \nCc: Dan Williams \nCc: linux-cxl@vger.kernel.org\nCc: linux-rdma@vger.kernel.org\nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Introduce fwctl subystem"}},{"before":"e67572cd2204894179d89bd7b984072f19313b03","after":"c3f38fa61af77b49866b006939479069cd451173","ref":"refs/heads/linus","pushedAt":"2024-06-03T13:57:04.000Z","pushType":"push","commitsCount":10000,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"Linux 6.10-rc2","shortMessageHtmlLink":"Linux 6.10-rc2"}},{"before":"53c052ac3398a5581d230f924d89b0c71380e006","after":"16a2b15fdfdde2da9c476934f46192cf920717e9","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-05-24T23:59:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":"ec4c459d51a8f6b03f7831c8eb16d0e74431c5f1","after":"53c052ac3398a5581d230f924d89b0c71380e006","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-05-08T18:58:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":"59643a21d8dd85dc8688cfabbe920f934d2e0976","after":"326c773a5f8ea7805aa979fe63a534a2d366a33d","ref":"refs/heads/fwctl","pushedAt":"2024-05-03T15:01:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Introduce fwctl subystem\n\nfwctl is a new subsystem intended to bring some common rules and order to\nthe growing pattern of exposing a secure FW interface directly to\nuserspace. Unlike existing places like RDMA/DRM/VFIO/uacce that are\nexposing a device for datapath operations fwctl is focused on debugging,\nconfiguration and provisioning of the device. It will not have the\nnecessary features like interrupt delivery to support a datapath .\n\nThis concept is similar to the long standing practice in the \"HW\" RAID\nspace of having a device specific misc device to manager the RAID\ncontroller FW. fwctl generalizes this notion of a companion debug and\nmanagement interface that goes along with a dataplane implemented in an\nappropriate subsystem.\n\nThe need for this has reached a critical point as many users are moving to\nrun lockdown enabled kernels. Several existing devices have had long\nstanding tooling for management that relied on /sys/../resource0 or PCI\nconfig space access which is not permitted in lockdown. A major point of\nfwctl is to define and document the rules that a device must follow to\nexpose a lockdown compatible RPC.\n\nBased on some discussion fwctl splits the RPCs into four categories\n\n\tFWCTL_RPC_CONFIGURATION\n\tFWCTL_RPC_DEBUG_READ_ONLY\n\tFWCTL_RPC_DEBUG_WRITE\n\tFWCTL_RPC_DEBUG_WRITE_FULL\n\nWhere the latter two trigger a new TAINT_FWCTL, and the final one requires\nCAP_SYS_RAWIO - excluding it from lockdown. The device driver and its FW\nwould be responsible to restrict RPCs to the requested security scope,\nwhile the core code handles the tainting and CAP checks.\n\nFor details see the final patch which introduces the documentation.\n\nThis series incorporates a version of the mlx5ctl interface previously\nproposed:\n https://lore.kernel.org/r/20240207072435.14182-1-saeed@kernel.org/\n\nFor this series the memory registration mechanism was removed, but I\nexpect it will come back.\n\nThis series comes with mlx5 as a driver implementation, and I have soft\ncommitments for at least three more drivers.\n\nThere have been two LWN articles written discussing various aspects of\nthis proposal:\n\n https://lwn.net/Articles/955001/\n https://lwn.net/Articles/969383/\n\nSeveral have expressed general support for this concept:\n\n Broadcom Networking - https://lore.kernel.org/r/Zf2n02q0GevGdS-Z@C02YVCJELVCG\n Christoph Hellwig - https://lore.kernel.org/r/Zcx53N8lQjkpEu94@infradead.org/\n Enfrabrica - https://lore.kernel.org/r/9cc7127f-8674-43bc-b4d7-b1c4c2d96fed@kernel.org/\n NVIDIA Networking\n Oracle Linux - https://lore.kernel.org/r/6lakj6lxlxhdgrewodvj3xh6sxn3d36t5dab6najzyti2navx3@wrge7cyfk6nq\n\nWork is ongoing for a robust multi-device open source userspace, currently\nthe mlx5ctl_user that was posted by Saeed has been updated to use fwctl.\n\n https://github.com/saeedtx/mlx5ctl.git\n https://github.com/jgunthorpe/mlx5ctl.git\n\nCc: Andy Gospodarek \nCc: Aron Silverton \nCc: Christoph Hellwig \nCc: David Ahern \nCc: Itay Avraham \nCc: Jakub Kicinski \nCc: Jiri Pirko \nCc: Leon Romanovsky \nCc: Leonid Bloch \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Introduce fwctl subystem"}},{"before":"569ad7099a1954a033af70c41f63f5423a270cef","after":"59643a21d8dd85dc8688cfabbe920f934d2e0976","ref":"refs/heads/fwctl","pushedAt":"2024-05-02T19:54:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"mlx5: Create an auxiliary device for fwctl_mlx5\n\nIf the device supports User Context then it can support fwctl. Create an\nauxiliary device to allow fwctl to bind to it.\n\nCreate a sysfs like:\n\n$ ls /sys/devices/pci0000:00/0000:00:0a.0/mlx5_core.fwctl.0/driver -l\nlrwxrwxrwx 1 root root 0 Apr 25 19:46 /sys/devices/pci0000:00/0000:00:0a.0/mlx5_core.fwctl.0/driver -> ../../../../bus/auxiliary/drivers/mlx5_fwctl.mlx5_fwctl\n\nSigned-off-by: Saeed Mahameed \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"mlx5: Create an auxiliary device for fwctl_mlx5"}},{"before":"c85af715cac0a951eea97393378e84bb49384734","after":"e67572cd2204894179d89bd7b984072f19313b03","ref":"refs/heads/linus","pushedAt":"2024-04-29T15:29:12.000Z","pushType":"push","commitsCount":1457,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"Linux 6.9-rc6","shortMessageHtmlLink":"Linux 6.9-rc6"}},{"before":null,"after":"569ad7099a1954a033af70c41f63f5423a270cef","ref":"refs/heads/fwctl","pushedAt":"2024-04-29T15:28:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"mlx5: Create an auxiliary device for fwctl_mlx5\n\nIf the device supports User Context then it can support fwctl. Create an\nauxiliary device to allow fwctl to bind to it.\n\nCreate a sysfs like:\n\n$ ls /sys/devices/pci0000:00/0000:00:0a.0/mlx5_core.fwctl.0/driver -l\nlrwxrwxrwx 1 root root 0 Apr 25 19:46 /sys/devices/pci0000:00/0000:00:0a.0/mlx5_core.fwctl.0/driver -> ../../../../bus/auxiliary/drivers/mlx5_fwctl.mlx5_fwctl\n\nSigned-off-by: Saeed Mahameed \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"mlx5: Create an auxiliary device for fwctl_mlx5"}},{"before":"d0dddfdfea6bcfe4c35323fdc7afe4bbb05c34fa","after":"ec4c459d51a8f6b03f7831c8eb16d0e74431c5f1","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-04-22T15:09:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":"e7d4a8ffc0a84de43bbe7e1c04b3445253eb5e65","after":"d0dddfdfea6bcfe4c35323fdc7afe4bbb05c34fa","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-04-17T12:48:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":"8a8ccb8d1d86033f2a7ef50b81bfc09cce3dbbfc","after":"e7d4a8ffc0a84de43bbe7e1c04b3445253eb5e65","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-04-16T18:45:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":"4cece764965020c22cff7665b18a012006359095","after":"c85af715cac0a951eea97393378e84bb49384734","ref":"refs/heads/linus","pushedAt":"2024-04-04T14:27:30.000Z","pushType":"push","commitsCount":470,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"Merge tag 'vboxsf-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hansg/linux\n\nPull vboxsf fixes from Hans de Goede:\n\n - Compiler warning fixes\n\n - Explicitly deny setlease attempts\n\n* tag 'vboxsf-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hansg/linux:\n vboxsf: explicitly deny setlease attempts\n vboxsf: Remove usage of the deprecated ida_simple_xx() API\n vboxsf: Avoid an spurious warning if load_nls_xxx() fails\n vboxsf: remove redundant variable out_len","shortMessageHtmlLink":"Merge tag 'vboxsf-v6.9-1' of git://git.kernel.org/pub/scm/linux/kerne…"}},{"before":"58aed9febe4b704695eb15459eaec204530e2fbc","after":"8a8ccb8d1d86033f2a7ef50b81bfc09cce3dbbfc","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-03-27T13:39:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":"a201517049fa987e46878fb5d5d6a473ac7d52b0","after":"58aed9febe4b704695eb15459eaec204530e2fbc","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-03-26T23:55:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":"9a714cc918eb0d11ebd473eac13991b88fcbabba","after":"a201517049fa987e46878fb5d5d6a473ac7d52b0","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-03-26T17:37:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":"d206a76d7d2726f3b096037f2079ce0bd3ba329b","after":"4cece764965020c22cff7665b18a012006359095","ref":"refs/heads/linus","pushedAt":"2024-03-25T13:31:40.000Z","pushType":"push","commitsCount":10000,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"Linux 6.9-rc1","shortMessageHtmlLink":"Linux 6.9-rc1"}},{"before":"60902329db637c9726cd8623c44e8873a7290750","after":"9a714cc918eb0d11ebd473eac13991b88fcbabba","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-03-04T23:44:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":"992ba40a545117b7346dc7bd39cd37b9762ec37d","after":"60902329db637c9726cd8623c44e8873a7290750","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-02-26T20:26:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":"a6373da2c59490d1f0ccc29f150acbb581af1bed","after":"992ba40a545117b7346dc7bd39cd37b9762ec37d","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-02-26T17:05:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":"b401b621758e46812da61fa58a67c3fd8d91de0d","after":"d206a76d7d2726f3b096037f2079ce0bd3ba329b","ref":"refs/heads/linus","pushedAt":"2024-02-26T17:05:02.000Z","pushType":"push","commitsCount":390,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"Linux 6.8-rc6","shortMessageHtmlLink":"Linux 6.8-rc6"}},{"before":"e0018725b4ebfe377e04011026e9f34e10e5b532","after":"a6373da2c59490d1f0ccc29f150acbb581af1bed","ref":"refs/heads/smmuv3_newapi","pushedAt":"2024-02-20T18:42:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)\n\nContinuing the work of part 1 & 2 this focuses on the iommufd\ncomponents:\n\n - iommufd IOMMU_GET_HW_INFO, IOMMU_HWPT_ALLOC_NEST_PARENT, and\n IOMMU_DOMAIN_NESTED support\n\nThis is now quite straightforward as the nested STE can just be built in\nthe special NESTED domain op and fed through the same machinery.\n\nThere are still topics for a part 3 (as yet unwritten) which would want to\nmake iommu_domains work across instances, split the s1/2 domain ops, and\nfurther polish some of the code.\n\nThe first couple patches tidy up some leftovers from the prior series.\n\nCc: Nicolin Chen \nCc: Michael Shavit \nCc: Jean-Philippe Brucker \nCc: Shameerali Kolothum Thodi \nCc: Eric Auger \nCc: Moritz Fischer \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"cover-letter: Update SMMUv3 to the modern iommu API (part 3/3)"}},{"before":"8d234b4225ea7431b058eeb8eb3b92bbbdbdc6fd","after":"fd450ce84daa12947cc8c3e0fcf71370e0fa3bd9","ref":"refs/heads/for-nicolin2","pushedAt":"2024-02-20T18:39:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"iommufd: Fix protection fault in iommufd_test_syz_conv_iova\n\nJason has been running Syzkaller that reported the following bug:\n general protection fault, probably for non-canonical address 0xdffffc0000000038: 0000 [#1] SMP KASAN\n KASAN: null-ptr-deref in range [0x00000000000001c0-0x00000000000001c7]\n\nCall Trace:\n lock_acquire\n lock_acquire+0x1ce/0x4f0\n down_read+0x93/0x4a0\n iommufd_test_syz_conv_iova+0x56/0x1f0\n iommufd_test_access_rw.isra.0+0x2ec/0x390\n iommufd_test+0x1058/0x1e30\n iommufd_fops_ioctl+0x381/0x510\n vfs_ioctl\n __do_sys_ioctl\n __se_sys_ioctl\n __x64_sys_ioctl+0x170/0x1e0\n do_syscall_x64\n do_syscall_64+0x71/0x140\n\nThis is because the new iommufd_access_change_ioas() sets access->ioas\nto NULL during its process, so the lock might be gone in a concurrent\nracing context.\n\nFix this by doing the same access->ioas sanity as iommufd_access_rw and\niommufd_access_pin_pages functions do.\n\nFixes: 9227da7816dd (\"iommufd: Add iommufd_access_change_ioas(_id) helpers\")\nLink: https://lore.kernel.org/r/4e73f304d650f165ba4bfec590f6699949573b08.1708046732.git.nicolinc@nvidia.com\nCc: stable@vger.kernel.org\nReported-by: Jason Gunthorpe \nSigned-off-by: Nicolin Chen \nSigned-off-by: Jason Gunthorpe ","shortMessageHtmlLink":"iommufd: Fix protection fault in iommufd_test_syz_conv_iova"}},{"before":"54be6c6c5ae8e0d93a6c4641cb7528eb0b6ba478","after":"b401b621758e46812da61fa58a67c3fd8d91de0d","ref":"refs/heads/linus","pushedAt":"2024-02-20T18:39:30.000Z","pushType":"push","commitsCount":756,"pusher":{"login":"jgunthorpe","name":"Jason Gunthorpe","path":"/jgunthorpe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/665037?s=80&v=4"},"commit":{"message":"Linux 6.8-rc5","shortMessageHtmlLink":"Linux 6.8-rc5"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYjCAewA","startCursor":null,"endCursor":null}},"title":"Activity · jgunthorpe/linux"}