projects/modsched/linux.git
6 years agomoved wake functions to framework p/daniel.roehrig/master
René Sechting [Tue, 7 Jan 2014 13:19:40 +0000 (14:19 +0100)]
moved wake functions to framework

wake_up_new_task, wake_up_task, etc. pp is now in the framework. so we get rid
of the core.c more and more. additionally the debugstuff for locking is
commented out. so we dont have those nasty warnings we all love. more details in
the track. see project linux issues bugs.

6 years agomoved some functions from core.c to framework
René Sechting [Thu, 2 Jan 2014 14:57:47 +0000 (15:57 +0100)]
moved some functions from core.c to framework

wake_up_new_task, and try_to_wake_up are now inside the framework

6 years agochanges in core.c to make linux run with framework
René Sechting [Thu, 2 Jan 2014 11:25:05 +0000 (12:25 +0100)]
changes in core.c to make linux run with framework

in __schedule a dirty hack function fw_get_decision() is used to get the next
task to schedule. It works flawless, but is not the desired design for the
framework - kernel interaction. But it works! ;)

6 years agoLinux with fw again compilable
René Sechting [Tue, 17 Dec 2013 14:58:21 +0000 (15:58 +0100)]
Linux with fw again compilable

the kernel is not working, but compiles.
* Makefile - if we want to compile the kernel with framework we extend the
includepath
* include/linux/sched.h - the fw_task is part of the struct task_struct and
therefor doesnt need to be allocated again.
* kernel/fork.c - just moved away the fw_task initialisation from fork.c to
the core.c
*kernel/sched/modsched/core.c - initialisation from the fw_task in
wake_up_new_task() and other stuff that was needed to get it compiled

6 years ago__schedule changes
René Sechting [Fri, 13 Dec 2013 14:47:45 +0000 (15:47 +0100)]
__schedule changes

just reimplemented some stuff inside the core.c to let the framework
do the nasty scheduling work

6 years agomakefile changes in kernel/sched/modsched
René Sechting [Fri, 13 Dec 2013 14:24:10 +0000 (15:24 +0100)]
makefile changes in kernel/sched/modsched

just made it work again. but the current kernel isnt starting in qemu!

6 years agoMerge branch 'p/anton.e/master' of git:projects/modsched/linux into p/sechting/merge
René Sechting [Thu, 12 Dec 2013 17:25:20 +0000 (18:25 +0100)]
Merge branch 'p/anton.e/master' of git:projects/modsched/linux into p/sechting/merge

6 years agoMerge remote-tracking branch 'remotes/origin/p/anton.e/master' into p/sechting/merge
René Sechting [Thu, 12 Dec 2013 17:14:26 +0000 (18:14 +0100)]
Merge remote-tracking branch 'remotes/origin/p/anton.e/master' into p/sechting/merge

Conflicts:
kernel/sched/Makefile
kernel/sched/modsched/Makefile

6 years agoAdapted Kconfigs locations to the new directory structure. Removed framework since... p/anton.e/master
Anton Eisenbraun [Thu, 12 Dec 2013 16:46:07 +0000 (17:46 +0100)]
Adapted Kconfigs locations to the new directory structure. Removed framework since we merged it into dev.

6 years agoScheduler is now selectable in make menuconfig in kernel hacking.
Anton Eisenbraun [Mon, 9 Dec 2013 18:51:51 +0000 (19:51 +0100)]
Scheduler is now selectable in make menuconfig in kernel hacking.
New directory structure in sched. Renamed sched.new in modsched and added cfs folder.
Symplified make file which was responsible for intigrating the framework into the build.

6 years agosingle core framework is running on smp kernel
René Sechting [Mon, 28 Oct 2013 09:57:41 +0000 (10:57 +0100)]
single core framework is running on smp kernel

yepp, with the current smp kernel is the framework again running. but only with
deactivated smp functionality. the only difference between the former buggy
version is that the framework invokation is now always with a locked rq performed.
but only with the linux rq, not the module specific one. maybe that should be
changed, idk whats better.

