Skip to content
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

Conversation

claudiughioc
Copy link

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=]

tavip and others added 30 commits January 20, 2019 10:13
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>
boghicieusebiu and others added 2 commits March 5, 2019 11:47
* 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>
@razvand razvand deleted the list_update_procfs branch April 1, 2020 04:08
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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.