hotfixes: runtime patch kernel function support
hotfixes: a hotfix demo
hotfixes: release orig_sub in del_hotfix()
hotfixes: bugfix, avoid to register duplicated hotfixes at same address
hotfixes: replace pr_warn() with pr_warning() since some versions of kernel do not provide this shortcut name
hotfixes: fix a typedef typo in hotfixes.h
Merge pull request #8 from teawater/master

Update KGTP to 20130706
hotfixes: make orig_stub always is a valid original function pointer or NULL
hotfixes: 'sub /bin/bashxHHHHHHHH, %rsp' support in tiny disassembler
Merge pull request #10 from Rover-Yu/hotfixes.master

pull request for hotfixes
Update README.markdown.

Update README.markdown so that users can know the difference between
branch master and dev.

Signed-off-by: Tao Ma <boyu.mt@taobao.com>
Fix jbd2 kernel bug in jbd2_journal_commit_transaction+0x120c

In our DB system, we met with a kernel panic when using ext4. After
A deep investigation, it shows that it is caused by a specific usage
of MySQL.
The upstream commit id is deeeaf13 and e7b04ac0.
For more information, please refer to
http://blog.donghao.org/2013/07/17/rhel6%E5%86%8D%E6%AC%A1%E5%8F%91%E7%8E%B0jbd2%E7%9A%84bug/.

Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
netpoll: call ->ndo_select_queue() in tx path

In netpoll tx path, we miss the chance of calling ->ndo_select_queue(),
thus could cause problems when bonding is involved.

This patch makes dev_pick_tx() extern (and rename it to netdev_pick_tx())
to let netpoll call it in netpoll_send_skb_on_dev().

Reported-by: Sylvain Munaut <s.munaut@whatever-company.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Cong Wang <amwang@redhat.com>
Tested-by: Sylvain Munaut <s.munaut@whatever-company.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off--by: Tao Ma <boyu.mt@taobao.com>
Acked-by: Li Yu <bingtian.ly@taobao.com>
fix task starttime in container

Patch-mainline: inhouse
References:

task's starttime = time_since_1970 - time_since_boot +
                   (task_start_time - wall_to_monotonic) / HZ

Time_since_boot is the time reading from /proc/uptime, which
fixed in patch fix-uptime-in-container.patch to real uptime in
container. In order to get right task starttime in container,
task_start_time should be fix to 'task_start_time - init_task->start_time'.

Signed-off-by: Charles Wang <muming.wq@taobao.com>
md: Avoid waking up a thread after it has been freed.

Two related problems:

1/ some error paths call "md_unregister_thread(mddev->thread)"
   without subsequently clearing ->thread.  A subsequent call
   to mddev_unlock will try to wake the thread, and crash.

2/ Most calls to md_wakeup_thread are protected against the thread
   disappeared either by:
      - holding the ->mutex
      - having an active request, so something else must be keeping
        the array active.
   However mddev_unlock calls md_wakeup_thread after dropping the
   mutex and without any certainty of an active request, so the
   ->thread could theoretically disappear.
   So we need a spinlock to provide some protections.

So change md_unregister_thread to take a pointer to the thread
pointer, and ensure that it always does the required locking, and
clears the pointer properly.

Reported-by: "Moshe Melnikov" <moshe@zadarastorage.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: RobinDong <sanbai@taobao.com>
Merge pull request #18 from RobinDong/master

md: Avoid waking up a thread after it has been freed.