-
Notifications
You must be signed in to change notification settings - Fork 54.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0-list: update PROCFS_MAX_SIZE to 512 #659
Closed
claudiughioc
wants to merge
120
commits into
torvalds:master
from
linux-kernel-labs:list_update_procfs
Closed
0-list: update PROCFS_MAX_SIZE to 512 #659
claudiughioc
wants to merge
120
commits into
torvalds:master
from
linux-kernel-labs:list_update_procfs
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The Linux kernel labs documentation is a collection of "labs" for various device driver topics. For each topic there are two parts: a walk-through which explain the basic concepts and a hands-on part which contains a few exercises. This commit also adds the labs infrastructure which allows us to build and test kernel modules in a qemu environment. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add the documentation and templates for the kernel modules lab which focuses on: creating simple modules; describing the process of kernel module compilation; presenting how a module can be used with a kernel; simple kernel debugging methods Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add the documentation and templates for the kernel modules lab which focuses on: familiarizing with the basic Linux kernel API, describing memory allocation and locking mechanism. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add documentation and templates for the device drivers labs which focuses on: understanding the concepts behind character device drivers; understading the various operations that can be performed on character device drivers; working with waiting queues. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add documentation and templates for the I/O access and interrupts lab which focuses on: communication with pheripheral devices; implementing interrupt handlers; synchronizing interrupts with process context. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add documentation and templates for the deffered work lab which focuses on: understanding deffered work; implementation of common tasks that use deferred work; understanding the peculiarities of synchronization for deferred work. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add documentation and templates for the memory mapping lab which focuses on: understanding the address space mapping mechanism; learn about the most important structures related to memory mapping. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add documentationa and templates for the Linux device module lab which focuses on understanding the main Linux abstraction that deals with devices: devices, buses, drivers, subsystems and classes. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
The Linux kernel labs documentation is a collection of "labs" for various device driver topics. For each topic there are two parts: a walk-through which explain the basic concepts and a hands-on part which contains a few exercises. This commit also adds the labs infrastructure which allows us to build and test kernel modules in a qemu environment. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add the documentation and templates for the kernel modules lab which focuses on: creating simple modules; describing the process of kernel module compilation; presenting how a module can be used with a kernel; simple kernel debugging methods Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add the documentation and templates for the kernel modules lab which focuses on: familiarizing with the basic Linux kernel API, describing memory allocation and locking mechanism. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add documentation and templates for the device drivers labs which focuses on: understanding the concepts behind character device drivers; understading the various operations that can be performed on character device drivers; working with waiting queues. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add documentation and templates for the I/O access and interrupts lab which focuses on: communication with pheripheral devices; implementing interrupt handlers; synchronizing interrupts with process context. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add documentation and templates for the deffered work lab which focuses on: understanding deffered work; implementation of common tasks that use deferred work; understanding the peculiarities of synchronization for deferred work. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add documentation and templates for the memory mapping lab which focuses on: understanding the address space mapping mechanism; learn about the most important structures related to memory mapping. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Add documentationa and templates for the Linux device module lab which focuses on understanding the main Linux abstraction that deals with devices: devices, buses, drivers, subsystems and classes. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro> Signed-off-by: Daniel Baluta <daniel.baluta@gmail.com>
Since we are going to add lectures change the top level directory name from labs to teaching/labs. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
Enable hieroglyph extension if it is installed on the host and add a slides documentation target. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
This is based on the psphinxcontrib.ditaa pip package and we add it localy since we need some fixes to properly render images in hieroglpyh slides. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
Add reqirements.txt and run pip in the doc target to make sure we have all required sphinx dependencies. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
This is split into two parts: one the is specific to cs.pub.ro and another one that is generic. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
The conf.py needs to be at the top of the namespace directory so move it where it belongs. And since we now have multiple subdirectories and includes are relative to current file directory, the common substitution will not longer work for all files. To fix this, just move the contents of subst.hrst directly to rst_epilog in conf.py. Fixes the following errors: deferred_work.rst:721: ERROR: Undefined substitution referenced: "LXR". deferred_work.rst:721: ERROR: Unknown target name: "lxr". interrupts.rst:688: ERROR: Undefined substitution referenced: "LXR". interrupts.rst:688: ERROR: Unknown target name: "lxr". kernel_api.rst:739: ERROR: Unexpected indentation. kernel_api.rst:582: ERROR: Undefined substitution referenced: "LXR". kernel_api.rst:582: ERROR: Unknown target name: "lxr". kernel_modules.rst:810: ERROR: Undefined substitution referenced: "LXR". kernel_modules.rst:939: ERROR: Undefined substitution referenced: "LXR". kernel_modules.rst:810: ERROR: Unknown target name: "lxr". kernel_modules.rst:939: ERROR: Unknown target name: "lxr". Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
Introduction lab presents few ways to navigate the kernel source code (LXR and cscope) and how to perform static and dynamic kernel analysis using gdb, vmlinux and /proc/kcore.
This makes it easier to edit ditaa directives since insertion will always move the rest of the row by one. Signed-off-by: Octavian Purdila <tavi@cs.pub.ro>
* CONFIG_FRAME_WARN is set to 1024 and we had a warning that a frame size was larger than this Signed-off-by: Claudiu Ghioc <claudiu.ghioc@gmail.com>
metux
added a commit
to metux/linux
that referenced
this pull request
Apr 27, 2019
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
metux
added a commit
to metux/linux
that referenced
this pull request
Apr 29, 2019
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
metux
added a commit
to metux/linux
that referenced
this pull request
Apr 30, 2019
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
metux
added a commit
to metux/linux
that referenced
this pull request
Apr 30, 2019
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
metux
added a commit
to metux/linux
that referenced
this pull request
Jun 12, 2019
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
metux
added a commit
to metux/linux
that referenced
this pull request
Jun 27, 2019
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
metux
added a commit
to metux/linux
that referenced
this pull request
Jul 10, 2019
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
metux
added a commit
to metux/linux
that referenced
this pull request
Nov 21, 2019
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
metux
added a commit
to metux/linux
that referenced
this pull request
Jan 10, 2020
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
fengguang
pushed a commit
to 0day-ci/linux
that referenced
this pull request
Sep 27, 2020
Lock(&iommu->lock) without disabling irq causes lockdep warnings. [ 12.703950] ======================================================== [ 12.703962] WARNING: possible irq lock inversion dependency detected [ 12.703975] 5.9.0-rc6+ torvalds#659 Not tainted [ 12.703983] -------------------------------------------------------- [ 12.703995] systemd-udevd/284 just changed the state of lock: [ 12.704007] ffffffffbd6ff4d8 (device_domain_lock){..-.}-{2:2}, at: iommu_flush_dev_iotlb.part.57+0x2e/0x90 [ 12.704031] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 12.704043] (&iommu->lock){+.+.}-{2:2} [ 12.704045] and interrupts could create inverse lock ordering between them. [ 12.704073] other info that might help us debug this: [ 12.704085] Possible interrupt unsafe locking scenario: [ 12.704097] CPU0 CPU1 [ 12.704106] ---- ---- [ 12.704115] lock(&iommu->lock); [ 12.704123] local_irq_disable(); [ 12.704134] lock(device_domain_lock); [ 12.704146] lock(&iommu->lock); [ 12.704158] <Interrupt> [ 12.704164] lock(device_domain_lock); [ 12.704174] *** DEADLOCK *** Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
torvalds
pushed a commit
that referenced
this pull request
Oct 1, 2020
Lock(&iommu->lock) without disabling irq causes lockdep warnings. [ 12.703950] ======================================================== [ 12.703962] WARNING: possible irq lock inversion dependency detected [ 12.703975] 5.9.0-rc6+ #659 Not tainted [ 12.703983] -------------------------------------------------------- [ 12.703995] systemd-udevd/284 just changed the state of lock: [ 12.704007] ffffffffbd6ff4d8 (device_domain_lock){..-.}-{2:2}, at: iommu_flush_dev_iotlb.part.57+0x2e/0x90 [ 12.704031] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 12.704043] (&iommu->lock){+.+.}-{2:2} [ 12.704045] and interrupts could create inverse lock ordering between them. [ 12.704073] other info that might help us debug this: [ 12.704085] Possible interrupt unsafe locking scenario: [ 12.704097] CPU0 CPU1 [ 12.704106] ---- ---- [ 12.704115] lock(&iommu->lock); [ 12.704123] local_irq_disable(); [ 12.704134] lock(device_domain_lock); [ 12.704146] lock(&iommu->lock); [ 12.704158] <Interrupt> [ 12.704164] lock(device_domain_lock); [ 12.704174] *** DEADLOCK *** Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Link: https://lore.kernel.org/r/20200927062428.13713-1-baolu.lu@linux.intel.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
Noltari
pushed a commit
to Noltari/linux
that referenced
this pull request
Oct 14, 2020
[ Upstream commit 1a3f2fd ] Lock(&iommu->lock) without disabling irq causes lockdep warnings. [ 12.703950] ======================================================== [ 12.703962] WARNING: possible irq lock inversion dependency detected [ 12.703975] 5.9.0-rc6+ torvalds#659 Not tainted [ 12.703983] -------------------------------------------------------- [ 12.703995] systemd-udevd/284 just changed the state of lock: [ 12.704007] ffffffffbd6ff4d8 (device_domain_lock){..-.}-{2:2}, at: iommu_flush_dev_iotlb.part.57+0x2e/0x90 [ 12.704031] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 12.704043] (&iommu->lock){+.+.}-{2:2} [ 12.704045] and interrupts could create inverse lock ordering between them. [ 12.704073] other info that might help us debug this: [ 12.704085] Possible interrupt unsafe locking scenario: [ 12.704097] CPU0 CPU1 [ 12.704106] ---- ---- [ 12.704115] lock(&iommu->lock); [ 12.704123] local_irq_disable(); [ 12.704134] lock(device_domain_lock); [ 12.704146] lock(&iommu->lock); [ 12.704158] <Interrupt> [ 12.704164] lock(device_domain_lock); [ 12.704174] *** DEADLOCK *** Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Link: https://lore.kernel.org/r/20200927062428.13713-1-baolu.lu@linux.intel.com Signed-off-by: Joerg Roedel <jroedel@suse.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
damentz
pushed a commit
to zen-kernel/zen-kernel
that referenced
this pull request
Oct 14, 2020
[ Upstream commit 1a3f2fd ] Lock(&iommu->lock) without disabling irq causes lockdep warnings. [ 12.703950] ======================================================== [ 12.703962] WARNING: possible irq lock inversion dependency detected [ 12.703975] 5.9.0-rc6+ torvalds#659 Not tainted [ 12.703983] -------------------------------------------------------- [ 12.703995] systemd-udevd/284 just changed the state of lock: [ 12.704007] ffffffffbd6ff4d8 (device_domain_lock){..-.}-{2:2}, at: iommu_flush_dev_iotlb.part.57+0x2e/0x90 [ 12.704031] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 12.704043] (&iommu->lock){+.+.}-{2:2} [ 12.704045] and interrupts could create inverse lock ordering between them. [ 12.704073] other info that might help us debug this: [ 12.704085] Possible interrupt unsafe locking scenario: [ 12.704097] CPU0 CPU1 [ 12.704106] ---- ---- [ 12.704115] lock(&iommu->lock); [ 12.704123] local_irq_disable(); [ 12.704134] lock(device_domain_lock); [ 12.704146] lock(&iommu->lock); [ 12.704158] <Interrupt> [ 12.704164] lock(device_domain_lock); [ 12.704174] *** DEADLOCK *** Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Link: https://lore.kernel.org/r/20200927062428.13713-1-baolu.lu@linux.intel.com Signed-off-by: Joerg Roedel <jroedel@suse.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
jackpot51
pushed a commit
to pop-os/linux
that referenced
this pull request
Nov 11, 2020
BugLink: https://bugs.launchpad.net/bugs/1902130 [ Upstream commit 1a3f2fd ] Lock(&iommu->lock) without disabling irq causes lockdep warnings. [ 12.703950] ======================================================== [ 12.703962] WARNING: possible irq lock inversion dependency detected [ 12.703975] 5.9.0-rc6+ torvalds#659 Not tainted [ 12.703983] -------------------------------------------------------- [ 12.703995] systemd-udevd/284 just changed the state of lock: [ 12.704007] ffffffffbd6ff4d8 (device_domain_lock){..-.}-{2:2}, at: iommu_flush_dev_iotlb.part.57+0x2e/0x90 [ 12.704031] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 12.704043] (&iommu->lock){+.+.}-{2:2} [ 12.704045] and interrupts could create inverse lock ordering between them. [ 12.704073] other info that might help us debug this: [ 12.704085] Possible interrupt unsafe locking scenario: [ 12.704097] CPU0 CPU1 [ 12.704106] ---- ---- [ 12.704115] lock(&iommu->lock); [ 12.704123] local_irq_disable(); [ 12.704134] lock(device_domain_lock); [ 12.704146] lock(&iommu->lock); [ 12.704158] <Interrupt> [ 12.704164] lock(device_domain_lock); [ 12.704174] *** DEADLOCK *** Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Link: https://lore.kernel.org/r/20200927062428.13713-1-baolu.lu@linux.intel.com Signed-off-by: Joerg Roedel <jroedel@suse.de> Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Kamal Mostafa <kamal@canonical.com> Signed-off-by: Ian May <ian.may@canonical.com>
metux
added a commit
to metux/linux
that referenced
this pull request
Feb 4, 2021
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
metux
added a commit
to metux/linux
that referenced
this pull request
Feb 7, 2021
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
metux
added a commit
to metux/linux
that referenced
this pull request
Feb 7, 2021
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
metux
added a commit
to metux/linux
that referenced
this pull request
Feb 8, 2021
checkpatch complains: ERROR: space required before the open parenthesis '(' torvalds#659: FILE: drivers/tty/serial/sb1250-duart.c:659: + if(refcount_dec_and_test(&duart->map_guard)) Just add this missing space to make checkpatch happy. Signed-off-by: Enrico Weigelt <info@metux.net>
ojeda
added a commit
to ojeda/linux
that referenced
this pull request
Feb 6, 2022
rust: Makefile: factorize bindgen commands into one
akiernan
pushed a commit
to zuma-array/linux
that referenced
this pull request
Nov 3, 2022
PD#151224: driver defect clean up: torvalds#227 torvalds#238~239 torvalds#249 torvalds#257~258 torvalds#285~287 torvalds#384 torvalds#466~467 torvalds#472~474 torvalds#585 torvalds#655 torvalds#659~660 Change-Id: I241d863318a8754c0e7c5fa1155247d99a21eb9e Signed-off-by: KeLe Bai <kele.bai@amlogic.com>
akiernan
pushed a commit
to zuma-array/linux
that referenced
this pull request
Nov 4, 2022
PD#151224: driver defect clean up: torvalds#227 torvalds#238~239 torvalds#249 torvalds#257~258 torvalds#285~287 torvalds#384 torvalds#466~467 torvalds#472~474 torvalds#585 torvalds#655 torvalds#659~660 Change-Id: I241d863318a8754c0e7c5fa1155247d99a21eb9e Signed-off-by: KeLe Bai <kele.bai@amlogic.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Update PROCFS_MAX_SIZE to 512 to get rid of:
warning: the frame size of 1028 bytes is larger than 1024 bytes [-Wframe-larger-than=]