Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

Użytkownik


Witam chciałem dodać łatkę IMQ do przed kompilacją jajka i wyskoczyły mi jakiś HUK FILED :
Notebook:/usr/src/linux-3.2.1# patch < /home/pablik/patch-imqmq-3.1.diff
patching file imq.c patching file Kconfig Hunk #1 FAILED at 124. 1 out of 1 hunk FAILED -- saving rejects to file Kconfig.rej patching file Makefile Hunk #1 FAILED at 175. 1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej patching file imq.h patching file xt_IMQ.h patching file netfilter.h Hunk #1 FAILED at 22. 1 out of 1 hunk FAILED -- saving rejects to file netfilter.h.rej patching file ipt_IMQ.h patching file ip6t_IMQ.h patching file skbuff.h Hunk #1 FAILED at 29. Hunk #2 FAILED at 356. Hunk #3 FAILED at 394. Hunk #4 FAILED at 418. Hunk #5 FAILED at 504. Hunk #6 FAILED at 2157. 6 out of 6 hunks FAILED -- saving rejects to file skbuff.h.rej patching file nf_queue.h Hunk #1 FAILED at 30. 1 out of 1 hunk FAILED -- saving rejects to file nf_queue.h.rej patching file dev.c Hunk #1 FAILED at 98. Hunk #2 FAILED at 2126. 2 out of 2 hunks FAILED -- saving rejects to file dev.c.rej patching file skbuff.c Hunk #1 FAILED at 73. Hunk #2 FAILED at 92. Hunk #3 FAILED at 392. Hunk #4 FAILED at 533. Hunk #5 FAILED at 2888. 5 out of 5 hunks FAILED -- saving rejects to file skbuff.c.rej patching file ip6_output.c Hunk #1 FAILED at 102. Hunk #2 FAILED at 170. 2 out of 2 hunks FAILED -- saving rejects to file ip6_output.c.rej patching file core.c Hunk #1 FAILED at 179. 1 out of 1 hunk FAILED -- saving rejects to file core.c.rej patching file Kconfig Hunk #1 FAILED at 507. 1 out of 1 hunk FAILED -- saving rejects to file Kconfig.rej patching file Makefile Hunk #1 FAILED at 56. 1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej patching file nf_internals.h Hunk #1 FAILED at 29. 1 out of 1 hunk FAILED -- saving rejects to file nf_internals.h.rej patching file nf_queue.c Hunk #1 FAILED at 22. Hunk #2 FAILED at 92. Hunk #3 FAILED at 112. Hunk #4 FAILED at 123. Hunk #5 FAILED at 137. Hunk #6 FAILED at 209. Hunk #7 FAILED at 217. Hunk #8 FAILED at 244. Hunk #9 FAILED at 299. 9 out of 9 hunks FAILED -- saving rejects to file nf_queue.c.rej patching file xt_IMQ.c
a oto zawartość nf_queue.c.rej
--- nf_queue.c 2011-10-24 10:10:05.000000000 +0300
+++ nf_queue.c 2011-11-04 11:12:52.123057315 +0200
@@ -22,6 +22,26 @@
static DEFINE_MUTEX(queue_handler_mutex);
+#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
+static const struct nf_queue_handler *queue_imq_handler;
+
+void nf_register_queue_imq_handler(const struct nf_queue_handler *qh)
+{
+ mutex_lock(&queue_handler_mutex);
+ rcu_assign_pointer(queue_imq_handler, qh);
+ mutex_unlock(&queue_handler_mutex);
+}
+EXPORT_SYMBOL_GPL(nf_register_queue_imq_handler);
+
+void nf_unregister_queue_imq_handler(void)
+{
+ mutex_lock(&queue_handler_mutex);
+ rcu_assign_pointer(queue_imq_handler, NULL);
+ mutex_unlock(&queue_handler_mutex);
+}
+EXPORT_SYMBOL_GPL(nf_unregister_queue_imq_handler);
+#endif
+
/* return EBUSY when somebody else is registered, return EEXIST if the
* same handler is registered, return 0 in case of success. */
int nf_register_queue_handler(u_int8_t pf, const struct nf_queue_handler *qh)
@@ -92,7 +112,7 @@
}
EXPORT_SYMBOL_GPL(nf_unregister_queue_handlers);
-static void nf_queue_entry_release_refs(struct nf_queue_entry *entry)
+void nf_queue_entry_release_refs(struct nf_queue_entry *entry)
{
/* Release those devices we held, or Alexey will kill me. */
if (entry->indev)
@@ -112,6 +132,7 @@
/* Drop reference to owner of hook which queued us. */
module_put(entry->elem->owner);
}
+EXPORT_SYMBOL_GPL(nf_queue_entry_release_refs);
/*
* Any packet that leaves via this function must come back
@@ -123,7 +144,8 @@
struct net_device *indev,
struct net_device *outdev,
int (*okfn)(struct sk_buff *),
- unsigned int queuenum)
+ unsigned int queuenum,
+ unsigned int queuetype)
{
int status = -ENOENT;
struct nf_queue_entry *entry = NULL;
@@ -137,7 +159,17 @@
/* QUEUE == DROP if no one is waiting, to be safe. */
rcu_read_lock();
- qh = rcu_dereference(queue_handler[pf]);
+ if (queuetype == NF_IMQ_QUEUE) {
+#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
+ qh = rcu_dereference(queue_imq_handler);
+#else
+ BUG();
+ goto err_unlock;
+#endif
+ } else {
+ qh = rcu_dereference(queue_handler[pf]);
+ }
+
if (!qh) {
status = -ESRCH;
goto err_unlock;
@@ -209,7 +241,8 @@
struct net_device *indev,
struct net_device *outdev,
int (*okfn)(struct sk_buff *),
- unsigned int queuenum)
+ unsigned int queuenum,
+ unsigned int queuetype)
{
struct sk_buff *segs;
int err;
@@ -217,7 +250,7 @@
if (!skb_is_gso(skb))
return __nf_queue(skb, elem, pf, hook, indev, outdev, okfn,
- queuenum);
+ queuenum, queuetype);
switch (pf) {
case NFPROTO_IPV4:
@@ -244,7 +277,7 @@
segs->next = NULL;
if (err == 0)
err = __nf_queue(segs, elem, pf, hook, indev,
- outdev, okfn, queuenum);
+ outdev, okfn, queuenum, queuetype);
if (err == 0)
queued++;
else
@@ -299,9 +332,11 @@
local_bh_enable();
break;
case NF_QUEUE:
+ case NF_IMQ_QUEUE:
err = __nf_queue(skb, elem, entry->pf, entry->hook,
entry->indev, entry->outdev, entry->okfn,
- verdict >> NF_VERDICT_QBITS);
+ verdict >> NF_VERDICT_QBITS,
+ verdict & NF_VERDICT_MASK);
if (err < 0) {
if (err == -ECANCELED)
goto next_hook;Offline







Kapelusznik








Łata jest dla 3.1, a nakładasz ją na 3.2, pewnie stąd rejecty.
Offline

Użytkownik


myślałem ze to jest kompatybilne wstecz , ok wielkie dzięki
Offline







Kapelusznik








Zazwyczaj patche wydawane są dla danej wersji źródeł kernela. Pewnie nie ma jeszcze wersji dla 3.2 (wnioskuję z tego, że gdyby była, to byś ją ściągnął :)), zatem musiałbyś użyć starszego kernela. 3.0 to longterm — będzie wspierany jeszcze przynajmniej dwa lata, 3.1 natomiast nie będzie już aktualizowany.
Offline