6 years agonot working anymore?
René Sechting [Thu, 17 Oct 2013 13:21:12 +0000 (15:21 +0200)]
not working anymore?

magically bug appeared, dont know why and where :(

6 years agoweekend madness, nothing is working
René Sechting [Fri, 11 Oct 2013 12:53:05 +0000 (14:53 +0200)]
weekend madness, nothing is working

fixed some stuff, so that the framework gets to know again every task. but still
not scheduling it, so more improvements needed. weekend! stop working NOW!

6 years agoFixed error when SMP is disabled in kernel config file
Anton Eisenbraun [Thu, 10 Oct 2013 15:53:02 +0000 (17:53 +0200)]
Fixed error when SMP is disabled in kernel config file

6 years agoAdded SMP-Boot to run_qemu
Daniel Röhrig [Thu, 10 Oct 2013 14:15:19 +0000 (16:15 +0200)]
Added SMP-Boot to run_qemu

Doesn't show up while booting. It shows that SMP is enabled but there is
still just one processor showing up.

6 years agoTrying to resolve a conflict
Daniel Röhrig [Thu, 10 Oct 2013 14:04:58 +0000 (16:04 +0200)]
Trying to resolve a conflict

Conflicts:
run_qemu

6 years agosmp framework running? cant be true...
René Sechting [Thu, 10 Oct 2013 13:52:52 +0000 (15:52 +0200)]
smp framework running? cant be true...

siehe titel

6 years agoFür die Menschen ohne KVM
Daniel Röhrig [Thu, 10 Oct 2013 13:07:28 +0000 (15:07 +0200)]
Für die Menschen ohne KVM

Keine KVM für meinen armen alten Rechner.

6 years agoframework with smp merged
René Sechting [Thu, 10 Oct 2013 09:30:18 +0000 (11:30 +0200)]
framework with smp merged

Merge branch 'p/jkrieg/master' of git:projects/modsched/linux into p/sechting/smpframework

Conflicts:
kernel/sched.new/core.c

6 years agosingle core framework is working
René Sechting [Wed, 9 Oct 2013 11:35:30 +0000 (13:35 +0200)]
single core framework is working

there was of course a stupid programming error. removing this made it work just
excellent. we are booting in less than a second and everything works out of the box.

6 years agosome runtime optimation - still not reacting
René Sechting [Wed, 9 Oct 2013 11:05:46 +0000 (13:05 +0200)]
some runtime optimation - still not reacting

now we boot in less than 2 seconds with kvm, but due to the errors we are
in userland after a minute... and still no reaction from keyboard input...
so nothing has really changed.

6 years agostill no keyboard
René Sechting [Mon, 7 Oct 2013 14:53:47 +0000 (16:53 +0200)]
still no keyboard

:'(

6 years agoproblems with workerthreads
René Sechting [Mon, 7 Oct 2013 08:27:16 +0000 (10:27 +0200)]
problems with workerthreads

there is at least one workerthread that isnt correctly working. the question
remains, if it is a scheduler problem or if its caused by the framework implementation

6 years agobugfixes in framework
René Sechting [Thu, 3 Oct 2013 11:57:23 +0000 (13:57 +0200)]
bugfixes in framework

some bugfixes which caused trouble in the boot up. now the system is booting
but doesnt respond to i/o. could be something in the scheduler.

6 years agoSMP boot finally works. Unknown behavior of worker threads due to
Jens Krieg [Mon, 30 Sep 2013 13:29:37 +0000 (15:29 +0200)]
SMP boot finally works. Unknown behavior of worker threads due to
uninitialized migration. Inserting function migration_init solved all
problems.

6 years ago->fuer daniel
René Sechting [Wed, 11 Sep 2013 12:23:03 +0000 (14:23 +0200)]
->fuer daniel

einfacher push für daniel zum spielen :)

6 years agotask finished to fw
René Sechting [Mon, 26 Aug 2013 10:25:35 +0000 (12:25 +0200)]
task finished to fw

