From: John <linux.kernel@free.fr>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org, tglx@timesys.com,
John <linux.kernel@free.fr>
Subject: Re: 2.6.20-rt8 patch tweaked for 2.6.20.5
Date: Tue, 10 Apr 2007 11:07:25 +0200 [thread overview]
Message-ID: <461B53CD.1030603@free.fr> (raw)
In-Reply-To: <20070406173639.GA2929@elte.hu>
Ingo Molnar wrote:
> John wrote:
>
>> I've tweaked patch-2.6.20-rt8 so that it applies to 2.6.20.5
>>
>> The unified diff is attached to this message.
>
> thanks - this is useful to those who are not that much on the bleeding
> edge.
>
>> I'd be happy to hear comments on what I've done wrong.
>>
>> 78 hunks had to be offset and 3 hunks had to be fuzzed.
>>
>> $ grep -B1 fuzz patch.log
>> patching file arch/ia64/kernel/iosapic.c
>> Hunk #3 succeeded at 469 with fuzz 2.
>> --
>> patching file kernel/fork.c
>> Hunk #9 succeeded at 975 with fuzz 1.
>> --
>> patching file kernel/sched.c
>> Hunk #46 succeeded at 3996 with fuzz 1.
>>
>> What is the fuzz value, exactly?
>
> it's harmless: when the 'patch' utility didn't find the 'context' of the
> patch chunk at its claimed position (because all patch chunks have
> precise coordinates of source code embedded), but finds them 'nearby'
> (or at least, somewhere in the file), it emits this reminder that the
> underlying code did change since the patch was generated. Generating a
> 'clean' patch will get rid of these messages.
Ingo,
I'd be happy to generate a clean patch!
(Would you agree to host it in your directory?)
http://people.redhat.com/mingo/realtime-preempt/older/
What options did you run diff with to generate the original patch?
diff -upr ? How do you prevent diff from printing timestamps?
Could you, or Thomas, or someone else, take a look at my patch,
and tell me if everything looks right before I go ahead?
I've documented all the changes below:
1. linux/Makefile (trivial)
Tweak EXTRAVERSION to change .5 into .5-rt8
2. linux/drivers/kvm/kvm.h
Remove a patch that was already applied to 2.6.20.2
cf. patch-2.6.20.2
--- a/drivers/kvm/kvm.h
+++ b/drivers/kvm/kvm.h
@@ -558,7 +558,7 @@ static inline void load_gs(u16 sel)
#ifndef load_ldt
static inline void load_ldt(u16 sel)
{
- asm ("lldt %0" : : "g"(sel));
+ asm ("lldt %0" : : "rm"(sel));
}
#endif
3. linux/kernel/futex.c
[ I'm not sure I've made the appropriate changes here ]
Basically, we want to replace
spin_lock(&pi_state->pi_mutex.wait_lock);
with
spin_lock_irqsave(&pi_state->pi_mutex.wait_lock, flags);
and we want to replace
spin_unlock(&pi_state->pi_mutex.wait_lock);
with
spin_unlock_irqrestore(&pi_state->pi_mutex.wait_lock, flags);
Is that correct?
4. linux/kernel/time/clocksource.c
Provide an #include directive added by patch-2.6.20.2
Remove the first line to keep patch happy.
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -28,6 +28,7 @@
#include <linux/sysdev.h>
#include <linux/init.h>
#include <linux/module.h>
+#include <linux/sched.h> /* for spin_unlock_irq() using preempt_count()
m68k */
/* XXX - Would like a better way for initializing curr_clocksource */
extern struct clocksource clocksource_jiffies;
5. linux/net/xfrm/xfrm_user.c
[ I'm not sure I've made the appropriate changes here ]
Remove a patch that was already applied to 2.6.20.2
cf. patch-2.6.20.2
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -1273,10 +1273,6 @@ static int xfrm_get_policy(struct sk_buff *skb,
struct nlmsghdr *nlh,
xp = xfrm_policy_bysel_ctx(type, p->dir, &p->sel, tmp.security, delete);
security_xfrm_policy_free(&tmp);
}
- if (delete)
- xfrm_audit_log(NETLINK_CB(skb).loginuid, NETLINK_CB(skb).sid,
- AUDIT_MAC_IPSEC_DELSPD, (xp) ? 1 : 0, xp, NULL);
-
if (xp == NULL)
return -ENOENT;
@@ -1292,8 +1288,14 @@ static int xfrm_get_policy(struct sk_buff *skb,
struct nlmsghdr *nlh,
MSG_DONTWAIT);
}
} else {
- if ((err = security_xfrm_policy_delete(xp)) != 0)
+ err = security_xfrm_policy_delete(xp);
+
+ xfrm_audit_log(NETLINK_CB(skb).loginuid, NETLINK_CB(skb).sid,
+ AUDIT_MAC_IPSEC_DELSPD, err ? 0 : 1, xp, NULL);
+
+ if (err != 0)
goto out;
+
c.data.byid = p->index;
c.event = nlh->nlmsg_type;
c.seq = nlh->nlmsg_seq;
As a side note, I find the expression
err ? 0 : 1
suspect. Why not write !err ?
Regards.
next prev parent reply other threads:[~2007-04-10 9:06 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-06 16:18 2.6.20-rt8 patch tweaked for 2.6.20.5 John
2007-04-06 17:36 ` Ingo Molnar
2007-04-10 9:07 ` John [this message]
2007-04-10 13:17 ` Ingo Molnar
2007-04-10 14:18 ` John
2007-04-10 14:23 ` Ingo Molnar
2007-04-10 16:22 ` John
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=461B53CD.1030603@free.fr \
--to=linux.kernel@free.fr \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@timesys.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.