Użytkownik


to polecasz mi 3.0 ?? bo ja ściągam właśnie 3.1 .
Jak to 3.1 nie będzie aktualizowany, to 3.0 jest aktualizowany , ja myślałem ze to są już tak jakby wersje final i teraz czeka się na 3.2 czy tam następną
Offline



Nadworny matematyk




http://forum.dug.net.pl/viewtopic.php?pid=184010#p184010
Kolega chyba zacznie przeszukiwać forum ;)
Ostatnio edytowany przez P@blo (2012-01-24 22:10:10)
Offline







Kapelusznik








W wydaniach podbijających tylko trzecią liczbę nie ma już dużych zmian, a tylko poprawki bezpieczeństwa, poprawki wykrytych w międzyczasie błędów itp. Chodzi o to, że jeśli teraz zostanie wykryta jakaś dziura bezpieczeństwa, to w 3.0 zostanie ona załatana, a w 3.1 już nie, ponieważ ta gałąź nie jest już wspierana. Jak już wcześniej pisałem 3.0 to longterm, czyli gałąź z wydłużonym wsparciem, wszelkie dziury itp. będą w niej poprawiane przez przynajmniej dwa lata. Oczywiście żeby skorzystać z takich poprawek musisz zaktualizować swoje źródła i przekompilować kernel.
https://lkml.org/lkml/2012/1/9/418
3.2.y - this will be maintained until 3.3 comes out
3.1.y - there will be only one, maybe two, more releases of this tree
3.0.y - this is the new "longterm" kernel release, it will be maintained for 2 years at the minimum by me.
2.6.32.y - this is the previous "longterm" kernel release. It is approaching it's end-of-life, and I think I only have another month or so doing releases of this. After I am finished with it, it might be picked up by someone else, but I'm not going to promise anything.
Offline