if a task finishes it is send to the framework, cool eh?

6 years agonew tasks to the fw
René Sechting [Mon, 26 Aug 2013 08:27:37 +0000 (10:27 +0200)]
new tasks to the fw

the fw will now receive every new task. the framework needs for initialisation
now the idle task, so that we can tell the module about which task the idletask is.

6 years agoSMP is booting up but stuck in userland. Maybe some process did not come up on the...
Jens Krieg [Thu, 15 Aug 2013 19:08:14 +0000 (21:08 +0200)]
SMP is booting up but stuck in userland. Maybe some process did not come up on the right CPU...

6 years agoround robin scheduler module
René Sechting [Wed, 14 Aug 2013 14:41:46 +0000 (16:41 +0200)]
round robin scheduler module

a working simple round robin scheduler module. works fine in the simulated os. next
step is integrating it into the linux kernel!

6 years agochanged header files
René Sechting [Mon, 12 Aug 2013 14:49:13 +0000 (16:49 +0200)]
changed header files

the cyclic header file linkage should be resolved. the modules have their own
header file for every possible purpose they need. the framework intern header
files should just be used inside the framework.

6 years agoEnabled SMP in kernel config and added the missing functions to our
Jens Krieg [Mon, 5 Aug 2013 11:29:32 +0000 (13:29 +0200)]
Enabled SMP in kernel config and added the missing functions to our
scheduler.
* Code is compiling properly but boot stops while initializing CPU.

6 years agofw_task as intern task_struct
René Sechting [Fri, 2 Aug 2013 10:58:54 +0000 (12:58 +0200)]
fw_task as intern task_struct

task_struct changed to a fw_task, that contains a pointer to the real task
from the operating system and is extendable for module specific needs.

6 years agoInit-Framework Function
Daniel Röhrig [Wed, 31 Jul 2013 14:20:06 +0000 (16:20 +0200)]
Init-Framework Function

Instead of invoking all functions on their own, we can now just call
init_framework. Also some other changes.

6 years agoNew Sched triggers Pub/Sub
Daniel Röhrig [Tue, 30 Jul 2013 15:11:16 +0000 (17:11 +0200)]
New Sched triggers Pub/Sub

Whenever the new Scheduler schedules it triggers the Pub/Sub-Sytem.
Which leads to a message overflow, but it works.

6 years agoStripped down clock.
Jens Krieg [Tue, 30 Jul 2013 14:57:15 +0000 (16:57 +0200)]
Stripped down clock.

6 years agoFramework/New Sched Integration
Daniel Röhrig [Tue, 30 Jul 2013 14:47:09 +0000 (16:47 +0200)]
Framework/New Sched Integration

First attempt at binding our framework to the new linux scheduler of
Jens and Anton. It boots, but there is nothing sent yet from the
scheduler.

6 years agoSimple RR is running perfectly :)
Jens Krieg [Tue, 30 Jul 2013 13:30:44 +0000 (15:30 +0200)]
Simple RR is running perfectly :)

6 years agoMerge remote-tracking branch 'remotes/origin/p/jkrieg/master' into p/sechting/derenkernel
René Sechting [Tue, 30 Jul 2013 13:02:32 +0000 (15:02 +0200)]
Merge remote-tracking branch 'remotes/origin/p/jkrieg/master' into p/sechting/derenkernel

Conflicts:
.gitignore

6 years agoTwo Modules simultaneously
Daniel Röhrig [Tue, 30 Jul 2013 12:55:12 +0000 (14:55 +0200)]
Two Modules simultaneously

Two Modules working simultaneously in our simulated os. WARNING: All
variables and structs should be static to avoid collisions

6 years agoAdded task.c/h
Daniel Röhrig [Tue, 30 Jul 2013 11:10:37 +0000 (13:10 +0200)]
Added task.c/h

Did you know that git commit -a does NOT add new files? Well, I didn't.

