diff --git a/0001-dracut.sh-harden-host_modalias-reading.patch b/0001-dracut.sh-harden-host_modalias-reading.patch
new file mode 100644
index 0000000..a695138
--- /dev/null
+++ b/0001-dracut.sh-harden-host_modalias-reading.patch
@@ -0,0 +1,26 @@
+From 57f90974f9d7c11e06c2b3f2b7e4b47801f380cc Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Fri, 13 Sep 2013 16:33:01 +0200
+Subject: [PATCH] dracut.sh: harden host_modalias reading
+
+Some weird PPC driver make their modulias unreadable
+
+$ cat /sys/devices/vio/4000/modalias
+cat: /sys/devices/vio/4000/modalias: No such device
+---
+ dracut.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index bd905e3..fd27846 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -921,7 +921,7 @@ if [[ $hostonly ]]; then
+     declare -A host_modalias
+     find  /sys/devices/ -name modalias -print > "$initdir/.modalias"
+     while read m; do
+-        host_modalias["$(<"$m")"]=1
++        modalias="$(<"$m")" && [[ $modalias ]] && host_modalias["$modalias"]=1
+     done < "$initdir/.modalias"
+     rm -f -- "$initdir/.modalias"
+ 
diff --git a/0002-ifup-do-not-dhcp-on-network-interface-of-secondary-s.patch b/0002-ifup-do-not-dhcp-on-network-interface-of-secondary-s.patch
new file mode 100644
index 0000000..0a2a216
--- /dev/null
+++ b/0002-ifup-do-not-dhcp-on-network-interface-of-secondary-s.patch
@@ -0,0 +1,35 @@
+From 63f3bcd85245901515f4f45238301e030468cdc5 Mon Sep 17 00:00:00 2001
+From: WANG Chao <chaowang@redhat.com>
+Date: Fri, 13 Sep 2013 22:28:44 +0800
+Subject: [PATCH] ifup: do not dhcp on network interface of secondary stack
+
+Configure cmdline to:
+ ip=br0:dhcp bridge=br0:bond0 bond=bond0:eth0
+
+By default ifup bond0 will run dhcp on bond0, which is wrong. bond0
+isn't the top interface. we should really run dhcp on br0.
+
+So if we ifup an network interface on secondary stack, we should not
+dhcp. Fix this issue with this patch.
+---
+ modules.d/40network/ifup.sh | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
+index 3261647..9f6f449 100755
+--- a/modules.d/40network/ifup.sh
++++ b/modules.d/40network/ifup.sh
+@@ -336,6 +336,13 @@ for p in $(getargs ip=); do
+     exit 0
+ done
+ 
++# netif isn't the top stack? Then we should exit here.
++# eg. netif is bond0. br0 is on top of it. dhcp br0 is correct but dhcp
++#     bond0 doesn't make sense.
++if [ -n "$DO_BOND_SETUP" -o -n "$DO_TEAM_SETUP" -o -n "$DO_VLAN_SETUP" ]; then
++    exit 0
++fi
++
+ # no ip option directed at our interface?
+ if [ ! -e /tmp/setup_net_${netif}.ok ]; then
+     do_dhcp -4
diff --git a/dracut.spec b/dracut.spec
index 5d3a990..a84283e 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -10,7 +10,7 @@
 
 Name: dracut
 Version: 033
-Release: 1%{?dist}
+Release: 3.git20130913%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel}
@@ -29,6 +29,8 @@ URL: https://dracut.wiki.kernel.org/
 # Source can be generated by
 # http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{version};sf=tgz
 Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.bz2
+Patch1: 0001-dracut.sh-harden-host_modalias-reading.patch
+Patch2: 0002-ifup-do-not-dhcp-on-network-interface-of-secondary-s.patch
 
 
 BuildRequires: bash git
@@ -446,6 +448,11 @@ rm -rf -- $RPM_BUILD_ROOT
 %endif
 
 %changelog
+* Fri Sep 13 2013 Harald Hoyer <harald@redhat.com> 033-3.git20130913
+- do not dhcp members of team, bond, etc.
+- harden against weird ppc kernel driver
+Resolves: rhbz#1007891
+
 * Thu Sep 12 2013 Harald Hoyer <harald@redhat.com> 033-1
 - do not cache the kernel cmdline
 Resolves: rhbz#989944