Podobno człowiek...;)








Na 3.1.10 ta łatka IMQ weszła czysto, do 3.2.* musisz mieć łatę na 3.2.
Różnica miedzy wersjami jest tak "minimalna", że xtables-addons na 3.1 kompilują się bez problemu, a na 3.2.* ani myślą (u mnie).
Ostatnio edytowany przez Jacekalex (2012-02-24 18:02:33)
Offline

Użytkownik


Jajko 3.0.17 , patch do 3.0.x i takie cos :
root@Notebook:/usr/src/linux-3.0.17# patch < /home/pablik/patch-imqmq-3.0.diff
patching file imq.c patching file Kconfig Hunk #1 FAILED at 124. 1 out of 1 hunk FAILED -- saving rejects to file Kconfig.rej patching file Makefile Hunk #1 FAILED at 176. 1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej patching file imq.h patching file xt_IMQ.h patching file netfilter.h Hunk #1 FAILED at 22. 1 out of 1 hunk FAILED -- saving rejects to file netfilter.h.rej patching file ipt_IMQ.h patching file ip6t_IMQ.h patching file skbuff.h Hunk #1 FAILED at 29. Hunk #2 FAILED at 339. Hunk #3 FAILED at 377. Hunk #4 FAILED at 401. Hunk #5 FAILED at 487. Hunk #6 FAILED at 2134. 6 out of 6 hunks FAILED -- saving rejects to file skbuff.h.rej patching file nf_queue.h Hunk #1 FAILED at 30. 1 out of 1 hunk FAILED -- saving rejects to file nf_queue.h.rej patching file dev.c Hunk #1 FAILED at 98. Hunk #2 FAILED at 2108. 2 out of 2 hunks FAILED -- saving rejects to file dev.c.rej patching file skbuff.c Hunk #1 FAILED at 73. Hunk #2 FAILED at 92. Hunk #3 FAILED at 380. Hunk #4 FAILED at 518. Hunk #5 FAILED at 2781. 5 out of 5 hunks FAILED -- saving rejects to file skbuff.c.rej patching file ip6_output.c Hunk #1 FAILED at 101. Hunk #2 FAILED at 165. 2 out of 2 hunks FAILED -- saving rejects to file ip6_output.c.rej patching file core.c Hunk #1 FAILED at 179. 1 out of 1 hunk FAILED -- saving rejects to file core.c.rej patching file Kconfig Hunk #1 FAILED at 507. 1 out of 1 hunk FAILED -- saving rejects to file Kconfig.rej patching file Makefile Hunk #1 FAILED at 56. 1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej patching file nf_internals.h Hunk #1 FAILED at 29. 1 out of 1 hunk FAILED -- saving rejects to file nf_internals.h.rej patching file nf_queue.c Hunk #1 FAILED at 22. Hunk #2 FAILED at 92. Hunk #3 FAILED at 112. Hunk #4 FAILED at 123. Hunk #5 FAILED at 137. Hunk #6 FAILED at 209. Hunk #7 FAILED at 217. Hunk #8 FAILED at 244. Hunk #9 FAILED at 299. 9 out of 9 hunks FAILED -- saving rejects to file nf_queue.c.rej patching file xt_IMQ.c
mam pokazać zawartość tych wszystkich plików ??
Offline



Nadworny matematyk




Nie wiem czy ważne to jest... Ale może poprzedni patch ci coś namieszał? BTW ja tam patchuje z -p1
Offline







Podobno człowiek...;)