6 years agoExtended Dynamic Task Structs
Daniel Röhrig [Mon, 29 Jul 2013 15:28:46 +0000 (17:28 +0200)]
Extended Dynamic Task Structs

Task Structs can now be extended by another struct with additional
fields. TODO: test if this really works with two modules. TODO: What if
two fields are the same (e.g prio)?

6 years agopop functionality for lists
René Sechting [Mon, 29 Jul 2013 09:30:15 +0000 (11:30 +0200)]
pop functionality for lists

a pop functionality for list handling added.

6 years agoFixed multiple race conditions for our runqueues. Still have problems with
Jens Krieg [Mon, 29 Jul 2013 08:44:10 +0000 (10:44 +0200)]
Fixed multiple race conditions for our runqueues. Still have problems with
task list.

6 years agoList: Add-at-Pos and Add-First
Daniel Röhrig [Wed, 24 Jul 2013 15:26:36 +0000 (17:26 +0200)]
List: Add-at-Pos and Add-First

List elements can now either be inserted at the head of the list or at
some position in the list (starting at 0). Also there is now a help menu
for the test suites. push is the same as add-at-tail or add-first
    depending on what you want. Pop is pretty complicated to implement
    because it needs the macro "entry". WARNING: There is some error at
    the fallback_module.c that I didn't cause nor can fix!

6 years agoMerge remote-tracking branch 'remotes/origin/p/sechting/master' into project_extended...
Daniel Röhrig [Wed, 24 Jul 2013 13:41:54 +0000 (15:41 +0200)]
Merge remote-tracking branch 'remotes/origin/p/sechting/master' into project_extended_list

6 years agosimulated os
René Sechting [Wed, 24 Jul 2013 13:35:53 +0000 (15:35 +0200)]
simulated os

first version of the os simulation. in addition a super awesome fifo scheduler

6 years agoList Length Function
Daniel Röhrig [Tue, 23 Jul 2013 15:57:53 +0000 (17:57 +0200)]
List Length Function

A simple function to get the number of entries in a list.

6 years agonew LIST_FW_INIT
René Sechting [Tue, 23 Jul 2013 15:09:44 +0000 (17:09 +0200)]
new LIST_FW_INIT

Merge remote-tracking branch 'remotes/origin/p/daniel.roehrig/master' into makefilemagic

6 years agomerge commit
René Sechting [Tue, 23 Jul 2013 15:09:08 +0000 (17:09 +0200)]
merge commit

just for a merge...

6 years agoList Init Generic
Daniel Röhrig [Tue, 23 Jul 2013 15:07:23 +0000 (17:07 +0200)]
List Init Generic

List Init wanted that the list head element was called "head". Now we
don't care what it's called.

6 years agonew list functionalities added
René Sechting [Tue, 23 Jul 2013 14:51:39 +0000 (16:51 +0200)]
new list functionalities added

Merge remote-tracking branch 'remotes/origin/p/daniel.roehrig/master' into makefilemagic

6 years agoDelete List Entry
Daniel Röhrig [Tue, 23 Jul 2013 14:48:02 +0000 (16:48 +0200)]
Delete List Entry

Added a function to delete an entry from a list. Added also the
possibility to unsubscribe from a topic. WARNING: Right this only works
in the simulated os. Linux throws kernel panics at us.

6 years agolocal changes
René Sechting [Tue, 23 Jul 2013 14:43:22 +0000 (16:43 +0200)]
local changes

commit needed to merge with extended listimplementation

6 years agoFixed scheduler_tick. Successful bootup, but just once
Jens Krieg [Tue, 23 Jul 2013 12:03:49 +0000 (14:03 +0200)]
Fixed scheduler_tick. Successful bootup, but just once

6 years agolocal stuff
René Sechting [Tue, 23 Jul 2013 11:57:16 +0000 (13:57 +0200)]
local stuff

Merge remote-tracking branch 'remotes/origin/p/daniel.roehrig/master' into makefilemagic

Conflicts:
framework/modules/fallback_module.c
framework/os/simulated/main.c

