-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
Guard fiq_fsm_spin_lock with fiq_enable check #913
Merged
popcornmix
merged 1 commit into
raspberrypi:rpi-3.18.y
from
Clouded:rpi-3.18.y-nonfiqusbfix
Mar 30, 2015
Merged
Guard fiq_fsm_spin_lock with fiq_enable check #913
popcornmix
merged 1 commit into
raspberrypi:rpi-3.18.y
from
Clouded:rpi-3.18.y-nonfiqusbfix
Mar 30, 2015
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
Looks acceptable to me. Have you checked for any other unguarded invocation points? |
Yes, all other invocations are guarded with fiq_enable or fiq_fsm_enable checks or are located in fiq functions. |
popcornmix
added a commit
that referenced
this pull request
Mar 30, 2015
Guard fiq_fsm_spin_lock with fiq_enable check
Thanks. |
popcornmix
added a commit
to raspberrypi/firmware
that referenced
this pull request
Apr 2, 2015
See: raspberrypi/linux#766 kernel: Guard fiq_fsm_spin_lock with fiq_enable check See: raspberrypi/linux#913 kernel: BCM270x_DT: Add interrupt pin to enc28j60-overlay See: raspberrypi/linux#795 kernel: Add Device Tree support for RPi-DAC See: raspberrypi/linux#916 firmware: image_fx: Preserve the DATACORRUPT flag in the generated deinterlaced frame firmware: image_encode: Send ABORT_ENCODE when flushing codec to avoid a hang firmware: hdmi: Add config options for setting MAI threshold and dma priority See: http://forum.kodi.tv/showthread.php?tid=222061 firmware: gencmd: Add command for querying if hvs asserts have occurred See: #407
popcornmix
added a commit
to Hexxeh/rpi-firmware
that referenced
this pull request
Apr 2, 2015
See: raspberrypi/linux#766 kernel: Guard fiq_fsm_spin_lock with fiq_enable check See: raspberrypi/linux#913 kernel: BCM270x_DT: Add interrupt pin to enc28j60-overlay See: raspberrypi/linux#795 kernel: Add Device Tree support for RPi-DAC See: raspberrypi/linux#916 firmware: image_fx: Preserve the DATACORRUPT flag in the generated deinterlaced frame firmware: image_encode: Send ABORT_ENCODE when flushing codec to avoid a hang firmware: hdmi: Add config options for setting MAI threshold and dma priority See: http://forum.kodi.tv/showthread.php?tid=222061 firmware: gencmd: Add command for querying if hvs asserts have occurred See: raspberrypi/firmware#407
neuschaefer
pushed a commit
to neuschaefer/raspi-binary-firmware
that referenced
this pull request
Feb 27, 2017
See: raspberrypi/linux#766 kernel: Guard fiq_fsm_spin_lock with fiq_enable check See: raspberrypi/linux#913 kernel: BCM270x_DT: Add interrupt pin to enc28j60-overlay See: raspberrypi/linux#795 kernel: Add Device Tree support for RPi-DAC See: raspberrypi/linux#916 firmware: image_fx: Preserve the DATACORRUPT flag in the generated deinterlaced frame firmware: image_encode: Send ABORT_ENCODE when flushing codec to avoid a hang firmware: hdmi: Add config options for setting MAI threshold and dma priority See: http://forum.kodi.tv/showthread.php?tid=222061 firmware: gencmd: Add command for querying if hvs asserts have occurred See: raspberrypi#407
popcornmix
pushed a commit
that referenced
this pull request
Aug 8, 2017
commit 76d5692 upstream. The ram backend wasn't always initializing its spinlock correctly. Since it was coming from kzalloc memory, though, it was harmless on architectures that initialize unlocked spinlocks to 0 (at least x86 and ARM). This also fixes a possibly ignored flag setting too. When running under CONFIG_DEBUG_SPINLOCK, the following Oops was visible: [ 0.760836] persistent_ram: found existing buffer, size 29988, start 29988 [ 0.765112] persistent_ram: found existing buffer, size 30105, start 30105 [ 0.769435] persistent_ram: found existing buffer, size 118542, start 118542 [ 0.785960] persistent_ram: found existing buffer, size 0, start 0 [ 0.786098] persistent_ram: found existing buffer, size 0, start 0 [ 0.786131] pstore: using zlib compression [ 0.790716] BUG: spinlock bad magic on CPU#0, swapper/0/1 [ 0.790729] lock: 0xffffffc0d1ca9bb0, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0 [ 0.790742] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.10.0-rc2+ #913 [ 0.790747] Hardware name: Google Kevin (DT) [ 0.790750] Call trace: [ 0.790768] [<ffffff900808ae88>] dump_backtrace+0x0/0x2bc [ 0.790780] [<ffffff900808b164>] show_stack+0x20/0x28 [ 0.790794] [<ffffff9008460ee0>] dump_stack+0xa4/0xcc [ 0.790809] [<ffffff9008113cfc>] spin_dump+0xe0/0xf0 [ 0.790821] [<ffffff9008113d3c>] spin_bug+0x30/0x3c [ 0.790834] [<ffffff9008113e28>] do_raw_spin_lock+0x50/0x1b8 [ 0.790846] [<ffffff9008a2d2ec>] _raw_spin_lock_irqsave+0x54/0x6c [ 0.790862] [<ffffff90083ac3b4>] buffer_size_add+0x48/0xcc [ 0.790875] [<ffffff90083acb34>] persistent_ram_write+0x60/0x11c [ 0.790888] [<ffffff90083aab1c>] ramoops_pstore_write_buf+0xd4/0x2a4 [ 0.790900] [<ffffff90083a9d3c>] pstore_console_write+0xf0/0x134 [ 0.790912] [<ffffff900811c304>] console_unlock+0x48c/0x5e8 [ 0.790923] [<ffffff900811da18>] register_console+0x3b0/0x4d4 [ 0.790935] [<ffffff90083aa7d0>] pstore_register+0x1a8/0x234 [ 0.790947] [<ffffff90083ac250>] ramoops_probe+0x6b8/0x7d4 [ 0.790961] [<ffffff90085ca548>] platform_drv_probe+0x7c/0xd0 [ 0.790972] [<ffffff90085c76ac>] driver_probe_device+0x1b4/0x3bc [ 0.790982] [<ffffff90085c7ac8>] __device_attach_driver+0xc8/0xf4 [ 0.790996] [<ffffff90085c4bfc>] bus_for_each_drv+0xb4/0xe4 [ 0.791006] [<ffffff90085c7414>] __device_attach+0xd0/0x158 [ 0.791016] [<ffffff90085c7b18>] device_initial_probe+0x24/0x30 [ 0.791026] [<ffffff90085c648c>] bus_probe_device+0x50/0xe4 [ 0.791038] [<ffffff90085c35b8>] device_add+0x3a4/0x76c [ 0.791051] [<ffffff90087d0e84>] of_device_add+0x74/0x84 [ 0.791062] [<ffffff90087d19b8>] of_platform_device_create_pdata+0xc0/0x100 [ 0.791073] [<ffffff90087d1a2c>] of_platform_device_create+0x34/0x40 [ 0.791086] [<ffffff900903c910>] of_platform_default_populate_init+0x58/0x78 [ 0.791097] [<ffffff90080831fc>] do_one_initcall+0x88/0x160 [ 0.791109] [<ffffff90090010ac>] kernel_init_freeable+0x264/0x31c [ 0.791123] [<ffffff9008a25bd0>] kernel_init+0x18/0x11c [ 0.791133] [<ffffff9008082ec0>] ret_from_fork+0x10/0x50 [ 0.793717] console [pstore-1] enabled [ 0.797845] pstore: Registered ramoops as persistent store backend [ 0.804647] ramoops: attached 0x100000@0xf7edc000, ecc: 0/0 Fixes: 663deb4 ("pstore: Allow prz to control need for locking") Fixes: 1097044 ("pstore: Make spinlock per zone instead of global") Reported-by: Brian Norris <[email protected]> Signed-off-by: Kees Cook <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
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.
I'm not 100% sure if it's done correctly (P33M, please correct me if necessary), but it allows to boot with the non-FIQ USB driver.
Should solve the following issue - #878