/* * These structs are used by the system-use-sharing protocol, in which the * Rock Ridge extensions are embedded. It is quite possible that other * extensions are present on the disk, and this is fine as long as they * all use SUSP */ struct SU_SP_s { unsigned char magic[2]; unsigned char skip; } __attribute__ ((packed)); struct SU_CE_s { char extent[8]; char offset[8]; char size[8]; }; struct SU_ER_s { unsigned char len_id; unsigned char len_des; unsigned char len_src; unsigned char ext_ver; char data[0]; } __attribute__ ((packed)); struct RR_RR_s { char flags[1]; } __attribute__ ((packed)); struct RR_PX_s { char mode[8]; char n_links[8]; char uid[8]; char gid[8]; }; struct RR_PN_s { char dev_high[8]; char dev_low[8]; }; struct SL_component { unsigned char flags; unsigned char len; char text[0]; } __attribute__ ((packed)); struct RR_SL_s { unsigned char flags; struct SL_component link; } __attribute__ ((packed)); struct RR_NM_s { unsigned char flags; char name[0]; } __attribute__ ((packed)); struct RR_CL_s { char location[8]; }; struct RR_PL_s { char location[8]; }; struct stamp { char time[7]; } __attribute__ ((packed)); struct RR_TF_s { char flags; struct stamp times[0]; /* Variable number of these beasts */ } __attribute__ ((packed)); /* Linux-specific extension for transparent decompression */ struct RR_ZF_s { char algorithm[2]; char parms[2]; char real_size[8]; }; /* * These are the bits and their meanings for flags in the TF structure. */ #define TF_CREATE 1 #define TF_MODIFY 2 #define TF_ACCESS 4 #define TF_ATTRIBUTES 8 #define TF_BACKUP 16 #define TF_EXPIRATION 32 #define TF_EFFECTIVE 64 #define TF_LONG_FORM 128 struct rock_ridge { char signature[2]; unsigned char len; unsigned char version; union { struct SU_SP_s SP; struct SU_CE_s CE; struct SU_ER_s ER; struct RR_RR_s RR; struct RR_PX_s PX; struct RR_PN_s PN; struct RR_SL_s SL; struct RR_NM_s NM; struct RR_CL_s CL; struct RR_PL_s PL; struct RR_TF_s TF; struct RR_ZF_s ZF; } u; }; #define RR_PX 1 /* POSIX attributes */ #define RR_PN 2 /* POSIX devices */ #define RR_SL 4 /* Symbolic link */ #define RR_NM 8 /* Alternate Name */ #define RR_CL 16 /* Child link */ #define RR_PL 32 /* Parent link */ #define RR_RE 64 /* Relocation directory */ #define RR_TF 128 /* Timestamps */ alue='nds-private-remove'/>
path: root/net/atm
m method='get'>
AgeCommit message (Collapse)AuthorFilesLines
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2017-01-31 23:58:38 +0100
committerIngo Molnar <mingo@kernel.org>2017-02-01 08:37:27 +0100
commitdd86e373e09fb16b83e8adf5c48c421a4ca76468 (patch)
tree55703c2ea8584e303e342090614e0aab3509ab21 /net/wireless/lib80211_crypt_tkip.c
parent0b3589be9b98994ce3d5aeca52445d1f5627c4ba (diff)
perf/x86/intel/rapl: Make package handling more robust
The package management code in RAPL relies on package mapping being available before a CPU is started. This changed with: 9d85eb9119f4 ("x86/smpboot: Make logical package management more robust") because the ACPI/BIOS information turned out to be unreliable, but that left RAPL in broken state. This was not noticed because on a regular boot all CPUs are online before RAPL is initialized. A possible fix would be to reintroduce the mess which allocates a package data structure in CPU prepare and when it turns out to already exist in starting throw it away later in the CPU online callback. But that's a horrible hack and not required at all because RAPL becomes functional for perf only in the CPU online callback. That's correct because user space is not yet informed about the CPU being onlined, so nothing caan rely on RAPL being available on that particular CPU. Move the allocation to the CPU online callback and simplify the hotplug handling. At this point the package mapping is established and correct. This also adds a missing check for available package data in the event_init() function. Reported-by: Yasuaki Ishimatsu <yasu.isimatu@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Sebastian Siewior <bigeasy@linutronix.de> Cc: Stephane Eranian <eranian@google.com> Cc: Vince Weaver <vincent.weaver@maine.edu> Fixes: 9d85eb9119f4 ("x86/smpboot: Make logical package management more robust") Link: http://lkml.kernel.org/r/20170131230141.212593966@linutronix.de Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/wireless/lib80211_crypt_tkip.c')