6 years agoNew list for simulated OS
Daniel Röhrig [Tue, 23 Jul 2013 11:49:19 +0000 (13:49 +0200)]
New list for simulated OS

Added some dependencies in the mod_sched_defines.h for the simualted OS
(like stdarg.h). Also made the Makefile a bit more generic (but not
really beautiful).

6 years agoSupport for multiple callbacks
Daniel Röhrig [Fri, 19 Jul 2013 16:03:49 +0000 (18:03 +0200)]
Support for multiple callbacks

You can now use different callbacks for different topics.

6 years agolocal changes
René Sechting [Fri, 19 Jul 2013 13:42:25 +0000 (15:42 +0200)]
local changes

commit needed for merges

6 years agoList implementation
Daniel Röhrig [Fri, 19 Jul 2013 13:30:53 +0000 (15:30 +0200)]
List implementation

A stripped down version of the linux list implementation is now used
instead of our list.

Also:
- No initcall needed for pub/sub because the pub/system is initalized
  when first needed.

6 years agolist.h added :S
René Sechting [Thu, 18 Jul 2013 14:05:36 +0000 (16:05 +0200)]
list.h added :S

ups

6 years agoframework/Makefile changes (make linux)
René Sechting [Thu, 18 Jul 2013 13:53:07 +0000 (15:53 +0200)]
framework/Makefile changes (make linux)

the framework/Makefile incldues now a make linux option. This will delete the
kernel/sched/mod_sched.o and start the regular Linux Makefile. This way every
new change in the Modular Scheduler will be included.

6 years agoList implementation
René Sechting [Thu, 18 Jul 2013 10:35:48 +0000 (12:35 +0200)]
List implementation

list is implemented, but the makefiles need some work...

6 years agoThread (PID=292) does not go to sleep correctly
Jens Krieg [Tue, 16 Jul 2013 16:10:56 +0000 (18:10 +0200)]
Thread (PID=292) does not go to sleep correctly

6 years agoTroubles with the idle process fixed
Jens Krieg [Tue, 16 Jul 2013 07:38:24 +0000 (09:38 +0200)]
Troubles with the idle process fixed
* idle will be (de)scheduled at the right time

Ignoring key strokes still remains

6 years agocorrect framework/modules/fallback_module.c
René Sechting [Mon, 15 Jul 2013 11:34:06 +0000 (13:34 +0200)]
correct framework/modules/fallback_module.c

