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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-01-24 21:49:00

  Pablik - Użytkownik

Pablik
Użytkownik
Zarejestrowany: 2010-10-21

IMQ patchowanie jajka

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

Kod:

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

Kod:

--- 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

 

#2  2012-01-24 21:50:33

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: IMQ patchowanie jajka

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

Offline

 

#3  2012-01-24 21:52:21

  Pablik - Użytkownik

Pablik
Użytkownik
Zarejestrowany: 2010-10-21

Re: IMQ patchowanie jajka

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

Offline

 

#4  2012-01-24 22:00:34

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: IMQ patchowanie jajka

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

 

#5  2012-01-24 22:04:47

  Pablik - Użytkownik

Pablik
Użytkownik
Zarejestrowany: 2010-10-21

Re: IMQ patchowanie jajka

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

 

#6  2012-01-24 22:09:53

  P@blo - Nadworny matematyk

P@blo
Nadworny matematyk
Skąd: Wrocław v Jasło
Zarejestrowany: 2010-11-11

Re: IMQ patchowanie jajka

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)


ThinkPadX220i
| Procesor: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz |
|  Debian: sid   |   Arch: amd64   |   Sound: alsa   |
| No DE | WM: DWM  |  DM: .bash_profile  |  BIOS+MBR |

Offline

 

#7  2012-01-24 22:11:08

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: IMQ patchowanie jajka

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

 

#8  2012-01-24 22:20:25

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: IMQ patchowanie jajka

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2012-01-24 22:24:22

  Pablik - Użytkownik

Pablik
Użytkownik
Zarejestrowany: 2010-10-21

Re: IMQ patchowanie jajka

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

Kod:

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

 

#10  2012-01-24 22:27:31

  P@blo - Nadworny matematyk

P@blo
Nadworny matematyk
Skąd: Wrocław v Jasło
Zarejestrowany: 2010-11-11

Re: IMQ patchowanie jajka

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


ThinkPadX220i
| Procesor: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz |
|  Debian: sid   |   Arch: amd64   |   Sound: alsa   |
| No DE | WM: DWM  |  DM: .bash_profile  |  BIOS+MBR |

Offline

 

#11  2012-01-24 22:30:28

  Pablik - Użytkownik

Pablik
Użytkownik
Zarejestrowany: 2010-10-21

Re: IMQ patchowanie jajka

z -p1  poszło dzięki

Offline

 

#12  2012-01-24 22:31:13

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: IMQ patchowanie jajka

Kod:

patch -p1 </gdzie/jest/łatka.diff

próbowałeś.

A żeby nałożyć łatę, najpierw spróbuj, czy wejdzie czysto, czyli:

Kod:

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
;-)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#13  2012-01-24 22:35:35

  Pablik - Użytkownik

Pablik
Użytkownik
Zarejestrowany: 2010-10-21

Re: IMQ patchowanie jajka

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

 

#14  2012-01-24 22:36:11

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: IMQ patchowanie jajka

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

 

#15  2012-01-24 22:40:49

  Pablik - Użytkownik

Pablik
Użytkownik
Zarejestrowany: 2010-10-21

Re: IMQ patchowanie jajka

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

Offline

 

#16  2012-01-24 22:41:47

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: IMQ patchowanie jajka

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

Kod:

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#17  2012-01-24 22:43:04

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: IMQ patchowanie jajka

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

Offline

 

#18  2012-01-24 22:46:50

  Pablik - Użytkownik

Pablik
Użytkownik
Zarejestrowany: 2010-10-21

Re: IMQ patchowanie jajka

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

 

#19  2012-01-24 22:48:01

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: IMQ patchowanie jajka

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

 

#20  2012-01-24 22:51:18

  Pablik - Użytkownik

Pablik
Użytkownik
Zarejestrowany: 2010-10-21

Re: IMQ patchowanie jajka

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

Offline

 

#21  2012-01-24 22:53:08

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: IMQ patchowanie jajka

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

 

#22  2012-02-21 09:13:20

  lzur - Nowy użytkownik

lzur
Nowy użytkownik
Zarejestrowany: 2012-02-21

Re: IMQ patchowanie jajka

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

 

#23  2012-02-24 15:52:22

  az - debianlover

az
debianlover
Zarejestrowany: 2009-01-23

Re: IMQ patchowanie jajka

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


Debian everywhere

Offline

 

#24  2012-02-24 18:02:27

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: IMQ patchowanie jajka

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

 

#25  2012-02-27 20:50:15

  Nicram - Użytkownik

Nicram
Użytkownik
Zarejestrowany: 2006-03-28

Re: IMQ patchowanie jajka

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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)