patch -p1 </gdzie/jest/łatka.diff
próbowałeś.
A żeby nałożyć łatę, najpierw spróbuj, czy wejdzie czysto, czyli:
patch -p1 --dry-run </gdzie/jest/łatka.diff
Poza tym skąd masz źródła jajka 3.0.17?
Łaty bepieczniej nakładać na vaniliowe kernele, źródła w różnych dystrybucjach często mają inne łaty, które mogą kolidować z tymi, które chcesz nałożyć.
To by było na tyle
;-)
Offline

Użytkownik


jajka zawsze ściągam stąd "http://www.kernel.org/" , co to jest vaniliowy kernel i z skąd go pobrać
Ostatnio edytowany przez Pablik (2012-01-24 22:36:15)
Offline







Kapelusznik








P@blo napisał(-a):
BTW ja tam patchuje z -p1
Oczywiście, w pierwszym poście spojrzałem tylko na różnice wersji i już tego nie zauważyłem, sorry. Choć i tak 3.1 na 3.2 by pewnie nie wszedł. :P
EDIT: Waniliowy kernel to kernel z kernel.org właśnie.
Offline

Użytkownik


dobra teraz do rana będzie mi się jajko kompilowało :(
Offline







Podobno człowiek...;)








Pablik napisał(-a):
jajka zawsze ściągam stąd "http://www.kernel.org/" , co to jest vaniliowy kernel i z skąd go pobrać
Instalując kernel poleceniem np
apt-get install linux-source
w Ubuntu dostaniesz źródła z łatami dodanymi przez Ubuntu, w Debianie z łatkami dodanymi przez Team Debiana.
Na kernel.org masz czyste źródła, potocznie zwane vaniliowymi.
Ostatnio edytowany przez Jacekalex (2012-02-21 11:16:22)
Offline







Kapelusznik








Na dłuższą metę szybciej byłoby gdybyś teraz posiedział nad konfigiem… Na zoptymalizowanym kompilacja trwa kilka minut.
Offline

Użytkownik


jak się wie co i jak, na się tam motam jak nie wiem , potrafię wybrać tylko tam sterowniki i sprzęt a reszta to dla mnie czarna magia
Offline







Kapelusznik








To weź konfiga z kernel-seeds i dodaj sterowniki oraz sprzęt skoro akurat to potrafisz. :) Będzie git.
http://kernel-seeds.org/seeds/32_bit/vanilla/
Offline

Użytkownik


3.0.17-x86-08.config ta będzie dobra tak ??
Offline







Kapelusznik








Tak, tylko przyłóż się do tego sprzętu, bo jak nie wkompilujesz co trzeba, to będzie kernel panic. ;)
Sterownik do dysku oraz system plików na partycji „/” są szczególnie ważne dla podniesienia systemu.
http://kernel-seeds.org/working.html
Offline
Kompilację jądra 3.2.4 z IMQ opisałem na http://alfa.tailor.com.pl/imqhtb/3.2.4/imq_htb_pl.html
Offline

debianlover


ArnVaker napisał(-a):
Zazwyczaj patche wydawane są dla danej wersji źródeł kernela. Pewnie nie ma jeszcze wersji dla 3.2 (wnioskuję z tego, że gdyby była, to byś ją ściągnął :)), zatem musiałbyś użyć starszego kernela. 3.0 to longterm — będzie wspierany jeszcze przynajmniej dwa lata, 3.1 natomiast nie będzie już aktualizowany.
no raczej, jak moze byc kompatybilne? skoro patch to informacja ze cos w tanej linii ma zmienic, to musialby to byc ten sam plik, a jesli cos sie w nim zmienilo wczesniej (wyzej) to juz po ptokach i nie zrobisz patcha, patcha robi sie diffem... btw i nie ma to nic wspolnego z kompatybilnoscia, bo to prosty mechanizm
Offline







Kapelusznik








az: ale ja nic nie pisałem o kompatybilności itp. ;) Gdyby akurat na przestrzeni tych wersji nie zmieniło się nic w plikach, których dany patch dotyczy, to by wszedł… Zatem czasem fartem może działać, ale zazwyczaj wydawane są dla konkretnej wersji (jak już napisałem w przytoczonym przez Ciebie cytacie).
Offline

Użytkownik


lzur napisał(-a):
Kompilację jądra 3.2.4 z IMQ opisałem na http://alfa.tailor.com.pl/imqhtb/3.2.4/imq_htb_pl.html
ale link nie działa :(
Offline