there was a mistake :(

6 years agoseperated Makefiles
René Sechting [Mon, 15 Jul 2013 09:02:05 +0000 (11:02 +0200)]
seperated Makefiles

because of git, nothing was commited... thx...

6 years agoseperated Makefiles
René Sechting [Mon, 15 Jul 2013 08:36:19 +0000 (10:36 +0200)]
seperated Makefiles

seperation from os-dependent and independent Makefiles, Includes etc. for linux and the simulated dummy-os

6 years agoWrapper functions
Daniel Röhrig [Thu, 11 Jul 2013 15:42:35 +0000 (17:42 +0200)]
Wrapper functions

Wrapper functions for os specific functions like printk and __initcall.

6 years agoSeperated the Makefiles
Daniel Röhrig [Thu, 11 Jul 2013 13:57:07 +0000 (15:57 +0200)]
Seperated the Makefiles

A new Main-Makefile has been placed inside the framework folder. It
includes the right Makefile depending on the Operating System

6 years agoMakefile has OS variable
Daniel Röhrig [Thu, 11 Jul 2013 12:10:21 +0000 (14:10 +0200)]
Makefile has OS variable

First step to create one Makefile to rule them all.

6 years agoMerge remote-tracking branch 'remotes/origin/p/sechting/master' into p/daniel.roehrig...
Daniel Röhrig [Wed, 10 Jul 2013 14:35:42 +0000 (16:35 +0200)]
Merge remote-tracking branch 'remotes/origin/p/sechting/master' into p/daniel.roehrig/master

6 years agoMerge remote-tracking branch 'remotes/origin/p/sechting/master' into p/daniel.roehrig...
Daniel Röhrig [Wed, 10 Jul 2013 14:32:34 +0000 (16:32 +0200)]
Merge remote-tracking branch 'remotes/origin/p/sechting/master' into p/daniel.roehrig/master

6 years agoMerge remote-tracking branch 'remotes/origin/p/daniel.roehrig/master' into p/sechting...
René Sechting [Wed, 10 Jul 2013 14:13:20 +0000 (16:13 +0200)]
Merge remote-tracking branch 'remotes/origin/p/daniel.roehrig/master' into p/sechting/master

6 years agoImproved Makefile structure
Daniel Röhrig [Wed, 10 Jul 2013 14:08:16 +0000 (16:08 +0200)]
Improved Makefile structure

Makefiles are now nested and have dependencies. Linker creates one
mod_sched.o object out of several input files.

6 years agoRelative Paths in Makefiles
Daniel Röhrig [Tue, 9 Jul 2013 16:39:12 +0000 (18:39 +0200)]
Relative Paths in Makefiles

Closed a ticket that complained about absolute Paths in the Makefiles.
We changed that by using the variables provided by the main Makefile.
Should now work on all workstations.

6 years agoMakefile for Framework compilation
Daniel Röhrig [Tue, 9 Jul 2013 14:35:05 +0000 (16:35 +0200)]
Makefile for Framework compilation

It is now possible to compile and include the framework from a different
folder into the linux build. But it's not a beauty. For now it should
work.

6 years agoFixed I/O error at boot up. Still not possible to interact with os.
Anton Eisenbraun [Fri, 5 Jul 2013 16:08:50 +0000 (18:08 +0200)]
Fixed I/O error at boot up. Still not possible to interact with os.

7 years agoAble to boot up with I/O errors. Therefore interaction not possible. Few functions...
Anton Eisenbraun [Thu, 4 Jul 2013 17:22:55 +0000 (19:22 +0200)]
Able to boot up with I/O errors. Therefore interaction not possible. Few functions need to be implemented + efficency tweeking, see core.c

7 years agoGeneric Makefile
Daniel Röhrig [Thu, 4 Jul 2013 15:31:55 +0000 (17:31 +0200)]
Generic Makefile

Trying to make the Makefile more generic

7 years agoFramework added
Daniel Röhrig [Thu, 4 Jul 2013 14:26:29 +0000 (16:26 +0200)]
Framework added

Temporarily moved the Framework folder to the linux folder. Just to make
things easier.

7 years agoMakefile Magic
Daniel Röhrig [Thu, 4 Jul 2013 14:19:54 +0000 (16:19 +0200)]
Makefile Magic

Ich habe keine Lust auf eine lange Beschreibung.

7 years agoBoot process stops while calling smpboot_thread_fn.
Jens Krieg [Wed, 3 Jul 2013 15:12:55 +0000 (17:12 +0200)]
Boot process stops while calling smpboot_thread_fn.

7 years agoSimple Pub/Sub System running in Kernel Mode
Daniel Röhrig [Fri, 14 Jun 2013 14:14:47 +0000 (16:14 +0200)]
Simple Pub/Sub System running in Kernel Mode

There is a simple Pub/Sub System implemented in the kernel/sched folder.
It sends a message to topic 0 ("ACTIVATED") every time a task is
activated. This is for testing purposes only. A Module (see
fake_module.c) can register to a topic and will receive those messages.

Also: Some Doxygen comments and shell scripts for easier debugging.

7 years agoAdded runqueue list, seems to be working. Threads get scheduled but
Jens Krieg [Wed, 5 Jun 2013 15:25:20 +0000 (17:25 +0200)]
Added runqueue list, seems to be working. Threads get scheduled but
wait_for_completion and wake_up_porcess needs to be implemented

7 years agoAdded new runqueue
Jens Krieg [Thu, 30 May 2013 17:08:31 +0000 (19:08 +0200)]
Added new runqueue

7 years agoFirst steps to our own task switch
Jens Krieg [Wed, 22 May 2013 16:53:36 +0000 (18:53 +0200)]
First steps to our own task switch
* task list still missing

7 years agoDefine __KERN_ORG__ inserted to differenciate between original scheduler and our...
Jens Krieg [Tue, 21 May 2013 14:36:15 +0000 (16:36 +0200)]
Define __KERN_ORG__ inserted to differenciate between original scheduler and our implementation

7 years agoRemoved existing scheduler - not working
Jens Krieg [Thu, 16 May 2013 16:39:47 +0000 (18:39 +0200)]
Removed existing scheduler - not working
* renamed old sched directory to sched.old
* added empty functions in order to compile

7 years agoLinux 3.9 v3.9
Linus Torvalds [Mon, 29 Apr 2013 00:36:01 +0000 (17:36 -0700)]
Linux 3.9

7 years agoMerge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
Linus Torvalds [Sat, 27 Apr 2013 20:58:36 +0000 (13:58 -0700)]
Merge tag 'fixes-for-linus' of git://git./linux/kernel/git/arm/arm-soc

Pull ARM SoC fix from Olof Johansson:
 "A late-arriving fix for musb on OMAP4, resolving an issue where the
  musb IP won't be clocked and thus not functional.  Small in scope,
  most of the lines changed is a longish comment."

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: OMAP4: hwmod data: make 'ocp2scp_usb_phy_phy_48m" as the main clock

7 years agovm: add no-mmu vm_iomap_memory() stub
Linus Torvalds [Sat, 27 Apr 2013 20:25:38 +0000 (13:25 -0700)]
vm: add no-mmu vm_iomap_memory() stub

I think we could just move the full vm_iomap_memory() function into
util.h or similar, but I didn't get any reply from anybody actually
using nommu even to this trivial patch, so I'm not going to touch it any
more than required.

Here's the fairly minimal stub to make the nommu case at least
potentially work.  It doesn't seem like anybody cares, though.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
7 years agoMerge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sat, 27 Apr 2013 17:08:09 +0000 (10:08 -0700)]
Merge branch 'perf-urgent-for-linus' of git://git./linux/kernel/git/tip/tip

