diff options
Diffstat (limited to 'include/linux')
35 files changed, 1230 insertions, 250 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild index 2b8a7d68fae3..7d076d97b2f7 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild | |||
@@ -1,63 +1,343 @@ | |||
1 | header-y := byteorder/ dvb/ hdlc/ isdn/ nfsd/ raid/ sunrpc/ tc_act/ \ | 1 | header-y += byteorder/ |
2 | netfilter/ netfilter_arp/ netfilter_bridge/ netfilter_ipv4/ \ | 2 | header-y += dvb/ |
3 | netfilter_ipv6/ | 3 | header-y += hdlc/ |
4 | header-y += isdn/ | ||
5 | header-y += nfsd/ | ||
6 | header-y += raid/ | ||
7 | header-y += sunrpc/ | ||
8 | header-y += tc_act/ | ||
9 | header-y += netfilter/ | ||
10 | header-y += netfilter_arp/ | ||
11 | header-y += netfilter_bridge/ | ||
12 | header-y += netfilter_ipv4/ | ||
13 | header-y += netfilter_ipv6/ | ||
4 | 14 | ||
5 | header-y += affs_fs.h affs_hardblocks.h aio_abi.h a.out.h arcfb.h \ | 15 | header-y += affs_fs.h |
6 | atmapi.h atmbr2684.h atmclip.h atm_eni.h atm_he.h \ | 16 | header-y += affs_hardblocks.h |
7 | atm_idt77105.h atmioc.h atmlec.h atmmpc.h atm_nicstar.h \ | 17 | header-y += aio_abi.h |
8 | atmppp.h atmsap.h atmsvc.h atm_zatm.h auto_fs4.h auxvec.h \ | 18 | header-y += a.out.h |
9 | awe_voice.h ax25.h b1lli.h baycom.h bfs_fs.h blkpg.h \ | 19 | header-y += arcfb.h |
10 | bpqether.h cdk.h chio.h coda_psdev.h coff.h comstats.h \ | 20 | header-y += atmapi.h |
11 | consolemap.h cycx_cfm.h dm-ioctl.h dn.h dqblk_v1.h \ | 21 | header-y += atmbr2684.h |
12 | dqblk_v2.h dqblk_xfs.h efs_fs_sb.h elf-fdpic.h elf.h elf-em.h \ | 22 | header-y += atmclip.h |
13 | fadvise.h fd.h fdreg.h ftape-header-segment.h ftape-vendors.h \ | 23 | header-y += atm_eni.h |
14 | fuse.h futex.h genetlink.h gen_stats.h gigaset_dev.h hdsmart.h \ | 24 | header-y += atm_he.h |
15 | hpfs_fs.h hysdn_if.h i2c-dev.h i8k.h icmp.h \ | 25 | header-y += atm_idt77105.h |
16 | if_arcnet.h if_arp.h if_bonding.h if_cablemodem.h if_fc.h \ | 26 | header-y += atmioc.h |
17 | if_fddi.h if.h if_hippi.h if_infiniband.h if_packet.h \ | 27 | header-y += atmlec.h |
18 | if_plip.h if_ppp.h if_slip.h if_strip.h if_tunnel.h in6.h \ | 28 | header-y += atmmpc.h |
19 | in_route.h ioctl.h ip.h ipmi_msgdefs.h ip_mp_alg.h ipsec.h \ | 29 | header-y += atm_nicstar.h |
20 | ipx.h irda.h isdn_divertif.h iso_fs.h ite_gpio.h ixjuser.h \ | 30 | header-y += atmppp.h |
21 | jffs2.h keyctl.h limits.h major.h matroxfb.h meye.h minix_fs.h \ | 31 | header-y += atmsap.h |
22 | mmtimer.h mqueue.h mtio.h ncp_no.h netfilter_arp.h netrom.h \ | 32 | header-y += atmsvc.h |
23 | nfs2.h nfs4_mount.h nfs_mount.h openprom_fs.h param.h \ | 33 | header-y += atm_zatm.h |
24 | pci_ids.h pci_regs.h personality.h pfkeyv2.h pg.h pkt_cls.h \ | 34 | header-y += auto_fs4.h |
25 | pkt_sched.h posix_types.h ppdev.h prctl.h ps2esdi.h qic117.h \ | 35 | header-y += auxvec.h |
26 | qnxtypes.h quotaio_v1.h quotaio_v2.h radeonfb.h raw.h \ | 36 | header-y += awe_voice.h |
27 | resource.h rose.h sctp.h smbno.h snmp.h sockios.h som.h \ | 37 | header-y += ax25.h |
28 | sound.h stddef.h synclink.h telephony.h termios.h ticable.h \ | 38 | header-y += b1lli.h |
29 | times.h tiocl.h tipc.h toshiba.h ultrasound.h un.h utime.h \ | 39 | header-y += baycom.h |
30 | utsname.h video_decoder.h video_encoder.h videotext.h vt.h \ | 40 | header-y += bfs_fs.h |
31 | wavefront.h wireless.h xattr.h x25.h zorro_ids.h | 41 | header-y += blkpg.h |
42 | header-y += bpqether.h | ||
43 | header-y += cdk.h | ||
44 | header-y += chio.h | ||
45 | header-y += coda_psdev.h | ||
46 | header-y += coff.h | ||
47 | header-y += comstats.h | ||
48 | header-y += consolemap.h | ||
49 | header-y += cycx_cfm.h | ||
50 | header-y += dm-ioctl.h | ||
51 | header-y += dn.h | ||
52 | header-y += dqblk_v1.h | ||
53 | header-y += dqblk_v2.h | ||
54 | header-y += dqblk_xfs.h | ||
55 | header-y += efs_fs_sb.h | ||
56 | header-y += elf-fdpic.h | ||
57 | header-y += elf.h | ||
58 | header-y += elf-em.h | ||
59 | header-y += fadvise.h | ||
60 | header-y += fd.h | ||
61 | header-y += fdreg.h | ||
62 | header-y += ftape-header-segment.h | ||
63 | header-y += ftape-vendors.h | ||
64 | header-y += fuse.h | ||
65 | header-y += futex.h | ||
66 | header-y += genetlink.h | ||
67 | header-y += gen_stats.h | ||
68 | header-y += gigaset_dev.h | ||
69 | header-y += hdsmart.h | ||
70 | header-y += hpfs_fs.h | ||
71 | header-y += hysdn_if.h | ||
72 | header-y += i2c-dev.h | ||
73 | header-y += i8k.h | ||
74 | header-y += icmp.h | ||
75 | header-y += if_arcnet.h | ||
76 | header-y += if_arp.h | ||
77 | header-y += if_bonding.h | ||
78 | header-y += if_cablemodem.h | ||
79 | header-y += if_fc.h | ||
80 | header-y += if_fddi.h | ||
81 | header-y += if.h | ||
82 | header-y += if_hippi.h | ||
83 | header-y += if_infiniband.h | ||
84 | header-y += if_packet.h | ||
85 | header-y += if_plip.h | ||
86 | header-y += if_ppp.h | ||
87 | header-y += if_slip.h | ||
88 | header-y += if_strip.h | ||
89 | header-y += if_tunnel.h | ||
90 | header-y += in6.h | ||
91 | header-y += in_route.h | ||
92 | header-y += ioctl.h | ||
93 | header-y += ip.h | ||
94 | header-y += ipmi_msgdefs.h | ||
95 | header-y += ip_mp_alg.h | ||
96 | header-y += ipsec.h | ||
97 | header-y += ipx.h | ||
98 | header-y += irda.h | ||
99 | header-y += isdn_divertif.h | ||
100 | header-y += iso_fs.h | ||
101 | header-y += ite_gpio.h | ||
102 | header-y += ixjuser.h | ||
103 | header-y += jffs2.h | ||
104 | header-y += keyctl.h | ||
105 | header-y += limits.h | ||
106 | header-y += major.h | ||
107 | header-y += matroxfb.h | ||
108 | header-y += meye.h | ||
109 | header-y += minix_fs.h | ||
110 | header-y += mmtimer.h | ||
111 | header-y += mqueue.h | ||
112 | header-y += mtio.h | ||
113 | header-y += ncp_no.h | ||
114 | header-y += netfilter_arp.h | ||
115 | header-y += netrom.h | ||
116 | header-y += nfs2.h | ||
117 | header-y += nfs4_mount.h | ||
118 | header-y += nfs_mount.h | ||
119 | header-y += openprom_fs.h | ||
120 | header-y += param.h | ||
121 | header-y += pci_ids.h | ||
122 | header-y += pci_regs.h | ||
123 | header-y += personality.h | ||
124 | header-y += pfkeyv2.h | ||
125 | header-y += pg.h | ||
126 | header-y += pkt_cls.h | ||
127 | header-y += pkt_sched.h | ||
128 | header-y += posix_types.h | ||
129 | header-y += ppdev.h | ||
130 | header-y += prctl.h | ||
131 | header-y += ps2esdi.h | ||
132 | header-y += qic117.h | ||
133 | header-y += qnxtypes.h | ||
134 | header-y += quotaio_v1.h | ||
135 | header-y += quotaio_v2.h | ||
136 | header-y += radeonfb.h | ||
137 | header-y += raw.h | ||
138 | header-y += resource.h | ||
139 | header-y += rose.h | ||
140 | header-y += sctp.h | ||
141 | header-y += smbno.h | ||
142 | header-y += snmp.h | ||
143 | header-y += sockios.h | ||
144 | header-y += som.h | ||
145 | header-y += sound.h | ||
146 | header-y += stddef.h | ||
147 | header-y += synclink.h | ||
148 | header-y += telephony.h | ||
149 | header-y += termios.h | ||
150 | header-y += ticable.h | ||
151 | header-y += times.h | ||
152 | header-y += tiocl.h | ||
153 | header-y += tipc.h | ||
154 | header-y += toshiba.h | ||
155 | header-y += ultrasound.h | ||
156 | header-y += un.h | ||
157 | header-y += utime.h | ||
158 | header-y += utsname.h | ||
159 | header-y += video_decoder.h | ||
160 | header-y += video_encoder.h | ||
161 | header-y += videotext.h | ||
162 | header-y += vt.h | ||
163 | header-y += wavefront.h | ||
164 | header-y += wireless.h | ||
165 | header-y += xattr.h | ||
166 | header-y += x25.h | ||
167 | header-y += zorro_ids.h | ||
32 | 168 | ||
33 | unifdef-y += acct.h adb.h adfs_fs.h agpgart.h apm_bios.h atalk.h \ | 169 | unifdef-y += acct.h |
34 | atmarp.h atmdev.h atm.h atm_tcp.h audit.h auto_fs.h binfmts.h \ | 170 | unifdef-y += adb.h |
35 | capability.h capi.h cciss_ioctl.h cdrom.h cm4000_cs.h \ | 171 | unifdef-y += adfs_fs.h |
36 | cn_proc.h coda.h connector.h cramfs_fs.h cuda.h cyclades.h \ | 172 | unifdef-y += agpgart.h |
37 | dccp.h dirent.h divert.h elfcore.h errno.h errqueue.h \ | 173 | unifdef-y += apm_bios.h |
38 | ethtool.h eventpoll.h ext2_fs.h ext3_fs.h fb.h fcntl.h \ | 174 | unifdef-y += atalk.h |
39 | filter.h flat.h fs.h ftape.h gameport.h generic_serial.h \ | 175 | unifdef-y += atmarp.h |
40 | genhd.h hayesesp.h hdlcdrv.h hdlc.h hdreg.h hiddev.h hpet.h \ | 176 | unifdef-y += atmdev.h |
41 | i2c.h i2o-dev.h icmpv6.h if_bridge.h if_ec.h \ | 177 | unifdef-y += atm.h |
42 | if_eql.h if_ether.h if_frad.h if_ltalk.h if_pppox.h \ | 178 | unifdef-y += atm_tcp.h |
43 | if_shaper.h if_tr.h if_tun.h if_vlan.h if_wanpipe.h igmp.h \ | 179 | unifdef-y += audit.h |
44 | inet_diag.h in.h inotify.h input.h ipc.h ipmi.h ipv6.h \ | 180 | unifdef-y += auto_fs.h |
45 | ipv6_route.h isdn.h isdnif.h isdn_ppp.h isicom.h jbd.h \ | 181 | unifdef-y += binfmts.h |
46 | joystick.h kdev_t.h kd.h kernelcapi.h kernel.h keyboard.h \ | 182 | unifdef-y += capability.h |
47 | llc.h loop.h lp.h mempolicy.h mii.h mman.h mroute.h msdos_fs.h \ | 183 | unifdef-y += capi.h |
48 | msg.h nbd.h ncp_fs.h ncp.h ncp_mount.h netdevice.h \ | 184 | unifdef-y += cciss_ioctl.h |
49 | netfilter_bridge.h netfilter_decnet.h netfilter.h \ | 185 | unifdef-y += cdrom.h |
50 | netfilter_ipv4.h netfilter_ipv6.h netfilter_logging.h net.h \ | 186 | unifdef-y += cm4000_cs.h |
51 | netlink.h nfs3.h nfs4.h nfsacl.h nfs_fs.h nfs.h nfs_idmap.h \ | 187 | unifdef-y += cn_proc.h |
52 | n_r3964.h nubus.h nvram.h parport.h patchkey.h pci.h pktcdvd.h \ | 188 | unifdef-y += coda.h |
53 | pmu.h poll.h ppp_defs.h ppp-comp.h ptrace.h qnx4_fs.h quota.h \ | 189 | unifdef-y += connector.h |
54 | random.h reboot.h reiserfs_fs.h reiserfs_xattr.h romfs_fs.h \ | 190 | unifdef-y += cramfs_fs.h |
55 | route.h rtc.h rtnetlink.h scc.h sched.h sdla.h \ | 191 | unifdef-y += cuda.h |
56 | selinux_netlink.h sem.h serial_core.h serial.h serio.h shm.h \ | 192 | unifdef-y += cyclades.h |
57 | signal.h smb_fs.h smb.h smb_mount.h socket.h sonet.h sonypi.h \ | 193 | unifdef-y += dccp.h |
58 | soundcard.h stat.h sysctl.h tcp.h time.h timex.h tty.h types.h \ | 194 | unifdef-y += dirent.h |
59 | udf_fs_i.h udp.h uinput.h uio.h unistd.h usb_ch9.h \ | 195 | unifdef-y += divert.h |
60 | usbdevice_fs.h user.h videodev2.h videodev.h wait.h \ | 196 | unifdef-y += elfcore.h |
61 | wanrouter.h watchdog.h xfrm.h zftape.h | 197 | unifdef-y += errno.h |
198 | unifdef-y += errqueue.h | ||
199 | unifdef-y += ethtool.h | ||
200 | unifdef-y += eventpoll.h | ||
201 | unifdef-y += ext2_fs.h | ||
202 | unifdef-y += ext3_fs.h | ||
203 | unifdef-y += fb.h | ||
204 | unifdef-y += fcntl.h | ||
205 | unifdef-y += filter.h | ||
206 | unifdef-y += flat.h | ||
207 | unifdef-y += fs.h | ||
208 | unifdef-y += ftape.h | ||
209 | unifdef-y += gameport.h | ||
210 | unifdef-y += generic_serial.h | ||
211 | unifdef-y += genhd.h | ||
212 | unifdef-y += hayesesp.h | ||
213 | unifdef-y += hdlcdrv.h | ||
214 | unifdef-y += hdlc.h | ||
215 | unifdef-y += hdreg.h | ||
216 | unifdef-y += hiddev.h | ||
217 | unifdef-y += hpet.h | ||
218 | unifdef-y += i2c.h | ||
219 | unifdef-y += i2o-dev.h | ||
220 | unifdef-y += icmpv6.h | ||
221 | unifdef-y += if_bridge.h | ||
222 | unifdef-y += if_ec.h | ||
223 | unifdef-y += if_eql.h | ||
224 | unifdef-y += if_ether.h | ||
225 | unifdef-y += if_frad.h | ||
226 | unifdef-y += if_ltalk.h | ||
227 | unifdef-y += if_pppox.h | ||
228 | unifdef-y += if_shaper.h | ||
229 | unifdef-y += if_tr.h | ||
230 | unifdef-y += if_tun.h | ||
231 | unifdef-y += if_vlan.h | ||
232 | unifdef-y += if_wanpipe.h | ||
233 | unifdef-y += igmp.h | ||
234 | unifdef-y += inet_diag.h | ||
235 | unifdef-y += in.h | ||
236 | unifdef-y += inotify.h | ||
237 | unifdef-y += input.h | ||
238 | unifdef-y += ipc.h | ||
239 | unifdef-y += ipmi.h | ||
240 | unifdef-y += ipv6.h | ||
241 | unifdef-y += ipv6_route.h | ||
242 | unifdef-y += isdn.h | ||
243 | unifdef-y += isdnif.h | ||
244 | unifdef-y += isdn_ppp.h | ||
245 | unifdef-y += isicom.h | ||
246 | unifdef-y += jbd.h | ||
247 | unifdef-y += joystick.h | ||
248 | unifdef-y += kdev_t.h | ||
249 | unifdef-y += kd.h | ||
250 | unifdef-y += kernelcapi.h | ||
251 | unifdef-y += kernel.h | ||
252 | unifdef-y += keyboard.h | ||
253 | unifdef-y += llc.h | ||
254 | unifdef-y += loop.h | ||
255 | unifdef-y += lp.h | ||
256 | unifdef-y += mempolicy.h | ||
257 | unifdef-y += mii.h | ||
258 | unifdef-y += mman.h | ||
259 | unifdef-y += mroute.h | ||
260 | unifdef-y += msdos_fs.h | ||
261 | unifdef-y += msg.h | ||
262 | unifdef-y += nbd.h | ||
263 | unifdef-y += ncp_fs.h | ||
264 | unifdef-y += ncp.h | ||
265 | unifdef-y += ncp_mount.h | ||
266 | unifdef-y += netdevice.h | ||
267 | unifdef-y += netfilter_bridge.h | ||
268 | unifdef-y += netfilter_decnet.h | ||
269 | unifdef-y += netfilter.h | ||
270 | unifdef-y += netfilter_ipv4.h | ||
271 | unifdef-y += netfilter_ipv6.h | ||
272 | unifdef-y += netfilter_logging.h | ||
273 | unifdef-y += net.h | ||
274 | unifdef-y += netlink.h | ||
275 | unifdef-y += nfs3.h | ||
276 | unifdef-y += nfs4.h | ||
277 | unifdef-y += nfsacl.h | ||
278 | unifdef-y += nfs_fs.h | ||
279 | unifdef-y += nfs.h | ||
280 | unifdef-y += nfs_idmap.h | ||
281 | unifdef-y += n_r3964.h | ||
282 | unifdef-y += nubus.h | ||
283 | unifdef-y += nvram.h | ||
284 | unifdef-y += parport.h | ||
285 | unifdef-y += patchkey.h | ||
286 | unifdef-y += pci.h | ||
287 | unifdef-y += pktcdvd.h | ||
288 | unifdef-y += pmu.h | ||
289 | unifdef-y += poll.h | ||
290 | unifdef-y += ppp_defs.h | ||
291 | unifdef-y += ppp-comp.h | ||
292 | unifdef-y += ptrace.h | ||
293 | unifdef-y += qnx4_fs.h | ||
294 | unifdef-y += quota.h | ||
295 | unifdef-y += random.h | ||
296 | unifdef-y += reboot.h | ||
297 | unifdef-y += reiserfs_fs.h | ||
298 | unifdef-y += reiserfs_xattr.h | ||
299 | unifdef-y += romfs_fs.h | ||
300 | unifdef-y += route.h | ||
301 | unifdef-y += rtc.h | ||
302 | unifdef-y += rtnetlink.h | ||
303 | unifdef-y += scc.h | ||
304 | unifdef-y += sched.h | ||
305 | unifdef-y += sdla.h | ||
306 | unifdef-y += selinux_netlink.h | ||
307 | unifdef-y += sem.h | ||
308 | unifdef-y += serial_core.h | ||
309 | unifdef-y += serial.h | ||
310 | unifdef-y += serio.h | ||
311 | unifdef-y += shm.h | ||
312 | unifdef-y += signal.h | ||
313 | unifdef-y += smb_fs.h | ||
314 | unifdef-y += smb.h | ||
315 | unifdef-y += smb_mount.h | ||
316 | unifdef-y += socket.h | ||
317 | unifdef-y += sonet.h | ||
318 | unifdef-y += sonypi.h | ||
319 | unifdef-y += soundcard.h | ||
320 | unifdef-y += stat.h | ||
321 | unifdef-y += sysctl.h | ||
322 | unifdef-y += tcp.h | ||
323 | unifdef-y += time.h | ||
324 | unifdef-y += timex.h | ||
325 | unifdef-y += tty.h | ||
326 | unifdef-y += types.h | ||
327 | unifdef-y += udf_fs_i.h | ||
328 | unifdef-y += udp.h | ||
329 | unifdef-y += uinput.h | ||
330 | unifdef-y += uio.h | ||
331 | unifdef-y += unistd.h | ||
332 | unifdef-y += usb_ch9.h | ||
333 | unifdef-y += usbdevice_fs.h | ||
334 | unifdef-y += user.h | ||
335 | unifdef-y += videodev2.h | ||
336 | unifdef-y += videodev.h | ||
337 | unifdef-y += wait.h | ||
338 | unifdef-y += wanrouter.h | ||
339 | unifdef-y += watchdog.h | ||
340 | unifdef-y += xfrm.h | ||
341 | unifdef-y += zftape.h | ||
62 | 342 | ||
63 | objhdr-y := version.h | 343 | objhdr-y += version.h |
diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h index 41788a31c438..2096e5c72827 100644 --- a/include/linux/atmdev.h +++ b/include/linux/atmdev.h | |||
@@ -7,7 +7,6 @@ | |||
7 | #define LINUX_ATMDEV_H | 7 | #define LINUX_ATMDEV_H |
8 | 8 | ||
9 | 9 | ||
10 | #include <linux/device.h> | ||
11 | #include <linux/atmapi.h> | 10 | #include <linux/atmapi.h> |
12 | #include <linux/atm.h> | 11 | #include <linux/atm.h> |
13 | #include <linux/atmioc.h> | 12 | #include <linux/atmioc.h> |
@@ -210,6 +209,7 @@ struct atm_cirange { | |||
210 | 209 | ||
211 | #ifdef __KERNEL__ | 210 | #ifdef __KERNEL__ |
212 | 211 | ||
212 | #include <linux/device.h> | ||
213 | #include <linux/wait.h> /* wait_queue_head_t */ | 213 | #include <linux/wait.h> /* wait_queue_head_t */ |
214 | #include <linux/time.h> /* struct timeval */ | 214 | #include <linux/time.h> /* struct timeval */ |
215 | #include <linux/net.h> | 215 | #include <linux/net.h> |
diff --git a/include/linux/audit.h b/include/linux/audit.h index 64f9f9e56ac5..40a6c26294ae 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h | |||
@@ -132,6 +132,10 @@ | |||
132 | #define AUDIT_CLASS_DIR_WRITE_32 1 | 132 | #define AUDIT_CLASS_DIR_WRITE_32 1 |
133 | #define AUDIT_CLASS_CHATTR 2 | 133 | #define AUDIT_CLASS_CHATTR 2 |
134 | #define AUDIT_CLASS_CHATTR_32 3 | 134 | #define AUDIT_CLASS_CHATTR_32 3 |
135 | #define AUDIT_CLASS_READ 4 | ||
136 | #define AUDIT_CLASS_READ_32 5 | ||
137 | #define AUDIT_CLASS_WRITE 6 | ||
138 | #define AUDIT_CLASS_WRITE_32 7 | ||
135 | 139 | ||
136 | /* This bitmask is used to validate user input. It represents all bits that | 140 | /* This bitmask is used to validate user input. It represents all bits that |
137 | * are currently used in an audit field constant understood by the kernel. | 141 | * are currently used in an audit field constant understood by the kernel. |
@@ -177,6 +181,7 @@ | |||
177 | #define AUDIT_EXIT 103 | 181 | #define AUDIT_EXIT 103 |
178 | #define AUDIT_SUCCESS 104 /* exit >= 0; value ignored */ | 182 | #define AUDIT_SUCCESS 104 /* exit >= 0; value ignored */ |
179 | #define AUDIT_WATCH 105 | 183 | #define AUDIT_WATCH 105 |
184 | #define AUDIT_PERM 106 | ||
180 | 185 | ||
181 | #define AUDIT_ARG0 200 | 186 | #define AUDIT_ARG0 200 |
182 | #define AUDIT_ARG1 (AUDIT_ARG0+1) | 187 | #define AUDIT_ARG1 (AUDIT_ARG0+1) |
@@ -252,6 +257,11 @@ | |||
252 | #define AUDIT_ARCH_V850 (EM_V850|__AUDIT_ARCH_LE) | 257 | #define AUDIT_ARCH_V850 (EM_V850|__AUDIT_ARCH_LE) |
253 | #define AUDIT_ARCH_X86_64 (EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) | 258 | #define AUDIT_ARCH_X86_64 (EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) |
254 | 259 | ||
260 | #define AUDIT_PERM_EXEC 1 | ||
261 | #define AUDIT_PERM_WRITE 2 | ||
262 | #define AUDIT_PERM_READ 4 | ||
263 | #define AUDIT_PERM_ATTR 8 | ||
264 | |||
255 | struct audit_status { | 265 | struct audit_status { |
256 | __u32 mask; /* Bit mask for valid entries */ | 266 | __u32 mask; /* Bit mask for valid entries */ |
257 | __u32 enabled; /* 1 = enabled, 0 = disabled */ | 267 | __u32 enabled; /* 1 = enabled, 0 = disabled */ |
@@ -314,6 +324,7 @@ struct mqstat; | |||
314 | #define AUDITSC_FAILURE 2 | 324 | #define AUDITSC_FAILURE 2 |
315 | #define AUDITSC_RESULT(x) ( ((long)(x))<0?AUDITSC_FAILURE:AUDITSC_SUCCESS ) | 325 | #define AUDITSC_RESULT(x) ( ((long)(x))<0?AUDITSC_FAILURE:AUDITSC_SUCCESS ) |
316 | extern int __init audit_register_class(int class, unsigned *list); | 326 | extern int __init audit_register_class(int class, unsigned *list); |
327 | extern int audit_classify_syscall(int abi, unsigned syscall); | ||
317 | #ifdef CONFIG_AUDITSYSCALL | 328 | #ifdef CONFIG_AUDITSYSCALL |
318 | /* These are defined in auditsc.c */ | 329 | /* These are defined in auditsc.c */ |
319 | /* Public API */ | 330 | /* Public API */ |
diff --git a/include/linux/byteorder/Kbuild b/include/linux/byteorder/Kbuild index 84a57d4fb212..56499ab9e32e 100644 --- a/include/linux/byteorder/Kbuild +++ b/include/linux/byteorder/Kbuild | |||
@@ -1,2 +1,7 @@ | |||
1 | unifdef-y += generic.h swabb.h swab.h | 1 | header-y += big_endian.h |
2 | header-y += big_endian.h little_endian.h pdp_endian.h | 2 | header-y += little_endian.h |
3 | header-y += pdp_endian.h | ||
4 | |||
5 | unifdef-y += generic.h | ||
6 | unifdef-y += swabb.h | ||
7 | unifdef-y += swab.h | ||
diff --git a/include/linux/crypto.h b/include/linux/crypto.h index 7f946241b879..8f2ffa4caabf 100644 --- a/include/linux/crypto.h +++ b/include/linux/crypto.h | |||
@@ -17,20 +17,36 @@ | |||
17 | #ifndef _LINUX_CRYPTO_H | 17 | #ifndef _LINUX_CRYPTO_H |
18 | #define _LINUX_CRYPTO_H | 18 | #define _LINUX_CRYPTO_H |
19 | 19 | ||
20 | #include <asm/atomic.h> | ||
20 | #include <linux/module.h> | 21 | #include <linux/module.h> |
21 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
22 | #include <linux/types.h> | ||
23 | #include <linux/list.h> | 23 | #include <linux/list.h> |
24 | #include <linux/slab.h> | ||
24 | #include <linux/string.h> | 25 | #include <linux/string.h> |
25 | #include <asm/page.h> | 26 | #include <linux/uaccess.h> |
26 | 27 | ||
27 | /* | 28 | /* |
28 | * Algorithm masks and types. | 29 | * Algorithm masks and types. |
29 | */ | 30 | */ |
30 | #define CRYPTO_ALG_TYPE_MASK 0x000000ff | 31 | #define CRYPTO_ALG_TYPE_MASK 0x0000000f |
31 | #define CRYPTO_ALG_TYPE_CIPHER 0x00000001 | 32 | #define CRYPTO_ALG_TYPE_CIPHER 0x00000001 |
32 | #define CRYPTO_ALG_TYPE_DIGEST 0x00000002 | 33 | #define CRYPTO_ALG_TYPE_DIGEST 0x00000002 |
33 | #define CRYPTO_ALG_TYPE_COMPRESS 0x00000004 | 34 | #define CRYPTO_ALG_TYPE_HASH 0x00000003 |
35 | #define CRYPTO_ALG_TYPE_BLKCIPHER 0x00000004 | ||
36 | #define CRYPTO_ALG_TYPE_COMPRESS 0x00000005 | ||
37 | |||
38 | #define CRYPTO_ALG_TYPE_HASH_MASK 0x0000000e | ||
39 | |||
40 | #define CRYPTO_ALG_LARVAL 0x00000010 | ||
41 | #define CRYPTO_ALG_DEAD 0x00000020 | ||
42 | #define CRYPTO_ALG_DYING 0x00000040 | ||
43 | #define CRYPTO_ALG_ASYNC 0x00000080 | ||
44 | |||
45 | /* | ||
46 | * Set this bit if and only if the algorithm requires another algorithm of | ||
47 | * the same type to handle corner cases. | ||
48 | */ | ||
49 | #define CRYPTO_ALG_NEED_FALLBACK 0x00000100 | ||
34 | 50 | ||
35 | /* | 51 | /* |
36 | * Transform masks and values (for crt_flags). | 52 | * Transform masks and values (for crt_flags). |
@@ -61,8 +77,37 @@ | |||
61 | #define CRYPTO_DIR_ENCRYPT 1 | 77 | #define CRYPTO_DIR_ENCRYPT 1 |
62 | #define CRYPTO_DIR_DECRYPT 0 | 78 | #define CRYPTO_DIR_DECRYPT 0 |
63 | 79 | ||
80 | /* | ||
81 | * The macro CRYPTO_MINALIGN_ATTR (along with the void * type in the actual | ||
82 | * declaration) is used to ensure that the crypto_tfm context structure is | ||
83 | * aligned correctly for the given architecture so that there are no alignment | ||
84 | * faults for C data types. In particular, this is required on platforms such | ||
85 | * as arm where pointers are 32-bit aligned but there are data types such as | ||
86 | * u64 which require 64-bit alignment. | ||
87 | */ | ||
88 | #if defined(ARCH_KMALLOC_MINALIGN) | ||
89 | #define CRYPTO_MINALIGN ARCH_KMALLOC_MINALIGN | ||
90 | #elif defined(ARCH_SLAB_MINALIGN) | ||
91 | #define CRYPTO_MINALIGN ARCH_SLAB_MINALIGN | ||
92 | #endif | ||
93 | |||
94 | #ifdef CRYPTO_MINALIGN | ||
95 | #define CRYPTO_MINALIGN_ATTR __attribute__ ((__aligned__(CRYPTO_MINALIGN))) | ||
96 | #else | ||
97 | #define CRYPTO_MINALIGN_ATTR | ||
98 | #endif | ||
99 | |||
64 | struct scatterlist; | 100 | struct scatterlist; |
101 | struct crypto_blkcipher; | ||
102 | struct crypto_hash; | ||
65 | struct crypto_tfm; | 103 | struct crypto_tfm; |
104 | struct crypto_type; | ||
105 | |||
106 | struct blkcipher_desc { | ||
107 | struct crypto_blkcipher *tfm; | ||
108 | void *info; | ||
109 | u32 flags; | ||
110 | }; | ||
66 | 111 | ||
67 | struct cipher_desc { | 112 | struct cipher_desc { |
68 | struct crypto_tfm *tfm; | 113 | struct crypto_tfm *tfm; |
@@ -72,30 +117,50 @@ struct cipher_desc { | |||
72 | void *info; | 117 | void *info; |
73 | }; | 118 | }; |
74 | 119 | ||
120 | struct hash_desc { | ||
121 | struct crypto_hash *tfm; | ||
122 | u32 flags; | ||
123 | }; | ||
124 | |||
75 | /* | 125 | /* |
76 | * Algorithms: modular crypto algorithm implementations, managed | 126 | * Algorithms: modular crypto algorithm implementations, managed |
77 | * via crypto_register_alg() and crypto_unregister_alg(). | 127 | * via crypto_register_alg() and crypto_unregister_alg(). |
78 | */ | 128 | */ |
129 | struct blkcipher_alg { | ||
130 | int (*setkey)(struct crypto_tfm *tfm, const u8 *key, | ||
131 | unsigned int keylen); | ||
132 | int (*encrypt)(struct blkcipher_desc *desc, | ||
133 | struct scatterlist *dst, struct scatterlist *src, | ||
134 | unsigned int nbytes); | ||
135 | int (*decrypt)(struct blkcipher_desc *desc, | ||
136 | struct scatterlist *dst, struct scatterlist *src, | ||
137 | unsigned int nbytes); | ||
138 | |||
139 | unsigned int min_keysize; | ||
140 | unsigned int max_keysize; | ||
141 | unsigned int ivsize; | ||
142 | }; | ||
143 | |||
79 | struct cipher_alg { | 144 | struct cipher_alg { |
80 | unsigned int cia_min_keysize; | 145 | unsigned int cia_min_keysize; |
81 | unsigned int cia_max_keysize; | 146 | unsigned int cia_max_keysize; |
82 | int (*cia_setkey)(struct crypto_tfm *tfm, const u8 *key, | 147 | int (*cia_setkey)(struct crypto_tfm *tfm, const u8 *key, |
83 | unsigned int keylen, u32 *flags); | 148 | unsigned int keylen); |
84 | void (*cia_encrypt)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); | 149 | void (*cia_encrypt)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); |
85 | void (*cia_decrypt)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); | 150 | void (*cia_decrypt)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); |
86 | 151 | ||
87 | unsigned int (*cia_encrypt_ecb)(const struct cipher_desc *desc, | 152 | unsigned int (*cia_encrypt_ecb)(const struct cipher_desc *desc, |
88 | u8 *dst, const u8 *src, | 153 | u8 *dst, const u8 *src, |
89 | unsigned int nbytes); | 154 | unsigned int nbytes) __deprecated; |
90 | unsigned int (*cia_decrypt_ecb)(const struct cipher_desc *desc, | 155 | unsigned int (*cia_decrypt_ecb)(const struct cipher_desc *desc, |
91 | u8 *dst, const u8 *src, | 156 | u8 *dst, const u8 *src, |
92 | unsigned int nbytes); | 157 | unsigned int nbytes) __deprecated; |
93 | unsigned int (*cia_encrypt_cbc)(const struct cipher_desc *desc, | 158 | unsigned int (*cia_encrypt_cbc)(const struct cipher_desc *desc, |
94 | u8 *dst, const u8 *src, | 159 | u8 *dst, const u8 *src, |
95 | unsigned int nbytes); | 160 | unsigned int nbytes) __deprecated; |
96 | unsigned int (*cia_decrypt_cbc)(const struct cipher_desc *desc, | 161 | unsigned int (*cia_decrypt_cbc)(const struct cipher_desc *desc, |
97 | u8 *dst, const u8 *src, | 162 | u8 *dst, const u8 *src, |
98 | unsigned int nbytes); | 163 | unsigned int nbytes) __deprecated; |
99 | }; | 164 | }; |
100 | 165 | ||
101 | struct digest_alg { | 166 | struct digest_alg { |
@@ -105,7 +170,20 @@ struct digest_alg { | |||
105 | unsigned int len); | 170 | unsigned int len); |
106 | void (*dia_final)(struct crypto_tfm *tfm, u8 *out); | 171 | void (*dia_final)(struct crypto_tfm *tfm, u8 *out); |
107 | int (*dia_setkey)(struct crypto_tfm *tfm, const u8 *key, | 172 | int (*dia_setkey)(struct crypto_tfm *tfm, const u8 *key, |
108 | unsigned int keylen, u32 *flags); | 173 | unsigned int keylen); |
174 | }; | ||
175 | |||
176 | struct hash_alg { | ||
177 | int (*init)(struct hash_desc *desc); | ||
178 | int (*update)(struct hash_desc *desc, struct scatterlist *sg, | ||
179 | unsigned int nbytes); | ||
180 | int (*final)(struct hash_desc *desc, u8 *out); | ||
181 | int (*digest)(struct hash_desc *desc, struct scatterlist *sg, | ||
182 | unsigned int nbytes, u8 *out); | ||
183 | int (*setkey)(struct crypto_hash *tfm, const u8 *key, | ||
184 | unsigned int keylen); | ||
185 | |||
186 | unsigned int digestsize; | ||
109 | }; | 187 | }; |
110 | 188 | ||
111 | struct compress_alg { | 189 | struct compress_alg { |
@@ -115,30 +193,40 @@ struct compress_alg { | |||
115 | unsigned int slen, u8 *dst, unsigned int *dlen); | 193 | unsigned int slen, u8 *dst, unsigned int *dlen); |
116 | }; | 194 | }; |
117 | 195 | ||
196 | #define cra_blkcipher cra_u.blkcipher | ||
118 | #define cra_cipher cra_u.cipher | 197 | #define cra_cipher cra_u.cipher |
119 | #define cra_digest cra_u.digest | 198 | #define cra_digest cra_u.digest |
199 | #define cra_hash cra_u.hash | ||
120 | #define cra_compress cra_u.compress | 200 | #define cra_compress cra_u.compress |
121 | 201 | ||
122 | struct crypto_alg { | 202 | struct crypto_alg { |
123 | struct list_head cra_list; | 203 | struct list_head cra_list; |
204 | struct list_head cra_users; | ||
205 | |||
124 | u32 cra_flags; | 206 | u32 cra_flags; |
125 | unsigned int cra_blocksize; | 207 | unsigned int cra_blocksize; |
126 | unsigned int cra_ctxsize; | 208 | unsigned int cra_ctxsize; |
127 | unsigned int cra_alignmask; | 209 | unsigned int cra_alignmask; |
128 | 210 | ||
129 | int cra_priority; | 211 | int cra_priority; |
212 | atomic_t cra_refcnt; | ||
130 | 213 | ||
131 | char cra_name[CRYPTO_MAX_ALG_NAME]; | 214 | char cra_name[CRYPTO_MAX_ALG_NAME]; |
132 | char cra_driver_name[CRYPTO_MAX_ALG_NAME]; | 215 | char cra_driver_name[CRYPTO_MAX_ALG_NAME]; |
133 | 216 | ||
217 | const struct crypto_type *cra_type; | ||
218 | |||
134 | union { | 219 | union { |
220 | struct blkcipher_alg blkcipher; | ||
135 | struct cipher_alg cipher; | 221 | struct cipher_alg cipher; |
136 | struct digest_alg digest; | 222 | struct digest_alg digest; |
223 | struct hash_alg hash; | ||
137 | struct compress_alg compress; | 224 | struct compress_alg compress; |
138 | } cra_u; | 225 | } cra_u; |
139 | 226 | ||
140 | int (*cra_init)(struct crypto_tfm *tfm); | 227 | int (*cra_init)(struct crypto_tfm *tfm); |
141 | void (*cra_exit)(struct crypto_tfm *tfm); | 228 | void (*cra_exit)(struct crypto_tfm *tfm); |
229 | void (*cra_destroy)(struct crypto_alg *alg); | ||
142 | 230 | ||
143 | struct module *cra_module; | 231 | struct module *cra_module; |
144 | }; | 232 | }; |
@@ -153,20 +241,39 @@ int crypto_unregister_alg(struct crypto_alg *alg); | |||
153 | * Algorithm query interface. | 241 | * Algorithm query interface. |
154 | */ | 242 | */ |
155 | #ifdef CONFIG_CRYPTO | 243 | #ifdef CONFIG_CRYPTO |
156 | int crypto_alg_available(const char *name, u32 flags); | 244 | int crypto_alg_available(const char *name, u32 flags) |
245 | __deprecated_for_modules; | ||
246 | int crypto_has_alg(const char *name, u32 type, u32 mask); | ||
157 | #else | 247 | #else |
248 | static int crypto_alg_available(const char *name, u32 flags); | ||
249 | __deprecated_for_modules; | ||
158 | static inline int crypto_alg_available(const char *name, u32 flags) | 250 | static inline int crypto_alg_available(const char *name, u32 flags) |
159 | { | 251 | { |
160 | return 0; | 252 | return 0; |
161 | } | 253 | } |
254 | |||
255 | static inline int crypto_has_alg(const char *name, u32 type, u32 mask) | ||
256 | { | ||
257 | return 0; | ||
258 | } | ||
162 | #endif | 259 | #endif |
163 | 260 | ||
164 | /* | 261 | /* |
165 | * Transforms: user-instantiated objects which encapsulate algorithms | 262 | * Transforms: user-instantiated objects which encapsulate algorithms |
166 | * and core processing logic. Managed via crypto_alloc_tfm() and | 263 | * and core processing logic. Managed via crypto_alloc_*() and |
167 | * crypto_free_tfm(), as well as the various helpers below. | 264 | * crypto_free_*(), as well as the various helpers below. |
168 | */ | 265 | */ |
169 | 266 | ||
267 | struct blkcipher_tfm { | ||
268 | void *iv; | ||
269 | int (*setkey)(struct crypto_tfm *tfm, const u8 *key, | ||
270 | unsigned int keylen); | ||
271 | int (*encrypt)(struct blkcipher_desc *desc, struct scatterlist *dst, | ||
272 | struct scatterlist *src, unsigned int nbytes); | ||
273 | int (*decrypt)(struct blkcipher_desc *desc, struct scatterlist *dst, | ||
274 | struct scatterlist *src, unsigned int nbytes); | ||
275 | }; | ||
276 | |||
170 | struct cipher_tfm { | 277 | struct cipher_tfm { |
171 | void *cit_iv; | 278 | void *cit_iv; |
172 | unsigned int cit_ivsize; | 279 | unsigned int cit_ivsize; |
@@ -190,20 +297,20 @@ struct cipher_tfm { | |||
190 | struct scatterlist *src, | 297 | struct scatterlist *src, |
191 | unsigned int nbytes, u8 *iv); | 298 | unsigned int nbytes, u8 *iv); |
192 | void (*cit_xor_block)(u8 *dst, const u8 *src); | 299 | void (*cit_xor_block)(u8 *dst, const u8 *src); |
300 | void (*cit_encrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); | ||
301 | void (*cit_decrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); | ||
193 | }; | 302 | }; |
194 | 303 | ||
195 | struct digest_tfm { | 304 | struct hash_tfm { |
196 | void (*dit_init)(struct crypto_tfm *tfm); | 305 | int (*init)(struct hash_desc *desc); |
197 | void (*dit_update)(struct crypto_tfm *tfm, | 306 | int (*update)(struct hash_desc *desc, |
198 | struct scatterlist *sg, unsigned int nsg); | 307 | struct scatterlist *sg, unsigned int nsg); |
199 | void (*dit_final)(struct crypto_tfm *tfm, u8 *out); | 308 | int (*final)(struct hash_desc *desc, u8 *out); |
200 | void (*dit_digest)(struct crypto_tfm *tfm, struct scatterlist *sg, | 309 | int (*digest)(struct hash_desc *desc, struct scatterlist *sg, |
201 | unsigned int nsg, u8 *out); | 310 | unsigned int nsg, u8 *out); |
202 | int (*dit_setkey)(struct crypto_tfm *tfm, | 311 | int (*setkey)(struct crypto_hash *tfm, const u8 *key, |
203 | const u8 *key, unsigned int keylen); | 312 | unsigned int keylen); |
204 | #ifdef CONFIG_CRYPTO_HMAC | 313 | unsigned int digestsize; |
205 | void *dit_hmac_block; | ||
206 | #endif | ||
207 | }; | 314 | }; |
208 | 315 | ||
209 | struct compress_tfm { | 316 | struct compress_tfm { |
@@ -215,8 +322,9 @@ struct compress_tfm { | |||
215 | u8 *dst, unsigned int *dlen); | 322 | u8 *dst, unsigned int *dlen); |
216 | }; | 323 | }; |
217 | 324 | ||
325 | #define crt_blkcipher crt_u.blkcipher | ||
218 | #define crt_cipher crt_u.cipher | 326 | #define crt_cipher crt_u.cipher |
219 | #define crt_digest crt_u.digest | 327 | #define crt_hash crt_u.hash |
220 | #define crt_compress crt_u.compress | 328 | #define crt_compress crt_u.compress |
221 | 329 | ||
222 | struct crypto_tfm { | 330 | struct crypto_tfm { |
@@ -224,30 +332,43 @@ struct crypto_tfm { | |||
224 | u32 crt_flags; | 332 | u32 crt_flags; |
225 | 333 | ||
226 | union { | 334 | union { |
335 | struct blkcipher_tfm blkcipher; | ||
227 | struct cipher_tfm cipher; | 336 | struct cipher_tfm cipher; |
228 | struct digest_tfm digest; | 337 | struct hash_tfm hash; |
229 | struct compress_tfm compress; | 338 | struct compress_tfm compress; |
230 | } crt_u; | 339 | } crt_u; |
231 | 340 | ||
232 | struct crypto_alg *__crt_alg; | 341 | struct crypto_alg *__crt_alg; |
233 | 342 | ||
234 | char __crt_ctx[] __attribute__ ((__aligned__)); | 343 | void *__crt_ctx[] CRYPTO_MINALIGN_ATTR; |
344 | }; | ||
345 | |||
346 | #define crypto_cipher crypto_tfm | ||
347 | #define crypto_comp crypto_tfm | ||
348 | |||
349 | struct crypto_blkcipher { | ||
350 | struct crypto_tfm base; | ||
351 | }; | ||
352 | |||
353 | struct crypto_hash { | ||
354 | struct crypto_tfm base; | ||
355 | }; | ||
356 | |||
357 | enum { | ||
358 | CRYPTOA_UNSPEC, | ||
359 | CRYPTOA_ALG, | ||
360 | }; | ||
361 | |||
362 | struct crypto_attr_alg { | ||
363 | char name[CRYPTO_MAX_ALG_NAME]; | ||
235 | }; | 364 | }; |
236 | 365 | ||
237 | /* | 366 | /* |
238 | * Transform user interface. | 367 | * Transform user interface. |
239 | */ | 368 | */ |
240 | 369 | ||
241 | /* | ||
242 | * crypto_alloc_tfm() will first attempt to locate an already loaded algorithm. | ||
243 | * If that fails and the kernel supports dynamically loadable modules, it | ||
244 | * will then attempt to load a module of the same name or alias. A refcount | ||
245 | * is grabbed on the algorithm which is then associated with the new transform. | ||
246 | * | ||
247 | * crypto_free_tfm() frees up the transform and any associated resources, | ||
248 | * then drops the refcount on the associated algorithm. | ||
249 | */ | ||
250 | struct crypto_tfm *crypto_alloc_tfm(const char *alg_name, u32 tfm_flags); | 370 | struct crypto_tfm *crypto_alloc_tfm(const char *alg_name, u32 tfm_flags); |
371 | struct crypto_tfm *crypto_alloc_base(const char *alg_name, u32 type, u32 mask); | ||
251 | void crypto_free_tfm(struct crypto_tfm *tfm); | 372 | void crypto_free_tfm(struct crypto_tfm *tfm); |
252 | 373 | ||
253 | /* | 374 | /* |
@@ -258,6 +379,16 @@ static inline const char *crypto_tfm_alg_name(struct crypto_tfm *tfm) | |||
258 | return tfm->__crt_alg->cra_name; | 379 | return tfm->__crt_alg->cra_name; |
259 | } | 380 | } |
260 | 381 | ||
382 | static inline const char *crypto_tfm_alg_driver_name(struct crypto_tfm *tfm) | ||
383 | { | ||
384 | return tfm->__crt_alg->cra_driver_name; | ||
385 | } | ||
386 | |||
387 | static inline int crypto_tfm_alg_priority(struct crypto_tfm *tfm) | ||
388 | { | ||
389 | return tfm->__crt_alg->cra_priority; | ||
390 | } | ||
391 | |||
261 | static inline const char *crypto_tfm_alg_modname(struct crypto_tfm *tfm) | 392 | static inline const char *crypto_tfm_alg_modname(struct crypto_tfm *tfm) |
262 | { | 393 | { |
263 | return module_name(tfm->__crt_alg->cra_module); | 394 | return module_name(tfm->__crt_alg->cra_module); |
@@ -268,18 +399,23 @@ static inline u32 crypto_tfm_alg_type(struct crypto_tfm *tfm) | |||
268 | return tfm->__crt_alg->cra_flags & CRYPTO_ALG_TYPE_MASK; | 399 | return tfm->__crt_alg->cra_flags & CRYPTO_ALG_TYPE_MASK; |
269 | } | 400 | } |
270 | 401 | ||
402 | static unsigned int crypto_tfm_alg_min_keysize(struct crypto_tfm *tfm) | ||
403 | __deprecated; | ||
271 | static inline unsigned int crypto_tfm_alg_min_keysize(struct crypto_tfm *tfm) | 404 | static inline unsigned int crypto_tfm_alg_min_keysize(struct crypto_tfm *tfm) |
272 | { | 405 | { |
273 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | 406 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); |
274 | return tfm->__crt_alg->cra_cipher.cia_min_keysize; | 407 | return tfm->__crt_alg->cra_cipher.cia_min_keysize; |
275 | } | 408 | } |
276 | 409 | ||
410 | static unsigned int crypto_tfm_alg_max_keysize(struct crypto_tfm *tfm) | ||
411 | __deprecated; | ||
277 | static inline unsigned int crypto_tfm_alg_max_keysize(struct crypto_tfm *tfm) | 412 | static inline unsigned int crypto_tfm_alg_max_keysize(struct crypto_tfm *tfm) |
278 | { | 413 | { |
279 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | 414 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); |
280 | return tfm->__crt_alg->cra_cipher.cia_max_keysize; | 415 | return tfm->__crt_alg->cra_cipher.cia_max_keysize; |
281 | } | 416 | } |
282 | 417 | ||
418 | static unsigned int crypto_tfm_alg_ivsize(struct crypto_tfm *tfm) __deprecated; | ||
283 | static inline unsigned int crypto_tfm_alg_ivsize(struct crypto_tfm *tfm) | 419 | static inline unsigned int crypto_tfm_alg_ivsize(struct crypto_tfm *tfm) |
284 | { | 420 | { |
285 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | 421 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); |
@@ -302,6 +438,21 @@ static inline unsigned int crypto_tfm_alg_alignmask(struct crypto_tfm *tfm) | |||
302 | return tfm->__crt_alg->cra_alignmask; | 438 | return tfm->__crt_alg->cra_alignmask; |
303 | } | 439 | } |
304 | 440 | ||
441 | static inline u32 crypto_tfm_get_flags(struct crypto_tfm *tfm) | ||
442 | { | ||
443 | return tfm->crt_flags; | ||
444 | } | ||
445 | |||
446 | static inline void crypto_tfm_set_flags(struct crypto_tfm *tfm, u32 flags) | ||
447 | { | ||
448 | tfm->crt_flags |= flags; | ||
449 | } | ||
450 | |||
451 | static inline void crypto_tfm_clear_flags(struct crypto_tfm *tfm, u32 flags) | ||
452 | { | ||
453 | tfm->crt_flags &= ~flags; | ||
454 | } | ||
455 | |||
305 | static inline void *crypto_tfm_ctx(struct crypto_tfm *tfm) | 456 | static inline void *crypto_tfm_ctx(struct crypto_tfm *tfm) |
306 | { | 457 | { |
307 | return tfm->__crt_ctx; | 458 | return tfm->__crt_ctx; |
@@ -316,50 +467,374 @@ static inline unsigned int crypto_tfm_ctx_alignment(void) | |||
316 | /* | 467 | /* |
317 | * API wrappers. | 468 | * API wrappers. |
318 | */ | 469 | */ |
319 | static inline void crypto_digest_init(struct crypto_tfm *tfm) | 470 | static inline struct crypto_blkcipher *__crypto_blkcipher_cast( |
471 | struct crypto_tfm *tfm) | ||
320 | { | 472 | { |
321 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST); | 473 | return (struct crypto_blkcipher *)tfm; |
322 | tfm->crt_digest.dit_init(tfm); | ||
323 | } | 474 | } |
324 | 475 | ||
325 | static inline void crypto_digest_update(struct crypto_tfm *tfm, | 476 | static inline struct crypto_blkcipher *crypto_blkcipher_cast( |
326 | struct scatterlist *sg, | 477 | struct crypto_tfm *tfm) |
327 | unsigned int nsg) | ||
328 | { | 478 | { |
329 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST); | 479 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_BLKCIPHER); |
330 | tfm->crt_digest.dit_update(tfm, sg, nsg); | 480 | return __crypto_blkcipher_cast(tfm); |
331 | } | 481 | } |
332 | 482 | ||
333 | static inline void crypto_digest_final(struct crypto_tfm *tfm, u8 *out) | 483 | static inline struct crypto_blkcipher *crypto_alloc_blkcipher( |
484 | const char *alg_name, u32 type, u32 mask) | ||
334 | { | 485 | { |
335 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST); | 486 | type &= ~CRYPTO_ALG_TYPE_MASK; |
336 | tfm->crt_digest.dit_final(tfm, out); | 487 | type |= CRYPTO_ALG_TYPE_BLKCIPHER; |
488 | mask |= CRYPTO_ALG_TYPE_MASK; | ||
489 | |||
490 | return __crypto_blkcipher_cast(crypto_alloc_base(alg_name, type, mask)); | ||
337 | } | 491 | } |
338 | 492 | ||
339 | static inline void crypto_digest_digest(struct crypto_tfm *tfm, | 493 | static inline struct crypto_tfm *crypto_blkcipher_tfm( |
340 | struct scatterlist *sg, | 494 | struct crypto_blkcipher *tfm) |
341 | unsigned int nsg, u8 *out) | ||
342 | { | 495 | { |
343 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST); | 496 | return &tfm->base; |
344 | tfm->crt_digest.dit_digest(tfm, sg, nsg, out); | ||
345 | } | 497 | } |
346 | 498 | ||
347 | static inline int crypto_digest_setkey(struct crypto_tfm *tfm, | 499 | static inline void crypto_free_blkcipher(struct crypto_blkcipher *tfm) |
500 | { | ||
501 | crypto_free_tfm(crypto_blkcipher_tfm(tfm)); | ||
502 | } | ||
503 | |||
504 | static inline int crypto_has_blkcipher(const char *alg_name, u32 type, u32 mask) | ||
505 | { | ||
506 | type &= ~CRYPTO_ALG_TYPE_MASK; | ||
507 | type |= CRYPTO_ALG_TYPE_BLKCIPHER; | ||
508 | mask |= CRYPTO_ALG_TYPE_MASK; | ||
509 | |||
510 | return crypto_has_alg(alg_name, type, mask); | ||
511 | } | ||
512 | |||
513 | static inline const char *crypto_blkcipher_name(struct crypto_blkcipher *tfm) | ||
514 | { | ||
515 | return crypto_tfm_alg_name(crypto_blkcipher_tfm(tfm)); | ||
516 | } | ||
517 | |||
518 | static inline struct blkcipher_tfm *crypto_blkcipher_crt( | ||
519 | struct crypto_blkcipher *tfm) | ||
520 | { | ||
521 | return &crypto_blkcipher_tfm(tfm)->crt_blkcipher; | ||
522 | } | ||
523 | |||
524 | static inline struct blkcipher_alg *crypto_blkcipher_alg( | ||
525 | struct crypto_blkcipher *tfm) | ||
526 | { | ||
527 | return &crypto_blkcipher_tfm(tfm)->__crt_alg->cra_blkcipher; | ||
528 | } | ||
529 | |||
530 | static inline unsigned int crypto_blkcipher_ivsize(struct crypto_blkcipher *tfm) | ||
531 | { | ||
532 | return crypto_blkcipher_alg(tfm)->ivsize; | ||
533 | } | ||
534 | |||
535 | static inline unsigned int crypto_blkcipher_blocksize( | ||
536 | struct crypto_blkcipher *tfm) | ||
537 | { | ||
538 | return crypto_tfm_alg_blocksize(crypto_blkcipher_tfm(tfm)); | ||
539 | } | ||
540 | |||
541 | static inline unsigned int crypto_blkcipher_alignmask( | ||
542 | struct crypto_blkcipher *tfm) | ||
543 | { | ||
544 | return crypto_tfm_alg_alignmask(crypto_blkcipher_tfm(tfm)); | ||
545 | } | ||
546 | |||
547 | static inline u32 crypto_blkcipher_get_flags(struct crypto_blkcipher *tfm) | ||
548 | { | ||
549 | return crypto_tfm_get_flags(crypto_blkcipher_tfm(tfm)); | ||
550 | } | ||
551 | |||
552 | static inline void crypto_blkcipher_set_flags(struct crypto_blkcipher *tfm, | ||
553 | u32 flags) | ||
554 | { | ||
555 | crypto_tfm_set_flags(crypto_blkcipher_tfm(tfm), flags); | ||
556 | } | ||
557 | |||
558 | static inline void crypto_blkcipher_clear_flags(struct crypto_blkcipher *tfm, | ||
559 | u32 flags) | ||
560 | { | ||
561 | crypto_tfm_clear_flags(crypto_blkcipher_tfm(tfm), flags); | ||
562 | } | ||
563 | |||
564 | static inline int crypto_blkcipher_setkey(struct crypto_blkcipher *tfm, | ||
565 | const u8 *key, unsigned int keylen) | ||
566 | { | ||
567 | return crypto_blkcipher_crt(tfm)->setkey(crypto_blkcipher_tfm(tfm), | ||
568 | key, keylen); | ||
569 | } | ||
570 | |||
571 | static inline int crypto_blkcipher_encrypt(struct blkcipher_desc *desc, | ||
572 | struct scatterlist *dst, | ||
573 | struct scatterlist *src, | ||
574 | unsigned int nbytes) | ||
575 | { | ||
576 | desc->info = crypto_blkcipher_crt(desc->tfm)->iv; | ||
577 | return crypto_blkcipher_crt(desc->tfm)->encrypt(desc, dst, src, nbytes); | ||
578 | } | ||
579 | |||
580 | static inline int crypto_blkcipher_encrypt_iv(struct blkcipher_desc *desc, | ||
581 | struct scatterlist *dst, | ||
582 | struct scatterlist *src, | ||
583 | unsigned int nbytes) | ||
584 | { | ||
585 | return crypto_blkcipher_crt(desc->tfm)->encrypt(desc, dst, src, nbytes); | ||
586 | } | ||
587 | |||
588 | static inline int crypto_blkcipher_decrypt(struct blkcipher_desc *desc, | ||
589 | struct scatterlist *dst, | ||
590 | struct scatterlist *src, | ||
591 | unsigned int nbytes) | ||
592 | { | ||
593 | desc->info = crypto_blkcipher_crt(desc->tfm)->iv; | ||
594 | return crypto_blkcipher_crt(desc->tfm)->decrypt(desc, dst, src, nbytes); | ||
595 | } | ||
596 | |||
597 | static inline int crypto_blkcipher_decrypt_iv(struct blkcipher_desc *desc, | ||
598 | struct scatterlist *dst, | ||
599 | struct scatterlist *src, | ||
600 | unsigned int nbytes) | ||
601 | { | ||
602 | return crypto_blkcipher_crt(desc->tfm)->decrypt(desc, dst, src, nbytes); | ||
603 | } | ||
604 | |||
605 | static inline void crypto_blkcipher_set_iv(struct crypto_blkcipher *tfm, | ||
606 | const u8 *src, unsigned int len) | ||
607 | { | ||
608 | memcpy(crypto_blkcipher_crt(tfm)->iv, src, len); | ||
609 | } | ||
610 | |||
611 | static inline void crypto_blkcipher_get_iv(struct crypto_blkcipher *tfm, | ||
612 | u8 *dst, unsigned int len) | ||
613 | { | ||
614 | memcpy(dst, crypto_blkcipher_crt(tfm)->iv, len); | ||
615 | } | ||
616 | |||
617 | static inline struct crypto_cipher *__crypto_cipher_cast(struct crypto_tfm *tfm) | ||
618 | { | ||
619 | return (struct crypto_cipher *)tfm; | ||
620 | } | ||
621 | |||
622 | static inline struct crypto_cipher *crypto_cipher_cast(struct crypto_tfm *tfm) | ||
623 | { | ||
624 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | ||
625 | return __crypto_cipher_cast(tfm); | ||
626 | } | ||
627 | |||
628 | static inline struct crypto_cipher *crypto_alloc_cipher(const char *alg_name, | ||
629 | u32 type, u32 mask) | ||
630 | { | ||
631 | type &= ~CRYPTO_ALG_TYPE_MASK; | ||
632 | type |= CRYPTO_ALG_TYPE_CIPHER; | ||
633 | mask |= CRYPTO_ALG_TYPE_MASK; | ||
634 | |||
635 | return __crypto_cipher_cast(crypto_alloc_base(alg_name, type, mask)); | ||
636 | } | ||
637 | |||
638 | static inline struct crypto_tfm *crypto_cipher_tfm(struct crypto_cipher *tfm) | ||
639 | { | ||
640 | return tfm; | ||
641 | } | ||
642 | |||
643 | static inline void crypto_free_cipher(struct crypto_cipher *tfm) | ||
644 | { | ||
645 | crypto_free_tfm(crypto_cipher_tfm(tfm)); | ||
646 | } | ||
647 | |||
648 | static inline int crypto_has_cipher(const char *alg_name, u32 type, u32 mask) | ||
649 | { | ||
650 | type &= ~CRYPTO_ALG_TYPE_MASK; | ||
651 | type |= CRYPTO_ALG_TYPE_CIPHER; | ||
652 | mask |= CRYPTO_ALG_TYPE_MASK; | ||
653 | |||
654 | return crypto_has_alg(alg_name, type, mask); | ||
655 | } | ||
656 | |||
657 | static inline struct cipher_tfm *crypto_cipher_crt(struct crypto_cipher *tfm) | ||
658 | { | ||
659 | return &crypto_cipher_tfm(tfm)->crt_cipher; | ||
660 | } | ||
661 | |||
662 | static inline unsigned int crypto_cipher_blocksize(struct crypto_cipher *tfm) | ||
663 | { | ||
664 | return crypto_tfm_alg_blocksize(crypto_cipher_tfm(tfm)); | ||
665 | } | ||
666 | |||
667 | static inline unsigned int crypto_cipher_alignmask(struct crypto_cipher *tfm) | ||
668 | { | ||
669 | return crypto_tfm_alg_alignmask(crypto_cipher_tfm(tfm)); | ||
670 | } | ||
671 | |||
672 | static inline u32 crypto_cipher_get_flags(struct crypto_cipher *tfm) | ||
673 | { | ||
674 | return crypto_tfm_get_flags(crypto_cipher_tfm(tfm)); | ||
675 | } | ||
676 | |||
677 | static inline void crypto_cipher_set_flags(struct crypto_cipher *tfm, | ||
678 | u32 flags) | ||
679 | { | ||
680 | crypto_tfm_set_flags(crypto_cipher_tfm(tfm), flags); | ||
681 | } | ||
682 | |||
683 | static inline void crypto_cipher_clear_flags(struct crypto_cipher *tfm, | ||
684 | u32 flags) | ||
685 | { | ||
686 | crypto_tfm_clear_flags(crypto_cipher_tfm(tfm), flags); | ||
687 | } | ||
688 | |||
689 | static inline int crypto_cipher_setkey(struct crypto_cipher *tfm, | ||
348 | const u8 *key, unsigned int keylen) | 690 | const u8 *key, unsigned int keylen) |
349 | { | 691 | { |
350 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_DIGEST); | 692 | return crypto_cipher_crt(tfm)->cit_setkey(crypto_cipher_tfm(tfm), |
351 | if (tfm->crt_digest.dit_setkey == NULL) | 693 | key, keylen); |
352 | return -ENOSYS; | 694 | } |
353 | return tfm->crt_digest.dit_setkey(tfm, key, keylen); | 695 | |
696 | static inline void crypto_cipher_encrypt_one(struct crypto_cipher *tfm, | ||
697 | u8 *dst, const u8 *src) | ||
698 | { | ||
699 | crypto_cipher_crt(tfm)->cit_encrypt_one(crypto_cipher_tfm(tfm), | ||
700 | dst, src); | ||
701 | } | ||
702 | |||
703 | static inline void crypto_cipher_decrypt_one(struct crypto_cipher *tfm, | ||
704 | u8 *dst, const u8 *src) | ||
705 | { | ||
706 | crypto_cipher_crt(tfm)->cit_decrypt_one(crypto_cipher_tfm(tfm), | ||
707 | dst, src); | ||
708 | } | ||
709 | |||
710 | void crypto_digest_init(struct crypto_tfm *tfm) __deprecated_for_modules; | ||
711 | void crypto_digest_update(struct crypto_tfm *tfm, | ||
712 | struct scatterlist *sg, unsigned int nsg) | ||
713 | __deprecated_for_modules; | ||
714 | void crypto_digest_final(struct crypto_tfm *tfm, u8 *out) | ||
715 | __deprecated_for_modules; | ||
716 | void crypto_digest_digest(struct crypto_tfm *tfm, | ||
717 | struct scatterlist *sg, unsigned int nsg, u8 *out) | ||
718 | __deprecated_for_modules; | ||
719 | |||
720 | static inline struct crypto_hash *__crypto_hash_cast(struct crypto_tfm *tfm) | ||
721 | { | ||
722 | return (struct crypto_hash *)tfm; | ||
723 | } | ||
724 | |||
725 | static inline struct crypto_hash *crypto_hash_cast(struct crypto_tfm *tfm) | ||
726 | { | ||
727 | BUG_ON((crypto_tfm_alg_type(tfm) ^ CRYPTO_ALG_TYPE_HASH) & | ||
728 | CRYPTO_ALG_TYPE_HASH_MASK); | ||
729 | return __crypto_hash_cast(tfm); | ||
354 | } | 730 | } |
355 | 731 | ||
356 | static inline int crypto_cipher_setkey(struct crypto_tfm *tfm, | 732 | static int crypto_digest_setkey(struct crypto_tfm *tfm, const u8 *key, |
733 | unsigned int keylen) __deprecated; | ||
734 | static inline int crypto_digest_setkey(struct crypto_tfm *tfm, | ||
357 | const u8 *key, unsigned int keylen) | 735 | const u8 *key, unsigned int keylen) |
358 | { | 736 | { |
359 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | 737 | return tfm->crt_hash.setkey(crypto_hash_cast(tfm), key, keylen); |
360 | return tfm->crt_cipher.cit_setkey(tfm, key, keylen); | 738 | } |
739 | |||
740 | static inline struct crypto_hash *crypto_alloc_hash(const char *alg_name, | ||
741 | u32 type, u32 mask) | ||
742 | { | ||
743 | type &= ~CRYPTO_ALG_TYPE_MASK; | ||
744 | type |= CRYPTO_ALG_TYPE_HASH; | ||
745 | mask |= CRYPTO_ALG_TYPE_HASH_MASK; | ||
746 | |||
747 | return __crypto_hash_cast(crypto_alloc_base(alg_name, type, mask)); | ||
748 | } | ||
749 | |||
750 | static inline struct crypto_tfm *crypto_hash_tfm(struct crypto_hash *tfm) | ||
751 | { | ||
752 | return &tfm->base; | ||
753 | } | ||
754 | |||
755 | static inline void crypto_free_hash(struct crypto_hash *tfm) | ||
756 | { | ||
757 | crypto_free_tfm(crypto_hash_tfm(tfm)); | ||
758 | } | ||
759 | |||
760 | static inline int crypto_has_hash(const char *alg_name, u32 type, u32 mask) | ||
761 | { | ||
762 | type &= ~CRYPTO_ALG_TYPE_MASK; | ||
763 | type |= CRYPTO_ALG_TYPE_HASH; | ||
764 | mask |= CRYPTO_ALG_TYPE_HASH_MASK; | ||
765 | |||
766 | return crypto_has_alg(alg_name, type, mask); | ||
767 | } | ||
768 | |||
769 | static inline struct hash_tfm *crypto_hash_crt(struct crypto_hash *tfm) | ||
770 | { | ||
771 | return &crypto_hash_tfm(tfm)->crt_hash; | ||
772 | } | ||
773 | |||
774 | static inline unsigned int crypto_hash_blocksize(struct crypto_hash *tfm) | ||
775 | { | ||
776 | return crypto_tfm_alg_blocksize(crypto_hash_tfm(tfm)); | ||
777 | } | ||
778 | |||
779 | static inline unsigned int crypto_hash_alignmask(struct crypto_hash *tfm) | ||
780 | { | ||
781 | return crypto_tfm_alg_alignmask(crypto_hash_tfm(tfm)); | ||
782 | } | ||
783 | |||
784 | static inline unsigned int crypto_hash_digestsize(struct crypto_hash *tfm) | ||
785 | { | ||
786 | return crypto_hash_crt(tfm)->digestsize; | ||
787 | } | ||
788 | |||
789 | static inline u32 crypto_hash_get_flags(struct crypto_hash *tfm) | ||
790 | { | ||
791 | return crypto_tfm_get_flags(crypto_hash_tfm(tfm)); | ||
792 | } | ||
793 | |||
794 | static inline void crypto_hash_set_flags(struct crypto_hash *tfm, u32 flags) | ||
795 | { | ||
796 | crypto_tfm_set_flags(crypto_hash_tfm(tfm), flags); | ||
361 | } | 797 | } |
362 | 798 | ||
799 | static inline void crypto_hash_clear_flags(struct crypto_hash *tfm, u32 flags) | ||
800 | { | ||
801 | crypto_tfm_clear_flags(crypto_hash_tfm(tfm), flags); | ||
802 | } | ||
803 | |||
804 | static inline int crypto_hash_init(struct hash_desc *desc) | ||
805 | { | ||
806 | return crypto_hash_crt(desc->tfm)->init(desc); | ||
807 | } | ||
808 | |||
809 | static inline int crypto_hash_update(struct hash_desc *desc, | ||
810 | struct scatterlist *sg, | ||
811 | unsigned int nbytes) | ||
812 | { | ||
813 | return crypto_hash_crt(desc->tfm)->update(desc, sg, nbytes); | ||
814 | } | ||
815 | |||
816 | static inline int crypto_hash_final(struct hash_desc *desc, u8 *out) | ||
817 | { | ||
818 | return crypto_hash_crt(desc->tfm)->final(desc, out); | ||
819 | } | ||
820 | |||
821 | static inline int crypto_hash_digest(struct hash_desc *desc, | ||
822 | struct scatterlist *sg, | ||
823 | unsigned int nbytes, u8 *out) | ||
824 | { | ||
825 | return crypto_hash_crt(desc->tfm)->digest(desc, sg, nbytes, out); | ||
826 | } | ||
827 | |||
828 | static inline int crypto_hash_setkey(struct crypto_hash *hash, | ||
829 | const u8 *key, unsigned int keylen) | ||
830 | { | ||
831 | return crypto_hash_crt(hash)->setkey(hash, key, keylen); | ||
832 | } | ||
833 | |||
834 | static int crypto_cipher_encrypt(struct crypto_tfm *tfm, | ||
835 | struct scatterlist *dst, | ||
836 | struct scatterlist *src, | ||
837 | unsigned int nbytes) __deprecated; | ||
363 | static inline int crypto_cipher_encrypt(struct crypto_tfm *tfm, | 838 | static inline int crypto_cipher_encrypt(struct crypto_tfm *tfm, |
364 | struct scatterlist *dst, | 839 | struct scatterlist *dst, |
365 | struct scatterlist *src, | 840 | struct scatterlist *src, |
@@ -369,16 +844,23 @@ static inline int crypto_cipher_encrypt(struct crypto_tfm *tfm, | |||
369 | return tfm->crt_cipher.cit_encrypt(tfm, dst, src, nbytes); | 844 | return tfm->crt_cipher.cit_encrypt(tfm, dst, src, nbytes); |
370 | } | 845 | } |
371 | 846 | ||
847 | static int crypto_cipher_encrypt_iv(struct crypto_tfm *tfm, | ||
848 | struct scatterlist *dst, | ||
849 | struct scatterlist *src, | ||
850 | unsigned int nbytes, u8 *iv) __deprecated; | ||
372 | static inline int crypto_cipher_encrypt_iv(struct crypto_tfm *tfm, | 851 | static inline int crypto_cipher_encrypt_iv(struct crypto_tfm *tfm, |
373 | struct scatterlist *dst, | 852 | struct scatterlist *dst, |
374 | struct scatterlist *src, | 853 | struct scatterlist *src, |
375 | unsigned int nbytes, u8 *iv) | 854 | unsigned int nbytes, u8 *iv) |
376 | { | 855 | { |
377 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | 856 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); |
378 | BUG_ON(tfm->crt_cipher.cit_mode == CRYPTO_TFM_MODE_ECB); | ||
379 | return tfm->crt_cipher.cit_encrypt_iv(tfm, dst, src, nbytes, iv); | 857 | return tfm->crt_cipher.cit_encrypt_iv(tfm, dst, src, nbytes, iv); |
380 | } | 858 | } |
381 | 859 | ||
860 | static int crypto_cipher_decrypt(struct crypto_tfm *tfm, | ||
861 | struct scatterlist *dst, | ||
862 | struct scatterlist *src, | ||
863 | unsigned int nbytes) __deprecated; | ||
382 | static inline int crypto_cipher_decrypt(struct crypto_tfm *tfm, | 864 | static inline int crypto_cipher_decrypt(struct crypto_tfm *tfm, |
383 | struct scatterlist *dst, | 865 | struct scatterlist *dst, |
384 | struct scatterlist *src, | 866 | struct scatterlist *src, |
@@ -388,16 +870,21 @@ static inline int crypto_cipher_decrypt(struct crypto_tfm *tfm, | |||
388 | return tfm->crt_cipher.cit_decrypt(tfm, dst, src, nbytes); | 870 | return tfm->crt_cipher.cit_decrypt(tfm, dst, src, nbytes); |
389 | } | 871 | } |
390 | 872 | ||
873 | static int crypto_cipher_decrypt_iv(struct crypto_tfm *tfm, | ||
874 | struct scatterlist *dst, | ||
875 | struct scatterlist *src, | ||
876 | unsigned int nbytes, u8 *iv) __deprecated; | ||
391 | static inline int crypto_cipher_decrypt_iv(struct crypto_tfm *tfm, | 877 | static inline int crypto_cipher_decrypt_iv(struct crypto_tfm *tfm, |
392 | struct scatterlist *dst, | 878 | struct scatterlist *dst, |
393 | struct scatterlist *src, | 879 | struct scatterlist *src, |
394 | unsigned int nbytes, u8 *iv) | 880 | unsigned int nbytes, u8 *iv) |
395 | { | 881 | { |
396 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); | 882 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER); |
397 | BUG_ON(tfm->crt_cipher.cit_mode == CRYPTO_TFM_MODE_ECB); | ||
398 | return tfm->crt_cipher.cit_decrypt_iv(tfm, dst, src, nbytes, iv); | 883 | return tfm->crt_cipher.cit_decrypt_iv(tfm, dst, src, nbytes, iv); |
399 | } | 884 | } |
400 | 885 | ||
886 | static void crypto_cipher_set_iv(struct crypto_tfm *tfm, | ||
887 | const u8 *src, unsigned int len) __deprecated; | ||
401 | static inline void crypto_cipher_set_iv(struct crypto_tfm *tfm, | 888 | static inline void crypto_cipher_set_iv(struct crypto_tfm *tfm, |
402 | const u8 *src, unsigned int len) | 889 | const u8 *src, unsigned int len) |
403 | { | 890 | { |
@@ -405,6 +892,8 @@ static inline void crypto_cipher_set_iv(struct crypto_tfm *tfm, | |||
405 | memcpy(tfm->crt_cipher.cit_iv, src, len); | 892 | memcpy(tfm->crt_cipher.cit_iv, src, len); |
406 | } | 893 | } |
407 | 894 | ||
895 | static void crypto_cipher_get_iv(struct crypto_tfm *tfm, | ||
896 | u8 *dst, unsigned int len) __deprecated; | ||
408 | static inline void crypto_cipher_get_iv(struct crypto_tfm *tfm, | 897 | static inline void crypto_cipher_get_iv(struct crypto_tfm *tfm, |
409 | u8 *dst, unsigned int len) | 898 | u8 *dst, unsigned int len) |
410 | { | 899 | { |
@@ -412,34 +901,70 @@ static inline void crypto_cipher_get_iv(struct crypto_tfm *tfm, | |||
412 | memcpy(dst, tfm->crt_cipher.cit_iv, len); | 901 | memcpy(dst, tfm->crt_cipher.cit_iv, len); |
413 | } | 902 | } |
414 | 903 | ||
415 | static inline int crypto_comp_compress(struct crypto_tfm *tfm, | 904 | static inline struct crypto_comp *__crypto_comp_cast(struct crypto_tfm *tfm) |
905 | { | ||
906 | return (struct crypto_comp *)tfm; | ||
907 | } | ||
908 | |||
909 | static inline struct crypto_comp *crypto_comp_cast(struct crypto_tfm *tfm) | ||
910 | { | ||
911 | BUG_ON((crypto_tfm_alg_type(tfm) ^ CRYPTO_ALG_TYPE_COMPRESS) & | ||
912 | CRYPTO_ALG_TYPE_MASK); | ||
913 | return __crypto_comp_cast(tfm); | ||
914 | } | ||
915 | |||
916 | static inline struct crypto_comp *crypto_alloc_comp(const char *alg_name, | ||
917 | u32 type, u32 mask) | ||
918 | { | ||
919 | type &= ~CRYPTO_ALG_TYPE_MASK; | ||
920 | type |= CRYPTO_ALG_TYPE_COMPRESS; | ||
921 | mask |= CRYPTO_ALG_TYPE_MASK; | ||
922 | |||
923 | return __crypto_comp_cast(crypto_alloc_base(alg_name, type, mask)); | ||
924 | } | ||
925 | |||
926 | static inline struct crypto_tfm *crypto_comp_tfm(struct crypto_comp *tfm) | ||
927 | { | ||
928 | return tfm; | ||
929 | } | ||
930 | |||
931 | static inline void crypto_free_comp(struct crypto_comp *tfm) | ||
932 | { | ||
933 | crypto_free_tfm(crypto_comp_tfm(tfm)); | ||
934 | } | ||
935 | |||
936 | static inline int crypto_has_comp(const char *alg_name, u32 type, u32 mask) | ||
937 | { | ||
938 | type &= ~CRYPTO_ALG_TYPE_MASK; | ||
939 | type |= CRYPTO_ALG_TYPE_COMPRESS; | ||
940 | mask |= CRYPTO_ALG_TYPE_MASK; | ||
941 | |||
942 | return crypto_has_alg(alg_name, type, mask); | ||
943 | } | ||
944 | |||
945 | static inline const char *crypto_comp_name(struct crypto_comp *tfm) | ||
946 | { | ||
947 | return crypto_tfm_alg_name(crypto_comp_tfm(tfm)); | ||
948 | } | ||
949 | |||
950 | static inline struct compress_tfm *crypto_comp_crt(struct crypto_comp *tfm) | ||
951 | { | ||
952 | return &crypto_comp_tfm(tfm)->crt_compress; | ||
953 | } | ||
954 | |||
955 | static inline int crypto_comp_compress(struct crypto_comp *tfm, | ||
416 | const u8 *src, unsigned int slen, | 956 | const u8 *src, unsigned int slen, |
417 | u8 *dst, unsigned int *dlen) | 957 | u8 *dst, unsigned int *dlen) |
418 | { | 958 | { |
419 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_COMPRESS); | 959 | return crypto_comp_crt(tfm)->cot_compress(tfm, src, slen, dst, dlen); |
420 | return tfm->crt_compress.cot_compress(tfm, src, slen, dst, dlen); | ||
421 | } | 960 | } |
422 | 961 | ||
423 | static inline int crypto_comp_decompress(struct crypto_tfm *tfm, | 962 | static inline int crypto_comp_decompress(struct crypto_comp *tfm, |
424 | const u8 *src, unsigned int slen, | 963 | const u8 *src, unsigned int slen, |
425 | u8 *dst, unsigned int *dlen) | 964 | u8 *dst, unsigned int *dlen) |
426 | { | 965 | { |
427 | BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_COMPRESS); | 966 | return crypto_comp_crt(tfm)->cot_decompress(tfm, src, slen, dst, dlen); |
428 | return tfm->crt_compress.cot_decompress(tfm, src, slen, dst, dlen); | ||
429 | } | 967 | } |
430 | 968 | ||
431 | /* | ||
432 | * HMAC support. | ||
433 | */ | ||
434 | #ifdef CONFIG_CRYPTO_HMAC | ||
435 | void crypto_hmac_init(struct crypto_tfm *tfm, u8 *key, unsigned int *keylen); | ||
436 | void crypto_hmac_update(struct crypto_tfm *tfm, | ||
437 | struct scatterlist *sg, unsigned int nsg); | ||
438 | void crypto_hmac_final(struct crypto_tfm *tfm, u8 *key, | ||
439 | unsigned int *keylen, u8 *out); | ||
440 | void crypto_hmac(struct crypto_tfm *tfm, u8 *key, unsigned int *keylen, | ||
441 | struct scatterlist *sg, unsigned int nsg, u8 *out); | ||
442 | #endif /* CONFIG_CRYPTO_HMAC */ | ||
443 | |||
444 | #endif /* _LINUX_CRYPTO_H */ | 969 | #endif /* _LINUX_CRYPTO_H */ |
445 | 970 | ||
diff --git a/include/linux/delayacct.h b/include/linux/delayacct.h index 11487b6e7127..561e2a77805c 100644 --- a/include/linux/delayacct.h +++ b/include/linux/delayacct.h | |||
@@ -59,10 +59,14 @@ static inline void delayacct_tsk_init(struct task_struct *tsk) | |||
59 | __delayacct_tsk_init(tsk); | 59 | __delayacct_tsk_init(tsk); |
60 | } | 60 | } |
61 | 61 | ||
62 | static inline void delayacct_tsk_exit(struct task_struct *tsk) | 62 | /* Free tsk->delays. Called from bad fork and __put_task_struct |
63 | * where there's no risk of tsk->delays being accessed elsewhere | ||
64 | */ | ||
65 | static inline void delayacct_tsk_free(struct task_struct *tsk) | ||
63 | { | 66 | { |
64 | if (tsk->delays) | 67 | if (tsk->delays) |
65 | __delayacct_tsk_exit(tsk); | 68 | kmem_cache_free(delayacct_cache, tsk->delays); |
69 | tsk->delays = NULL; | ||
66 | } | 70 | } |
67 | 71 | ||
68 | static inline void delayacct_blkio_start(void) | 72 | static inline void delayacct_blkio_start(void) |
@@ -101,7 +105,7 @@ static inline void delayacct_init(void) | |||
101 | {} | 105 | {} |
102 | static inline void delayacct_tsk_init(struct task_struct *tsk) | 106 | static inline void delayacct_tsk_init(struct task_struct *tsk) |
103 | {} | 107 | {} |
104 | static inline void delayacct_tsk_exit(struct task_struct *tsk) | 108 | static inline void delayacct_tsk_free(struct task_struct *tsk) |
105 | {} | 109 | {} |
106 | static inline void delayacct_blkio_start(void) | 110 | static inline void delayacct_blkio_start(void) |
107 | {} | 111 | {} |
diff --git a/include/linux/dvb/Kbuild b/include/linux/dvb/Kbuild index 63973af72fd5..d97b3a51e227 100644 --- a/include/linux/dvb/Kbuild +++ b/include/linux/dvb/Kbuild | |||
@@ -1,2 +1,9 @@ | |||
1 | header-y += ca.h frontend.h net.h osd.h version.h | 1 | header-y += ca.h |
2 | unifdef-y := audio.h dmx.h video.h | 2 | header-y += frontend.h |
3 | header-y += net.h | ||
4 | header-y += osd.h | ||
5 | header-y += version.h | ||
6 | |||
7 | unifdef-y += audio.h | ||
8 | unifdef-y += dmx.h | ||
9 | unifdef-y += video.h | ||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index e4bccbcc2750..4fc379de6c2f 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h | |||
@@ -80,6 +80,7 @@ struct hrtimer_sleeper { | |||
80 | * @get_softirq_time: function to retrieve the current time from the softirq | 80 | * @get_softirq_time: function to retrieve the current time from the softirq |
81 | * @curr_timer: the timer which is executing a callback right now | 81 | * @curr_timer: the timer which is executing a callback right now |
82 | * @softirq_time: the time when running the hrtimer queue in the softirq | 82 | * @softirq_time: the time when running the hrtimer queue in the softirq |
83 | * @lock_key: the lock_class_key for use with lockdep | ||
83 | */ | 84 | */ |
84 | struct hrtimer_base { | 85 | struct hrtimer_base { |
85 | clockid_t index; | 86 | clockid_t index; |
diff --git a/include/linux/ktime.h b/include/linux/ktime.h index ed3396dcc4f7..84eeecd60a02 100644 --- a/include/linux/ktime.h +++ b/include/linux/ktime.h | |||
@@ -56,7 +56,8 @@ typedef union { | |||
56 | #endif | 56 | #endif |
57 | } ktime_t; | 57 | } ktime_t; |
58 | 58 | ||
59 | #define KTIME_MAX (~((u64)1 << 63)) | 59 | #define KTIME_MAX ((s64)~((u64)1 << 63)) |
60 | #define KTIME_SEC_MAX (KTIME_MAX / NSEC_PER_SEC) | ||
60 | 61 | ||
61 | /* | 62 | /* |
62 | * ktime_t definitions when using the 64-bit scalar representation: | 63 | * ktime_t definitions when using the 64-bit scalar representation: |
@@ -73,6 +74,10 @@ typedef union { | |||
73 | */ | 74 | */ |
74 | static inline ktime_t ktime_set(const long secs, const unsigned long nsecs) | 75 | static inline ktime_t ktime_set(const long secs, const unsigned long nsecs) |
75 | { | 76 | { |
77 | #if (BITS_PER_LONG == 64) | ||
78 | if (unlikely(secs >= KTIME_SEC_MAX)) | ||
79 | return (ktime_t){ .tv64 = KTIME_MAX }; | ||
80 | #endif | ||
76 | return (ktime_t) { .tv64 = (s64)secs * NSEC_PER_SEC + (s64)nsecs }; | 81 | return (ktime_t) { .tv64 = (s64)secs * NSEC_PER_SEC + (s64)nsecs }; |
77 | } | 82 | } |
78 | 83 | ||
diff --git a/include/linux/mm.h b/include/linux/mm.h index f0b135cd86da..224178a000d2 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -1013,6 +1013,7 @@ static inline unsigned long vma_pages(struct vm_area_struct *vma) | |||
1013 | return (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; | 1013 | return (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; |
1014 | } | 1014 | } |
1015 | 1015 | ||
1016 | pgprot_t vm_get_page_prot(unsigned long vm_flags); | ||
1016 | struct vm_area_struct *find_extend_vma(struct mm_struct *, unsigned long addr); | 1017 | struct vm_area_struct *find_extend_vma(struct mm_struct *, unsigned long addr); |
1017 | struct page *vmalloc_to_page(void *addr); | 1018 | struct page *vmalloc_to_page(void *addr); |
1018 | unsigned long vmalloc_to_pfn(void *addr); | 1019 | unsigned long vmalloc_to_pfn(void *addr); |
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index c1f021eddffa..ba095aebedff 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h | |||
@@ -77,7 +77,7 @@ struct mmc_host { | |||
77 | struct device *dev; | 77 | struct device *dev; |
78 | struct class_device class_dev; | 78 | struct class_device class_dev; |
79 | int index; | 79 | int index; |
80 | struct mmc_host_ops *ops; | 80 | const struct mmc_host_ops *ops; |
81 | unsigned int f_min; | 81 | unsigned int f_min; |
82 | unsigned int f_max; | 82 | unsigned int f_max; |
83 | u32 ocr_avail; | 83 | u32 ocr_avail; |
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h index 03a14a30c46a..627e2c08ce41 100644 --- a/include/linux/mmc/mmc.h +++ b/include/linux/mmc/mmc.h | |||
@@ -105,6 +105,8 @@ extern int mmc_wait_for_cmd(struct mmc_host *, struct mmc_command *, int); | |||
105 | extern int mmc_wait_for_app_cmd(struct mmc_host *, unsigned int, | 105 | extern int mmc_wait_for_app_cmd(struct mmc_host *, unsigned int, |
106 | struct mmc_command *, int); | 106 | struct mmc_command *, int); |
107 | 107 | ||
108 | extern void mmc_set_data_timeout(struct mmc_data *, const struct mmc_card *, int); | ||
109 | |||
108 | extern int __mmc_claim_host(struct mmc_host *host, struct mmc_card *card); | 110 | extern int __mmc_claim_host(struct mmc_host *host, struct mmc_card *card); |
109 | 111 | ||
110 | static inline void mmc_claim_host(struct mmc_host *host) | 112 | static inline void mmc_claim_host(struct mmc_host *host) |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 656b588a9f96..f45163c528e8 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
@@ -77,6 +77,7 @@ struct per_cpu_pages { | |||
77 | struct per_cpu_pageset { | 77 | struct per_cpu_pageset { |
78 | struct per_cpu_pages pcp[2]; /* 0: hot. 1: cold */ | 78 | struct per_cpu_pages pcp[2]; /* 0: hot. 1: cold */ |
79 | #ifdef CONFIG_SMP | 79 | #ifdef CONFIG_SMP |
80 | s8 stat_threshold; | ||
80 | s8 vm_stat_diff[NR_VM_ZONE_STAT_ITEMS]; | 81 | s8 vm_stat_diff[NR_VM_ZONE_STAT_ITEMS]; |
81 | #endif | 82 | #endif |
82 | } ____cacheline_aligned_in_smp; | 83 | } ____cacheline_aligned_in_smp; |
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index f6977708585c..f7ca0b09075d 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h | |||
@@ -148,6 +148,17 @@ struct ccw_device_id { | |||
148 | #define CCW_DEVICE_ID_MATCH_DEVICE_TYPE 0x04 | 148 | #define CCW_DEVICE_ID_MATCH_DEVICE_TYPE 0x04 |
149 | #define CCW_DEVICE_ID_MATCH_DEVICE_MODEL 0x08 | 149 | #define CCW_DEVICE_ID_MATCH_DEVICE_MODEL 0x08 |
150 | 150 | ||
151 | /* s390 AP bus devices */ | ||
152 | struct ap_device_id { | ||
153 | __u16 match_flags; /* which fields to match against */ | ||
154 | __u8 dev_type; /* device type */ | ||
155 | __u8 pad1; | ||
156 | __u32 pad2; | ||
157 | kernel_ulong_t driver_info; | ||
158 | }; | ||
159 | |||
160 | #define AP_DEVICE_ID_MATCH_DEVICE_TYPE 0x01 | ||
161 | |||
151 | 162 | ||
152 | #define PNP_ID_LEN 8 | 163 | #define PNP_ID_LEN 8 |
153 | #define PNP_MAX_DEVICES 8 | 164 | #define PNP_MAX_DEVICES 8 |
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h index 09bfae6938b3..123948b14547 100644 --- a/include/linux/mtd/cfi.h +++ b/include/linux/mtd/cfi.h | |||
@@ -199,6 +199,18 @@ struct cfi_pri_amdstd { | |||
199 | uint8_t TopBottom; | 199 | uint8_t TopBottom; |
200 | } __attribute__((packed)); | 200 | } __attribute__((packed)); |
201 | 201 | ||
202 | /* Vendor-Specific PRI for Atmel chips (command set 0x0002) */ | ||
203 | |||
204 | struct cfi_pri_atmel { | ||
205 | uint8_t pri[3]; | ||
206 | uint8_t MajorVersion; | ||
207 | uint8_t MinorVersion; | ||
208 | uint8_t Features; | ||
209 | uint8_t BottomBoot; | ||
210 | uint8_t BurstMode; | ||
211 | uint8_t PageMode; | ||
212 | } __attribute__((packed)); | ||
213 | |||
202 | struct cfi_pri_query { | 214 | struct cfi_pri_query { |
203 | uint8_t NumFields; | 215 | uint8_t NumFields; |
204 | uint32_t ProtField[1]; /* Not host ordered */ | 216 | uint32_t ProtField[1]; /* Not host ordered */ |
@@ -464,6 +476,7 @@ struct cfi_fixup { | |||
464 | #define CFI_ID_ANY 0xffff | 476 | #define CFI_ID_ANY 0xffff |
465 | 477 | ||
466 | #define CFI_MFR_AMD 0x0001 | 478 | #define CFI_MFR_AMD 0x0001 |
479 | #define CFI_MFR_ATMEL 0x001F | ||
467 | #define CFI_MFR_ST 0x0020 /* STMicroelectronics */ | 480 | #define CFI_MFR_ST 0x0020 /* STMicroelectronics */ |
468 | 481 | ||
469 | void cfi_fixup(struct mtd_info *mtd, struct cfi_fixup* fixups); | 482 | void cfi_fixup(struct mtd_info *mtd, struct cfi_fixup* fixups); |
diff --git a/include/linux/netfilter/Kbuild b/include/linux/netfilter/Kbuild index d06311acd448..9a285cecf249 100644 --- a/include/linux/netfilter/Kbuild +++ b/include/linux/netfilter/Kbuild | |||
@@ -1,11 +1,38 @@ | |||
1 | header-y := nf_conntrack_sctp.h nf_conntrack_tuple_common.h \ | 1 | header-y += nf_conntrack_sctp.h |
2 | nfnetlink_conntrack.h nfnetlink_log.h nfnetlink_queue.h \ | 2 | header-y += nf_conntrack_tuple_common.h |
3 | xt_CLASSIFY.h xt_comment.h xt_connbytes.h xt_connmark.h \ | 3 | header-y += nfnetlink_conntrack.h |
4 | xt_CONNMARK.h xt_conntrack.h xt_dccp.h xt_esp.h \ | 4 | header-y += nfnetlink_log.h |
5 | xt_helper.h xt_length.h xt_limit.h xt_mac.h xt_mark.h \ | 5 | header-y += nfnetlink_queue.h |
6 | xt_MARK.h xt_multiport.h xt_NFQUEUE.h xt_pkttype.h \ | 6 | header-y += xt_CLASSIFY.h |
7 | xt_policy.h xt_realm.h xt_sctp.h xt_state.h xt_string.h \ | 7 | header-y += xt_comment.h |
8 | xt_tcpmss.h xt_tcpudp.h | 8 | header-y += xt_connbytes.h |
9 | header-y += xt_connmark.h | ||
10 | header-y += xt_CONNMARK.h | ||
11 | header-y += xt_conntrack.h | ||
12 | header-y += xt_dccp.h | ||
13 | header-y += xt_esp.h | ||
14 | header-y += xt_helper.h | ||
15 | header-y += xt_length.h | ||
16 | header-y += xt_limit.h | ||
17 | header-y += xt_mac.h | ||
18 | header-y += xt_mark.h | ||
19 | header-y += xt_MARK.h | ||
20 | header-y += xt_multiport.h | ||
21 | header-y += xt_NFQUEUE.h | ||
22 | header-y += xt_pkttype.h | ||
23 | header-y += xt_policy.h | ||
24 | header-y += xt_realm.h | ||
25 | header-y += xt_sctp.h | ||
26 | header-y += xt_state.h | ||
27 | header-y += xt_string.h | ||
28 | header-y += xt_tcpmss.h | ||
29 | header-y += xt_tcpudp.h | ||
30 | header-y += xt_SECMARK.h | ||
31 | header-y += xt_CONNSECMARK.h | ||
9 | 32 | ||
10 | unifdef-y := nf_conntrack_common.h nf_conntrack_ftp.h \ | 33 | unifdef-y += nf_conntrack_common.h |
11 | nf_conntrack_tcp.h nfnetlink.h x_tables.h xt_physdev.h | 34 | unifdef-y += nf_conntrack_ftp.h |
35 | unifdef-y += nf_conntrack_tcp.h | ||
36 | unifdef-y += nfnetlink.h | ||
37 | unifdef-y += x_tables.h | ||
38 | unifdef-y += xt_physdev.h | ||
diff --git a/include/linux/netfilter_arp/Kbuild b/include/linux/netfilter_arp/Kbuild index 198ec5e7b17d..4f13dfcb92ea 100644 --- a/include/linux/netfilter_arp/Kbuild +++ b/include/linux/netfilter_arp/Kbuild | |||
@@ -1,2 +1,3 @@ | |||
1 | header-y := arpt_mangle.h | 1 | header-y += arpt_mangle.h |
2 | unifdef-y := arp_tables.h | 2 | |
3 | unifdef-y += arp_tables.h | ||
diff --git a/include/linux/netfilter_bridge/Kbuild b/include/linux/netfilter_bridge/Kbuild index 5b1aba6abbad..76ff4c47d8c4 100644 --- a/include/linux/netfilter_bridge/Kbuild +++ b/include/linux/netfilter_bridge/Kbuild | |||
@@ -1,4 +1,17 @@ | |||
1 | header-y += ebt_among.h ebt_arp.h ebt_arpreply.h ebt_ip.h ebt_limit.h \ | 1 | header-y += ebt_among.h |
2 | ebt_log.h ebt_mark_m.h ebt_mark_t.h ebt_nat.h ebt_pkttype.h \ | 2 | header-y += ebt_arp.h |
3 | ebt_redirect.h ebt_stp.h ebt_ulog.h ebt_vlan.h | 3 | header-y += ebt_arpreply.h |
4 | unifdef-y := ebtables.h ebt_802_3.h | 4 | header-y += ebt_ip.h |
5 | header-y += ebt_limit.h | ||
6 | header-y += ebt_log.h | ||
7 | header-y += ebt_mark_m.h | ||
8 | header-y += ebt_mark_t.h | ||
9 | header-y += ebt_nat.h | ||
10 | header-y += ebt_pkttype.h | ||
11 | header-y += ebt_redirect.h | ||
12 | header-y += ebt_stp.h | ||
13 | header-y += ebt_ulog.h | ||
14 | header-y += ebt_vlan.h | ||
15 | |||
16 | unifdef-y += ebtables.h | ||
17 | unifdef-y += ebt_802_3.h | ||
diff --git a/include/linux/netfilter_ipv4/Kbuild b/include/linux/netfilter_ipv4/Kbuild index 04e4d2721689..591c1a809c00 100644 --- a/include/linux/netfilter_ipv4/Kbuild +++ b/include/linux/netfilter_ipv4/Kbuild | |||
@@ -1,21 +1,63 @@ | |||
1 | header-y += ip_conntrack_helper.h | ||
2 | header-y += ip_conntrack_helper_h323_asn1.h | ||
3 | header-y += ip_conntrack_helper_h323_types.h | ||
4 | header-y += ip_conntrack_protocol.h | ||
5 | header-y += ip_conntrack_sctp.h | ||
6 | header-y += ip_conntrack_tcp.h | ||
7 | header-y += ip_conntrack_tftp.h | ||
8 | header-y += ip_nat_pptp.h | ||
9 | header-y += ipt_addrtype.h | ||
10 | header-y += ipt_ah.h | ||
11 | header-y += ipt_CLASSIFY.h | ||
12 | header-y += ipt_CLUSTERIP.h | ||
13 | header-y += ipt_comment.h | ||
14 | header-y += ipt_connbytes.h | ||
15 | header-y += ipt_connmark.h | ||
16 | header-y += ipt_CONNMARK.h | ||
17 | header-y += ipt_conntrack.h | ||
18 | header-y += ipt_dccp.h | ||
19 | header-y += ipt_dscp.h | ||
20 | header-y += ipt_DSCP.h | ||
21 | header-y += ipt_ecn.h | ||
22 | header-y += ipt_ECN.h | ||
23 | header-y += ipt_esp.h | ||
24 | header-y += ipt_hashlimit.h | ||
25 | header-y += ipt_helper.h | ||
26 | header-y += ipt_iprange.h | ||
27 | header-y += ipt_length.h | ||
28 | header-y += ipt_limit.h | ||
29 | header-y += ipt_LOG.h | ||
30 | header-y += ipt_mac.h | ||
31 | header-y += ipt_mark.h | ||
32 | header-y += ipt_MARK.h | ||
33 | header-y += ipt_multiport.h | ||
34 | header-y += ipt_NFQUEUE.h | ||
35 | header-y += ipt_owner.h | ||
36 | header-y += ipt_physdev.h | ||
37 | header-y += ipt_pkttype.h | ||
38 | header-y += ipt_policy.h | ||
39 | header-y += ipt_realm.h | ||
40 | header-y += ipt_recent.h | ||
41 | header-y += ipt_REJECT.h | ||
42 | header-y += ipt_SAME.h | ||
43 | header-y += ipt_sctp.h | ||
44 | header-y += ipt_state.h | ||
45 | header-y += ipt_string.h | ||
46 | header-y += ipt_tcpmss.h | ||
47 | header-y += ipt_TCPMSS.h | ||
48 | header-y += ipt_tos.h | ||
49 | header-y += ipt_TOS.h | ||
50 | header-y += ipt_ttl.h | ||
51 | header-y += ipt_TTL.h | ||
52 | header-y += ipt_ULOG.h | ||
1 | 53 | ||
2 | header-y := ip_conntrack_helper.h ip_conntrack_helper_h323_asn1.h \ | 54 | unifdef-y += ip_conntrack.h |
3 | ip_conntrack_helper_h323_types.h ip_conntrack_protocol.h \ | 55 | unifdef-y += ip_conntrack_h323.h |
4 | ip_conntrack_sctp.h ip_conntrack_tcp.h ip_conntrack_tftp.h \ | 56 | unifdef-y += ip_conntrack_irc.h |
5 | ip_nat_pptp.h ipt_addrtype.h ipt_ah.h \ | 57 | unifdef-y += ip_conntrack_pptp.h |
6 | ipt_CLASSIFY.h ipt_CLUSTERIP.h ipt_comment.h \ | 58 | unifdef-y += ip_conntrack_proto_gre.h |
7 | ipt_connbytes.h ipt_connmark.h ipt_CONNMARK.h \ | 59 | unifdef-y += ip_conntrack_tuple.h |
8 | ipt_conntrack.h ipt_dccp.h ipt_dscp.h ipt_DSCP.h ipt_ecn.h \ | 60 | unifdef-y += ip_nat.h |
9 | ipt_ECN.h ipt_esp.h ipt_hashlimit.h ipt_helper.h \ | 61 | unifdef-y += ip_nat_rule.h |
10 | ipt_iprange.h ipt_length.h ipt_limit.h ipt_LOG.h ipt_mac.h \ | 62 | unifdef-y += ip_queue.h |
11 | ipt_mark.h ipt_MARK.h ipt_multiport.h ipt_NFQUEUE.h \ | 63 | unifdef-y += ip_tables.h |
12 | ipt_owner.h ipt_physdev.h ipt_pkttype.h ipt_policy.h \ | ||
13 | ipt_realm.h ipt_recent.h ipt_REJECT.h ipt_SAME.h \ | ||
14 | ipt_sctp.h ipt_state.h ipt_string.h ipt_tcpmss.h \ | ||
15 | ipt_TCPMSS.h ipt_tos.h ipt_TOS.h ipt_ttl.h ipt_TTL.h \ | ||
16 | ipt_ULOG.h | ||
17 | |||
18 | unifdef-y := ip_conntrack.h ip_conntrack_h323.h ip_conntrack_irc.h \ | ||
19 | ip_conntrack_pptp.h ip_conntrack_proto_gre.h \ | ||
20 | ip_conntrack_tuple.h ip_nat.h ip_nat_rule.h ip_queue.h \ | ||
21 | ip_tables.h | ||
diff --git a/include/linux/netfilter_ipv6/Kbuild b/include/linux/netfilter_ipv6/Kbuild index 913ddbf55b4b..9dd978d149ff 100644 --- a/include/linux/netfilter_ipv6/Kbuild +++ b/include/linux/netfilter_ipv6/Kbuild | |||
@@ -1,6 +1,21 @@ | |||
1 | header-y += ip6t_HL.h ip6t_LOG.h ip6t_MARK.h ip6t_REJECT.h ip6t_ah.h \ | 1 | header-y += ip6t_HL.h |
2 | ip6t_esp.h ip6t_frag.h ip6t_hl.h ip6t_ipv6header.h \ | 2 | header-y += ip6t_LOG.h |
3 | ip6t_length.h ip6t_limit.h ip6t_mac.h ip6t_mark.h \ | 3 | header-y += ip6t_MARK.h |
4 | ip6t_multiport.h ip6t_opts.h ip6t_owner.h ip6t_policy.h \ | 4 | header-y += ip6t_REJECT.h |
5 | ip6t_physdev.h ip6t_rt.h | 5 | header-y += ip6t_ah.h |
6 | unifdef-y := ip6_tables.h | 6 | header-y += ip6t_esp.h |
7 | header-y += ip6t_frag.h | ||
8 | header-y += ip6t_hl.h | ||
9 | header-y += ip6t_ipv6header.h | ||
10 | header-y += ip6t_length.h | ||
11 | header-y += ip6t_limit.h | ||
12 | header-y += ip6t_mac.h | ||
13 | header-y += ip6t_mark.h | ||
14 | header-y += ip6t_multiport.h | ||
15 | header-y += ip6t_opts.h | ||
16 | header-y += ip6t_owner.h | ||
17 | header-y += ip6t_policy.h | ||
18 | header-y += ip6t_physdev.h | ||
19 | header-y += ip6t_rt.h | ||
20 | |||
21 | unifdef-y += ip6_tables.h | ||
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 247434553ae8..6c2066caeaab 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -9,27 +9,6 @@ | |||
9 | #ifndef _LINUX_NFS_FS_H | 9 | #ifndef _LINUX_NFS_FS_H |
10 | #define _LINUX_NFS_FS_H | 10 | #define _LINUX_NFS_FS_H |
11 | 11 | ||
12 | #include <linux/in.h> | ||
13 | #include <linux/mm.h> | ||
14 | #include <linux/pagemap.h> | ||
15 | #include <linux/rwsem.h> | ||
16 | #include <linux/wait.h> | ||
17 | |||
18 | #include <linux/sunrpc/debug.h> | ||
19 | #include <linux/sunrpc/auth.h> | ||
20 | #include <linux/sunrpc/clnt.h> | ||
21 | |||
22 | #include <linux/nfs.h> | ||
23 | #include <linux/nfs2.h> | ||
24 | #include <linux/nfs3.h> | ||
25 | #include <linux/nfs4.h> | ||
26 | #include <linux/nfs_xdr.h> | ||
27 | |||
28 | #include <linux/nfs_fs_sb.h> | ||
29 | |||
30 | #include <linux/rwsem.h> | ||
31 | #include <linux/mempool.h> | ||
32 | |||
33 | /* | 12 | /* |
34 | * Enable debugging support for nfs client. | 13 | * Enable debugging support for nfs client. |
35 | * Requires RPC_DEBUG. | 14 | * Requires RPC_DEBUG. |
@@ -48,11 +27,6 @@ | |||
48 | #define NFS_SUPER_MAGIC 0x6969 | 27 | #define NFS_SUPER_MAGIC 0x6969 |
49 | 28 | ||
50 | /* | 29 | /* |
51 | * These are the default flags for swap requests | ||
52 | */ | ||
53 | #define NFS_RPC_SWAPFLAGS (RPC_TASK_SWAPPER|RPC_TASK_ROOTCREDS) | ||
54 | |||
55 | /* | ||
56 | * When flushing a cluster of dirty pages, there can be different | 30 | * When flushing a cluster of dirty pages, there can be different |
57 | * strategies: | 31 | * strategies: |
58 | */ | 32 | */ |
@@ -65,6 +39,32 @@ | |||
65 | 39 | ||
66 | #ifdef __KERNEL__ | 40 | #ifdef __KERNEL__ |
67 | 41 | ||
42 | #include <linux/in.h> | ||
43 | #include <linux/mm.h> | ||
44 | #include <linux/pagemap.h> | ||
45 | #include <linux/rwsem.h> | ||
46 | #include <linux/wait.h> | ||
47 | |||
48 | #include <linux/sunrpc/debug.h> | ||
49 | #include <linux/sunrpc/auth.h> | ||
50 | #include <linux/sunrpc/clnt.h> | ||
51 | |||
52 | #include <linux/nfs.h> | ||
53 | #include <linux/nfs2.h> | ||
54 | #include <linux/nfs3.h> | ||
55 | #include <linux/nfs4.h> | ||
56 | #include <linux/nfs_xdr.h> | ||
57 | |||
58 | #include <linux/nfs_fs_sb.h> | ||
59 | |||
60 | #include <linux/rwsem.h> | ||
61 | #include <linux/mempool.h> | ||
62 | |||
63 | /* | ||
64 | * These are the default flags for swap requests | ||
65 | */ | ||
66 | #define NFS_RPC_SWAPFLAGS (RPC_TASK_SWAPPER|RPC_TASK_ROOTCREDS) | ||
67 | |||
68 | /* | 68 | /* |
69 | * NFSv3/v4 Access mode cache entry | 69 | * NFSv3/v4 Access mode cache entry |
70 | */ | 70 | */ |
@@ -427,7 +427,7 @@ extern int nfs_writeback_done(struct rpc_task *, struct nfs_write_data *); | |||
427 | extern void nfs_writedata_release(void *); | 427 | extern void nfs_writedata_release(void *); |
428 | 428 | ||
429 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) | 429 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) |
430 | struct nfs_write_data *nfs_commit_alloc(unsigned int pagecount); | 430 | struct nfs_write_data *nfs_commit_alloc(void); |
431 | void nfs_commit_free(struct nfs_write_data *p); | 431 | void nfs_commit_free(struct nfs_write_data *p); |
432 | #endif | 432 | #endif |
433 | 433 | ||
@@ -478,7 +478,7 @@ static inline int nfs_wb_page(struct inode *inode, struct page* page) | |||
478 | /* | 478 | /* |
479 | * Allocate nfs_write_data structures | 479 | * Allocate nfs_write_data structures |
480 | */ | 480 | */ |
481 | extern struct nfs_write_data *nfs_writedata_alloc(unsigned int pagecount); | 481 | extern struct nfs_write_data *nfs_writedata_alloc(size_t len); |
482 | 482 | ||
483 | /* | 483 | /* |
484 | * linux/fs/nfs/read.c | 484 | * linux/fs/nfs/read.c |
@@ -492,7 +492,7 @@ extern void nfs_readdata_release(void *data); | |||
492 | /* | 492 | /* |
493 | * Allocate nfs_read_data structures | 493 | * Allocate nfs_read_data structures |
494 | */ | 494 | */ |
495 | extern struct nfs_read_data *nfs_readdata_alloc(unsigned int pagecount); | 495 | extern struct nfs_read_data *nfs_readdata_alloc(size_t len); |
496 | 496 | ||
497 | /* | 497 | /* |
498 | * linux/fs/nfs3proc.c | 498 | * linux/fs/nfs3proc.c |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index db9cbf68e12b..41e5a19199e9 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -729,7 +729,7 @@ struct nfs_read_data { | |||
729 | struct list_head pages; /* Coalesced read requests */ | 729 | struct list_head pages; /* Coalesced read requests */ |
730 | struct nfs_page *req; /* multi ops per nfs_page */ | 730 | struct nfs_page *req; /* multi ops per nfs_page */ |
731 | struct page **pagevec; | 731 | struct page **pagevec; |
732 | unsigned int npages; /* active pages in pagevec */ | 732 | unsigned int npages; /* Max length of pagevec */ |
733 | struct nfs_readargs args; | 733 | struct nfs_readargs args; |
734 | struct nfs_readres res; | 734 | struct nfs_readres res; |
735 | #ifdef CONFIG_NFS_V4 | 735 | #ifdef CONFIG_NFS_V4 |
@@ -748,7 +748,7 @@ struct nfs_write_data { | |||
748 | struct list_head pages; /* Coalesced requests we wish to flush */ | 748 | struct list_head pages; /* Coalesced requests we wish to flush */ |
749 | struct nfs_page *req; /* multi ops per nfs_page */ | 749 | struct nfs_page *req; /* multi ops per nfs_page */ |
750 | struct page **pagevec; | 750 | struct page **pagevec; |
751 | unsigned int npages; /* active pages in pagevec */ | 751 | unsigned int npages; /* Max length of pagevec */ |
752 | struct nfs_writeargs args; /* argument struct */ | 752 | struct nfs_writeargs args; /* argument struct */ |
753 | struct nfs_writeres res; /* result struct */ | 753 | struct nfs_writeres res; /* result struct */ |
754 | #ifdef CONFIG_NFS_V4 | 754 | #ifdef CONFIG_NFS_V4 |
diff --git a/include/linux/nfsd/Kbuild b/include/linux/nfsd/Kbuild index c8c545665885..d9c5455808e5 100644 --- a/include/linux/nfsd/Kbuild +++ b/include/linux/nfsd/Kbuild | |||
@@ -1,2 +1,7 @@ | |||
1 | unifdef-y := const.h export.h stats.h syscall.h nfsfh.h debug.h auth.h | 1 | unifdef-y += const.h |
2 | 2 | unifdef-y += export.h | |
3 | unifdef-y += stats.h | ||
4 | unifdef-y += syscall.h | ||
5 | unifdef-y += nfsfh.h | ||
6 | unifdef-y += debug.h | ||
7 | unifdef-y += auth.h | ||
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 47faf43fde1f..6a1e09834559 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -648,6 +648,8 @@ | |||
648 | #define PCI_DEVICE_ID_SI_962 0x0962 | 648 | #define PCI_DEVICE_ID_SI_962 0x0962 |
649 | #define PCI_DEVICE_ID_SI_963 0x0963 | 649 | #define PCI_DEVICE_ID_SI_963 0x0963 |
650 | #define PCI_DEVICE_ID_SI_965 0x0965 | 650 | #define PCI_DEVICE_ID_SI_965 0x0965 |
651 | #define PCI_DEVICE_ID_SI_966 0x0966 | ||
652 | #define PCI_DEVICE_ID_SI_968 0x0968 | ||
651 | #define PCI_DEVICE_ID_SI_5511 0x5511 | 653 | #define PCI_DEVICE_ID_SI_5511 0x5511 |
652 | #define PCI_DEVICE_ID_SI_5513 0x5513 | 654 | #define PCI_DEVICE_ID_SI_5513 0x5513 |
653 | #define PCI_DEVICE_ID_SI_5517 0x5517 | 655 | #define PCI_DEVICE_ID_SI_5517 0x5517 |
@@ -1292,6 +1294,7 @@ | |||
1292 | #define PCI_DEVICE_ID_VIA_8367_0 0x3099 | 1294 | #define PCI_DEVICE_ID_VIA_8367_0 0x3099 |
1293 | #define PCI_DEVICE_ID_VIA_8653_0 0x3101 | 1295 | #define PCI_DEVICE_ID_VIA_8653_0 0x3101 |
1294 | #define PCI_DEVICE_ID_VIA_8622 0x3102 | 1296 | #define PCI_DEVICE_ID_VIA_8622 0x3102 |
1297 | #define PCI_DEVICE_ID_VIA_8235_USB_2 0x3104 | ||
1295 | #define PCI_DEVICE_ID_VIA_8233C_0 0x3109 | 1298 | #define PCI_DEVICE_ID_VIA_8233C_0 0x3109 |
1296 | #define PCI_DEVICE_ID_VIA_8361 0x3112 | 1299 | #define PCI_DEVICE_ID_VIA_8361 0x3112 |
1297 | #define PCI_DEVICE_ID_VIA_XM266 0x3116 | 1300 | #define PCI_DEVICE_ID_VIA_XM266 0x3116 |
@@ -1726,6 +1729,9 @@ | |||
1726 | #define PCI_VENDOR_ID_DOMEX 0x134a | 1729 | #define PCI_VENDOR_ID_DOMEX 0x134a |
1727 | #define PCI_DEVICE_ID_DOMEX_DMX3191D 0x0001 | 1730 | #define PCI_DEVICE_ID_DOMEX_DMX3191D 0x0001 |
1728 | 1731 | ||
1732 | #define PCI_VENDOR_ID_INTASHIELD 0x135a | ||
1733 | #define PCI_DEVICE_ID_INTASHIELD_IS200 0x0d80 | ||
1734 | |||
1729 | #define PCI_VENDOR_ID_QUATECH 0x135C | 1735 | #define PCI_VENDOR_ID_QUATECH 0x135C |
1730 | #define PCI_DEVICE_ID_QUATECH_QSC100 0x0010 | 1736 | #define PCI_DEVICE_ID_QUATECH_QSC100 0x0010 |
1731 | #define PCI_DEVICE_ID_QUATECH_DSC100 0x0020 | 1737 | #define PCI_DEVICE_ID_QUATECH_DSC100 0x0020 |
diff --git a/include/linux/raid/Kbuild b/include/linux/raid/Kbuild index 73fa27a8d552..2415a64c5e51 100644 --- a/include/linux/raid/Kbuild +++ b/include/linux/raid/Kbuild | |||
@@ -1 +1,2 @@ | |||
1 | header-y += md_p.h md_u.h | 1 | header-y += md_p.h |
2 | header-y += md_u.h | ||
diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h index 66ff545552f7..4efbd9c445f5 100644 --- a/include/linux/scatterlist.h +++ b/include/linux/scatterlist.h | |||
@@ -5,7 +5,7 @@ | |||
5 | #include <linux/mm.h> | 5 | #include <linux/mm.h> |
6 | #include <linux/string.h> | 6 | #include <linux/string.h> |
7 | 7 | ||
8 | static inline void sg_set_buf(struct scatterlist *sg, void *buf, | 8 | static inline void sg_set_buf(struct scatterlist *sg, const void *buf, |
9 | unsigned int buflen) | 9 | unsigned int buflen) |
10 | { | 10 | { |
11 | sg->page = virt_to_page(buf); | 11 | sg->page = virt_to_page(buf); |
@@ -13,7 +13,7 @@ static inline void sg_set_buf(struct scatterlist *sg, void *buf, | |||
13 | sg->length = buflen; | 13 | sg->length = buflen; |
14 | } | 14 | } |
15 | 15 | ||
16 | static inline void sg_init_one(struct scatterlist *sg, void *buf, | 16 | static inline void sg_init_one(struct scatterlist *sg, const void *buf, |
17 | unsigned int buflen) | 17 | unsigned int buflen) |
18 | { | 18 | { |
19 | memset(sg, 0, sizeof(*sg)); | 19 | memset(sg, 0, sizeof(*sg)); |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 6674fc1e51bf..34ed0d99b1bd 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -994,7 +994,6 @@ struct task_struct { | |||
994 | */ | 994 | */ |
995 | struct pipe_inode_info *splice_pipe; | 995 | struct pipe_inode_info *splice_pipe; |
996 | #ifdef CONFIG_TASK_DELAY_ACCT | 996 | #ifdef CONFIG_TASK_DELAY_ACCT |
997 | spinlock_t delays_lock; | ||
998 | struct task_delay_info *delays; | 997 | struct task_delay_info *delays; |
999 | #endif | 998 | #endif |
1000 | }; | 999 | }; |
diff --git a/include/linux/sunrpc/Kbuild b/include/linux/sunrpc/Kbuild index 0d1d768a27bf..fb438f158eee 100644 --- a/include/linux/sunrpc/Kbuild +++ b/include/linux/sunrpc/Kbuild | |||
@@ -1 +1 @@ | |||
unifdef-y := debug.h | unifdef-y += debug.h | ||
diff --git a/include/linux/sunrpc/gss_krb5.h b/include/linux/sunrpc/gss_krb5.h index 1279280d7196..e30ba201910a 100644 --- a/include/linux/sunrpc/gss_krb5.h +++ b/include/linux/sunrpc/gss_krb5.h | |||
@@ -46,8 +46,8 @@ struct krb5_ctx { | |||
46 | unsigned char seed[16]; | 46 | unsigned char seed[16]; |
47 | int signalg; | 47 | int signalg; |
48 | int sealalg; | 48 | int sealalg; |
49 | struct crypto_tfm *enc; | 49 | struct crypto_blkcipher *enc; |
50 | struct crypto_tfm *seq; | 50 | struct crypto_blkcipher *seq; |
51 | s32 endtime; | 51 | s32 endtime; |
52 | u32 seq_send; | 52 | u32 seq_send; |
53 | struct xdr_netobj mech_used; | 53 | struct xdr_netobj mech_used; |
@@ -136,26 +136,27 @@ gss_unwrap_kerberos(struct gss_ctx *ctx_id, int offset, | |||
136 | 136 | ||
137 | 137 | ||
138 | u32 | 138 | u32 |
139 | krb5_encrypt(struct crypto_tfm * key, | 139 | krb5_encrypt(struct crypto_blkcipher *key, |
140 | void *iv, void *in, void *out, int length); | 140 | void *iv, void *in, void *out, int length); |
141 | 141 | ||
142 | u32 | 142 | u32 |
143 | krb5_decrypt(struct crypto_tfm * key, | 143 | krb5_decrypt(struct crypto_blkcipher *key, |
144 | void *iv, void *in, void *out, int length); | 144 | void *iv, void *in, void *out, int length); |
145 | 145 | ||
146 | int | 146 | int |
147 | gss_encrypt_xdr_buf(struct crypto_tfm *tfm, struct xdr_buf *outbuf, int offset, | 147 | gss_encrypt_xdr_buf(struct crypto_blkcipher *tfm, struct xdr_buf *outbuf, |
148 | struct page **pages); | 148 | int offset, struct page **pages); |
149 | 149 | ||
150 | int | 150 | int |
151 | gss_decrypt_xdr_buf(struct crypto_tfm *tfm, struct xdr_buf *inbuf, int offset); | 151 | gss_decrypt_xdr_buf(struct crypto_blkcipher *tfm, struct xdr_buf *inbuf, |
152 | int offset); | ||
152 | 153 | ||
153 | s32 | 154 | s32 |
154 | krb5_make_seq_num(struct crypto_tfm * key, | 155 | krb5_make_seq_num(struct crypto_blkcipher *key, |
155 | int direction, | 156 | int direction, |
156 | s32 seqnum, unsigned char *cksum, unsigned char *buf); | 157 | s32 seqnum, unsigned char *cksum, unsigned char *buf); |
157 | 158 | ||
158 | s32 | 159 | s32 |
159 | krb5_get_seq_num(struct crypto_tfm * key, | 160 | krb5_get_seq_num(struct crypto_blkcipher *key, |
160 | unsigned char *cksum, | 161 | unsigned char *cksum, |
161 | unsigned char *buf, int *direction, s32 * seqnum); | 162 | unsigned char *buf, int *direction, s32 * seqnum); |
diff --git a/include/linux/sunrpc/gss_spkm3.h b/include/linux/sunrpc/gss_spkm3.h index 336e218c2782..2cf3fbb40b4f 100644 --- a/include/linux/sunrpc/gss_spkm3.h +++ b/include/linux/sunrpc/gss_spkm3.h | |||
@@ -19,9 +19,9 @@ struct spkm3_ctx { | |||
19 | unsigned int req_flags ; | 19 | unsigned int req_flags ; |
20 | struct xdr_netobj share_key; | 20 | struct xdr_netobj share_key; |
21 | int conf_alg; | 21 | int conf_alg; |
22 | struct crypto_tfm* derived_conf_key; | 22 | struct crypto_blkcipher *derived_conf_key; |
23 | int intg_alg; | 23 | int intg_alg; |
24 | struct crypto_tfm* derived_integ_key; | 24 | struct crypto_blkcipher *derived_integ_key; |
25 | int keyestb_alg; /* alg used to get share_key */ | 25 | int keyestb_alg; /* alg used to get share_key */ |
26 | int owf_alg; /* one way function */ | 26 | int owf_alg; /* one way function */ |
27 | }; | 27 | }; |
diff --git a/include/linux/tc_act/Kbuild b/include/linux/tc_act/Kbuild index 5251a505b2f1..78dfbac36375 100644 --- a/include/linux/tc_act/Kbuild +++ b/include/linux/tc_act/Kbuild | |||
@@ -1 +1,4 @@ | |||
1 | header-y += tc_gact.h tc_ipt.h tc_mirred.h tc_pedit.h | 1 | header-y += tc_gact.h |
2 | header-y += tc_ipt.h | ||
3 | header-y += tc_mirred.h | ||
4 | header-y += tc_pedit.h | ||
diff --git a/include/linux/tc_ematch/Kbuild b/include/linux/tc_ematch/Kbuild index 381e93018df6..4a58a1c32a00 100644 --- a/include/linux/tc_ematch/Kbuild +++ b/include/linux/tc_ematch/Kbuild | |||
@@ -1 +1,4 @@ | |||
1 | headers-y := tc_em_cmp.h tc_em_meta.h tc_em_nbyte.h tc_em_text.h | 1 | header-y += tc_em_cmp.h |
2 | header-y += tc_em_meta.h | ||
3 | header-y += tc_em_nbyte.h | ||
4 | header-y += tc_em_text.h | ||
diff --git a/include/linux/timex.h b/include/linux/timex.h index 19bb6538b49e..d543d3871e38 100644 --- a/include/linux/timex.h +++ b/include/linux/timex.h | |||
@@ -57,7 +57,6 @@ | |||
57 | #include <linux/time.h> | 57 | #include <linux/time.h> |
58 | 58 | ||
59 | #include <asm/param.h> | 59 | #include <asm/param.h> |
60 | #include <asm/timex.h> | ||
61 | 60 | ||
62 | /* | 61 | /* |
63 | * SHIFT_KG and SHIFT_KF establish the damping of the PLL and are chosen | 62 | * SHIFT_KG and SHIFT_KF establish the damping of the PLL and are chosen |
@@ -191,6 +190,8 @@ struct timex { | |||
191 | #define TIME_BAD TIME_ERROR /* bw compat */ | 190 | #define TIME_BAD TIME_ERROR /* bw compat */ |
192 | 191 | ||
193 | #ifdef __KERNEL__ | 192 | #ifdef __KERNEL__ |
193 | #include <asm/timex.h> | ||
194 | |||
194 | /* | 195 | /* |
195 | * kernel variables | 196 | * kernel variables |
196 | * Note: maximum error = NTP synch distance = dispersion + delay / 2; | 197 | * Note: maximum error = NTP synch distance = dispersion + delay / 2; |
diff --git a/include/linux/videodev.h b/include/linux/videodev.h index 518c7a32175e..8dba97a291f6 100644 --- a/include/linux/videodev.h +++ b/include/linux/videodev.h | |||
@@ -14,8 +14,7 @@ | |||
14 | 14 | ||
15 | #include <linux/videodev2.h> | 15 | #include <linux/videodev2.h> |
16 | 16 | ||
17 | #ifdef CONFIG_VIDEO_V4L1_COMPAT | 17 | #if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__) |
18 | #define HAVE_V4L1 1 | ||
19 | 18 | ||
20 | struct video_capability | 19 | struct video_capability |
21 | { | 20 | { |
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index b7146956a929..e3715d774197 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
@@ -22,8 +22,6 @@ | |||
22 | #endif | 22 | #endif |
23 | #include <linux/types.h> | 23 | #include <linux/types.h> |
24 | 24 | ||
25 | #define HAVE_V4L2 1 | ||
26 | |||
27 | /* | 25 | /* |
28 | * Common stuff for both V4L1 and V4L2 | 26 | * Common stuff for both V4L1 and V4L2 |
29 | * Moved from videodev.h | 27 | * Moved from videodev.h |