Pull perf fix from Ingo Molnar:
 "This fix adds missing RCU read protection"

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  events: Protect access via task_subsys_state_check()

7 years agoMerge tag 'omap-for-v3.9-rc6/fixes-signed' of git://git.kernel.org/pub/scm/linux...
Olof Johansson [Sat, 27 Apr 2013 00:35:13 +0000 (17:35 -0700)]
Merge tag 'omap-for-v3.9-rc6/fixes-signed' of git://git./linux/kernel/git/tmlind/linux-omap into fixes

From Tony Lindgren:
One MUSB regression fix that I forgot to send earlier. Without
this MUSB no longer works on omap4 based devices.

* tag 'omap-for-v3.9-rc6/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP4: hwmod data: make 'ocp2scp_usb_phy_phy_48m" as the main clock

Signed-off-by: Olof Johansson <olof@lixom.net>
7 years agoMerge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
Linus Torvalds [Fri, 26 Apr 2013 15:17:07 +0000 (08:17 -0700)]
Merge branch 'v4l_for_linus' of git://git./linux/kernel/git/mchehab/linux-media

Pull media fixes from Mauro Carvalho Chehab:
 "Two driver fixes.

  One avoids reading any file at a system with a cx25821 board
  (fortunately, this is not a common device).  The other one prevents
  reading after a buffer with ISDB-T devices based on mb86a20s."

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
  [media] cx25821: do not expose broken video output streams
  [media] mb86a20s: Fix estimate_rate setting

7 years agoMerge branch 'fixes-3.9-late' of git://git.kernel.org/pub/scm/linux/kernel/git/deller...
Linus Torvalds [Fri, 26 Apr 2013 15:05:01 +0000 (08:05 -0700)]
Merge branch 'fixes-3.9-late' of git://git./linux/kernel/git/deller/parisc-linux

Pull late parisc fixes from Helge Deller:
 "I know it's *very* late in the 3.9 release cycle, but since there
  aren't that many people testing the parisc linux kernel, a few (for
  our port) critical issues just showed up a few days back for the first
  time.

  What's in it?
   - add missing __ucmpdi2 symbol, which is required for btrfs on 32bit
     kernel.
   - change kunmap() macro to static inline function.  This fixes a
     debian/gcc-4.4 build error.
   - add locking when doing PTE updates.  This fixes random userspace
     crashes.
   - disable (optional) -mlong-calls compiler option for modules, else
     modules can't be loaded at runtime.
   - a smart patch by Will Deacon which fixes 64bit put_user() warnings
     on 32bit kernel."

* 'fixes-3.9-late' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
  parisc: use spin_lock_irqsave/spin_unlock_irqrestore for PTE updates
  parisc: disable -mlong-calls compiler option for kernel modules
  parisc: uaccess: fix compiler warnings caused by __put_user casting
  parisc: Change kunmap macro to static inline function
  parisc: Provide __ucmpdi2 to resolve undefined references in 32 bit builds.

7 years agoefivars: only check for duplicates on the registered list
Matt Fleming [Fri, 26 Apr 2013 09:10:55 +0000 (10:10 +0100)]
efivars: only check for duplicates on the registered list

variable_is_present() accesses '__efivars' directly, but when called via
gsmi_init() Michel reports observing the following crash,

  BUG: unable to handle kernel NULL pointer dereference at (null)
  IP: variable_is_present+0x55/0x170
  Call Trace:
    register_efivars+0x106/0x370
    gsmi_init+0x2ad/0x3da
    do_one_initcall+0x3f/0x170

The reason for the crash is that '__efivars' hasn't been initialised nor
has it been registered with register_efivars() by the time the google
EFI SMI driver runs.  The gsmi code uses its own struct efivars, and
therefore, a different variable list.  Fix the above crash by passing
the registered struct efivars to variable_is_present(), so that we
traverse the correct list.

Reported-by: Michel Lespinasse <walken@google.com>
Tested-by: Michel Lespinasse <walken@google.com>
Cc: Mike Waychison <mikew@google.com>
Cc: Matthew Garrett <matthew.garrett@nebula.com>
Cc: Seiji Aguchi <seiji.aguchi@hds.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
7 years agoTTY: fix atime/mtime regression
Jiri Slaby [Fri, 26 Apr 2013 11:48:53 +0000 (13:48 +0200)]
TTY: fix atime/mtime regression

In commit b0de59b5733d ("TTY: do not update atime/mtime on read/write")
we removed timestamps from tty inodes to fix a security issue and waited
if something breaks.  Well, 'w', the utility to find out logged users
and their inactivity time broke.  It shows that users are inactive since
the time they logged in.

To revert to the old behaviour while still preventing attackers to
guess the password length, we update the timestamps in one-minute
intervals by this patch.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
7 years agoaio: fix possible invalid memory access when DEBUG is enabled
Zhao Hongjiang [Fri, 26 Apr 2013 03:03:53 +0000 (11:03 +0800)]
aio: fix possible invalid memory access when DEBUG is enabled

dprintk() shouldn't access @ring after it's unmapped.

Signed-off-by: Zhao Hongjiang <zhaohongjiang@huawei.com>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
7 years agoMerge tag 'efi-urgent' into x86/urgent
H. Peter Anvin [Thu, 25 Apr 2013 21:00:22 +0000 (14:00 -0700)]
Merge tag 'efi-urgent' into x86/urgent

 * The EFI variable anti-bricking algorithm merged in -rc8 broke booting
   on some Apple machines because they implement EFI spec 1.10, which
   doesn't provide a QueryVariableInfo() runtime function and the logic
   used to check for the existence of that function was insufficient.
   Fix from Josh Boyer.

 * The anti-bricking algorithm also introduced a compiler warning on
   32-bit. Fix from Borislav Petkov.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>